From 8f77c8e65042e43b78114499b9c004861df980d4 Mon Sep 17 00:00:00 2001 From: Edvard Fonsell Date: Fri, 31 Oct 2014 15:45:44 +0200 Subject: [PATCH] Renamed beans etc --- .../internal/config/EngineConfiguration.java | 4 ++-- .../internal/config/WorkflowLifecycle.java | 7 ++++--- .../nflow/engine/internal/dao/ExecutorDao.java | 6 +++--- .../internal/dao/WorkflowInstanceDao.java | 10 +++++----- .../storage/db/DatabaseConfiguration.java | 10 +++++----- .../storage/db/MysqlDatabaseConfiguration.java | 7 +++---- .../internal/workflow/ObjectStringMapper.java | 4 ++-- .../service/WorkflowDefinitionService.java | 4 ++-- .../config/EngineConfigurationTest.java | 4 ++-- .../internal/config/WorkflowLifecycleTest.java | 9 +++++---- .../jetty/config/NflowJettyConfiguration.java | 14 ++++++++------ .../nflow/rest/config/NFlowRest.java | 18 ------------------ .../nflow/rest/config/RestConfiguration.java | 10 +++++++--- .../ListWorkflowInstanceConverter.java | 6 ++---- 14 files changed, 50 insertions(+), 63 deletions(-) delete mode 100644 nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/NFlowRest.java diff --git a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/config/EngineConfiguration.java b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/config/EngineConfiguration.java index 3babdbfad..1e9017378 100644 --- a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/config/EngineConfiguration.java +++ b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/config/EngineConfiguration.java @@ -22,7 +22,7 @@ public class EngineConfiguration { @Bean @NFlow - public ThresholdThreadPoolTaskExecutor dispatcherPoolExecutor(@NFlow ThreadFactory threadFactory, Environment env) { + public ThresholdThreadPoolTaskExecutor nflowExecutor(@NFlow ThreadFactory threadFactory, Environment env) { ThresholdThreadPoolTaskExecutor executor = new ThresholdThreadPoolTaskExecutor(); Integer threadCount = env.getProperty("nflow.executor.thread.count", Integer.class, 2 * Runtime.getRuntime().availableProcessors()); executor.setCorePoolSize(threadCount); @@ -54,7 +54,7 @@ public ObjectMapper nflowObjectMapper() { @Bean @NFlow - public AbstractResource nonSpringWorkflowsListing(Environment env) { + public AbstractResource nflowNonSpringWorkflowsListing(Environment env) { String filename = env.getProperty("nflow.non_spring_workflows_filename"); if (filename != null) { return new ClassPathResource(filename); diff --git a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/config/WorkflowLifecycle.java b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/config/WorkflowLifecycle.java index 0eaf1420f..14e075837 100644 --- a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/config/WorkflowLifecycle.java +++ b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/config/WorkflowLifecycle.java @@ -2,11 +2,12 @@ import static org.slf4j.LoggerFactory.getLogger; +import java.util.concurrent.ThreadFactory; + import javax.inject.Inject; import org.springframework.context.SmartLifecycle; import org.springframework.core.env.Environment; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; import com.nitorcreations.nflow.engine.internal.executor.WorkflowDispatcher; @@ -18,10 +19,10 @@ public class WorkflowLifecycle implements SmartLifecycle { private final Thread dispatcherThread; @Inject - public WorkflowLifecycle(WorkflowDispatcher dispatcher, @NFlow ThreadPoolTaskExecutor dispatcherExecutor, Environment env) { + public WorkflowLifecycle(WorkflowDispatcher dispatcher, @NFlow ThreadFactory nflowThreadFactory, Environment env) { this.dispatcher = dispatcher; this.autoStart = env.getProperty("nflow.autostart", Boolean.class, true); - this.dispatcherThread = dispatcherExecutor.newThread(dispatcher); + this.dispatcherThread = nflowThreadFactory.newThread(dispatcher); this.dispatcherThread.setName("nflow-dispatcher"); if (!this.autoStart) { getLogger(WorkflowLifecycle.class).info("nFlow engine autostart disabled (system property nflow.autostart=false)"); diff --git a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/dao/ExecutorDao.java b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/dao/ExecutorDao.java index a52a38d54..d7ae9298b 100644 --- a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/dao/ExecutorDao.java +++ b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/dao/ExecutorDao.java @@ -61,11 +61,11 @@ public ExecutorDao(Environment env, SQLVariants sqlVariants) { /** * Use setter injection because constructor injection may not work * when nFlow is used in some legacy systems. - * @param jdbcTemplate The JDBC template for accessing the nFlow data source. + * @param nflowJdbcTemplate The JDBC template for accessing the nFlow data source. */ @Inject - public void setJdbcTemplate(@NFlow JdbcTemplate jdbcTemplate) { - this.jdbc = jdbcTemplate; + public void setJdbcTemplate(@NFlow JdbcTemplate nflowJdbcTemplate) { + this.jdbc = nflowJdbcTemplate; } @Inject diff --git a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/dao/WorkflowInstanceDao.java b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/dao/WorkflowInstanceDao.java index 1e08e13a8..063e887cb 100644 --- a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/dao/WorkflowInstanceDao.java +++ b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/dao/WorkflowInstanceDao.java @@ -59,16 +59,16 @@ public class WorkflowInstanceDao { /** * Use setter injection because constructor injection may not work * when nFlow is used in some legacy systems. - * @param jdbcTemplate The JDBC template for accessing the nFlow data source. + * @param nflowJdbcTemplate The JDBC template for accessing the nFlow data source. */ @Inject - public void setJdbcTemplate(@NFlow JdbcTemplate jdbcTemplate) { - this.jdbc = jdbcTemplate; + public void setJdbcTemplate(@NFlow JdbcTemplate nflowJdbcTemplate) { + this.jdbc = nflowJdbcTemplate; } @Inject - public void setNamedParameterJdbcTemplate(@NFlow NamedParameterJdbcTemplate namedParameterJdbcTemplate) { - this.namedJdbc = namedParameterJdbcTemplate; + public void setNamedParameterJdbcTemplate(@NFlow NamedParameterJdbcTemplate nflowNamedParameterJdbcTemplate) { + this.namedJdbc = nflowNamedParameterJdbcTemplate; } @Inject diff --git a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/storage/db/DatabaseConfiguration.java b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/storage/db/DatabaseConfiguration.java index b20381c1d..444147490 100644 --- a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/storage/db/DatabaseConfiguration.java +++ b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/storage/db/DatabaseConfiguration.java @@ -27,7 +27,7 @@ protected DatabaseConfiguration(String dbType) { @Bean @NFlow - public DataSource datasource(Environment env) { + public DataSource nflowDatasource(Environment env) { String url = property(env, "url"); logger.info("Database connection to {} using {}", dbType, url); HikariConfig config = new HikariConfig(); @@ -42,15 +42,15 @@ public DataSource datasource(Environment env) { @Bean @NFlow @Scope(SCOPE_PROTOTYPE) - public JdbcTemplate jdbcTemplate(Environment env) { - return new JdbcTemplate(datasource(env)); + public JdbcTemplate nflowJdbcTemplate(@NFlow DataSource nflowDataSource) { + return new JdbcTemplate(nflowDataSource); } @Bean @NFlow @Scope(SCOPE_PROTOTYPE) - public NamedParameterJdbcTemplate namedParameterJdbcTemplate(Environment env) { - return new NamedParameterJdbcTemplate(datasource(env)); + public NamedParameterJdbcTemplate nflowNamedParameterJdbcTemplate(@NFlow DataSource nflowDataSource) { + return new NamedParameterJdbcTemplate(nflowDataSource); } protected String property(Environment env, String key) { diff --git a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/storage/db/MysqlDatabaseConfiguration.java b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/storage/db/MysqlDatabaseConfiguration.java index 45bb80bef..b1f434ea9 100644 --- a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/storage/db/MysqlDatabaseConfiguration.java +++ b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/storage/db/MysqlDatabaseConfiguration.java @@ -30,9 +30,9 @@ public MysqlDatabaseConfiguration() { @Bean @Override - public DatabaseInitializer nflowDatabaseInitializer(@NFlow DataSource dataSource, Environment env) { + public DatabaseInitializer nflowDatabaseInitializer(@NFlow DataSource nflowDataSource, Environment env) { String dbType = "mysql"; - try (Connection c = DataSourceUtils.getConnection(dataSource)) { + try (Connection c = DataSourceUtils.getConnection(nflowDataSource)) { DatabaseMetaData meta = c.getMetaData(); String databaseProductVersion = meta.getDatabaseProductVersion(); logger.info("MySQL {}.{}, product version {}", meta.getDatabaseMajorVersion(), meta.getDatabaseMinorVersion(), databaseProductVersion); @@ -50,10 +50,9 @@ public DatabaseInitializer nflowDatabaseInitializer(@NFlow DataSource dataSource } catch (SQLException e) { throw new RuntimeException("Failed to obtain mysql version", e); } - return new DatabaseInitializer(dbType, dataSource, env); + return new DatabaseInitializer(dbType, nflowDataSource, env); } - @Bean public SQLVariants sqlVariants() { return new MySQLVariants(); diff --git a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/workflow/ObjectStringMapper.java b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/workflow/ObjectStringMapper.java index d4df5ec0c..94b29190d 100644 --- a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/workflow/ObjectStringMapper.java +++ b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/internal/workflow/ObjectStringMapper.java @@ -21,8 +21,8 @@ public class ObjectStringMapper { private final ObjectMapper mapper; @Inject - public ObjectStringMapper(@NFlow ObjectMapper mapper) { - this.mapper = mapper; + public ObjectStringMapper(@NFlow ObjectMapper nflowObjectMapper) { + this.mapper = nflowObjectMapper; } @SuppressWarnings("unchecked") diff --git a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/service/WorkflowDefinitionService.java b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/service/WorkflowDefinitionService.java index 8dc7119bd..7282d8653 100644 --- a/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/service/WorkflowDefinitionService.java +++ b/nflow-engine/src/main/java/com/nitorcreations/nflow/engine/service/WorkflowDefinitionService.java @@ -36,8 +36,8 @@ public class WorkflowDefinitionService { private final Map> workflowDefitions = new LinkedHashMap<>(); @Inject - public WorkflowDefinitionService(@NFlow AbstractResource nonSpringWorkflowsListing) { - this.nonSpringWorkflowsListing = nonSpringWorkflowsListing; + public WorkflowDefinitionService(@NFlow AbstractResource nflowNonSpringWorkflowsListing) { + this.nonSpringWorkflowsListing = nflowNonSpringWorkflowsListing; } /** diff --git a/nflow-engine/src/test/java/com/nitorcreations/nflow/engine/internal/config/EngineConfigurationTest.java b/nflow-engine/src/test/java/com/nitorcreations/nflow/engine/internal/config/EngineConfigurationTest.java index 8da6caf6d..e660ad36b 100644 --- a/nflow-engine/src/test/java/com/nitorcreations/nflow/engine/internal/config/EngineConfigurationTest.java +++ b/nflow-engine/src/test/java/com/nitorcreations/nflow/engine/internal/config/EngineConfigurationTest.java @@ -29,7 +29,7 @@ public class EngineConfigurationTest { @Test public void dispatcherPoolExecutorInstantiation() { - ThreadPoolTaskExecutor executor = configuration.dispatcherPoolExecutor(threadFactory, environment); + ThreadPoolTaskExecutor executor = configuration.nflowExecutor(threadFactory, environment); assertThat(executor.getCorePoolSize(), is(100)); assertThat(executor.getMaxPoolSize(), is(100)); assertThat(executor.getKeepAliveSeconds(), is(0)); @@ -39,6 +39,6 @@ public void dispatcherPoolExecutorInstantiation() { @Test public void nonSpringWorkflowsListingNotInstantiated() { - assertThat(configuration.nonSpringWorkflowsListing(environment), nullValue()); + assertThat(configuration.nflowNonSpringWorkflowsListing(environment), nullValue()); } } diff --git a/nflow-engine/src/test/java/com/nitorcreations/nflow/engine/internal/config/WorkflowLifecycleTest.java b/nflow-engine/src/test/java/com/nitorcreations/nflow/engine/internal/config/WorkflowLifecycleTest.java index 24c1512b1..af4b713a2 100644 --- a/nflow-engine/src/test/java/com/nitorcreations/nflow/engine/internal/config/WorkflowLifecycleTest.java +++ b/nflow-engine/src/test/java/com/nitorcreations/nflow/engine/internal/config/WorkflowLifecycleTest.java @@ -7,13 +7,14 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import java.util.concurrent.ThreadFactory; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.core.env.Environment; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import com.nitorcreations.nflow.engine.internal.executor.WorkflowDispatcher; @@ -23,7 +24,7 @@ public class WorkflowLifecycleTest { @Mock private WorkflowDispatcher dispatcher; @Mock - private ThreadPoolTaskExecutor dispatcherExecutor; + private ThreadFactory threadFactory; @Mock private Environment env; @Mock @@ -34,8 +35,8 @@ public class WorkflowLifecycleTest { @Before public void setup() { when(env.getProperty("nflow.autostart", Boolean.class, true)).thenReturn(TRUE); - when(dispatcherExecutor.newThread(dispatcher)).thenReturn(dispatcherThread); - lifecycle = new WorkflowLifecycle(dispatcher, dispatcherExecutor, env); + when(threadFactory.newThread(dispatcher)).thenReturn(dispatcherThread); + lifecycle = new WorkflowLifecycle(dispatcher, threadFactory, env); } @Test diff --git a/nflow-jetty/src/main/java/com/nitorcreations/nflow/jetty/config/NflowJettyConfiguration.java b/nflow-jetty/src/main/java/com/nitorcreations/nflow/jetty/config/NflowJettyConfiguration.java index f9d27ed33..7fc64fb3d 100644 --- a/nflow-jetty/src/main/java/com/nitorcreations/nflow/jetty/config/NflowJettyConfiguration.java +++ b/nflow-jetty/src/main/java/com/nitorcreations/nflow/jetty/config/NflowJettyConfiguration.java @@ -2,11 +2,13 @@ import static com.nitorcreations.nflow.jetty.StartNflow.DEFAULT_HOST; import static com.nitorcreations.nflow.jetty.StartNflow.DEFAULT_PORT; +import static com.nitorcreations.nflow.rest.config.RestConfiguration.REST_OBJECT_MAPPER; import static org.apache.commons.lang3.StringUtils.isEmpty; import java.util.Arrays; import javax.inject.Inject; +import javax.inject.Named; import javax.sql.DataSource; import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; @@ -61,7 +63,7 @@ public class NflowJettyConfiguration { @Bean public Server jaxRsServer(WorkflowInstanceResource workflowInstanceResource, WorkflowDefinitionResource workflowDefinitionResource, WorkflowExecutorResource workflowExecutorResource, - @NFlow ObjectMapper mapper) { + @Named(REST_OBJECT_MAPPER) ObjectMapper nflowRestObjectMapper) { JAXRSServerFactoryBean factory = RuntimeDelegate.getInstance().createEndpoint(jaxRsApiApplication(), JAXRSServerFactoryBean.class); factory.setServiceBeans(Arrays.< Object >asList( workflowInstanceResource, @@ -70,7 +72,7 @@ public Server jaxRsServer(WorkflowInstanceResource workflowInstanceResource, apiListingResourceJson())); factory.setAddress('/' + factory.getAddress()); factory.setProviders( Arrays.asList( - jsonProvider(mapper), + jsonProvider(nflowRestObjectMapper), validationExceptionMapper(), resourceListingProvider(), apiDeclarationProvider(), @@ -88,8 +90,8 @@ private CorsHeaderContainerResponseFilter corsHeadersProvider() { } @Bean - public JacksonJsonProvider jsonProvider(@NFlow ObjectMapper mapper) { - return new JacksonJsonProvider(mapper); + public JacksonJsonProvider jsonProvider(@Named(REST_OBJECT_MAPPER) ObjectMapper nflowRestObjectMapper) { + return new JacksonJsonProvider(nflowRestObjectMapper); } @Bean @@ -146,7 +148,7 @@ public static class JaxRsApiApplication extends Application { } @Bean - public PlatformTransactionManager transactionManager(@NFlow DataSource dataSource) { - return new DataSourceTransactionManager(dataSource); + public PlatformTransactionManager transactionManager(@NFlow DataSource nflowDataSource) { + return new DataSourceTransactionManager(nflowDataSource); } } diff --git a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/NFlowRest.java b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/NFlowRest.java deleted file mode 100644 index dcf4dcab9..000000000 --- a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/NFlowRest.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.nitorcreations.nflow.rest.config; - -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.PARAMETER; -import static java.lang.annotation.ElementType.TYPE; -import static java.lang.annotation.RetentionPolicy.RUNTIME; - -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -import javax.inject.Qualifier; - -@Target({ FIELD, PARAMETER, TYPE, METHOD }) -@Retention(RUNTIME) -@Qualifier -public @interface NFlowRest { -} diff --git a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/RestConfiguration.java b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/RestConfiguration.java index 1c39f3dbb..33f7f6433 100644 --- a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/RestConfiguration.java +++ b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/RestConfiguration.java @@ -2,6 +2,8 @@ import static com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS; +import javax.inject.Named; + import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -16,10 +18,12 @@ @ComponentScan("com.nitorcreations.nflow.rest") public class RestConfiguration { + public static final String REST_OBJECT_MAPPER = "nflowRestObjectMapper"; + @Bean - @NFlowRest - public ObjectMapper humanObjectMapper(@NFlow ObjectMapper engineObjectMapper) { - ObjectMapper restObjectMapper = engineObjectMapper.copy(); + @Named(REST_OBJECT_MAPPER) + public ObjectMapper nflowRestObjectMapper(@NFlow ObjectMapper nflowObjectMapper) { + ObjectMapper restObjectMapper = nflowObjectMapper.copy(); restObjectMapper.configure(WRITE_DATES_AS_TIMESTAMPS, false); return restObjectMapper; } diff --git a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/v1/converter/ListWorkflowInstanceConverter.java b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/v1/converter/ListWorkflowInstanceConverter.java index 1cd4925c8..e18268fad 100644 --- a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/v1/converter/ListWorkflowInstanceConverter.java +++ b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/v1/converter/ListWorkflowInstanceConverter.java @@ -20,7 +20,6 @@ import com.nitorcreations.nflow.engine.workflow.instance.QueryWorkflowInstances; import com.nitorcreations.nflow.engine.workflow.instance.WorkflowInstance; import com.nitorcreations.nflow.engine.workflow.instance.WorkflowInstanceAction; -import com.nitorcreations.nflow.rest.config.NFlowRest; import com.nitorcreations.nflow.rest.v1.msg.Action; import com.nitorcreations.nflow.rest.v1.msg.ListWorkflowInstanceResponse; @@ -29,8 +28,7 @@ public class ListWorkflowInstanceConverter { private static final Logger logger = LoggerFactory.getLogger(ListWorkflowInstanceConverter.class); @Inject - @NFlowRest - private ObjectMapper nflowObjectMapper; + private ObjectMapper nflowRestObjectMapper; public ListWorkflowInstanceResponse convert(WorkflowInstance instance, QueryWorkflowInstances query) { ListWorkflowInstanceResponse resp = new ListWorkflowInstanceResponse(); @@ -73,7 +71,7 @@ private Map stateVariablesToJson(Map stateVaria private JsonNode stringToJson(String key, String value) { try { - return nflowObjectMapper.readTree(value); + return nflowRestObjectMapper.readTree(value); } catch (IOException e) { logger.warn("Failed to parse state variable {} value as JSON, returning value as unparsed string: {}: {}", key, e.getClass().getSimpleName(), e.getMessage());