Skip to content

Commit

Permalink
Renamed beans etc
Browse files Browse the repository at this point in the history
  • Loading branch information
Edvard Fonsell committed Oct 31, 2014
1 parent 3df6ec3 commit 8f77c8e
Show file tree
Hide file tree
Showing 14 changed files with 50 additions and 63 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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)");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ public class WorkflowDefinitionService {
private final Map<String, WorkflowDefinition<? extends WorkflowState>> workflowDefitions = new LinkedHashMap<>();

@Inject
public WorkflowDefinitionService(@NFlow AbstractResource nonSpringWorkflowsListing) {
this.nonSpringWorkflowsListing = nonSpringWorkflowsListing;
public WorkflowDefinitionService(@NFlow AbstractResource nflowNonSpringWorkflowsListing) {
this.nonSpringWorkflowsListing = nflowNonSpringWorkflowsListing;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand All @@ -39,6 +39,6 @@ public void dispatcherPoolExecutorInstantiation() {

@Test
public void nonSpringWorkflowsListingNotInstantiated() {
assertThat(configuration.nonSpringWorkflowsListing(environment), nullValue());
assertThat(configuration.nflowNonSpringWorkflowsListing(environment), nullValue());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -23,7 +24,7 @@ public class WorkflowLifecycleTest {
@Mock
private WorkflowDispatcher dispatcher;
@Mock
private ThreadPoolTaskExecutor dispatcherExecutor;
private ThreadFactory threadFactory;
@Mock
private Environment env;
@Mock
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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,
Expand All @@ -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(),
Expand All @@ -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
Expand Down Expand Up @@ -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);
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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();
Expand Down Expand Up @@ -73,7 +71,7 @@ private Map<String, Object> stateVariablesToJson(Map<String, String> 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());
Expand Down

0 comments on commit 8f77c8e

Please sign in to comment.