protected List<HistoricDecisionOutputInstance> createHistoricDecisionOutputInstances(DmnDecisionTableEvaluationEvent evaluationEvent, String rootProcessInstanceId, Date removalTime) { List<HistoricDecisionOutputInstance> outputInstances = new ArrayList<HistoricDecisionOutputInstance>(); List<DmnEvaluatedDecisionRule> matchingRules = evaluationEvent.getMatchingRules(); for(int index = 0; index < matchingRules.size(); index++) { DmnEvaluatedDecisionRule rule = matchingRules.get(index); String ruleId = rule.getId(); Integer ruleOrder = index + 1; for(DmnEvaluatedOutput outputClause : rule.getOutputEntries().values()) { HistoricDecisionOutputInstanceEntity outputInstance = new HistoricDecisionOutputInstanceEntity(rootProcessInstanceId, removalTime); outputInstance.setClauseId(outputClause.getId()); outputInstance.setClauseName(outputClause.getName()); outputInstance.setCreateTime(ClockUtil.getCurrentTime()); outputInstance.setRuleId(ruleId); outputInstance.setRuleOrder(ruleOrder); outputInstance.setVariableName(outputClause.getOutputName()); outputInstance.setValue(outputClause.getValue()); outputInstances.add(outputInstance); } } return outputInstances; }
public HistoricDecisionOutputInstanceEntity(String rootProcessInstanceId, Date removalTime) { this.rootProcessInstanceId = rootProcessInstanceId; this.removalTime = removalTime; byteArrayField = new ByteArrayField(this, ResourceTypes.HISTORY, getRootProcessInstanceId(), getRemovalTime()); }
protected void fetchVariableValue(HistoricDecisionOutputInstanceEntity decisionOutputInstance, boolean isCustomObjectDeserializationEnabled) { try { decisionOutputInstance.getTypedValue(isCustomObjectDeserializationEnabled); } catch(Exception t) { // do not fail if one of the variables fails to load LOG.failedTofetchVariableValue(t); } }
protected void initDecisionInstanceEventForDecisionLiteralExpression(HistoricDecisionInstanceEntity event, DmnDecisionLiteralExpressionEvaluationEvent evaluationEvent) { // no inputs for expression event.setInputs(Collections.<HistoricDecisionInputInstance> emptyList()); HistoricDecisionOutputInstanceEntity outputInstance = new HistoricDecisionOutputInstanceEntity(event.getRootProcessInstanceId(), event.getRemovalTime()); outputInstance.setVariableName(evaluationEvent.getOutputName()); outputInstance.setValue(evaluationEvent.getOutputValue()); event.setOutputs(Collections.<HistoricDecisionOutputInstance> singletonList(outputInstance)); }
protected void insertHistoricDecisionOutputInstances(List<HistoricDecisionOutputInstance> outputs, String decisionInstanceId) { for (HistoricDecisionOutputInstance output : outputs) { HistoricDecisionOutputInstanceEntity outputEntity = (HistoricDecisionOutputInstanceEntity) output; outputEntity.setDecisionInstanceId(decisionInstanceId); getDbEntityManager().insert(outputEntity); } }
protected void appendHistoricDecisionOutputInstances(Map<String, HistoricDecisionInstanceEntity> decisionInstancesById, HistoricDecisionInstanceQueryImpl query) { List<HistoricDecisionOutputInstanceEntity> decisionOutputInstances = findHistoricDecisionOutputInstancesByDecisionInstanceIds(decisionInstancesById.keySet()); initializeOutputInstances(decisionInstancesById.values()); for (HistoricDecisionOutputInstanceEntity decisionOutputInstance : decisionOutputInstances) { HistoricDecisionInstanceEntity historicDecisionInstance = decisionInstancesById.get(decisionOutputInstance.getDecisionInstanceId()); historicDecisionInstance.addOutput(decisionOutputInstance); // do not fetch values for byte arrays eagerly (unless requested by the user) if(!isBinaryValue(decisionOutputInstance) || query.isByteArrayFetchingEnabled()) { fetchVariableValue(decisionOutputInstance, query.isCustomObjectDeserializationEnabled()); } } }
protected void initDecisionInstanceEventForDecisionLiteralExpression(HistoricDecisionInstanceEntity event, DmnDecisionLiteralExpressionEvaluationEvent evaluationEvent) { // no inputs for expression event.setInputs(Collections.<HistoricDecisionInputInstance> emptyList()); HistoricDecisionOutputInstanceEntity outputInstance = new HistoricDecisionOutputInstanceEntity(event.getRootProcessInstanceId(), event.getRemovalTime()); outputInstance.setVariableName(evaluationEvent.getOutputName()); outputInstance.setValue(evaluationEvent.getOutputValue()); event.setOutputs(Collections.<HistoricDecisionOutputInstance> singletonList(outputInstance)); }
protected void insertHistoricDecisionOutputInstances(List<HistoricDecisionOutputInstance> outputs, String decisionInstanceId) { for (HistoricDecisionOutputInstance output : outputs) { HistoricDecisionOutputInstanceEntity outputEntity = (HistoricDecisionOutputInstanceEntity) output; outputEntity.setDecisionInstanceId(decisionInstanceId); getDbEntityManager().insert(outputEntity); } }
protected void appendHistoricDecisionOutputInstances(Map<String, HistoricDecisionInstanceEntity> decisionInstancesById, HistoricDecisionInstanceQueryImpl query) { List<HistoricDecisionOutputInstanceEntity> decisionOutputInstances = findHistoricDecisionOutputInstancesByDecisionInstanceIds(decisionInstancesById.keySet()); initializeOutputInstances(decisionInstancesById.values()); for (HistoricDecisionOutputInstanceEntity decisionOutputInstance : decisionOutputInstances) { HistoricDecisionInstanceEntity historicDecisionInstance = decisionInstancesById.get(decisionOutputInstance.getDecisionInstanceId()); historicDecisionInstance.addOutput(decisionOutputInstance); // do not fetch values for byte arrays eagerly (unless requested by the user) if(!isBinaryValue(decisionOutputInstance) || query.isByteArrayFetchingEnabled()) { fetchVariableValue(decisionOutputInstance, query.isCustomObjectDeserializationEnabled()); } } }
protected List<HistoricDecisionOutputInstance> createHistoricDecisionOutputInstances(DmnDecisionTableEvaluationEvent evaluationEvent, String rootProcessInstanceId, Date removalTime) { List<HistoricDecisionOutputInstance> outputInstances = new ArrayList<HistoricDecisionOutputInstance>(); List<DmnEvaluatedDecisionRule> matchingRules = evaluationEvent.getMatchingRules(); for(int index = 0; index < matchingRules.size(); index++) { DmnEvaluatedDecisionRule rule = matchingRules.get(index); String ruleId = rule.getId(); Integer ruleOrder = index + 1; for(DmnEvaluatedOutput outputClause : rule.getOutputEntries().values()) { HistoricDecisionOutputInstanceEntity outputInstance = new HistoricDecisionOutputInstanceEntity(rootProcessInstanceId, removalTime); outputInstance.setClauseId(outputClause.getId()); outputInstance.setClauseName(outputClause.getName()); outputInstance.setCreateTime(ClockUtil.getCurrentTime()); outputInstance.setRuleId(ruleId); outputInstance.setRuleOrder(ruleOrder); outputInstance.setVariableName(outputClause.getOutputName()); outputInstance.setValue(outputClause.getValue()); outputInstances.add(outputInstance); } } return outputInstances; }
protected void initDecisionInstanceEventForDecisionLiteralExpression(HistoricDecisionInstanceEntity event, DmnDecisionLiteralExpressionEvaluationEvent evaluationEvent) { // no inputs for expression event.setInputs(Collections.<HistoricDecisionInputInstance> emptyList()); HistoricDecisionOutputInstanceEntity outputInstance = new HistoricDecisionOutputInstanceEntity(event.getRootProcessInstanceId(), event.getRemovalTime()); outputInstance.setVariableName(evaluationEvent.getOutputName()); outputInstance.setValue(evaluationEvent.getOutputValue()); event.setOutputs(Collections.<HistoricDecisionOutputInstance> singletonList(outputInstance)); }
public HistoricDecisionOutputInstanceEntity(String rootProcessInstanceId, Date removalTime) { this.rootProcessInstanceId = rootProcessInstanceId; this.removalTime = removalTime; byteArrayField = new ByteArrayField(this, ResourceTypes.HISTORY, getRootProcessInstanceId(), getRemovalTime()); }
protected void fetchVariableValue(HistoricDecisionOutputInstanceEntity decisionOutputInstance, boolean isCustomObjectDeserializationEnabled) { try { decisionOutputInstance.getTypedValue(isCustomObjectDeserializationEnabled); } catch(Exception t) { // do not fail if one of the variables fails to load LOG.failedTofetchVariableValue(t); } }
protected void insertHistoricDecisionOutputInstances(List<HistoricDecisionOutputInstance> outputs, String decisionInstanceId) { for (HistoricDecisionOutputInstance output : outputs) { HistoricDecisionOutputInstanceEntity outputEntity = (HistoricDecisionOutputInstanceEntity) output; outputEntity.setDecisionInstanceId(decisionInstanceId); getDbEntityManager().insert(outputEntity); } }
protected void appendHistoricDecisionOutputInstances(Map<String, HistoricDecisionInstanceEntity> decisionInstancesById, HistoricDecisionInstanceQueryImpl query) { List<HistoricDecisionOutputInstanceEntity> decisionOutputInstances = findHistoricDecisionOutputInstancesByDecisionInstanceIds(decisionInstancesById.keySet()); initializeOutputInstances(decisionInstancesById.values()); for (HistoricDecisionOutputInstanceEntity decisionOutputInstance : decisionOutputInstances) { HistoricDecisionInstanceEntity historicDecisionInstance = decisionInstancesById.get(decisionOutputInstance.getDecisionInstanceId()); historicDecisionInstance.addOutput(decisionOutputInstance); // do not fetch values for byte arrays eagerly (unless requested by the user) if(!isBinaryValue(decisionOutputInstance) || query.isByteArrayFetchingEnabled()) { fetchVariableValue(decisionOutputInstance, query.isCustomObjectDeserializationEnabled()); } } }
protected List<HistoricDecisionOutputInstance> createHistoricDecisionOutputInstances(DmnDecisionTableEvaluationEvent evaluationEvent, String rootProcessInstanceId, Date removalTime) { List<HistoricDecisionOutputInstance> outputInstances = new ArrayList<HistoricDecisionOutputInstance>(); List<DmnEvaluatedDecisionRule> matchingRules = evaluationEvent.getMatchingRules(); for(int index = 0; index < matchingRules.size(); index++) { DmnEvaluatedDecisionRule rule = matchingRules.get(index); String ruleId = rule.getId(); Integer ruleOrder = index + 1; for(DmnEvaluatedOutput outputClause : rule.getOutputEntries().values()) { HistoricDecisionOutputInstanceEntity outputInstance = new HistoricDecisionOutputInstanceEntity(rootProcessInstanceId, removalTime); outputInstance.setClauseId(outputClause.getId()); outputInstance.setClauseName(outputClause.getName()); outputInstance.setCreateTime(ClockUtil.getCurrentTime()); outputInstance.setRuleId(ruleId); outputInstance.setRuleOrder(ruleOrder); outputInstance.setVariableName(outputClause.getOutputName()); outputInstance.setValue(outputClause.getValue()); outputInstances.add(outputInstance); } } return outputInstances; }
public HistoricDecisionOutputInstanceEntity(String rootProcessInstanceId, Date removalTime) { this.rootProcessInstanceId = rootProcessInstanceId; this.removalTime = removalTime; byteArrayField = new ByteArrayField(this, ResourceTypes.HISTORY, getRootProcessInstanceId(), getRemovalTime()); }
protected void fetchVariableValue(HistoricDecisionOutputInstanceEntity decisionOutputInstance, boolean isCustomObjectDeserializationEnabled) { try { decisionOutputInstance.getTypedValue(isCustomObjectDeserializationEnabled); } catch(Exception t) { // do not fail if one of the variables fails to load LOG.failedTofetchVariableValue(t); } }