diff --git a/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/rest/ExampleRestApplication.java b/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/rest/ExampleRestApplication.java index 60d402666..482a1b499 100644 --- a/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/rest/ExampleRestApplication.java +++ b/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/rest/ExampleRestApplication.java @@ -1,18 +1,13 @@ package pro.taskana.rest; import javax.annotation.PostConstruct; -import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.DependsOn; import org.springframework.context.annotation.Import; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.transaction.PlatformTransactionManager; import pro.taskana.jobs.TransactionalJobsConfiguration; import pro.taskana.ldap.LdapCacheTestImpl; @@ -26,6 +21,7 @@ import pro.taskana.sampledata.SampleDataGenerator; @ComponentScan(basePackages = "pro.taskana") @SuppressWarnings("checkstyle:Indentation") @Import({ + ExampleRestConfiguration.class, TransactionalJobsConfiguration.class, LdapConfiguration.class, RestConfiguration.class, @@ -33,34 +29,27 @@ import pro.taskana.sampledata.SampleDataGenerator; }) public class ExampleRestApplication { - @Value("${taskana.schemaName:TASKANA}") - public String schemaName; + private final SampleDataGenerator sampleDataGenerator; + private final LdapClient ldapClient; + private final LdapCacheTestImpl ldapCacheTest; @Value("${generateSampleData:true}") public boolean generateSampleData; - @Autowired private SampleDataGenerator sampleDataGenerator; - - @Autowired private LdapClient ldapClient; - - @Autowired private LdapCacheTestImpl ldapCacheTest; + @Autowired + public ExampleRestApplication( + SampleDataGenerator sampleDataGenerator, + LdapClient ldapClient, + LdapCacheTestImpl ldapCacheTest) { + this.sampleDataGenerator = sampleDataGenerator; + this.ldapClient = ldapClient; + this.ldapCacheTest = ldapCacheTest; + } public static void main(String[] args) { SpringApplication.run(ExampleRestApplication.class, args); } - @Bean - public PlatformTransactionManager txManager(DataSource dataSource) { - return new DataSourceTransactionManager(dataSource); - } - - @Bean - @DependsOn("getTaskanaEngine") // generate sample data after schema was inserted - public SampleDataGenerator generateSampleData(DataSource dataSource) { - sampleDataGenerator = new SampleDataGenerator(dataSource, schemaName); - return sampleDataGenerator; - } - @PostConstruct private void init() { if (!ldapClient.useLdap()) { diff --git a/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/rest/ExampleRestConfiguration.java b/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/rest/ExampleRestConfiguration.java new file mode 100644 index 000000000..0f0feed38 --- /dev/null +++ b/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/rest/ExampleRestConfiguration.java @@ -0,0 +1,27 @@ +package pro.taskana.rest; + +import javax.sql.DataSource; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.DependsOn; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.transaction.PlatformTransactionManager; + +import pro.taskana.sampledata.SampleDataGenerator; + +public class ExampleRestConfiguration { + + @Value("${taskana.schemaName:TASKANA}") + public String schemaName; + + @Bean + public PlatformTransactionManager txManager(DataSource dataSource) { + return new DataSourceTransactionManager(dataSource); + } + + @Bean + @DependsOn("getTaskanaEngine") // generate sample data after schema was inserted + public SampleDataGenerator generateSampleData(DataSource dataSource) { + return new SampleDataGenerator(dataSource, schemaName); + } +}