本文整理汇总了Java中org.camunda.bpm.engine.impl.pvm.process.ScopeImpl类的典型用法代码示例。如果您正苦于以下问题:Java ScopeImpl类的具体用法?Java ScopeImpl怎么用?Java ScopeImpl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ScopeImpl类属于org.camunda.bpm.engine.impl.pvm.process包,在下文中一共展示了ScopeImpl类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getInstantiationStack
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
@SuppressWarnings({ "unchecked", "rawtypes" })
public InstantiationStack getInstantiationStack() {
if (instantiationStack == null) {
FlowScopeWalker flowScopeWalker = new FlowScopeWalker(initial.getFlowScope());
ScopeCollector scopeCollector = new ScopeCollector();
flowScopeWalker.addPreVisitor(scopeCollector).walkWhile(new ReferenceWalker.WalkCondition<ScopeImpl>() {
public boolean isFulfilled(ScopeImpl element) {
return element == null || element == initial.getProcessDefinition();
}
});
List<PvmActivity> scopeActivities = (List) scopeCollector.getScopes();
Collections.reverse(scopeActivities);
instantiationStack = new InstantiationStack(scopeActivities, initial, null);
}
return instantiationStack;
}
示例2: collectNonExistingFlowScopes
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
/**
* Returns a list of flow scopes from the given scope until a scope is reached that is already present in the given
* {@link MigratingScopeInstanceBranch} (exclusive). The order of the returned list is top-down, i.e. the highest scope
* is the first element of the list.
*/
protected List<ScopeImpl> collectNonExistingFlowScopes(ScopeImpl scope, final MigratingScopeInstanceBranch migratingExecutionBranch) {
FlowScopeWalker walker = new FlowScopeWalker(scope);
final List<ScopeImpl> result = new LinkedList<ScopeImpl>();
walker.addPreVisitor(new TreeVisitor<ScopeImpl>() {
@Override
public void visit(ScopeImpl obj) {
result.add(0, obj);
}
});
walker.walkWhile(new ReferenceWalker.WalkCondition<ScopeImpl>() {
@Override
public boolean isFulfilled(ScopeImpl element) {
return migratingExecutionBranch.hasInstance(element);
}
});
return result;
}
示例3: addTransitionInstance
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
public MigratingTransitionInstance addTransitionInstance(
MigrationInstruction migrationInstruction,
TransitionInstance transitionInstance,
ScopeImpl sourceScope,
ScopeImpl targetScope,
ExecutionEntity asyncExecution) {
MigratingTransitionInstance migratingTransitionInstance = new MigratingTransitionInstance(
transitionInstance,
migrationInstruction,
sourceScope,
targetScope,
asyncExecution);
migratingTransitionInstances.add(migratingTransitionInstance);
return migratingTransitionInstance;
}
示例4: addEventScopeInstance
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
public MigratingEventScopeInstance addEventScopeInstance(
MigrationInstruction migrationInstruction,
ExecutionEntity eventScopeExecution,
ScopeImpl sourceScope,
ScopeImpl targetScope,
MigrationInstruction eventSubscriptionInstruction,
EventSubscriptionEntity eventSubscription,
ScopeImpl eventSubscriptionSourceScope,
ScopeImpl eventSubscriptionTargetScope) {
MigratingEventScopeInstance compensationInstance = new MigratingEventScopeInstance(
migrationInstruction,
eventScopeExecution,
sourceScope,
targetScope,
eventSubscriptionInstruction,
eventSubscription,
eventSubscriptionSourceScope,
eventSubscriptionTargetScope);
migratingEventScopeInstances.add(compensationInstance);
return compensationInstance;
}
示例5: instantiateScopes
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
protected void instantiateScopes(
MigratingScopeInstance ancestorScopeInstance,
MigratingScopeInstanceBranch executionBranch,
List<ScopeImpl> scopesToInstantiate) {
if (scopesToInstantiate.isEmpty()) {
return;
}
// must always be an activity instance
MigratingActivityInstance ancestorActivityInstance = (MigratingActivityInstance) ancestorScopeInstance;
ExecutionEntity newParentExecution = ancestorActivityInstance.createAttachableExecution();
Map<PvmActivity, PvmExecutionImpl> createdExecutions =
newParentExecution.instantiateScopes((List) scopesToInstantiate, skipCustomListeners, skipIoMappings);
for (ScopeImpl scope : scopesToInstantiate) {
ExecutionEntity createdExecution = (ExecutionEntity) createdExecutions.get(scope);
createdExecution.setActivity(null);
createdExecution.setActive(false);
executionBranch.visited(new MigratingActivityInstance(scope, createdExecution));
}
}
示例6: addActivityInstance
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
public MigratingActivityInstance addActivityInstance(
MigrationInstruction migrationInstruction,
ActivityInstance activityInstance,
ScopeImpl sourceScope,
ScopeImpl targetScope,
ExecutionEntity scopeExecution) {
MigratingActivityInstance migratingActivityInstance = new MigratingActivityInstance(
activityInstance,
migrationInstruction,
sourceScope,
targetScope,
scopeExecution);
migratingActivityInstances.add(migratingActivityInstance);
if (processInstanceId.equals(activityInstance.getId())) {
rootInstance = migratingActivityInstance;
}
return migratingActivityInstance;
}
示例7: handle
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
@Override
public void handle(MigratingInstanceParseContext parseContext, MigratingTransitionInstance transitionInstance, List<JobEntity> elements) {
for (JobEntity job : elements) {
if (!isAsyncContinuation(job)) {
continue;
}
ScopeImpl targetScope = transitionInstance.getTargetScope();
if (targetScope != null) {
JobDefinitionEntity targetJobDefinitionEntity = parseContext.getTargetJobDefinition(transitionInstance.getTargetScope().getId(), job.getJobHandlerType());
MigratingAsyncJobInstance migratingJobInstance =
new MigratingAsyncJobInstance(job, targetJobDefinitionEntity, transitionInstance.getTargetScope());
transitionInstance.setDependentJobInstance(migratingJobInstance);
parseContext.submit(migratingJobInstance);
}
parseContext.consume(job);
}
}
示例8: parseUserTask
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
/**
* Hooks listeners to assignment and creation of tasks.
* @param userTaskElement task to hook to
* @param scope a BPMN scope
* @param activity an Activity scope
*/
@Override
public void parseUserTask(Element userTaskElement, ScopeImpl scope, ActivityImpl activity) {
UserTaskActivityBehavior activityBehavior = (UserTaskActivityBehavior) activity.getActivityBehavior();
TaskDefinition taskDefinition = activityBehavior.getTaskDefinition();
addTaskAssignmentListeners(taskDefinition);
}
示例9: preInit
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
@Override
public void preInit(final ProcessEngineConfigurationImpl configuration) {
new ShowcaseSetup().run();
customPreBPMNParseListeners(configuration).add(new AbstractBpmnParseListener() {
@Override
public void parseUserTask(final Element userTaskElement, final ScopeImpl scope, final ActivityImpl activity) {
taskDefinition(activity).addTaskListener(EVENTNAME_CREATE, new SkillBasedRoutingListener());
}
});
}
示例10: parseSequenceFlow
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
@Override
public void parseSequenceFlow(Element sequenceFlowElement, ScopeImpl scopeElement,
org.camunda.bpm.engine.impl.pvm.process.TransitionImpl transition) {
final PathCoverageExecutionListener pathCoverageExecutionListener = new PathCoverageExecutionListener(
coverageTestRunState);
transition.addListener(ExecutionListener.EVENTNAME_TAKE, pathCoverageExecutionListener);
}
示例11: parseIntermediateCatchEvent
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
@Override
public void parseIntermediateCatchEvent(Element intermediateEventElement, ScopeImpl scope,
org.camunda.bpm.engine.impl.pvm.process.ActivityImpl activity) {
final IntermediateEventExecutionListener startListener = new IntermediateEventExecutionListener(
coverageTestRunState);
activity.addListener(ExecutionListener.EVENTNAME_START, startListener);
final IntermediateEventExecutionListener endListener = new IntermediateEventExecutionListener(
coverageTestRunState);
activity.addListener(ExecutionListener.EVENTNAME_END, endListener);
}
示例12: eventSubprocessConcurrentChildExecutionEnded
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
public static boolean eventSubprocessConcurrentChildExecutionEnded(ActivityExecution scopeExecution, ActivityExecution endedExecution) {
boolean performLegacyBehavior = isLegacyBehaviorRequired(endedExecution);
if(performLegacyBehavior) {
LOG.endConcurrentExecutionInEventSubprocess();
// notify the grandparent flow scope in a similar way PvmAtomicOperationAcitivtyEnd does
ScopeImpl flowScope = endedExecution.getActivity().getFlowScope();
if (flowScope != null) {
flowScope = flowScope.getFlowScope();
if (flowScope != null) {
if (flowScope == endedExecution.getActivity().getProcessDefinition()) {
endedExecution.remove();
scopeExecution.tryPruneLastConcurrentChild();
scopeExecution.forceUpdate();
}
else {
PvmActivity flowScopeActivity = (PvmActivity) flowScope;
ActivityBehavior activityBehavior = flowScopeActivity.getActivityBehavior();
if (activityBehavior instanceof CompositeActivityBehavior) {
((CompositeActivityBehavior) activityBehavior).concurrentChildExecutionEnded(scopeExecution, endedExecution);
}
}
}
}
}
return performLegacyBehavior;
}
示例13: initializeTimerDeclarations
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
@Override
public void initializeTimerDeclarations() {
LOG.initializeTimerDeclaration(this);
ScopeImpl scope = getScopeActivity();
Collection<TimerDeclarationImpl> timerDeclarations = TimerDeclarationImpl.getDeclarationsForScope(scope).values();
for (TimerDeclarationImpl timerDeclaration : timerDeclarations) {
timerDeclaration.createTimerInstance(this);
}
}
示例14: parseIntermediateCatchEvent
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
@Override
public void parseIntermediateCatchEvent(Element intermediateEventElement, ScopeImpl scope, ActivityImpl activity) {
String type = activity.getProperties().get(BpmnProperties.TYPE);
if (type != null && type.equals(INTERMEDIATE_TIMER)) {
this.setFailedJobRetryTimeCycleValue(intermediateEventElement, activity);
}
}
示例15: getExecutions
import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl; //导入依赖的package包/类
public Set<ExecutionEntity> getExecutions(ScopeImpl activity) {
Set<ExecutionEntity> executionsForActivity = activityExecutionMapping.get(activity);
if (executionsForActivity == null) {
executionsForActivity = new HashSet<ExecutionEntity>();
activityExecutionMapping.put(activity, executionsForActivity);
}
return executionsForActivity;
}