package org.camunda.bpm.engine.test.cfg;
import static com.google.common.base.Preconditions.checkArgument;
import java.util.ArrayList;
import org.camunda.bpm.engine.ProcessEngineConfiguration;
import org.camunda.bpm.engine.impl.bpmn.parser.BpmnParseListener;
import org.camunda.bpm.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration;
import org.camunda.bpm.engine.impl.jobexecutor.JobHandler;
import org.camunda.bpm.engine.test.mock.MockExpressionManager;
import com.google.common.base.Supplier;
/**
* Configuration that makes the standard camunda.cfg.xml obsolete by setting the
* history, schema and job-executor settings.
*/
public class MostUsefulProcessEngineConfiguration extends StandaloneInMemProcessEngineConfiguration {
public static MostUsefulProcessEngineConfiguration mostUsefulProcessEngineConfiguration() {
return new MostUsefulProcessEngineConfiguration();
}
public static final Supplier<ProcessEngineConfiguration> SUPPLIER = new Supplier<ProcessEngineConfiguration>() {
@Override
public ProcessEngineConfiguration get() {
return mostUsefulProcessEngineConfiguration();
}
};
public MostUsefulProcessEngineConfiguration() {
this.history = "full";
this.databaseSchemaUpdate = DB_SCHEMA_UPDATE_TRUE;
this.jobExecutorActivate = false;
this.expressionManager = new MockExpressionManager();
this.setCustomPostBPMNParseListeners(new ArrayList<BpmnParseListener>());
this.setCustomJobHandlers(new ArrayList<JobHandler>());
this.setDbMetricsReporterActivate(false);
}
public void addCustomJobHandler(final JobHandler jobHandler) {
checkArgument(jobHandler != null, "jobHandler must not be null!");
getCustomJobHandlers().add(jobHandler);
}
public void addCustomPostBpmnParseListener(final BpmnParseListener bpmnParseListener) {
checkArgument(bpmnParseListener != null, "bpmnParseListener must not be null!");
getCustomPostBPMNParseListeners().add(bpmnParseListener);
}
}