protected internal virtual bool IsReThrowingEscalationEventSubprocess( EscalationEventDefinition escalationEventDefinition) { var escalationHandler = escalationEventDefinition.EscalationHandler; return(escalationHandler.SubProcessScope && escalationHandler.Equals(ThrowEscalationActivity.FlowScope)); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: @Override public void execute(org.camunda.bpm.engine.impl.pvm.delegate.ActivityExecution execution) throws Exception public virtual void execute(ActivityExecution execution) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.camunda.bpm.engine.impl.pvm.PvmActivity currentActivity = execution.getActivity(); PvmActivity currentActivity = execution.Activity; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final EscalationEventDefinitionFinder escalationEventDefinitionFinder = new EscalationEventDefinitionFinder(escalation.getEscalationCode(), currentActivity); EscalationEventDefinitionFinder escalationEventDefinitionFinder = new EscalationEventDefinitionFinder(this, escalation.EscalationCode, currentActivity); ActivityExecutionMappingCollector activityExecutionMappingCollector = new ActivityExecutionMappingCollector(execution); ActivityExecutionHierarchyWalker walker = new ActivityExecutionHierarchyWalker(execution); walker.addScopePreVisitor(escalationEventDefinitionFinder); walker.addExecutionPreVisitor(activityExecutionMappingCollector); walker.addExecutionPreVisitor(new OutputVariablesPropagator()); walker.walkUntil(new WalkConditionAnonymousInnerClass(this, escalationEventDefinitionFinder)); EscalationEventDefinition escalationEventDefinition = escalationEventDefinitionFinder.EscalationEventDefinition; if (escalationEventDefinition != null) { executeEscalationHandler(escalationEventDefinition, activityExecutionMappingCollector); } if (escalationEventDefinition == null || !escalationEventDefinition.CancelActivity) { leaveExecution(execution, currentActivity, escalationEventDefinition); } }
/// <summary> /// Sets an escalation definition for the given escalation code. If already an escalation /// with this code exists it will be used, otherwise a new escalation is created. /// </summary> /// <param name="escalationCode"> the code of the escalation </param> /// <returns> the builder object </returns> public virtual B escalation(string escalationCode) { EscalationEventDefinition escalationEventDefinition = createEscalationEventDefinition(escalationCode); element.EventDefinitions.add(escalationEventDefinition); return(myself); }
/// <summary> /// Sets a catch all escalation definition. /// </summary> /// <returns> the builder object </returns> public virtual B escalation() { EscalationEventDefinition escalationEventDefinition = createInstance(typeof(EscalationEventDefinition)); element.EventDefinitions.add(escalationEventDefinition); return(myself); }
protected internal virtual EscalationEventDefinition createEscalationEventDefinition(string escalationCode) { Escalation escalation = findEscalationForCode(escalationCode); EscalationEventDefinition escalationEventDefinition = createInstance(typeof(EscalationEventDefinition)); escalationEventDefinition.Escalation = escalation; return(escalationEventDefinition); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void getEventDefinition() public virtual void getEventDefinition() { EscalationEventDefinition eventDefinition = eventDefinitionQuery.filterByType(typeof(EscalationEventDefinition)).singleResult(); assertThat(eventDefinition).NotNull; assertThat(eventDefinition.Escalation.Name).isEqualTo("escalation"); assertThat(eventDefinition.Escalation.EscalationCode).isEqualTo("1337"); assertThat(eventDefinition.Escalation.Structure.Id).isEqualTo("itemDef"); }
protected internal virtual IPvmScope GetScopeForEscalation(EscalationEventDefinition escalationEventDefinition) { var escalationHandler = escalationEventDefinition.EscalationHandler; if (escalationEventDefinition.CancelActivity) { return(escalationHandler.EventScope); } return(escalationHandler.FlowScope); }
protected internal virtual void LeaveExecution(IActivityExecution execution, IPvmActivity currentActivity, EscalationEventDefinition escalationEventDefinition) { //execution tree could have been expanded by triggering a non-interrupting event ExecutionEntity replacingExecution = (ExecutionEntity)execution.ReplacedBy; ExecutionEntity leavingExecution = (ExecutionEntity)(replacingExecution != null ? replacingExecution : execution); Leave(leavingExecution); }
protected internal virtual PvmScope getScopeForEscalation(EscalationEventDefinition escalationEventDefinition) { PvmActivity escalationHandler = escalationEventDefinition.EscalationHandler; if (escalationEventDefinition.CancelActivity) { return(escalationHandler.EventScope); } else { return(escalationHandler.FlowScope); } }
protected internal virtual void executeEscalationHandler(EscalationEventDefinition escalationEventDefinition, ActivityExecutionMappingCollector activityExecutionMappingCollector) { PvmActivity escalationHandler = escalationEventDefinition.EscalationHandler; PvmScope escalationScope = getScopeForEscalation(escalationEventDefinition); ActivityExecution escalationExecution = activityExecutionMappingCollector.getExecutionForScope(escalationScope); if (!string.ReferenceEquals(escalationEventDefinition.EscalationCodeVariable, null)) { escalationExecution.setVariable(escalationEventDefinition.EscalationCodeVariable, escalation.EscalationCode); } escalationExecution.executeActivity(escalationHandler); }
protected internal virtual void executeEscalationHandler(EscalationEventDefinition escalationEventDefinition, ActivityExecutionMappingCollector activityExecutionMappingCollector) { var escalationHandler = escalationEventDefinition.EscalationHandler; var escalationScope = GetScopeForEscalation(escalationEventDefinition); IActivityExecution escalationExecution = activityExecutionMappingCollector.GetExecutionForScope(escalationScope); if (!ReferenceEquals(escalationEventDefinition.EscalationCodeVariable, null)) { escalationExecution.SetVariable(escalationEventDefinition.EscalationCodeVariable, Escalation.EscalationCode); } escalationExecution.ExecuteActivity(escalationHandler); }
protected internal virtual bool isMatchingEscalationCode(EscalationEventDefinition escalationEventDefinition) { string escalationCode = escalationEventDefinition.EscalationCode; return(string.ReferenceEquals(escalationCode, null) || escalationCode.Equals(this.escalationCode)); }
public virtual void visit(PvmScope scope) { IList <EscalationEventDefinition> escalationEventDefinitions = scope.Properties.get(BpmnProperties.ESCALATION_EVENT_DEFINITIONS); this.escalationEventDefinition = findMatchingEscalationEventDefinition(escalationEventDefinitions); }
public virtual void Visit(IPvmScope scope) { var escalationEventDefinitions = scope.Properties.Get(BpmnProperties.EscalationEventDefinitions); escalationEventDefinition = FindMatchingEscalationEventDefinition(escalationEventDefinitions); }
public override object Create(object parent, IParseContext context, XElement element) { EventDefinition eventDefinition = null; var localName = Helper.GetRealLocalName(element); switch (localName) { case "cancelEventDefinition": eventDefinition = new CancelEventDefinition(); break; case "errorEventDefinition": var errorEventDefinition = new ErrorEventDefinition(); eventDefinition = errorEventDefinition; var errorRef = element.GetAttribute("errorRef"); if (errorRef != null) { context.AddReferenceRequest <Error>(errorRef, x => errorEventDefinition.ErrorRef = x); } break; case "timerEventDefinition": eventDefinition = new TimerEventDefinition(); break; case "terminateEventDefinition": eventDefinition = new TerminateEventDefinition(); break; case "messageEventDefinition": var messageEventDefinition = new MessageEventDefinition(); eventDefinition = messageEventDefinition; var operationRef = element.GetAttribute("operationRef"); if (operationRef != null) { context.AddReferenceRequest <Operation>(operationRef, x => messageEventDefinition.OperationRef = x); } var messageRef = element.GetAttribute("messageRef"); if (messageRef != null) { context.AddReferenceRequest <Message>(messageRef, x => messageEventDefinition.MessageRef = x); } break; case "conditionalEventDefinition": eventDefinition = new ConditionalEventDefinition(); break; case "compensateEventDefinition": var compensateEventDefinition = new CompensateEventDefinition(); eventDefinition = compensateEventDefinition; compensateEventDefinition.WaitForCompletion = element.GetBoolean("waitForCompletion"); var activityRef = element.GetAttribute("activityRef"); if (activityRef != null) { context.AddReferenceRequest <Activity>(activityRef, x => compensateEventDefinition.ActivityRef = x); } break; case "signalEventDefinition": var signalEventDefinition = new SignalEventDefinition(); eventDefinition = signalEventDefinition; var signalRef = element.GetAttribute("signalRef"); if (signalRef != null) { context.AddReferenceRequest <Signal>(signalRef, x => signalEventDefinition.SignalRef = x); } break; case "escalationEventDefinition": eventDefinition = new EscalationEventDefinition() { EscalationRef = element.GetAttribute("escalationRef") }; break; case "linkEventDefinition": eventDefinition = new LinkEventDefinition() { Name = element.GetAttribute("name"), Target = element.GetAttribute("target") }; break; } if (this.callback != null) { this.callback(parent, context, element, eventDefinition); } base.Init(eventDefinition, context, element); context.Push(eventDefinition); return(eventDefinition); }