protected internal virtual void initializeCallableElement(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) { Deployment deployment = context.Deployment; string deploymentId = null; if (deployment != null) { deploymentId = deployment.Id; } BaseCallableElement callableElement = createCallableElement(); callableElement.DeploymentId = deploymentId; // set callableElement on behavior CallingTaskActivityBehavior behavior = (CallingTaskActivityBehavior)activity.ActivityBehavior; behavior.CallableElement = callableElement; // definition key initializeDefinitionKey(element, activity, context, callableElement); // binding initializeBinding(element, activity, context, callableElement); // version initializeVersion(element, activity, context, callableElement); // tenant-id initializeTenantId(element, activity, context, callableElement); }
protected internal virtual void initializeResultVariable(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) { DecisionTask decisionTask = getDefinition(element); DmnDecisionTaskActivityBehavior behavior = getActivityBehavior(activity); string resultVariable = decisionTask.CamundaResultVariable; behavior.ResultVariable = resultVariable; }
protected internal virtual void initializeVersion(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context, BaseCallableElement callableElement) { ExpressionManager expressionManager = context.ExpressionManager; string version = getVersion(element, activity, context); ParameterValueProvider versionProvider = createParameterValueProvider(version, expressionManager); callableElement.VersionValueProvider = versionProvider; }
protected internal override void initializeActivity(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) { base.initializeActivity(element, activity, context); initializeResultVariable(element, activity, context); initializeDecisionTableResultMapper(element, activity, context); }
protected internal virtual void initializeDefinitionKey(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context, BaseCallableElement callableElement) { ExpressionManager expressionManager = context.ExpressionManager; string definitionKey = getDefinitionKey(element, activity, context); ParameterValueProvider definitionKeyProvider = createParameterValueProvider(definitionKey, expressionManager); callableElement.DefinitionKeyValueProvider = definitionKeyProvider; }
protected internal virtual void initializeDecisionTableResultMapper(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) { DecisionTask decisionTask = getDefinition(element); DmnDecisionTaskActivityBehavior behavior = getActivityBehavior(activity); string mapper = decisionTask.CamundaMapDecisionResult; DecisionResultMapper decisionResultMapper = getDecisionResultMapperForName(mapper); behavior.DecisionTableResultMapper = decisionResultMapper; }
protected internal override string getDefinitionKey(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) { DecisionTask definition = getDefinition(element); string decision = definition.Decision; if (string.ReferenceEquals(decision, null)) { DecisionRefExpression decisionExpression = definition.DecisionExpression; if (decisionExpression != null) { decision = decisionExpression.Text; } } return(decision); }
protected internal virtual void initializeBinding(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context, BaseCallableElement callableElement) { string binding = getBinding(element, activity, context); if (BaseCallableElement.CallableElementBinding.DEPLOYMENT.Value.Equals(binding)) { callableElement.Binding = BaseCallableElement.CallableElementBinding.DEPLOYMENT; } else if (BaseCallableElement.CallableElementBinding.LATEST.Value.Equals(binding)) { callableElement.Binding = BaseCallableElement.CallableElementBinding.LATEST; } else if (BaseCallableElement.CallableElementBinding.VERSION.Value.Equals(binding)) { callableElement.Binding = BaseCallableElement.CallableElementBinding.VERSION; } }
protected internal virtual void initializeTenantId(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context, BaseCallableElement callableElement) { ParameterValueProvider tenantIdProvider; ExpressionManager expressionManager = context.ExpressionManager; string tenantId = getTenantId(element, activity, context); if (!string.ReferenceEquals(tenantId, null) && tenantId.Length > 0) { tenantIdProvider = createParameterValueProvider(tenantId, expressionManager); } else { tenantIdProvider = new DefaultCallableElementTenantIdProvider(); } callableElement.TenantIdProvider = tenantIdProvider; }
protected internal override void initializeActivity(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) { base.initializeActivity(element, activity, context); initializeCallableElement(element, activity, context); }
protected internal abstract string getTenantId(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context);
protected internal abstract string getDefinitionKey(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context);
protected internal override DecisionTask getDefinition(CmmnElement element) { return((DecisionTask)base.getDefinition(element)); }
protected internal override string getDefinitionKey(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) { ProcessTask definition = getDefinition(element); return(definition.Process); }
protected internal override ProcessTask getDefinition(CmmnElement element) { return((ProcessTask)base.getDefinition(element)); }
protected internal override string getVersion(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) { CaseTask definition = getDefinition(element); return(definition.CamundaCaseVersion); }
protected internal override string getTenantId(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) { ProcessTask definition = getDefinition(element); return(definition.CamundaProcessTenantId); }
protected internal override string getBinding(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) { DecisionTask definition = getDefinition(element); return(definition.CamundaDecisionBinding); }