Exemplo n.º 1
0
        protected internal virtual void insertHistoricDecisionInstance(HistoricDecisionInstanceEntity historicDecisionInstance)
        {
            DbEntityManager.insert(historicDecisionInstance);

            insertHistoricDecisionInputInstances(historicDecisionInstance.Inputs, historicDecisionInstance.Id);
            insertHistoricDecisionOutputInstances(historicDecisionInstance.Outputs, historicDecisionInstance.Id);
        }
Exemplo n.º 2
0
        public virtual void insertHistoricDecisionInstances(HistoricDecisionEvaluationEvent @event)
        {
            if (HistoryEnabled)
            {
                HistoricDecisionInstanceEntity rootHistoricDecisionInstance = @event.RootHistoricDecisionInstance;
                insertHistoricDecisionInstance(rootHistoricDecisionInstance);

                foreach (HistoricDecisionInstanceEntity requiredHistoricDecisionInstances in @event.RequiredHistoricDecisionInstances)
                {
                    requiredHistoricDecisionInstances.RootDecisionInstanceId = rootHistoricDecisionInstance.Id;
                    insertHistoricDecisionInstance(requiredHistoricDecisionInstances);
                }
            }
        }
Exemplo n.º 3
0
        protected internal virtual void appendHistoricDecisionOutputInstances(IDictionary <string, HistoricDecisionInstanceEntity> decisionInstancesById, HistoricDecisionInstanceQueryImpl query)
        {
            IList <HistoricDecisionOutputInstanceEntity> decisionOutputInstances = findHistoricDecisionOutputInstancesByDecisionInstanceIds(decisionInstancesById.Keys);

            initializeOutputInstances(decisionInstancesById.Values);

            foreach (HistoricDecisionOutputInstanceEntity decisionOutputInstance in decisionOutputInstances)
            {
                HistoricDecisionInstanceEntity historicDecisionInstance = decisionInstancesById[decisionOutputInstance.DecisionInstanceId];
                historicDecisionInstance.addOutput(decisionOutputInstance);

                // do not fetch values for byte arrays eagerly (unless requested by the user)
                if (!isBinaryValue(decisionOutputInstance) || query.ByteArrayFetchingEnabled)
                {
                    fetchVariableValue(decisionOutputInstance, query.CustomObjectDeserializationEnabled);
                }
            }
        }