use of org.camunda.bpm.engine.ProcessEngine in project camunda-bpm-platform by camunda.
the class JobMigrationScenario method triggerEntryCriterion.
@DescribesScenario("createJob")
public static ScenarioSetup triggerEntryCriterion() {
return new ScenarioSetup() {
public void execute(ProcessEngine engine, final String scenarioName) {
final ProcessEngineConfigurationImpl engineConfiguration = (ProcessEngineConfigurationImpl) engine.getProcessEngineConfiguration();
CommandExecutor commandExecutor = engineConfiguration.getCommandExecutorTxRequired();
// create a job with the scenario name as id and a null suspension state
commandExecutor.execute(new Command<Void>() {
public Void execute(CommandContext commandContext) {
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
try {
SqlSession sqlSession = commandContext.getDbSqlSession().getSqlSession();
connection = sqlSession.getConnection();
statement = connection.createStatement();
statement.executeUpdate("INSERT INTO ACT_RU_JOB(ID_, REV_, RETRIES_, TYPE_, EXCLUSIVE_, HANDLER_TYPE_) " + "VALUES (" + "'" + scenarioName + "'," + "1," + "3," + "'timer'," + DbSqlSessionFactory.databaseSpecificTrueConstant.get(engineConfiguration.getDatabaseType()) + "," + "'" + TimerStartEventJobHandler.TYPE + "'" + ")");
connection.commit();
statement.close();
} catch (SQLException e) {
throw new RuntimeException(e);
} finally {
try {
if (statement != null) {
statement.close();
}
if (rs != null) {
rs.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
return null;
}
});
}
};
}
use of org.camunda.bpm.engine.ProcessEngine in project camunda-bpm-platform by camunda.
the class ProcessWithParallelGatewayScenario method startProcessCompleteTwoUserTask.
@DescribesScenario("init.complete.two")
@Times(1)
public static ScenarioSetup startProcessCompleteTwoUserTask() {
return new ScenarioSetup() {
@Override
public void execute(ProcessEngine engine, String scenarioName) {
ProcessInstance procInst = engine.getRuntimeService().startProcessInstanceByKey(PROCESS_DEF_KEY, scenarioName);
List<Task> tasks = engine.getTaskService().createTaskQuery().processInstanceId(procInst.getId()).list();
for (Task task : tasks) {
engine.getTaskService().complete(task.getId());
}
}
};
}
use of org.camunda.bpm.engine.ProcessEngine in project camunda-bpm-platform by camunda.
the class ProcessWithParallelGatewayScenario method startProcessCompleteOneUserTask.
@DescribesScenario("init.complete.one")
@Times(1)
public static ScenarioSetup startProcessCompleteOneUserTask() {
return new ScenarioSetup() {
@Override
public void execute(ProcessEngine engine, String scenarioName) {
ProcessInstance procInst = engine.getRuntimeService().startProcessInstanceByKey(PROCESS_DEF_KEY, scenarioName);
List<Task> tasks = engine.getTaskService().createTaskQuery().processInstanceId(procInst.getId()).list();
if (tasks.size() > 0) {
engine.getTaskService().complete(tasks.get(0).getId());
}
}
};
}
use of org.camunda.bpm.engine.ProcessEngine in project camunda-bpm-platform by camunda.
the class ProcessWithCallActivityScenario method startProcessAndCompleteFirstTask.
@DescribesScenario("init.complete.one")
@Times(1)
public static ScenarioSetup startProcessAndCompleteFirstTask() {
return new ScenarioSetup() {
public void execute(ProcessEngine engine, String scenarioName) {
ProcessInstance procInst = engine.getRuntimeService().startProcessInstanceByKey(PROCESS_DEF_KEY, scenarioName);
Task task = engine.getTaskService().createTaskQuery().processInstanceId(procInst.getId()).singleResult();
engine.getTaskService().complete(task.getId());
}
};
}
use of org.camunda.bpm.engine.ProcessEngine in project camunda-bpm-platform by camunda.
the class ProcessWithEventSubProcessScenario method startProcessWithThrowedBpmnError.
@DescribesScenario("init.error")
@Times(1)
public static ScenarioSetup startProcessWithThrowedBpmnError() {
return new ScenarioSetup() {
@Override
public void execute(ProcessEngine engine, String scenarioName) {
ProcessInstance procInstance = engine.getRuntimeService().startProcessInstanceByKey(PROCESS_DEF_KEY, scenarioName);
Job job = engine.getManagementService().createJobQuery().processInstanceId(procInstance.getId()).singleResult();
engine.getManagementService().executeJob(job.getId());
}
};
}
Aggregations