public virtual IDmnDecisionResult GenerateDecisionResult(IDmnDecisionLogicEvaluationEvent @event) { var evaluationResult = (IDmnDecisionTableEvaluationEvent)@event; IList <IDmnDecisionResultEntries> ruleResults = new List <IDmnDecisionResultEntries>(); if (!ReferenceEquals(evaluationResult.CollectResultName, null) || (evaluationResult.CollectResultValue != null)) { var ruleResult = new DmnDecisionResultEntriesImpl(); ruleResult.PutValue(evaluationResult.CollectResultName, evaluationResult.CollectResultValue); ruleResults.Add(ruleResult); } else { foreach (var evaluatedRule in evaluationResult.MatchingRules) { var ruleResult = new DmnDecisionResultEntriesImpl(); foreach (var evaluatedOutput in evaluatedRule.OutputEntries.Values) { ruleResult.PutValue(evaluatedOutput.OutputName, evaluatedOutput.Value); } ruleResults.Add(ruleResult); } } return(new DmnDecisionResultImpl(ruleResults)); }
protected internal virtual void notifyCollector(IDmnDecisionLogicEvaluationEvent evaluationEvent) { if (evaluationEvent is IDmnDecisionTableEvaluationEvent) { collector.Notify((IDmnDecisionTableEvaluationEvent)evaluationEvent); } // ignore other evaluation events since the collector is implemented as decision table evaluation listener }
public virtual IDmnDecisionResult GenerateDecisionResult(IDmnDecisionLogicEvaluationEvent @event) { var evaluationEvent = (IDmnDecisionLiteralExpressionEvaluationEvent)@event; var result = new DmnDecisionResultEntriesImpl(); result.Add(evaluationEvent.OutputName, evaluationEvent.OutputValue); return(new DmnDecisionResultImpl(new List <IDmnDecisionResultEntries> { result })); }
protected internal virtual HistoricDecisionInstanceEntity CreateDecisionEvaluatedEvt( IDmnDecisionLogicEvaluationEvent evaluationEvent, ExecutionEntity execution) { // create event instance var @event = NewDecisionInstanceEventEntity(execution, evaluationEvent); // initialize event InitDecisionInstanceEvent(@event, evaluationEvent, HistoryEventTypes.DmnDecisionEvaluate); SetReferenceToProcessInstance(@event, execution); // set current time as evaluation time @event.EvaluationTime = ClockUtil.CurrentTime; var decisionDefinition = (IDecisionDefinition)evaluationEvent.Decision; var tenantId = execution.TenantId; if (ReferenceEquals(tenantId, null)) { tenantId = ProvideTenantId(decisionDefinition, @event); } @event.TenantId = tenantId; return(@event); }
protected internal virtual void InitDecisionInstanceEvent(HistoricDecisionInstanceEntity @event, IDmnDecisionLogicEvaluationEvent evaluationEvent, HistoryEventTypes eventType) { throw new NotImplementedException(); //@event.EventType = eventType.EventName; //var decision = (IDecisionDefinition) evaluationEvent.Decision; //@event.DecisionDefinitionId = decision.Id; //@event.DecisionDefinitionKey = decision.Key; //@event.DecisionDefinitionName = decision.Name; //if (!ReferenceEquals(decision.DecisionRequirementsDefinitionId, null)) //{ // @event.DecisionRequirementsDefinitionId = decision.DecisionRequirementsDefinitionId; // @event.DecisionRequirementsDefinitionKey = decision.DecisionRequirementsDefinitionKey; //} //if (evaluationEvent is DmnDecisionTableEvaluationEvent) // InitDecisionInstanceEventForDecisionTable(@event, (DmnDecisionTableEvaluationEvent) evaluationEvent); //else if (evaluationEvent is DmnDecisionLiteralExpressionEvaluationEvent) // InitDecisionInstanceEventForDecisionLiteralExpression(@event, // (DmnDecisionLiteralExpressionEvaluationEvent) evaluationEvent); }
//protected internal virtual HistoricDecisionInstanceEntity CreateDecisionEvaluatedEvt( // DmnDecisionLogicEvaluationEvent evaluationEvent, CaseExecutionEntity execution) //{ // // create event instance // var @event = NewDecisionInstanceEventEntity(execution, evaluationEvent); // // initialize event // InitDecisionInstanceEvent(@event, evaluationEvent, HistoryEventTypes.DmnDecisionEvaluate); // SetReferenceToCaseInstance(@event, execution); // // set current time as evaluation time // @event.EvaluationTime = ClockUtil.CurrentTime; // var decisionDefinition = (IDecisionDefinition) evaluationEvent.Decision; // var tenantId = execution.TenantId; // if (ReferenceEquals(tenantId, null)) // tenantId = ProvideTenantId(decisionDefinition, @event); // @event.TenantId = tenantId; // return @event; //} protected internal virtual HistoricDecisionInstanceEntity CreateDecisionEvaluatedEvt( IDmnDecisionLogicEvaluationEvent evaluationEvent) { // create event instance var @event = NewDecisionInstanceEventEntity(evaluationEvent); // initialize event InitDecisionInstanceEvent(@event, evaluationEvent, HistoryEventTypes.DmnDecisionEvaluate); // set current time as evaluation time @event.EvaluationTime = ClockUtil.CurrentTime; // set the user id if there is an authenticated user and no process instance UserId = @event; var decisionDefinition = (IDecisionDefinition)evaluationEvent.Decision; var tenantId = decisionDefinition.TenantId; if (ReferenceEquals(tenantId, null)) { tenantId = ProvideTenantId(decisionDefinition, @event); } @event.TenantId = tenantId; return(@event); }
protected internal virtual void generateDecisionEvaluationEvent( IList <IDmnDecisionLogicEvaluationEvent> evaluatedEvents) { IDmnDecisionLogicEvaluationEvent rootEvaluatedEvent = null; var decisionEvaluationEvent = new DmnDecisionEvaluationEventImpl(); var executedDecisionElements = 0L; foreach (var evaluatedEvent in evaluatedEvents) { executedDecisionElements += evaluatedEvent.ExecutedDecisionElements; rootEvaluatedEvent = evaluatedEvent; } decisionEvaluationEvent.DecisionResult = rootEvaluatedEvent; decisionEvaluationEvent.ExecutedDecisionElements = executedDecisionElements; evaluatedEvents.Remove(rootEvaluatedEvent); decisionEvaluationEvent.RequiredDecisionResults = evaluatedEvents; foreach (var evaluationListener in evaluationListeners) { evaluationListener.Notify(decisionEvaluationEvent); } }
public virtual HistoricDecisionInstanceEntity CreateHistoricDecisionInstance( IDmnDecisionLogicEvaluationEvent evaluationEvent) { return(_outerInstance.CreateDecisionEvaluatedEvt(evaluationEvent)); }
public virtual HistoricDecisionInstanceEntity CreateHistoricDecisionInstance( IDmnDecisionLogicEvaluationEvent evaluationEvent) { throw new NotImplementedException(); //return _outerInstance.createDecisionEvaluatedEvt(evaluationEvent, (CaseExecutionEntity) _execution); }
//protected internal virtual HistoricDecisionInstanceEntity NewDecisionInstanceEventEntity( // CaseExecutionEntity executionEntity, DmnDecisionLogicEvaluationEvent evaluationEvent) //{ // return new HistoricDecisionInstanceEntity(); //} protected internal virtual HistoricDecisionInstanceEntity NewDecisionInstanceEventEntity( IDmnDecisionLogicEvaluationEvent evaluationEvent) { return(new HistoricDecisionInstanceEntity()); }