diff --git a/modules/activiti-spring-boot/spring-boot-starters/pom.xml b/modules/activiti-spring-boot/spring-boot-starters/pom.xml index 3972e9ab969e441f73244d47dfd60d305fc9a04d..5e6d72771045e82eab660f52eac2996eace69fcc 100644 --- a/modules/activiti-spring-boot/spring-boot-starters/pom.xml +++ b/modules/activiti-spring-boot/spring-boot-starters/pom.xml @@ -16,8 +16,9 @@ spring-boot-starters-basic spring-boot-starters-rest-api + spring-boot-starters-integration +--> diff --git a/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-basic/src/main/java/org/activiti/spring/boot/BasicProcessEngineAutoConfiguration.java b/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-basic/src/main/java/org/activiti/spring/boot/BasicProcessEngineAutoConfiguration.java index 5a613b87f053a23eeb05c653d4d0c1e2c69a29a5..7a2abfd74b010627378e3307c76115dc6937f951 100644 --- a/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-basic/src/main/java/org/activiti/spring/boot/BasicProcessEngineAutoConfiguration.java +++ b/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-basic/src/main/java/org/activiti/spring/boot/BasicProcessEngineAutoConfiguration.java @@ -61,7 +61,7 @@ public class BasicProcessEngineAutoConfiguration { @Configuration public static class DefaultProcessEngineConfiguration - extends AbstractProcessEngineConfiguration { + extends AbstractProcessEngineConfiguration { @Bean public SpringJobExecutor springJobExecutor(TaskExecutor taskExecutor) { @@ -109,10 +109,10 @@ public class BasicProcessEngineAutoConfiguration { } @Bean - public ProcessEngine processEngine(SpringProcessEngineConfiguration configuration) throws Exception { + public ProcessEngineFactoryBean processEngine(SpringProcessEngineConfiguration configuration) throws Exception { ProcessEngineFactoryBean processEngineFactoryBean = new ProcessEngineFactoryBean(); processEngineFactoryBean.setProcessEngineConfiguration(configuration); - return processEngineFactoryBean.getObject(); + return processEngineFactoryBean; } @Bean diff --git a/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-integration/pom.xml b/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-integration/pom.xml index dc3fd38b6129dd41e245ddf7adf689e57b14efc2..2d9271dd8173dc6b3a5c64d6987a58a576fb3f82 100644 --- a/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-integration/pom.xml +++ b/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-integration/pom.xml @@ -1,17 +1,60 @@ 4.0.0 - - Activiti - Spring Boot + + 1.0.0.M3 + 1.8 + + - org.activiti - spring-boot-starters - 5.16.4-SNAPSHOT + org.activiti + spring-boot-starters + 5.16.4-SNAPSHOT - - spring-boot-starters-actuator - - + spring-boot-starters-integration + + + + org.activiti + spring-boot-starters-basic + ${project.version} + + + org.springframework.boot + spring-boot-starter-integration + + + + org.springframework.integration + spring-integration-amqp + true + + + + org.springframework.integration + spring-integration-java-dsl + ${spring-integration-java-dsl.version} + + + + + org.codehaus.groovy + groovy + test + 1.7.5 + + + + com.h2database + h2 + test + + + + + + \ No newline at end of file diff --git a/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-integration/src/test/resources/processes/gw.bpmn20.xml b/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-integration/src/test/resources/processes/gw.bpmn20.xml new file mode 100644 index 0000000000000000000000000000000000000000..97812679b29866b0bf4c2f696f1327507f2dceb6 --- /dev/null +++ b/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-integration/src/test/resources/processes/gw.bpmn20.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-rest-api/pom.xml b/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-rest-api/pom.xml index 83bb198c79aae139e41e8e2ac5f5db90455e710b..6cb1774f1899732335493bca6c3bbdbf18ff1819 100644 --- a/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-rest-api/pom.xml +++ b/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-rest-api/pom.xml @@ -17,8 +17,6 @@ h2 test - - org.activiti activiti-rest @@ -34,8 +32,6 @@ - - org.activiti spring-boot-starters-basic @@ -52,7 +48,6 @@ org.springframework.boot spring-boot-starter-jdbc - diff --git a/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-rest-api/src/main/java/org/activiti/spring/boot/ProcessEngineRestApiAutoConfiguration.java b/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-rest-api/src/main/java/org/activiti/spring/boot/ProcessEngineRestApiAutoConfiguration.java index 0f8fac1a6d6160b927629965dd19d00fbd20b3fa..0cdffa6b351cdfebccebf87ba58751b7aa33bb51 100644 --- a/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-rest-api/src/main/java/org/activiti/spring/boot/ProcessEngineRestApiAutoConfiguration.java +++ b/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-rest-api/src/main/java/org/activiti/spring/boot/ProcessEngineRestApiAutoConfiguration.java @@ -28,7 +28,6 @@ import org.springframework.context.annotation.Configuration; /** * * Auto-configuration and starter for the Activiti REST APIs. - * * * @author Josh Long */ diff --git a/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-rest-api/src/test/java/org/activiti/spring/boot/TestProcessEngineRestApiAutoConfiguration.java b/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-rest-api/src/test/java/org/activiti/spring/boot/TestProcessEngineRestApiAutoConfiguration.java index ec7a4bd2d77559126a88aed752d59d27572f17a2..5ca01d55fca9040997ce3e318a19c7e8c3b103dc 100644 --- a/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-rest-api/src/test/java/org/activiti/spring/boot/TestProcessEngineRestApiAutoConfiguration.java +++ b/modules/activiti-spring-boot/spring-boot-starters/spring-boot-starters-rest-api/src/test/java/org/activiti/spring/boot/TestProcessEngineRestApiAutoConfiguration.java @@ -13,13 +13,17 @@ import org.springframework.core.task.SimpleAsyncTaskExecutor; import org.springframework.core.task.TaskExecutor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.http.client.ClientHttpResponse; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.web.client.ResponseErrorHandler; import org.springframework.web.client.RestTemplate; import javax.servlet.ServletRegistration; import javax.sql.DataSource; +import java.io.IOException; import java.util.Map; +import java.util.concurrent.atomic.AtomicBoolean; /** * unit tests for the REST API integration. @@ -30,7 +34,8 @@ public class TestProcessEngineRestApiAutoConfiguration { @Configuration @EnableAutoConfiguration - public static class SimpleDataSourceConfiguration { + public static class TestConfiguration { + @Bean RestTemplate restTemplate() { return new RestTemplate(); @@ -56,6 +61,7 @@ public class TestProcessEngineRestApiAutoConfiguration { PlatformTransactionManager dataSourceTransactionManager(DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } + } private ConfigurableApplicationContext applicationContext; @@ -68,7 +74,7 @@ public class TestProcessEngineRestApiAutoConfiguration { @Before public void setUp() { - this.applicationContext = SpringApplication.run(SimpleDataSourceConfiguration.class); + this.applicationContext = SpringApplication.run(TestConfiguration.class); } @Test @@ -78,10 +84,28 @@ public class TestProcessEngineRestApiAutoConfiguration { } String authenticationChallenge = "http://localhost:8080/api/process-definitions"; - RestTemplate restTemplate = this.applicationContext.getBean(RestTemplate.class ); - ResponseEntity x = restTemplate.getForEntity(authenticationChallenge, Map.class ); - org.junit.Assert.assertTrue(x.getStatusCode().equals(HttpStatus.FORBIDDEN)); + RestTemplate restTemplate = this.applicationContext.getBean(RestTemplate.class); + final AtomicBoolean received403 = new AtomicBoolean() ; + received403.set(false); + restTemplate.setErrorHandler(new ResponseErrorHandler() { + @Override + public boolean hasError(ClientHttpResponse clientHttpResponse) throws IOException { + return true + ; + } + + @Override + public void handleError(ClientHttpResponse clientHttpResponse) throws IOException { + if (clientHttpResponse.getStatusCode().equals( HttpStatus.FORBIDDEN)) + received403.set(true); + } + }); + restTemplate.getForEntity(authenticationChallenge, Map.class); + + org.junit.Assert.assertTrue(received403 .get() ); } + + }