diff --git a/activiti-engine/pom.xml b/activiti-engine/pom.xml
index 8ef83a3fba860d5f4b1c8a8c21eef22447dbbb50..9f5974cafa1f9d52688db786c0337ffd788c9954 100644
--- a/activiti-engine/pom.xml
+++ b/activiti-engine/pom.xml
@@ -18,6 +18,10 @@
org.activiti.api
activiti-api-runtime-shared
+
+ org.activiti.core.common
+ activiti-project-model
+
org.activiti
activiti-bpmn-converter
@@ -180,4 +184,4 @@
-
\ No newline at end of file
+
diff --git a/activiti-engine/src/main/java/org/activiti/engine/impl/bpmn/deployer/BpmnDeployer.java b/activiti-engine/src/main/java/org/activiti/engine/impl/bpmn/deployer/BpmnDeployer.java
index 016ce0947183433cce410ee3a04272469bf4ca68..cccf704ca2e5abed8aab1ee5d1d40233d7c027f0 100755
--- a/activiti-engine/src/main/java/org/activiti/engine/impl/bpmn/deployer/BpmnDeployer.java
+++ b/activiti-engine/src/main/java/org/activiti/engine/impl/bpmn/deployer/BpmnDeployer.java
@@ -168,22 +168,38 @@ public class BpmnDeployer implements Deployer {
Map mapNewToOldProcessDefinitions) {
CommandContext commandContext = Context.getCommandContext();
- for (ProcessDefinitionEntity processDefinition : parsedDeployment.getAllProcessDefinitions()) {
- int version = 1;
-
- ProcessDefinitionEntity latest = mapNewToOldProcessDefinitions.get(processDefinition);
- if (latest != null) {
- version = latest.getVersion() + 1;
+ if(parsedDeployment.getDeployment().getProjectReleaseVersion() != null){
+ Integer version = parsedDeployment.getDeployment().getVersion();
+ for (ProcessDefinitionEntity processDefinition : parsedDeployment.getAllProcessDefinitions()) {
+ processDefinition.setVersion(version);
+ processDefinition.setId(getIdForNewProcessDefinition(processDefinition));
+
+ if (commandContext.getProcessEngineConfiguration().getEventDispatcher().isEnabled()) {
+ commandContext.getProcessEngineConfiguration().getEventDispatcher().dispatchEvent(ActivitiEventBuilder.createEntityEvent(ActivitiEventType.ENTITY_CREATED,
+ processDefinition));
+ }
}
+ }else{
- processDefinition.setVersion(version);
- processDefinition.setId(getIdForNewProcessDefinition(processDefinition));
+ for (ProcessDefinitionEntity processDefinition : parsedDeployment.getAllProcessDefinitions()) {
+ int version = 1;
- if (commandContext.getProcessEngineConfiguration().getEventDispatcher().isEnabled()) {
- commandContext.getProcessEngineConfiguration().getEventDispatcher().dispatchEvent(ActivitiEventBuilder.createEntityEvent(ActivitiEventType.ENTITY_CREATED,
- processDefinition));
+ ProcessDefinitionEntity latest = mapNewToOldProcessDefinitions.get(processDefinition);
+ if (latest != null) {
+ version = latest.getVersion() + 1;
+ }
+
+ processDefinition.setVersion(version);
+ processDefinition.setId(getIdForNewProcessDefinition(processDefinition));
+
+ if (commandContext.getProcessEngineConfiguration().getEventDispatcher().isEnabled()) {
+ commandContext.getProcessEngineConfiguration().getEventDispatcher().dispatchEvent(ActivitiEventBuilder.createEntityEvent(ActivitiEventType.ENTITY_CREATED,
+ processDefinition));
+ }
}
}
+
+
}
/**
diff --git a/activiti-engine/src/main/java/org/activiti/engine/impl/cmd/DeployCmd.java b/activiti-engine/src/main/java/org/activiti/engine/impl/cmd/DeployCmd.java
index 7f2ab83e424d6dc260d25af0ac447cc439da6982..cf7e06d8255d82108f37c16b5067f25bdb1511f2 100644
--- a/activiti-engine/src/main/java/org/activiti/engine/impl/cmd/DeployCmd.java
+++ b/activiti-engine/src/main/java/org/activiti/engine/impl/cmd/DeployCmd.java
@@ -52,7 +52,10 @@ public class DeployCmd implements Command, Serializable {
deployment.setDeploymentTime(commandContext.getProcessEngineConfiguration().getClock().getCurrentTime());
- if (deploymentBuilder.isDuplicateFilterEnabled()) {
+ setProjectReleaseVersion(deployment);
+ deployment.setVersion(1);
+
+ if (deploymentBuilder.isDuplicateFilterEnabled()) {
List existingDeployments = new ArrayList();
if (deployment.getTenantId() == null || ProcessEngineConfiguration.NO_TENANT_ID.equals(deployment.getTenantId())) {
@@ -74,14 +77,19 @@ public class DeployCmd implements Command, Serializable {
existingDeployment = (DeploymentEntity) existingDeployments.get(0);
}
- if ((existingDeployment != null) && !deploymentsDiffer(deployment, existingDeployment)) {
- return existingDeployment;
- }
+ if (existingDeployment != null) {
+ if (!deploymentsDiffer(deployment,
+ existingDeployment)) {
+ return existingDeployment;
+ } else {
+ deployment.setVersion(existingDeployment.getVersion() + 1);
+ }
+ }
}
deployment.setNew(true);
- // Save the data
+ // Save the data
commandContext.getDeploymentEntityManager().insert(deployment);
if (commandContext.getProcessEngineConfiguration().getEventDispatcher().isEnabled()) {
@@ -107,32 +115,47 @@ public class DeployCmd implements Command, Serializable {
return deployment;
}
- protected boolean deploymentsDiffer(DeploymentEntity deployment, DeploymentEntity saved) {
-
- if (deployment.getResources() == null || saved.getResources() == null) {
- return true;
+ private void setProjectReleaseVersion(DeploymentEntity deployment) {
+ if (deploymentBuilder.hasProjectManifestSet()) {
+ deployment.setProjectReleaseVersion(deploymentBuilder.getProjectManifest().getVersion());
+ }
}
- Map resources = deployment.getResources();
- Map savedResources = saved.getResources();
+ protected boolean deploymentsDiffer(DeploymentEntity deployment,
+ DeploymentEntity saved) {
+
+ if (deploymentBuilder.hasProjectManifestSet()) {
- for (String resourceName : resources.keySet()) {
- ResourceEntity savedResource = savedResources.get(resourceName);
+ return !deployment.getProjectReleaseVersion().equals(saved.getProjectReleaseVersion());
+ } else {
- if (savedResource == null)
- return true;
+ if (deployment.getResources() == null || saved.getResources() == null) {
+ return true;
+ }
- if (!savedResource.isGenerated()) {
- ResourceEntity resource = resources.get(resourceName);
+ Map resources = deployment.getResources();
+ Map savedResources = saved.getResources();
- byte[] bytes = resource.getBytes();
- byte[] savedBytes = savedResource.getBytes();
- if (!Arrays.equals(bytes, savedBytes)) {
- return true;
+ for (String resourceName : resources.keySet()) {
+ ResourceEntity savedResource = savedResources.get(resourceName);
+
+ if (savedResource == null) {
+ return true;
+ }
+
+ if (!savedResource.isGenerated()) {
+ ResourceEntity resource = resources.get(resourceName);
+
+ byte[] bytes = resource.getBytes();
+ byte[] savedBytes = savedResource.getBytes();
+ if (!Arrays.equals(bytes,
+ savedBytes)) {
+ return true;
+ }
+ }
+ }
+ return false;
}
- }
- }
- return false;
}
protected void scheduleProcessDefinitionActivation(CommandContext commandContext, DeploymentEntity deployment) {
diff --git a/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/DeploymentEntity.java b/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/DeploymentEntity.java
index 768428a11d9639e4e4c7eb654f7b2bc467e42ca8..343dd72f9d20a28e9fbf283ca8f9135a3cc8259d 100644
--- a/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/DeploymentEntity.java
+++ b/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/DeploymentEntity.java
@@ -55,4 +55,12 @@ public interface DeploymentEntity extends Deployment, Entity {
void setEngineVersion(String engineVersion);
-}
\ No newline at end of file
+ Integer getVersion();
+
+ void setVersion(Integer version);
+
+ String getProjectReleaseVersion();
+
+ void setProjectReleaseVersion(String projectReleaseVersion);
+
+}
diff --git a/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/DeploymentEntityImpl.java b/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/DeploymentEntityImpl.java
index f3a2c0690867728bd4d72238f3c303d0110e88c2..03d95bd696cc08dd3b86cc06066bc57524a525a3 100644
--- a/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/DeploymentEntityImpl.java
+++ b/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/DeploymentEntityImpl.java
@@ -38,8 +38,10 @@ public class DeploymentEntityImpl extends AbstractEntityNoRevision implements De
protected Map resources;
protected Date deploymentTime;
protected boolean isNew;
+ protected Integer version;
+ private String projectReleaseVersion;
- // Backwards compatibility
+ // Backwards compatibility
protected String engineVersion;
/**
@@ -168,6 +170,22 @@ public class DeploymentEntityImpl extends AbstractEntityNoRevision implements De
this.engineVersion = engineVersion;
}
+ public Integer getVersion(){
+ return version;
+ }
+
+ public void setVersion(Integer version){
+ this.version = version;
+ }
+
+ public String getProjectReleaseVersion() {
+ return projectReleaseVersion;
+ }
+
+ public void setProjectReleaseVersion(String projectReleaseVersion) {
+ this.projectReleaseVersion = projectReleaseVersion;
+ }
+
// common methods //////////////////////////////////////////////////////////
@Override
@@ -175,4 +193,4 @@ public class DeploymentEntityImpl extends AbstractEntityNoRevision implements De
return "DeploymentEntity[id=" + id + ", name=" + name + "]";
}
-}
\ No newline at end of file
+}
diff --git a/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/ProcessDefinitionEntityImpl.java b/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/ProcessDefinitionEntityImpl.java
index 0cd5273c6e4f85d0a157e5368c5bd0393c4de7d7..498a9eb7918e9b5a55e345527b2062a60eb9dd10 100644
--- a/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/ProcessDefinitionEntityImpl.java
+++ b/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/ProcessDefinitionEntityImpl.java
@@ -48,7 +48,7 @@ public class ProcessDefinitionEntityImpl extends AbstractEntity implements Proce
protected List definitionIdentityLinkEntities = new ArrayList();
protected IOSpecification ioSpecification;
- // Backwards compatibility
+ // Backwards compatibility
protected String engineVersion;
public Object getPersistentState() {
diff --git a/activiti-engine/src/main/java/org/activiti/engine/impl/repository/DeploymentBuilderImpl.java b/activiti-engine/src/main/java/org/activiti/engine/impl/repository/DeploymentBuilderImpl.java
index b450062d2347bc1730b1d99a1e6712ce323ed698..7876014e06236ca968fd69a20ab8a68d48c3b820 100644
--- a/activiti-engine/src/main/java/org/activiti/engine/impl/repository/DeploymentBuilderImpl.java
+++ b/activiti-engine/src/main/java/org/activiti/engine/impl/repository/DeploymentBuilderImpl.java
@@ -24,6 +24,7 @@ import java.util.zip.ZipInputStream;
import org.activiti.bpmn.converter.BpmnXMLConverter;
import org.activiti.bpmn.model.BpmnModel;
+import org.activiti.core.common.project.model.ProjectManifest;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.ActivitiIllegalArgumentException;
import org.activiti.engine.impl.RepositoryServiceImpl;
@@ -55,6 +56,7 @@ public class DeploymentBuilderImpl implements DeploymentBuilder, Serializable {
protected boolean isDuplicateFilterEnabled;
protected Date processDefinitionsActivationDate;
protected Map deploymentProperties = new HashMap<>();
+ private ProjectManifest projectManifest;
public DeploymentBuilderImpl(RepositoryServiceImpl repositoryService) {
this(repositoryService,
@@ -82,6 +84,19 @@ public class DeploymentBuilderImpl implements DeploymentBuilder, Serializable {
return this;
}
+ public DeploymentBuilder setProjectManifest(ProjectManifest projectManifest) {
+ this.projectManifest = projectManifest;
+ return this;
+ }
+
+ public ProjectManifest getProjectManifest(){
+ return this.projectManifest;
+ }
+
+ public boolean hasProjectManifestSet(){
+ return this.projectManifest != null;
+ }
+
@Override
public DeploymentBuilder addInputStream(String resourceName,
Resource resource) {
diff --git a/activiti-engine/src/main/java/org/activiti/engine/repository/Deployment.java b/activiti-engine/src/main/java/org/activiti/engine/repository/Deployment.java
index a61d21925d455e25f628758f3348ab9ba8f39c4b..21e1701d9c8ff55aefced7618d6214e11fa10953 100644
--- a/activiti-engine/src/main/java/org/activiti/engine/repository/Deployment.java
+++ b/activiti-engine/src/main/java/org/activiti/engine/repository/Deployment.java
@@ -44,4 +44,8 @@ public interface Deployment {
String getTenantId();
+ Integer getVersion();
+
+ String getProjectReleaseVersion();
+
}
diff --git a/activiti-engine/src/main/java/org/activiti/engine/repository/DeploymentBuilder.java b/activiti-engine/src/main/java/org/activiti/engine/repository/DeploymentBuilder.java
index 947d2c41cb58960d44f44267d4255b3ea1a0a1a7..016cc81065d0266d483edfa622d5134c5ff71674 100644
--- a/activiti-engine/src/main/java/org/activiti/engine/repository/DeploymentBuilder.java
+++ b/activiti-engine/src/main/java/org/activiti/engine/repository/DeploymentBuilder.java
@@ -17,6 +17,7 @@ import java.util.Date;
import java.util.zip.ZipInputStream;
import org.activiti.bpmn.model.BpmnModel;
+import org.activiti.core.common.project.model.ProjectManifest;
import org.activiti.engine.api.internal.Internal;
import org.springframework.core.io.Resource;
@@ -48,6 +49,8 @@ public interface DeploymentBuilder {
DeploymentBuilder addBpmnModel(String resourceName, BpmnModel bpmnModel);
+ DeploymentBuilder setProjectManifest(ProjectManifest projectManifest);
+
/**
* If called, no XML schema validation against the BPMN 2.0 XSD.
*
diff --git a/activiti-engine/src/main/resources/org/activiti/db/create/activiti.h2.create.engine.sql b/activiti-engine/src/main/resources/org/activiti/db/create/activiti.h2.create.engine.sql
index d116bdcc488de2219932dbb9cba2f246b8c97973..38928a503d56a4170009d389ceb9aed22c58027e 100644
--- a/activiti-engine/src/main/resources/org/activiti/db/create/activiti.h2.create.engine.sql
+++ b/activiti-engine/src/main/resources/org/activiti/db/create/activiti.h2.create.engine.sql
@@ -32,6 +32,8 @@ create table ACT_RE_DEPLOYMENT (
TENANT_ID_ varchar(255) default '',
DEPLOY_TIME_ timestamp,
ENGINE_VERSION_ varchar(255),
+ VERSION_ integer,
+ PROJECT_RELEASE_VERSION_ varchar(255),
primary key (ID_)
);
diff --git a/activiti-engine/src/main/resources/org/activiti/db/create/activiti.postgres.create.engine.sql b/activiti-engine/src/main/resources/org/activiti/db/create/activiti.postgres.create.engine.sql
index 1b35c9008114e38b34e73ab9b387c40ad3680fc1..323924a98ac1d5fb8608048dbad94010fd345378 100644
--- a/activiti-engine/src/main/resources/org/activiti/db/create/activiti.postgres.create.engine.sql
+++ b/activiti-engine/src/main/resources/org/activiti/db/create/activiti.postgres.create.engine.sql
@@ -32,6 +32,8 @@ create table ACT_RE_DEPLOYMENT (
TENANT_ID_ varchar(255) default '',
DEPLOY_TIME_ timestamp,
ENGINE_VERSION_ varchar(255),
+ VERSION_ integer,
+ PROJECT_RELEASE_VERSION_ varchar(255),
primary key (ID_)
);
diff --git a/activiti-engine/src/main/resources/org/activiti/db/mapping/entity/Deployment.xml b/activiti-engine/src/main/resources/org/activiti/db/mapping/entity/Deployment.xml
index 6e7b2fe5e9e8da97e78789585747419387d5d8dc..d2bca82a248f286f7d617ad144be8a57be47112b 100644
--- a/activiti-engine/src/main/resources/org/activiti/db/mapping/entity/Deployment.xml
+++ b/activiti-engine/src/main/resources/org/activiti/db/mapping/entity/Deployment.xml
@@ -7,8 +7,8 @@
- insert into ${prefix}ACT_RE_DEPLOYMENT(ID_, NAME_, CATEGORY_, KEY_, TENANT_ID_, DEPLOY_TIME_, ENGINE_VERSION_)
- values(#{id, jdbcType=VARCHAR}, #{name, jdbcType=VARCHAR}, #{category, jdbcType=VARCHAR}, #{key, jdbcType=VARCHAR}, #{tenantId, jdbcType=VARCHAR}, #{deploymentTime, jdbcType=TIMESTAMP}, #{engineVersion, jdbcType=VARCHAR})
+ insert into ${prefix}ACT_RE_DEPLOYMENT(ID_, NAME_, CATEGORY_, KEY_, TENANT_ID_, DEPLOY_TIME_, ENGINE_VERSION_, VERSION_, PROJECT_RELEASE_VERSION_)
+ values(#{id, jdbcType=VARCHAR}, #{name, jdbcType=VARCHAR}, #{category, jdbcType=VARCHAR}, #{key, jdbcType=VARCHAR}, #{tenantId, jdbcType=VARCHAR}, #{deploymentTime, jdbcType=TIMESTAMP}, #{engineVersion, jdbcType=VARCHAR}, #{version, jdbcType=INTEGER}, #{projectReleaseVersion, jdbcType=VARCHAR})
@@ -20,7 +20,9 @@
#{deployment.category, jdbcType=VARCHAR},
#{deployment.key, jdbcType=VARCHAR},
#{deployment.tenantId, jdbcType=VARCHAR},
- #{deployment.deploymentTime, jdbcType=TIMESTAMP})
+ #{deployment.deploymentTime, jdbcType=TIMESTAMP}),
+ #{version, jdbcType=INTEGER},
+ #{projectReleaseVersion, jdbcType=VARCHAR}
@@ -33,7 +35,9 @@
#{deployment.category, jdbcType=VARCHAR},
#{deployment.key, jdbcType=VARCHAR},
#{deployment.tenantId, jdbcType=VARCHAR},
- #{deployment.deploymentTime, jdbcType=TIMESTAMP})
+ #{deployment.deploymentTime, jdbcType=TIMESTAMP}),
+ #{version, jdbcType=INTEGER},
+ #{projectReleaseVersion, jdbcType=VARCHAR}
SELECT * FROM dual
@@ -44,7 +48,8 @@
update ${prefix}ACT_RE_DEPLOYMENT set
CATEGORY_ = #{category, jdbcType=VARCHAR},
KEY_ = #{key, jdbcType=VARCHAR},
- TENANT_ID_ = #{tenantId, jdbcType=VARCHAR}
+ TENANT_ID_ = #{tenantId, jdbcType=VARCHAR},
+ VERSION_ = #{version, jdbcType=INTEGER}
where ID_ = #{id, jdbcType=VARCHAR}
@@ -64,6 +69,8 @@
+
+
@@ -176,4 +183,4 @@
${sql}
-
\ No newline at end of file
+
diff --git a/activiti-engine/src/main/resources/org/activiti/db/mapping/entity/ProcessDefinition.xml b/activiti-engine/src/main/resources/org/activiti/db/mapping/entity/ProcessDefinition.xml
index b03ff035cd820e35694bc1ed662282a44ace5fa0..d808442bb07cd09eea9839779633005136a8bd1d 100644
--- a/activiti-engine/src/main/resources/org/activiti/db/mapping/entity/ProcessDefinition.xml
+++ b/activiti-engine/src/main/resources/org/activiti/db/mapping/entity/ProcessDefinition.xml
@@ -327,4 +327,4 @@
-
\ No newline at end of file
+
diff --git a/activiti-spring-boot-starter/src/main/java/org/activiti/spring/boot/ProcessEngineAutoConfiguration.java b/activiti-spring-boot-starter/src/main/java/org/activiti/spring/boot/ProcessEngineAutoConfiguration.java
index b60980ca17e272574ffc1e09259f0f4cc277c739..90e49d820f14862ff3f6a630019dcb4b319cc5ea 100644
--- a/activiti-spring-boot-starter/src/main/java/org/activiti/spring/boot/ProcessEngineAutoConfiguration.java
+++ b/activiti-spring-boot-starter/src/main/java/org/activiti/spring/boot/ProcessEngineAutoConfiguration.java
@@ -23,6 +23,7 @@ import javax.sql.DataSource;
import org.activiti.api.process.model.events.ProcessDeployedEvent;
import org.activiti.api.process.runtime.events.listener.ProcessRuntimeEventListener;
import org.activiti.api.runtime.shared.identity.UserGroupManager;
+import org.activiti.core.common.spring.project.ProjectModelService;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.cfg.ProcessEngineConfigurator;
import org.activiti.engine.impl.event.EventSubscriptionPayloadMappingProvider;
@@ -70,10 +71,11 @@ public class ProcessEngineAutoConfiguration extends AbstractProcessEngineAutoCon
SpringAsyncExecutor springAsyncExecutor,
ActivitiProperties activitiProperties,
ProcessDefinitionResourceFinder processDefinitionResourceFinder,
+ ProjectModelService projectModelService,
@Autowired(required = false) List processEngineConfigurationConfigurers,
@Autowired(required = false) List processEngineConfigurators) throws IOException {
- SpringProcessEngineConfiguration conf = new SpringProcessEngineConfiguration();
+ SpringProcessEngineConfiguration conf = new SpringProcessEngineConfiguration(projectModelService);
conf.setConfigurators(processEngineConfigurators);
configureProcessDefinitionResources(processDefinitionResourceFinder,
conf);
diff --git a/activiti-spring-boot-starter/src/test/java/org/activiti/spring/boot/ApplicationUpgradeIT.java b/activiti-spring-boot-starter/src/test/java/org/activiti/spring/boot/ApplicationUpgradeIT.java
new file mode 100644
index 0000000000000000000000000000000000000000..9e0a4be305881d7d75cb951c44a0c5c8afa5d80a
--- /dev/null
+++ b/activiti-spring-boot-starter/src/test/java/org/activiti/spring/boot/ApplicationUpgradeIT.java
@@ -0,0 +1,50 @@
+package org.activiti.spring.boot;
+
+import org.activiti.core.common.project.model.ProjectManifest;
+import org.activiti.engine.RepositoryService;
+import org.activiti.engine.repository.Deployment;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)
+public class ApplicationUpgradeIT {
+
+ @Autowired
+ private RepositoryService repositoryService;
+
+ @Test
+ public void should_UpdateDeploymentVersion_When_ManifestIsPresent() {
+
+ ProjectManifest projectManifest = new ProjectManifest();
+ projectManifest.setVersion("7");
+
+
+ Deployment deployment1 = repositoryService.createDeployment()
+ .setProjectManifest(projectManifest)
+ .enableDuplicateFiltering()
+ .name("deploymentName")
+ .deploy();
+
+ assertThat(deployment1.getVersion()).isEqualTo(1);
+ assertThat(deployment1.getProjectReleaseVersion()).isEqualTo("7");
+
+ projectManifest.setVersion("17");
+
+ Deployment deployment2 = repositoryService.createDeployment()
+ .setProjectManifest(projectManifest)
+ .enableDuplicateFiltering()
+ .name("deploymentName")
+ .deploy();
+
+ assertThat(deployment2.getProjectReleaseVersion()).isEqualTo("17");
+ assertThat(deployment2.getVersion()).isEqualTo(2);
+
+ }
+
+}
diff --git a/activiti-spring-boot-starter/src/test/java/org/activiti/spring/boot/ProcessEngineAutoConfigurationTest.java b/activiti-spring-boot-starter/src/test/java/org/activiti/spring/boot/ProcessEngineAutoConfigurationTest.java
index fe4bb0a39582ea6665721f4dca77261a333029b0..ca34704c905e28c07f0921c4a49a3e415feb9980 100644
--- a/activiti-spring-boot-starter/src/test/java/org/activiti/spring/boot/ProcessEngineAutoConfigurationTest.java
+++ b/activiti-spring-boot-starter/src/test/java/org/activiti/spring/boot/ProcessEngineAutoConfigurationTest.java
@@ -16,6 +16,7 @@
package org.activiti.spring.boot;
+import org.activiti.core.common.spring.project.ProjectModelService;
import org.activiti.spring.SpringProcessEngineConfiguration;
import org.activiti.spring.boot.process.validation.AsyncPropertyValidator;
import org.activiti.validation.ProcessValidator;
@@ -24,8 +25,9 @@ import org.assertj.core.api.Condition;
import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
+import org.mockito.Mock;
-import static org.assertj.core.api.Assertions.*;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.MockitoAnnotations.initMocks;
public class ProcessEngineAutoConfigurationTest {
@@ -33,6 +35,9 @@ public class ProcessEngineAutoConfigurationTest {
@InjectMocks
private ProcessEngineAutoConfiguration processEngineAutoConfiguration;
+ @Mock
+ private ProjectModelService projectModelServiceMock;
+
@Before
public void setUp() {
initMocks(this);
@@ -43,7 +48,7 @@ public class ProcessEngineAutoConfigurationTest {
//given
ActivitiProperties activitiProperties = new ActivitiProperties();
activitiProperties.setAsyncExecutorActivate(false);
- SpringProcessEngineConfiguration conf = new SpringProcessEngineConfiguration();
+ SpringProcessEngineConfiguration conf = new SpringProcessEngineConfiguration(projectModelServiceMock);
//when
processEngineAutoConfiguration.addAsyncPropertyValidator(activitiProperties,
@@ -65,7 +70,7 @@ public class ProcessEngineAutoConfigurationTest {
//given
ActivitiProperties activitiProperties = new ActivitiProperties();
activitiProperties.setAsyncExecutorActivate(true);
- SpringProcessEngineConfiguration conf = new SpringProcessEngineConfiguration();
+ SpringProcessEngineConfiguration conf = new SpringProcessEngineConfiguration(projectModelServiceMock);
//when
processEngineAutoConfiguration.addAsyncPropertyValidator(activitiProperties,
@@ -76,4 +81,4 @@ public class ProcessEngineAutoConfigurationTest {
assertThat(processValidator).isNull();
}
-}
\ No newline at end of file
+}
diff --git a/activiti-spring-boot-starter/src/test/resources/application.properties b/activiti-spring-boot-starter/src/test/resources/application.properties
index f090485838fdcbed11b0d97267529d83e3f66bb0..9a95999c052d686ec40a539d26c6404c54bc5e47 100644
--- a/activiti-spring-boot-starter/src/test/resources/application.properties
+++ b/activiti-spring-boot-starter/src/test/resources/application.properties
@@ -1 +1 @@
-spring.application.name=my-app
\ No newline at end of file
+spring.application.name=my-app
diff --git a/activiti-spring-boot-starter/src/test/resources/default-app.json b/activiti-spring-boot-starter/src/test/resources/default-app.json
new file mode 100644
index 0000000000000000000000000000000000000000..518220b9d00789865c99925a5c3cdb00f23bf118
--- /dev/null
+++ b/activiti-spring-boot-starter/src/test/resources/default-app.json
@@ -0,0 +1,10 @@
+{
+ "createdBy": "superadminuser",
+ "creationDate": "2019-08-16T15:58:46.056+0000",
+ "lastModifiedBy": "qa-modeler-1",
+ "lastModifiedDate": "2019-08-16T16:03:41.941+0000",
+ "id": "c519a458-539f-4385-a937-2edfb4045eb9",
+ "name": "projectA",
+ "description": "",
+ "version": "1"
+}
diff --git a/activiti-spring/pom.xml b/activiti-spring/pom.xml
index 22be4bdbe406ab4c923d27ea525204d6058c424e..d521c7ebff1216b0f9c9ced8b445901e060d44f1 100644
--- a/activiti-spring/pom.xml
+++ b/activiti-spring/pom.xml
@@ -31,6 +31,10 @@
org.activiti.api
activiti-api-runtime-shared
+
+ org.activiti.core.common
+ activiti-spring-project
+
org.springframework
spring-beans
diff --git a/activiti-spring/src/main/java/org/activiti/spring/SpringProcessEngineConfiguration.java b/activiti-spring/src/main/java/org/activiti/spring/SpringProcessEngineConfiguration.java
index efded0e99eb645d137e626a12204cf0b8b736e34..816fc3598c5c4886797daaa82c538248417cde37 100644
--- a/activiti-spring/src/main/java/org/activiti/spring/SpringProcessEngineConfiguration.java
+++ b/activiti-spring/src/main/java/org/activiti/spring/SpringProcessEngineConfiguration.java
@@ -13,6 +13,7 @@
package org.activiti.spring;
+import org.activiti.core.common.spring.project.ProjectModelService;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
@@ -39,6 +40,8 @@ import org.springframework.transaction.PlatformTransactionManager;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
/**
@@ -54,15 +57,21 @@ public class SpringProcessEngineConfiguration extends ProcessEngineConfiguration
protected String deploymentMode = "default";
protected ApplicationContext applicationContext;
protected Integer transactionSynchronizationAdapterOrder = null;
- private Collection deploymentStrategies = new ArrayList();
+ private Collection deploymentStrategies = new ArrayList<>();
+ private DefaultAutoDeploymentStrategy defaultAutoDeploymentStrategy;
- public SpringProcessEngineConfiguration() {
- this.transactionsExternallyManaged = true;
- deploymentStrategies.add(new DefaultAutoDeploymentStrategy());
- deploymentStrategies.add(new SingleResourceAutoDeploymentStrategy());
- deploymentStrategies.add(new ResourceParentFolderAutoDeploymentStrategy());
- deploymentStrategies.add(new FailOnNoProcessAutoDeploymentStrategy());
- deploymentStrategies.add(new NeverFailAutoDeploymentStrategy());
+ public SpringProcessEngineConfiguration() {
+ this(null);
+ }
+
+ public SpringProcessEngineConfiguration(ProjectModelService projectModelService) {
+ this.transactionsExternallyManaged = true;
+ defaultAutoDeploymentStrategy = new DefaultAutoDeploymentStrategy(projectModelService);
+ deploymentStrategies.add(defaultAutoDeploymentStrategy);
+ deploymentStrategies.add(new SingleResourceAutoDeploymentStrategy(projectModelService));
+ deploymentStrategies.add(new ResourceParentFolderAutoDeploymentStrategy(projectModelService));
+ deploymentStrategies.add(new FailOnNoProcessAutoDeploymentStrategy(projectModelService));
+ deploymentStrategies.add(new NeverFailAutoDeploymentStrategy(projectModelService));
}
@Override
@@ -181,14 +190,14 @@ public class SpringProcessEngineConfiguration extends ProcessEngineConfiguration
* @return the deployment strategy to use for the mode. Never null
*/
protected AutoDeploymentStrategy getAutoDeploymentStrategy(final String mode) {
- AutoDeploymentStrategy result = new DefaultAutoDeploymentStrategy();
- for (final AutoDeploymentStrategy strategy : deploymentStrategies) {
- if (strategy.handlesMode(mode)) {
- result = strategy;
- break;
+ AutoDeploymentStrategy result = defaultAutoDeploymentStrategy;
+ for (final AutoDeploymentStrategy strategy : deploymentStrategies) {
+ if (strategy.handlesMode(mode)) {
+ result = strategy;
+ break;
+ }
}
- }
- return result;
+ return result;
}
}
diff --git a/activiti-spring/src/main/java/org/activiti/spring/autodeployment/AbstractAutoDeploymentStrategy.java b/activiti-spring/src/main/java/org/activiti/spring/autodeployment/AbstractAutoDeploymentStrategy.java
index 165b2d2d5ba6c2fce0d761c22341a53edef5e67e..bca551eef8dbec035dbff8579dec95ae5bd5b884 100644
--- a/activiti-spring/src/main/java/org/activiti/spring/autodeployment/AbstractAutoDeploymentStrategy.java
+++ b/activiti-spring/src/main/java/org/activiti/spring/autodeployment/AbstractAutoDeploymentStrategy.java
@@ -18,8 +18,10 @@ import java.util.List;
import org.activiti.bpmn.converter.BpmnXMLConverter;
import org.activiti.bpmn.model.BpmnModel;
+import org.activiti.core.common.spring.project.ProjectModelService;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.impl.util.io.InputStreamSource;
+import org.activiti.engine.repository.DeploymentBuilder;
import org.activiti.validation.ValidationError;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@@ -37,6 +39,12 @@ public abstract class AbstractAutoDeploymentStrategy implements AutoDeploymentSt
protected static final Logger LOGGER = LoggerFactory.getLogger(AbstractAutoDeploymentStrategy.class);
+ private ProjectModelService projectModelService;
+
+ public AbstractAutoDeploymentStrategy(ProjectModelService projectModelService) {
+ this.projectModelService = projectModelService;
+ }
+
/**
* Gets the deployment mode this strategy handles.
*
@@ -111,4 +119,15 @@ public abstract class AbstractAutoDeploymentStrategy implements AutoDeploymentSt
}
return true;
}
+
+ protected DeploymentBuilder loadProjectManifest(DeploymentBuilder deploymentBuilder) {
+ if (projectModelService != null && projectModelService.hasProjectManifest()) {
+ try {
+ deploymentBuilder.setProjectManifest(projectModelService.loadProjectManifest());
+ } catch (IOException e) {
+ LOGGER.warn("Manifest of application not found. Project release version will not be set for deployment.");
+ }
+ }
+ return deploymentBuilder;
+ }
}
diff --git a/activiti-spring/src/main/java/org/activiti/spring/autodeployment/DefaultAutoDeploymentStrategy.java b/activiti-spring/src/main/java/org/activiti/spring/autodeployment/DefaultAutoDeploymentStrategy.java
index 6494a1c54896a33da9b71fe2bec823d21a1ef1be..43ab85de72e5c1b074705a2115fc5110ca5b9e2e 100644
--- a/activiti-spring/src/main/java/org/activiti/spring/autodeployment/DefaultAutoDeploymentStrategy.java
+++ b/activiti-spring/src/main/java/org/activiti/spring/autodeployment/DefaultAutoDeploymentStrategy.java
@@ -1,9 +1,9 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -13,43 +13,48 @@
package org.activiti.spring.autodeployment;
+import org.activiti.core.common.spring.project.ProjectModelService;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.DeploymentBuilder;
import org.springframework.core.io.Resource;
/**
* Default implementation of {@link AutoDeploymentStrategy} that groups all {@link Resource}s into a single deployment. This implementation is equivalent to the previously used implementation.
- *
-
*/
public class DefaultAutoDeploymentStrategy extends AbstractAutoDeploymentStrategy {
- /**
- * The deployment mode this strategy handles.
- */
- public static final String DEPLOYMENT_MODE = "default";
+ /**
+ * The deployment mode this strategy handles.
+ */
+ public static final String DEPLOYMENT_MODE = "default";
+
+ public DefaultAutoDeploymentStrategy(ProjectModelService projectModelService) {
+ super(projectModelService);
+ }
- @Override
- protected String getDeploymentMode() {
- return DEPLOYMENT_MODE;
- }
+ @Override
+ protected String getDeploymentMode() {
+ return DEPLOYMENT_MODE;
+ }
- @Override
- public void deployResources(final String deploymentNameHint, final Resource[] resources, final RepositoryService repositoryService) {
+ @Override
+ public void deployResources(final String deploymentNameHint,
+ final Resource[] resources,
+ final RepositoryService repositoryService) {
- // Create a single deployment for all resources using the name hint as
- // the
- // literal name
- final DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering().name(deploymentNameHint);
+ // Create a single deployment for all resources using the name hint as
+ // the
+ // literal name
- for (final Resource resource : resources) {
- final String resourceName = determineResourceName(resource);
+ DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering().name(deploymentNameHint);
- deploymentBuilder.addInputStream(resourceName,
- resource);
- }
+ for (final Resource resource : resources) {
+ final String resourceName = determineResourceName(resource);
- deploymentBuilder.deploy();
+ deploymentBuilder.addInputStream(resourceName,
+ resource);
+ }
- }
+ loadProjectManifest(deploymentBuilder).deploy();
+ }
}
diff --git a/activiti-spring/src/main/java/org/activiti/spring/autodeployment/FailOnNoProcessAutoDeploymentStrategy.java b/activiti-spring/src/main/java/org/activiti/spring/autodeployment/FailOnNoProcessAutoDeploymentStrategy.java
index ad0ec35f5ef8ee09d13cf4159b48ed51b03e702c..0d8395421378e55d4a6dd017cdcd9ebfecd55117 100644
--- a/activiti-spring/src/main/java/org/activiti/spring/autodeployment/FailOnNoProcessAutoDeploymentStrategy.java
+++ b/activiti-spring/src/main/java/org/activiti/spring/autodeployment/FailOnNoProcessAutoDeploymentStrategy.java
@@ -1,5 +1,8 @@
package org.activiti.spring.autodeployment;
+import java.io.IOException;
+
+import org.activiti.core.common.spring.project.ProjectModelService;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.DeploymentBuilder;
@@ -13,6 +16,10 @@ public class FailOnNoProcessAutoDeploymentStrategy extends AbstractAutoDeploymen
public static final String DEPLOYMENT_MODE = "fail-on-no-process";
+ public FailOnNoProcessAutoDeploymentStrategy(ProjectModelService projectModelService) {
+ super(projectModelService);
+ }
+
@Override
protected String getDeploymentMode() {
return DEPLOYMENT_MODE;
@@ -20,7 +27,7 @@ public class FailOnNoProcessAutoDeploymentStrategy extends AbstractAutoDeploymen
@Override
public void deployResources(String deploymentNameHint, Resource[] resources, RepositoryService repositoryService) {
- final DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering()
+ DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering()
.name(deploymentNameHint);
int validProcessCount = 0;
@@ -36,6 +43,8 @@ public class FailOnNoProcessAutoDeploymentStrategy extends AbstractAutoDeploymen
}
}
+ deploymentBuilder = loadProjectManifest(deploymentBuilder);
+
if (validProcessCount != 0) {
deploymentBuilder.deploy();
} else {
diff --git a/activiti-spring/src/main/java/org/activiti/spring/autodeployment/NeverFailAutoDeploymentStrategy.java b/activiti-spring/src/main/java/org/activiti/spring/autodeployment/NeverFailAutoDeploymentStrategy.java
index 0b29a598ce3ffd32b0524d626432c134d80bfdd3..b21ea8a411b2ba723b3e043a1cec22e3df5bf77d 100644
--- a/activiti-spring/src/main/java/org/activiti/spring/autodeployment/NeverFailAutoDeploymentStrategy.java
+++ b/activiti-spring/src/main/java/org/activiti/spring/autodeployment/NeverFailAutoDeploymentStrategy.java
@@ -1,5 +1,6 @@
package org.activiti.spring.autodeployment;
+import org.activiti.core.common.spring.project.ProjectModelService;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.DeploymentBuilder;
import org.slf4j.Logger;
@@ -12,6 +13,10 @@ public class NeverFailAutoDeploymentStrategy extends AbstractAutoDeploymentStrat
public static final String DEPLOYMENT_MODE = "never-fail";
+ public NeverFailAutoDeploymentStrategy(ProjectModelService projectModelService) {
+ super(projectModelService);
+ }
+
@Override
protected String getDeploymentMode() {
return DEPLOYMENT_MODE;
@@ -19,7 +24,7 @@ public class NeverFailAutoDeploymentStrategy extends AbstractAutoDeploymentStrat
@Override
public void deployResources(String deploymentNameHint, Resource[] resources, RepositoryService repositoryService) {
- final DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering()
+ DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering()
.name(deploymentNameHint);
int validProcessCount = 0;
@@ -35,6 +40,8 @@ public class NeverFailAutoDeploymentStrategy extends AbstractAutoDeploymentStrat
}
}
+ deploymentBuilder = loadProjectManifest(deploymentBuilder);
+
if (validProcessCount != 0) {
deploymentBuilder.deploy();
}
diff --git a/activiti-spring/src/main/java/org/activiti/spring/autodeployment/ResourceParentFolderAutoDeploymentStrategy.java b/activiti-spring/src/main/java/org/activiti/spring/autodeployment/ResourceParentFolderAutoDeploymentStrategy.java
index 31527680ca17e6a8cbc2af5d211bec381e833e73..521518db8995c26c061d74a99afcf829927bf667 100644
--- a/activiti-spring/src/main/java/org/activiti/spring/autodeployment/ResourceParentFolderAutoDeploymentStrategy.java
+++ b/activiti-spring/src/main/java/org/activiti/spring/autodeployment/ResourceParentFolderAutoDeploymentStrategy.java
@@ -20,8 +20,11 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
+import org.activiti.core.common.spring.project.ProjectModelService;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.DeploymentBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.core.io.Resource;
/**
@@ -39,6 +42,10 @@ public class ResourceParentFolderAutoDeploymentStrategy extends AbstractAutoDepl
private static final String DEPLOYMENT_NAME_PATTERN = "%s.%s";
+ public ResourceParentFolderAutoDeploymentStrategy(ProjectModelService projectModelService) {
+ super(projectModelService);
+ }
+
@Override
protected String getDeploymentMode() {
return DEPLOYMENT_MODE;
@@ -56,7 +63,7 @@ public class ResourceParentFolderAutoDeploymentStrategy extends AbstractAutoDepl
final String deploymentName = determineDeploymentName(deploymentNameHint, group.getKey());
- final DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering().name(deploymentName);
+ DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering().name(deploymentName);
for (final Resource resource : group.getValue()) {
final String resourceName = determineResourceName(resource);
@@ -64,7 +71,8 @@ public class ResourceParentFolderAutoDeploymentStrategy extends AbstractAutoDepl
deploymentBuilder.addInputStream(resourceName,
resource);
}
- deploymentBuilder.deploy();
+
+ loadProjectManifest(deploymentBuilder).deploy();
}
}
diff --git a/activiti-spring/src/main/java/org/activiti/spring/autodeployment/SingleResourceAutoDeploymentStrategy.java b/activiti-spring/src/main/java/org/activiti/spring/autodeployment/SingleResourceAutoDeploymentStrategy.java
index 99045af5a5535afb43ffbdea0b2e2cf8606806d2..fd0cd4ac5a80d8cb72ec6fb5442c78c747d8a3ca 100644
--- a/activiti-spring/src/main/java/org/activiti/spring/autodeployment/SingleResourceAutoDeploymentStrategy.java
+++ b/activiti-spring/src/main/java/org/activiti/spring/autodeployment/SingleResourceAutoDeploymentStrategy.java
@@ -13,6 +13,8 @@
package org.activiti.spring.autodeployment;
+
+import org.activiti.core.common.spring.project.ProjectModelService;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.DeploymentBuilder;
import org.springframework.core.io.Resource;
@@ -29,7 +31,11 @@ public class SingleResourceAutoDeploymentStrategy extends AbstractAutoDeployment
*/
public static final String DEPLOYMENT_MODE = "single-resource";
- @Override
+ public SingleResourceAutoDeploymentStrategy(ProjectModelService projectModelService) {
+ super(projectModelService);
+ }
+
+ @Override
protected String getDeploymentMode() {
return DEPLOYMENT_MODE;
}
@@ -48,7 +54,8 @@ public class SingleResourceAutoDeploymentStrategy extends AbstractAutoDeployment
deploymentBuilder.addInputStream(resourceName,
resource);
- deploymentBuilder.deploy();
+ loadProjectManifest(deploymentBuilder).deploy();
+
}
}
diff --git a/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/AbstractAutoDeploymentStrategyTest.java b/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/AbstractAutoDeploymentStrategyTest.java
index dd7c53686b10f5abad8bbd2f0caec3adc29f3f87..3e0ec007ab4ad85a6c3132088df080e585074c82 100644
--- a/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/AbstractAutoDeploymentStrategyTest.java
+++ b/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/AbstractAutoDeploymentStrategyTest.java
@@ -16,9 +16,11 @@ package org.activiti.spring.test.autodeployment;
import java.io.File;
import java.io.InputStream;
+import org.activiti.core.common.spring.project.ProjectModelService;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.DeploymentBuilder;
+import org.activiti.spring.SpringProcessEngineConfiguration;
import org.junit.Before;
import org.mockito.Mock;
import org.springframework.core.io.ByteArrayResource;
@@ -73,6 +75,9 @@ public class AbstractAutoDeploymentStrategyTest {
@Mock
private Deployment deploymentMock;
+ @Mock
+ protected ProjectModelService projectModelServiceMock;
+
protected final String deploymentNameHint = "nameHint";
protected final String resourceName1 = "resourceName1.bpmn";
@@ -111,4 +116,4 @@ public class AbstractAutoDeploymentStrategyTest {
when(deploymentBuilderMock.deploy()).thenReturn(deploymentMock);
}
-}
\ No newline at end of file
+}
diff --git a/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/DefaultAutoDeploymentStrategyTest.java b/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/DefaultAutoDeploymentStrategyTest.java
index 2f5a3a31ba03204ed36e40bb8ceaba06db801595..a55e707d2b30677196cbc206cf8f499422733e97 100644
--- a/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/DefaultAutoDeploymentStrategyTest.java
+++ b/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/DefaultAutoDeploymentStrategyTest.java
@@ -38,7 +38,7 @@ public class DefaultAutoDeploymentStrategyTest extends AbstractAutoDeploymentStr
@Before
public void before() throws Exception {
super.before();
- deploymentStrategy = new DefaultAutoDeploymentStrategy();
+ deploymentStrategy = new DefaultAutoDeploymentStrategy(projectModelServiceMock);
}
@Test
@@ -106,4 +106,4 @@ public class DefaultAutoDeploymentStrategyTest extends AbstractAutoDeploymentStr
resources,
repositoryServiceMock);
}
-}
\ No newline at end of file
+}
diff --git a/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/FailOnNoProcessAutoDeploymentStrategyTest.java b/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/FailOnNoProcessAutoDeploymentStrategyTest.java
index b07a53d651027b4dbfab306147499fe15e41f6b5..9c402c8859c7b4ab5dadc6645c489ce1e4cef1be 100644
--- a/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/FailOnNoProcessAutoDeploymentStrategyTest.java
+++ b/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/FailOnNoProcessAutoDeploymentStrategyTest.java
@@ -39,7 +39,7 @@ public class FailOnNoProcessAutoDeploymentStrategyTest extends SpringActivitiTes
@Test
public void testValidResources() {
final Resource[] resources = new Resource[]{new ClassPathResource(validName1)};
- FailOnNoProcessAutoDeploymentStrategy deploymentStrategy = new FailOnNoProcessAutoDeploymentStrategy();
+ FailOnNoProcessAutoDeploymentStrategy deploymentStrategy = new FailOnNoProcessAutoDeploymentStrategy(null);
deploymentStrategy.deployResources(nameHint, resources, repositoryService);
assertEquals(1, repositoryService.createDeploymentQuery().count());
}
@@ -47,7 +47,7 @@ public class FailOnNoProcessAutoDeploymentStrategyTest extends SpringActivitiTes
@Test
public void testInvalidResources() {
final Resource[] resources = new Resource[]{new ClassPathResource(validName1), new ClassPathResource(invalidName1), new ClassPathResource(invalidName2)};
- FailOnNoProcessAutoDeploymentStrategy deploymentStrategy = new FailOnNoProcessAutoDeploymentStrategy();
+ FailOnNoProcessAutoDeploymentStrategy deploymentStrategy = new FailOnNoProcessAutoDeploymentStrategy(null);
deploymentStrategy.deployResources(nameHint, resources, repositoryService);
assertEquals(1, repositoryService.createDeploymentQuery().count());
}
@@ -55,7 +55,7 @@ public class FailOnNoProcessAutoDeploymentStrategyTest extends SpringActivitiTes
@Test
public void testWithParsingErrorResources() {
final Resource[] resources = new Resource[]{new ClassPathResource(validName1), new ClassPathResource(invalidName1)};
- FailOnNoProcessAutoDeploymentStrategy deploymentStrategy = new FailOnNoProcessAutoDeploymentStrategy();
+ FailOnNoProcessAutoDeploymentStrategy deploymentStrategy = new FailOnNoProcessAutoDeploymentStrategy(null);
deploymentStrategy.deployResources(nameHint, resources, repositoryService);
assertEquals(1, repositoryService.createDeploymentQuery().count());
}
@@ -63,7 +63,7 @@ public class FailOnNoProcessAutoDeploymentStrategyTest extends SpringActivitiTes
@Test
public void testWithValidationErrorResources() {
final Resource[] resources = new Resource[]{new ClassPathResource(validName1), new ClassPathResource(invalidName2)};
- FailOnNoProcessAutoDeploymentStrategy deploymentStrategy = new FailOnNoProcessAutoDeploymentStrategy();
+ FailOnNoProcessAutoDeploymentStrategy deploymentStrategy = new FailOnNoProcessAutoDeploymentStrategy(null);
deploymentStrategy.deployResources(nameHint, resources, repositoryService);
assertEquals(1, repositoryService.createDeploymentQuery().count());
}
@@ -71,7 +71,7 @@ public class FailOnNoProcessAutoDeploymentStrategyTest extends SpringActivitiTes
@Test
public void testOnlyInvalidResources() {
final Resource[] resources = new Resource[]{new ClassPathResource(invalidName1)};
- FailOnNoProcessAutoDeploymentStrategy deploymentStrategy = new FailOnNoProcessAutoDeploymentStrategy();
+ FailOnNoProcessAutoDeploymentStrategy deploymentStrategy = new FailOnNoProcessAutoDeploymentStrategy(null);
try {
deploymentStrategy.deployResources(nameHint, resources, repositoryService);
} catch (ActivitiException e) {
@@ -81,4 +81,4 @@ public class FailOnNoProcessAutoDeploymentStrategyTest extends SpringActivitiTes
}
fail();
}
-}
\ No newline at end of file
+}
diff --git a/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/NeverFailAutoDeploymentStrategyTest.java b/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/NeverFailAutoDeploymentStrategyTest.java
index a08117817f515d8ab7f6dc26a0c5190da47353cb..1b36b9a6790e6f3c604753ac2d59fca3b3c9e35f 100644
--- a/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/NeverFailAutoDeploymentStrategyTest.java
+++ b/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/NeverFailAutoDeploymentStrategyTest.java
@@ -38,7 +38,7 @@ public class NeverFailAutoDeploymentStrategyTest extends SpringActivitiTestCase
@Test
public void testValidResources() {
final Resource[] resources = new Resource[]{new ClassPathResource(validName1)};
- NeverFailAutoDeploymentStrategy deploymentStrategy = new NeverFailAutoDeploymentStrategy();
+ NeverFailAutoDeploymentStrategy deploymentStrategy = new NeverFailAutoDeploymentStrategy(null);
deploymentStrategy.deployResources(nameHint, resources, repositoryService);
assertEquals(1, repositoryService.createDeploymentQuery().count());
}
@@ -46,7 +46,7 @@ public class NeverFailAutoDeploymentStrategyTest extends SpringActivitiTestCase
@Test
public void testInvalidResources() {
final Resource[] resources = new Resource[]{new ClassPathResource(validName1), new ClassPathResource(invalidName1), new ClassPathResource(invalidName2)};
- NeverFailAutoDeploymentStrategy deploymentStrategy = new NeverFailAutoDeploymentStrategy();
+ NeverFailAutoDeploymentStrategy deploymentStrategy = new NeverFailAutoDeploymentStrategy(null);
deploymentStrategy.deployResources(nameHint, resources, repositoryService);
assertEquals(1, repositoryService.createDeploymentQuery().count());
}
@@ -54,7 +54,7 @@ public class NeverFailAutoDeploymentStrategyTest extends SpringActivitiTestCase
@Test
public void testWithParsingErrorResources() {
final Resource[] resources = new Resource[]{new ClassPathResource(validName1), new ClassPathResource(invalidName1)};
- NeverFailAutoDeploymentStrategy deploymentStrategy = new NeverFailAutoDeploymentStrategy();
+ NeverFailAutoDeploymentStrategy deploymentStrategy = new NeverFailAutoDeploymentStrategy(null);
deploymentStrategy.deployResources(nameHint, resources, repositoryService);
assertEquals(1, repositoryService.createDeploymentQuery().count());
}
@@ -62,7 +62,7 @@ public class NeverFailAutoDeploymentStrategyTest extends SpringActivitiTestCase
@Test
public void testWithValidationErrorResources() {
final Resource[] resources = new Resource[]{new ClassPathResource(validName1), new ClassPathResource(invalidName2)};
- NeverFailAutoDeploymentStrategy deploymentStrategy = new NeverFailAutoDeploymentStrategy();
+ NeverFailAutoDeploymentStrategy deploymentStrategy = new NeverFailAutoDeploymentStrategy(null);
deploymentStrategy.deployResources(nameHint, resources, repositoryService);
assertEquals(1, repositoryService.createDeploymentQuery().count());
}
@@ -70,8 +70,8 @@ public class NeverFailAutoDeploymentStrategyTest extends SpringActivitiTestCase
@Test
public void testOnlyInvalidResources() {
final Resource[] resources = new Resource[]{new ClassPathResource(invalidName1)};
- NeverFailAutoDeploymentStrategy deploymentStrategy = new NeverFailAutoDeploymentStrategy();
+ NeverFailAutoDeploymentStrategy deploymentStrategy = new NeverFailAutoDeploymentStrategy(null);
deploymentStrategy.deployResources(nameHint, resources, repositoryService);
assertEquals(0, repositoryService.createDeploymentQuery().count());
}
-}
\ No newline at end of file
+}
diff --git a/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/ResourceParentFolderAutoDeploymentStrategyTest.java b/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/ResourceParentFolderAutoDeploymentStrategyTest.java
index 53cd90834cd5238f127dc96a913c65e850115016..2eea0131a3b727d7c2c542f03ec0858d70ace7ae 100644
--- a/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/ResourceParentFolderAutoDeploymentStrategyTest.java
+++ b/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/ResourceParentFolderAutoDeploymentStrategyTest.java
@@ -51,7 +51,7 @@ public class ResourceParentFolderAutoDeploymentStrategyTest extends AbstractAuto
@Before
public void before() throws Exception {
super.before();
- deploymentStrategy = new ResourceParentFolderAutoDeploymentStrategy();
+ deploymentStrategy = new ResourceParentFolderAutoDeploymentStrategy(projectModelServiceMock);
assertNotNull(deploymentStrategy);
when(parentFile1Mock.getName()).thenReturn(parentFilename1);
@@ -197,4 +197,4 @@ public class ResourceParentFolderAutoDeploymentStrategyTest extends AbstractAuto
verify(deploymentBuilderMock).deploy();
}
-}
\ No newline at end of file
+}
diff --git a/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/SingleResourceAutoDeploymentStrategyTest.java b/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/SingleResourceAutoDeploymentStrategyTest.java
index 0ef1e7f57240b90519aeff16b0ed1f6e995f01f9..21c4cf42ca845aa88d7ecbaf103c6d43e0926e75 100644
--- a/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/SingleResourceAutoDeploymentStrategyTest.java
+++ b/activiti-spring/src/test/java/org/activiti/spring/test/autodeployment/SingleResourceAutoDeploymentStrategyTest.java
@@ -37,7 +37,7 @@ public class SingleResourceAutoDeploymentStrategyTest extends AbstractAutoDeploy
@Before
public void before() throws Exception {
super.before();
- deploymentStrategy = new SingleResourceAutoDeploymentStrategy();
+ deploymentStrategy = new SingleResourceAutoDeploymentStrategy(projectModelServiceMock);
assertNotNull(deploymentStrategy);
}
@@ -110,4 +110,4 @@ public class SingleResourceAutoDeploymentStrategyTest extends AbstractAutoDeploy
never()).deploy();
}
-}
\ No newline at end of file
+}