@Override public void attachState() { representativeExecution = getParent().createAttachableExecution(); representativeExecution.setActivity((PvmActivity) sourceScope); representativeExecution.setActivityInstanceId(activityInstance.getId()); representativeExecution.setActive(activeState); }
@Override public void attachState() { representativeExecution = getParent().createAttachableExecution(); representativeExecution.setActivity((PvmActivity) sourceScope); representativeExecution.setActivityInstanceId(activityInstance.getId()); representativeExecution.setActive(activeState); }
@Override public void attachState() { ExecutionEntity newParentExecution = getParent().createAttachableExecution(); ExecutionEntity currentScopeExecution = resolveRepresentativeExecution(); currentScopeExecution.setParent(newParentExecution); if (sourceScope.getActivityBehavior() instanceof CompositeActivityBehavior) { newParentExecution.setActivityInstanceId(activityInstance.getId()); } }
@Override public void attachState() { ExecutionEntity newParentExecution = getParent().createAttachableExecution(); ExecutionEntity currentScopeExecution = resolveRepresentativeExecution(); currentScopeExecution.setParent(newParentExecution); if (sourceScope.getActivityBehavior() instanceof CompositeActivityBehavior) { newParentExecution.setActivityInstanceId(activityInstance.getId()); } }
@Override public void attachState(MigratingScopeInstance scopeInstance) { if (!(scopeInstance instanceof MigratingActivityInstance)) { throw MIGRATION_LOGGER.cannotHandleChild(scopeInstance, this); } MigratingActivityInstance activityInstance = (MigratingActivityInstance) scopeInstance; setParent(activityInstance); representativeExecution = activityInstance.createAttachableExecution(); representativeExecution.setActivityInstanceId(null); representativeExecution.setActive(activeState); jobInstance.attachState(this); for (MigratingInstance dependentInstance : migratingDependentInstances) { dependentInstance.attachState(this); } }
@Override public void attachState(MigratingScopeInstance scopeInstance) { if (!(scopeInstance instanceof MigratingActivityInstance)) { throw MIGRATION_LOGGER.cannotHandleChild(scopeInstance, this); } MigratingActivityInstance activityInstance = (MigratingActivityInstance) scopeInstance; setParent(activityInstance); representativeExecution = activityInstance.createAttachableExecution(); representativeExecution.setActivityInstanceId(null); representativeExecution.setActive(activeState); jobInstance.attachState(this); for (MigratingInstance dependentInstance : migratingDependentInstances) { dependentInstance.attachState(this); } }
protected void becomeNonScope() { for (MigratingInstance dependentInstance : migratingDependentInstances) { dependentInstance.detachState(); } ExecutionEntity parentExecution = representativeExecution.getParent(); parentExecution.setActivity(representativeExecution.getActivity()); parentExecution.setActivityInstanceId(representativeExecution.getActivityInstanceId()); representativeExecution.remove(); representativeExecution = parentExecution; for (MigratingInstance dependentInstance : migratingDependentInstances) { dependentInstance.attachState(MigratingActivityInstance.this); } instanceBehavior = new MigratingNonScopeActivityInstanceBehavior(); }
protected void becomeNonScope() { for (MigratingInstance dependentInstance : migratingDependentInstances) { dependentInstance.detachState(); } ExecutionEntity parentExecution = representativeExecution.getParent(); parentExecution.setActivity(representativeExecution.getActivity()); parentExecution.setActivityInstanceId(representativeExecution.getActivityInstanceId()); representativeExecution.remove(); representativeExecution = parentExecution; for (MigratingInstance dependentInstance : migratingDependentInstances) { dependentInstance.attachState(MigratingActivityInstance.this); } instanceBehavior = new MigratingNonScopeActivityInstanceBehavior(); }
@Override public void remove(boolean skipCustomListeners, boolean skipIoMappings) { ExecutionEntity currentExecution = resolveRepresentativeExecution(); ExecutionEntity parentExecution = currentExecution.getParent(); currentExecution.setActivity((PvmActivity) sourceScope); currentExecution.setActivityInstanceId(activityInstance.getId()); currentExecution.deleteCascade("migration", skipCustomListeners, skipIoMappings); getParent().destroyAttachableExecution(parentExecution); setParent(null); for (MigratingTransitionInstance child : childTransitionInstances) { child.setParent(null); } for (MigratingActivityInstance child : childActivityInstances) { child.setParent(null); } for (MigratingEventScopeInstance child : childCompensationInstances) { child.setParent(null); } }
@Override public void remove(boolean skipCustomListeners, boolean skipIoMappings) { ExecutionEntity currentExecution = resolveRepresentativeExecution(); ExecutionEntity parentExecution = currentExecution.getParent(); currentExecution.setActivity((PvmActivity) sourceScope); currentExecution.setActivityInstanceId(activityInstance.getId()); currentExecution.deleteCascade("migration", skipCustomListeners, skipIoMappings); getParent().destroyAttachableExecution(parentExecution); setParent(null); for (MigratingTransitionInstance child : childTransitionInstances) { child.setParent(null); } for (MigratingActivityInstance child : childActivityInstances) { child.setParent(null); } for (MigratingEventScopeInstance child : childCompensationInstances) { child.setParent(null); } }
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()); }
compensatingExecution.getParent().setActivityInstanceId(compensatingExecution.getActivityInstanceId());
compensatingExecution.getParent().setActivityInstanceId(compensatingExecution.getActivityInstanceId());
@Override public void attachState() { representativeExecution = getParent().createAttachableExecution(); representativeExecution.setActivity((PvmActivity) sourceScope); representativeExecution.setActivityInstanceId(activityInstance.getId()); representativeExecution.setActive(activeState); }
@Override public void attachState() { ExecutionEntity newParentExecution = getParent().createAttachableExecution(); ExecutionEntity currentScopeExecution = resolveRepresentativeExecution(); currentScopeExecution.setParent(newParentExecution); if (sourceScope.getActivityBehavior() instanceof CompositeActivityBehavior) { newParentExecution.setActivityInstanceId(activityInstance.getId()); } }
@Override public void attachState(MigratingScopeInstance scopeInstance) { if (!(scopeInstance instanceof MigratingActivityInstance)) { throw MIGRATION_LOGGER.cannotHandleChild(scopeInstance, this); } MigratingActivityInstance activityInstance = (MigratingActivityInstance) scopeInstance; setParent(activityInstance); representativeExecution = activityInstance.createAttachableExecution(); representativeExecution.setActivityInstanceId(null); representativeExecution.setActive(activeState); jobInstance.attachState(this); for (MigratingInstance dependentInstance : migratingDependentInstances) { dependentInstance.attachState(this); } }
protected void becomeNonScope() { for (MigratingInstance dependentInstance : migratingDependentInstances) { dependentInstance.detachState(); } ExecutionEntity parentExecution = representativeExecution.getParent(); parentExecution.setActivity(representativeExecution.getActivity()); parentExecution.setActivityInstanceId(representativeExecution.getActivityInstanceId()); representativeExecution.remove(); representativeExecution = parentExecution; for (MigratingInstance dependentInstance : migratingDependentInstances) { dependentInstance.attachState(MigratingActivityInstance.this); } instanceBehavior = new MigratingNonScopeActivityInstanceBehavior(); }
@Override public void remove(boolean skipCustomListeners, boolean skipIoMappings) { ExecutionEntity currentExecution = resolveRepresentativeExecution(); ExecutionEntity parentExecution = currentExecution.getParent(); currentExecution.setActivity((PvmActivity) sourceScope); currentExecution.setActivityInstanceId(activityInstance.getId()); currentExecution.deleteCascade("migration", skipCustomListeners, skipIoMappings); getParent().destroyAttachableExecution(parentExecution); setParent(null); for (MigratingTransitionInstance child : childTransitionInstances) { child.setParent(null); } for (MigratingActivityInstance child : childActivityInstances) { child.setParent(null); } for (MigratingEventScopeInstance child : childCompensationInstances) { child.setParent(null); } }
compensatingExecution.getParent().setActivityInstanceId(compensatingExecution.getActivityInstanceId());
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()); }