protected static ExecutionEntity createNewExecution() { ExecutionEntity newExecution = new ExecutionEntity(); initializeAssociations(newExecution); newExecution.insert(); return newExecution; }
protected static ExecutionEntity createNewExecution() { ExecutionEntity newExecution = new ExecutionEntity(); initializeAssociations(newExecution); newExecution.insert(); return newExecution; }
@Override public void execute(DelegateExecution execution) throws Exception { ExecutionEntity execution1 = new ExecutionEntity(); execution1.setId(ENTITY_ID1); execution1.setExecutions(new ArrayList<ExecutionEntity>()); ExecutionEntity execution2 = new ExecutionEntity(); execution2.setId(ENTITY_ID2); execution2.setExecutions(new ArrayList<ExecutionEntity>()); execution2.setParent(execution1); ExecutionManager executionManager = Context.getCommandContext().getExecutionManager(); executionManager.insert(execution1); executionManager.insert(execution2); executionThreadControl.sync(); }
@Test public void testRestoreProcessInstance() { //given parent execution List<ExecutionEntity> entities = new ArrayList<ExecutionEntity>(); ExecutionEntity parent = new ExecutionEntity(); parent.setId("parent"); entities.add(parent); //when restore process instance is called parent.restoreProcessInstance(entities, null, null, null, null, null, null); //then no problem should occure //when child is added and restore is called again ExecutionEntity entity = new ExecutionEntity(); entity.setId("child"); entity.setParentId(parent.getId()); entities.add(entity); parent.restoreProcessInstance(entities, null, null, null, null, null, null); //then again no problem should occure //when parent is deleted from the list entities.remove(parent); //then exception is thrown because child reference to parent which does not exist anymore thrown.expect(ProcessEngineException.class); thrown.expectMessage("Cannot resolve parent with id 'parent' of execution 'child', perhaps it was deleted in the meantime"); parent.restoreProcessInstance(entities, null, null, null, null, null, null); }
entityManager = new ExposingDbEntityManager(idGenerator, null); execution1 = new ExecutionEntity(); execution1.setId("101"); execution2 = new ExecutionEntity(); execution2.setId("102"); execution3 = new ExecutionEntity(); execution3.setId("103"); execution4 = new ExecutionEntity(); execution4.setId("104"); execution5 = new ExecutionEntity(); execution5.setId("105"); execution6 = new ExecutionEntity(); execution6.setId("106"); execution7 = new ExecutionEntity(); execution7.setId("107"); execution8 = new ExecutionEntity(); execution8.setId("108");
protected boolean evaluateCondition(ConditionSet conditionSet, ActivityImpl activity) { ExecutionEntity temporaryExecution = new ExecutionEntity(); if (conditionSet.getVariables() != null) { temporaryExecution.initializeVariableStore(conditionSet.getVariables()); } temporaryExecution.setProcessDefinition(activity.getProcessDefinition()); ConditionalEventDefinition conditionalEventDefinition = activity.getProperties().get(BpmnProperties.CONDITIONAL_EVENT_DEFINITION); if (conditionalEventDefinition.getVariableName() == null || conditionSet.getVariables().containsKey(conditionalEventDefinition.getVariableName())) { return conditionalEventDefinition.tryEvaluate(temporaryExecution); } else { return false; } }
protected boolean evaluateCondition(ConditionSet conditionSet, ActivityImpl activity) { ExecutionEntity temporaryExecution = new ExecutionEntity(); if (conditionSet.getVariables() != null) { temporaryExecution.initializeVariableStore(conditionSet.getVariables()); } temporaryExecution.setProcessDefinition(activity.getProcessDefinition()); ConditionalEventDefinition conditionalEventDefinition = activity.getProperties().get(BpmnProperties.CONDITIONAL_EVENT_DEFINITION); if (conditionalEventDefinition.getVariableName() == null || conditionSet.getVariables().containsKey(conditionalEventDefinition.getVariableName())) { return conditionalEventDefinition.tryEvaluate(temporaryExecution); } else { return false; } }
public void execute(DelegateExecution execution) throws Exception { String existingId = execution.getId(); // insert an execution referencing the current execution ExecutionEntity newExecution = new ExecutionEntity(); newExecution.setId("someId"); newExecution.setParentId(existingId); DbEntityOperation insertOperation = new DbEntityOperation(); insertOperation.setOperationType(DbOperationType.INSERT); insertOperation.setEntity(newExecution); Context.getCommandContext() .getDbSqlSession() .executeDbOperation(insertOperation); }
public void testTaskEntitySerialization() throws Exception { TaskEntity task = new TaskEntity(); task.setDelegationState(DelegationState.RESOLVED); task.setExecution(new ExecutionEntity()); task.setProcessInstance(new ExecutionEntity()); task.setTaskDefinition(new TaskDefinition(null)); task.setAssignee("kermit"); task.setCreateTime(new Date()); task.setDescription("Test description"); task.setDueDate(new Date()); task.setName("myTask"); task.setEventName("end"); task.setDeleted(false); task.setDelegationStateString(DelegationState.RESOLVED.name()); byte[] data = writeObject(task); task = (TaskEntity) readObject(data); assertEquals("kermit", task.getAssignee()); assertEquals("myTask", task.getName()); assertEquals("end", task.getEventName()); }
public void testExecutionEntitySerialization() throws Exception { ExecutionEntity execution = new ExecutionEntity(); ActivityImpl activityImpl = new ActivityImpl("test", null); activityImpl.getExecutionListeners().put("start", Collections.<ExecutionListener>singletonList(new TestExecutionListener())); execution.setActivity(activityImpl); ProcessDefinitionImpl processDefinitionImpl = new ProcessDefinitionImpl("test"); processDefinitionImpl.getExecutionListeners().put("start", Collections.<ExecutionListener>singletonList(new TestExecutionListener())); execution.setProcessDefinition(processDefinitionImpl); TransitionImpl transitionImpl = new TransitionImpl("test", new ProcessDefinitionImpl("test")); transitionImpl.addExecutionListener(new TestExecutionListener()); execution.setTransition(transitionImpl); execution.getProcessInstanceStartContext().setInitial(activityImpl); execution.setSuperExecution(new ExecutionEntity()); execution.setActive(true); execution.setCanceled(false); execution.setBusinessKey("myBusinessKey"); execution.setDeleteReason("no reason"); execution.setActivityInstanceId("123"); execution.setScope(false); byte[] data = writeObject(execution); execution = (ExecutionEntity) readObject(data); assertEquals("myBusinessKey", execution.getBusinessKey()); assertEquals("no reason", execution.getDeleteReason()); assertEquals("123", execution.getActivityInstanceId()); }
protected static ExecutionEntity createNewExecution() { ExecutionEntity newExecution = new ExecutionEntity(); initializeAssociations(newExecution); newExecution.insert(); return newExecution; }
synchronized public static Object evaluateJuelWithGenerator(String expression, ContentGenerator contentGenerator, VariableScope scope) { currentEvaluationWrapperClass = getWrapperClass(contentGenerator); try { if (cachedExpressionManager == null) { cachedExpressionManager = getExpressionManager(Context.getProcessEngineConfiguration()); } ELContext elContext = cachedExpressionManager.getElContext(scope == null ? new ExecutionEntity() : scope); ExpressionGetInvocation invocation = new ExpressionGetInvocation(cachedExpressionManager.createValueExpression(expression), elContext, null); invocation.proceed(); return invocation.getInvocationResult(); } catch (Exception e) { throw new RuntimeException("Could not evaluate JUEL expression '" + expression + "'", e); } finally { currentEvaluationWrapperClass = null; } }
@Override public void execute(DelegateExecution execution) throws Exception { ExecutionEntity execution1 = new ExecutionEntity(); execution1.setId(ENTITY_ID1); execution1.setExecutions(new ArrayList<ExecutionEntity>()); ExecutionEntity execution2 = new ExecutionEntity(); execution2.setId(ENTITY_ID2); execution2.setExecutions(new ArrayList<ExecutionEntity>()); execution2.setParent(execution1); ExecutionManager executionManager = Context.getCommandContext().getExecutionManager(); executionManager.insert(execution1); executionManager.insert(execution2); executionThreadControl.sync(); }
@Test public void testRestoreProcessInstance() { //given parent execution List<ExecutionEntity> entities = new ArrayList<ExecutionEntity>(); ExecutionEntity parent = new ExecutionEntity(); parent.setId("parent"); entities.add(parent); //when restore process instance is called parent.restoreProcessInstance(entities, null, null, null, null, null, null); //then no problem should occure //when child is added and restore is called again ExecutionEntity entity = new ExecutionEntity(); entity.setId("child"); entity.setParentId(parent.getId()); entities.add(entity); parent.restoreProcessInstance(entities, null, null, null, null, null, null); //then again no problem should occure //when parent is deleted from the list entities.remove(parent); //then exception is thrown because child reference to parent which does not exist anymore thrown.expect(ProcessEngineException.class); thrown.expectMessage("Cannot resolve parent with id 'parent' of execution 'child', perhaps it was deleted in the meantime"); parent.restoreProcessInstance(entities, null, null, null, null, null, null); }
entityManager = new ExposingDbEntityManager(idGenerator, null); execution1 = new ExecutionEntity(); execution1.setId("101"); execution2 = new ExecutionEntity(); execution2.setId("102"); execution3 = new ExecutionEntity(); execution3.setId("103"); execution4 = new ExecutionEntity(); execution4.setId("104"); execution5 = new ExecutionEntity(); execution5.setId("105"); execution6 = new ExecutionEntity(); execution6.setId("106"); execution7 = new ExecutionEntity(); execution7.setId("107"); execution8 = new ExecutionEntity(); execution8.setId("108");
protected boolean evaluateCondition(ConditionSet conditionSet, ActivityImpl activity) { ExecutionEntity temporaryExecution = new ExecutionEntity(); if (conditionSet.getVariables() != null) { temporaryExecution.initializeVariableStore(conditionSet.getVariables()); } temporaryExecution.setProcessDefinition(activity.getProcessDefinition()); ConditionalEventDefinition conditionalEventDefinition = activity.getProperties().get(BpmnProperties.CONDITIONAL_EVENT_DEFINITION); if (conditionalEventDefinition.getVariableName() == null || conditionSet.getVariables().containsKey(conditionalEventDefinition.getVariableName())) { return conditionalEventDefinition.tryEvaluate(temporaryExecution); } else { return false; } }
public void execute(DelegateExecution execution) throws Exception { String existingId = execution.getId(); // insert an execution referencing the current execution ExecutionEntity newExecution = new ExecutionEntity(); newExecution.setId("someId"); newExecution.setParentId(existingId); DbEntityOperation insertOperation = new DbEntityOperation(); insertOperation.setOperationType(DbOperationType.INSERT); insertOperation.setEntity(newExecution); Context.getCommandContext() .getDbSqlSession() .executeDbOperation(insertOperation); }
public void testTaskEntitySerialization() throws Exception { TaskEntity task = new TaskEntity(); task.setDelegationState(DelegationState.RESOLVED); task.setExecution(new ExecutionEntity()); task.setProcessInstance(new ExecutionEntity()); task.setTaskDefinition(new TaskDefinition(null)); task.setAssignee("kermit"); task.setCreateTime(new Date()); task.setDescription("Test description"); task.setDueDate(new Date()); task.setName("myTask"); task.setEventName("end"); task.setDeleted(false); task.setDelegationStateString(DelegationState.RESOLVED.name()); byte[] data = writeObject(task); task = (TaskEntity) readObject(data); assertEquals("kermit", task.getAssignee()); assertEquals("myTask", task.getName()); assertEquals("end", task.getEventName()); }
public void testExecutionEntitySerialization() throws Exception { ExecutionEntity execution = new ExecutionEntity(); ActivityImpl activityImpl = new ActivityImpl("test", null); activityImpl.getExecutionListeners().put("start", Collections.<ExecutionListener>singletonList(new TestExecutionListener())); execution.setActivity(activityImpl); ProcessDefinitionImpl processDefinitionImpl = new ProcessDefinitionImpl("test"); processDefinitionImpl.getExecutionListeners().put("start", Collections.<ExecutionListener>singletonList(new TestExecutionListener())); execution.setProcessDefinition(processDefinitionImpl); TransitionImpl transitionImpl = new TransitionImpl("test", new ProcessDefinitionImpl("test")); transitionImpl.addExecutionListener(new TestExecutionListener()); execution.setTransition(transitionImpl); execution.getProcessInstanceStartContext().setInitial(activityImpl); execution.setSuperExecution(new ExecutionEntity()); execution.setActive(true); execution.setCanceled(false); execution.setBusinessKey("myBusinessKey"); execution.setDeleteReason("no reason"); execution.setActivityInstanceId("123"); execution.setScope(false); byte[] data = writeObject(execution); execution = (ExecutionEntity) readObject(data); assertEquals("myBusinessKey", execution.getBusinessKey()); assertEquals("no reason", execution.getDeleteReason()); assertEquals("123", execution.getActivityInstanceId()); }