Search in sources :

Example 1 with Context

use of org.jbpm.process.core.Context in project jbpm by kiegroup.

the class ProcessInstanceImpl method getContextInstance.

public ContextInstance getContextInstance(String contextId) {
    ContextInstance contextInstance = this.contextInstances.get(contextId);
    if (contextInstance != null) {
        return contextInstance;
    }
    Context context = ((ContextContainer) getProcess()).getDefaultContext(contextId);
    if (context != null) {
        contextInstance = getContextInstance(context);
        return contextInstance;
    }
    return null;
}
Also used : Context(org.jbpm.process.core.Context) ContextContainer(org.jbpm.process.core.ContextContainer) ContextInstance(org.jbpm.process.instance.ContextInstance)

Example 2 with Context

use of org.jbpm.process.core.Context in project jbpm by kiegroup.

the class NodeInstanceImpl method resolveContextInstance.

public ContextInstance resolveContextInstance(String contextId, Object param) {
    Context context = resolveContext(contextId, param);
    if (context == null) {
        return null;
    }
    ContextInstanceContainer contextInstanceContainer = getContextInstanceContainer(context.getContextContainer());
    if (contextInstanceContainer == null) {
        throw new IllegalArgumentException("Could not find context instance container for context");
    }
    return contextInstanceContainer.getContextInstance(context);
}
Also used : Context(org.jbpm.process.core.Context) ProcessContext(org.drools.core.spi.ProcessContext) ContextInstanceContainer(org.jbpm.process.instance.ContextInstanceContainer)

Example 3 with Context

use of org.jbpm.process.core.Context in project jbpm by kiegroup.

the class AbstractProtobufProcessInstanceMarshaller method readNodeInstance.

public NodeInstance readNodeInstance(MarshallerReaderContext context, NodeInstanceContainer nodeInstanceContainer, WorkflowProcessInstance processInstance) throws IOException {
    JBPMMessages.ProcessInstance.NodeInstance _node = (JBPMMessages.ProcessInstance.NodeInstance) context.parameterObject;
    NodeInstanceImpl nodeInstance = readNodeInstanceContent(_node, context, processInstance);
    nodeInstance.setNodeId(_node.getNodeId());
    nodeInstance.setId(_node.getId());
    nodeInstance.setNodeInstanceContainer(nodeInstanceContainer);
    nodeInstance.setProcessInstance((org.jbpm.workflow.instance.WorkflowProcessInstance) processInstance);
    nodeInstance.setLevel(_node.getLevel() == 0 ? 1 : _node.getLevel());
    nodeInstance.internalSetSlaCompliance(_node.getSlaCompliance());
    if (_node.getSlaDueDate() > 0) {
        nodeInstance.internalSetSlaDueDate(new Date(_node.getSlaDueDate()));
    }
    nodeInstance.internalSetSlaTimerId(_node.getSlaTimerId());
    switch(_node.getContent().getType()) {
        case COMPOSITE_CONTEXT_NODE:
        case DYNAMIC_NODE:
            if (_node.getContent().getComposite().getVariableCount() > 0) {
                Context variableScope = ((org.jbpm.process.core.Process) ((org.jbpm.process.instance.ProcessInstance) processInstance).getProcess()).getDefaultContext(VariableScope.VARIABLE_SCOPE);
                VariableScopeInstance variableScopeInstance = (VariableScopeInstance) ((CompositeContextNodeInstance) nodeInstance).getContextInstance(variableScope);
                for (JBPMMessages.Variable _variable : _node.getContent().getComposite().getVariableList()) {
                    try {
                        Object _value = ProtobufProcessMarshaller.unmarshallVariableValue(context, _variable);
                        variableScopeInstance.internalSetVariable(_variable.getName(), _value);
                    } catch (ClassNotFoundException e) {
                        throw new IllegalArgumentException("Could not reload variable " + _variable.getName());
                    }
                }
            }
            if (_node.getContent().getComposite().getIterationLevelsCount() > 0) {
                for (JBPMMessages.IterationLevel _level : _node.getContent().getComposite().getIterationLevelsList()) {
                    ((CompositeContextNodeInstance) nodeInstance).getIterationLevels().put(_level.getId(), _level.getLevel());
                }
            }
            for (JBPMMessages.ProcessInstance.NodeInstance _instance : _node.getContent().getComposite().getNodeInstanceList()) {
                context.parameterObject = _instance;
                readNodeInstance(context, (CompositeContextNodeInstance) nodeInstance, processInstance);
            }
            for (JBPMMessages.ProcessInstance.ExclusiveGroupInstance _excl : _node.getContent().getComposite().getExclusiveGroupList()) {
                ExclusiveGroupInstance exclusiveGroupInstance = new ExclusiveGroupInstance();
                ((CompositeContextNodeInstance) nodeInstance).addContextInstance(ExclusiveGroup.EXCLUSIVE_GROUP, exclusiveGroupInstance);
                for (Long nodeInstanceId : _excl.getGroupNodeInstanceIdList()) {
                    NodeInstance groupNodeInstance = ((org.jbpm.workflow.instance.NodeInstanceContainer) processInstance).getNodeInstance(nodeInstanceId, true);
                    if (groupNodeInstance == null) {
                        throw new IllegalArgumentException("Could not find node instance when deserializing exclusive group instance: " + nodeInstanceId);
                    }
                    exclusiveGroupInstance.addNodeInstance(groupNodeInstance);
                }
            }
            break;
        case FOR_EACH_NODE:
            for (JBPMMessages.ProcessInstance.NodeInstance _instance : _node.getContent().getForEach().getNodeInstanceList()) {
                context.parameterObject = _instance;
                readNodeInstance(context, (ForEachNodeInstance) nodeInstance, processInstance);
                VariableScopeInstance variableScopeInstance = (VariableScopeInstance) ((ForEachNodeInstance) nodeInstance).getContextInstance(VariableScope.VARIABLE_SCOPE);
                for (JBPMMessages.Variable _variable : _node.getContent().getForEach().getVariableList()) {
                    try {
                        Object _value = ProtobufProcessMarshaller.unmarshallVariableValue(context, _variable);
                        variableScopeInstance.internalSetVariable(_variable.getName(), _value);
                    } catch (ClassNotFoundException e) {
                        throw new IllegalArgumentException("Could not reload variable " + _variable.getName());
                    }
                }
                if (_node.getContent().getForEach().getIterationLevelsCount() > 0) {
                    for (JBPMMessages.IterationLevel _level : _node.getContent().getForEach().getIterationLevelsList()) {
                        ((ForEachNodeInstance) nodeInstance).getIterationLevels().put(_level.getId(), _level.getLevel());
                    }
                }
            }
            break;
        case EVENT_SUBPROCESS_NODE:
            for (JBPMMessages.ProcessInstance.NodeInstance _instance : _node.getContent().getComposite().getNodeInstanceList()) {
                context.parameterObject = _instance;
                readNodeInstance(context, (EventSubProcessNodeInstance) nodeInstance, processInstance);
                VariableScopeInstance variableScopeInstance = (VariableScopeInstance) ((EventSubProcessNodeInstance) nodeInstance).getContextInstance(VariableScope.VARIABLE_SCOPE);
                for (JBPMMessages.Variable _variable : _node.getContent().getComposite().getVariableList()) {
                    try {
                        Object _value = ProtobufProcessMarshaller.unmarshallVariableValue(context, _variable);
                        variableScopeInstance.internalSetVariable(_variable.getName(), _value);
                    } catch (ClassNotFoundException e) {
                        throw new IllegalArgumentException("Could not reload variable " + _variable.getName());
                    }
                }
            }
            break;
        default:
    }
    return nodeInstance;
}
Also used : NodeInstanceImpl(org.jbpm.workflow.instance.impl.NodeInstanceImpl) MarshallerWriteContext(org.drools.core.marshalling.impl.MarshallerWriteContext) MarshallerReaderContext(org.drools.core.marshalling.impl.MarshallerReaderContext) Context(org.jbpm.process.core.Context) SwimlaneContext(org.jbpm.process.core.context.swimlane.SwimlaneContext) ExclusiveGroupInstance(org.jbpm.process.instance.context.exclusive.ExclusiveGroupInstance) CompositeContextNodeInstance(org.jbpm.workflow.instance.node.CompositeContextNodeInstance) NodeInstanceContainer(org.kie.api.runtime.process.NodeInstanceContainer) Process(org.kie.api.definition.process.Process) Date(java.util.Date) VariableScopeInstance(org.jbpm.process.instance.context.variable.VariableScopeInstance) ProcessInstance(org.kie.api.runtime.process.ProcessInstance) WorkflowProcessInstance(org.kie.api.runtime.process.WorkflowProcessInstance) RuleSetNodeInstance(org.jbpm.workflow.instance.node.RuleSetNodeInstance) EventSubProcessNodeInstance(org.jbpm.workflow.instance.node.EventSubProcessNodeInstance) StateNodeInstance(org.jbpm.workflow.instance.node.StateNodeInstance) TimerNodeInstance(org.jbpm.workflow.instance.node.TimerNodeInstance) CompositeContextNodeInstance(org.jbpm.workflow.instance.node.CompositeContextNodeInstance) DynamicNodeInstance(org.jbpm.workflow.instance.node.DynamicNodeInstance) AsyncEventNodeInstance(org.jbpm.workflow.instance.node.AsyncEventNodeInstance) SubProcessNodeInstance(org.jbpm.workflow.instance.node.SubProcessNodeInstance) NodeInstance(org.kie.api.runtime.process.NodeInstance) HumanTaskNodeInstance(org.jbpm.workflow.instance.node.HumanTaskNodeInstance) EventNodeInstance(org.jbpm.workflow.instance.node.EventNodeInstance) ForEachNodeInstance(org.jbpm.workflow.instance.node.ForEachNodeInstance) MilestoneNodeInstance(org.jbpm.workflow.instance.node.MilestoneNodeInstance) WorkItemNodeInstance(org.jbpm.workflow.instance.node.WorkItemNodeInstance)

Example 4 with Context

use of org.jbpm.process.core.Context in project jbpm by kiegroup.

the class AbstractProtobufProcessInstanceMarshaller method readProcessInstance.

// Input methods
public ProcessInstance readProcessInstance(MarshallerReaderContext context) throws IOException {
    InternalKnowledgeBase ruleBase = context.kBase;
    InternalWorkingMemory wm = context.wm;
    JBPMMessages.ProcessInstance _instance = (org.jbpm.marshalling.impl.JBPMMessages.ProcessInstance) context.parameterObject;
    if (_instance == null) {
        // try to parse from the stream
        ExtensionRegistry registry = PersisterHelper.buildRegistry(context, null);
        Header _header;
        try {
            _header = PersisterHelper.readFromStreamWithHeaderPreloaded(context, registry);
        } catch (ClassNotFoundException e) {
            // Java 5 does not accept [new IOException(String, Throwable)]
            IOException ioe = new IOException("Error deserializing process instance.");
            ioe.initCause(e);
            throw ioe;
        }
        _instance = JBPMMessages.ProcessInstance.parseFrom(_header.getPayload(), registry);
    }
    WorkflowProcessInstanceImpl processInstance = createProcessInstance();
    processInstance.setId(_instance.getId());
    String processId = _instance.getProcessId();
    processInstance.setProcessId(processId);
    String processXml = _instance.getProcessXml();
    Process process = null;
    if (processXml != null && processXml.trim().length() > 0) {
        processInstance.setProcessXml(processXml);
        process = processInstance.getProcess();
    } else {
        process = ruleBase.getProcess(processId);
        if (process == null) {
            throw new RuntimeException("Could not find process " + processId + " when restoring process instance " + processInstance.getId());
        }
        processInstance.setProcess(process);
    }
    processInstance.setDescription(_instance.getDescription());
    processInstance.setState(_instance.getState());
    processInstance.setParentProcessInstanceId(_instance.getParentProcessInstanceId());
    processInstance.setSignalCompletion(_instance.getSignalCompletion());
    processInstance.setDeploymentId(_instance.getDeploymentId());
    processInstance.setCorrelationKey(_instance.getCorrelationKey());
    processInstance.internalSetSlaCompliance(_instance.getSlaCompliance());
    if (_instance.getSlaDueDate() > 0) {
        processInstance.internalSetSlaDueDate(new Date(_instance.getSlaDueDate()));
    }
    processInstance.internalSetSlaTimerId(_instance.getSlaTimerId());
    long nodeInstanceCounter = _instance.getNodeInstanceCounter();
    processInstance.setKnowledgeRuntime(wm.getKnowledgeRuntime());
    processInstance.internalSetNodeInstanceCounter(nodeInstanceCounter);
    for (String completedNodeId : _instance.getCompletedNodeIdsList()) {
        processInstance.addCompletedNodeId(completedNodeId);
    }
    if (_instance.getSwimlaneContextCount() > 0) {
        Context swimlaneContext = ((org.jbpm.process.core.Process) process).getDefaultContext(SwimlaneContext.SWIMLANE_SCOPE);
        SwimlaneContextInstance swimlaneContextInstance = (SwimlaneContextInstance) processInstance.getContextInstance(swimlaneContext);
        for (JBPMMessages.ProcessInstance.SwimlaneContextInstance _swimlane : _instance.getSwimlaneContextList()) {
            swimlaneContextInstance.setActorId(_swimlane.getSwimlane(), _swimlane.getActorId());
        }
    }
    for (JBPMMessages.ProcessInstance.NodeInstance _node : _instance.getNodeInstanceList()) {
        context.parameterObject = _node;
        readNodeInstance(context, processInstance, processInstance);
    }
    for (JBPMMessages.ProcessInstance.ExclusiveGroupInstance _excl : _instance.getExclusiveGroupList()) {
        ExclusiveGroupInstance exclusiveGroupInstance = new ExclusiveGroupInstance();
        processInstance.addContextInstance(ExclusiveGroup.EXCLUSIVE_GROUP, exclusiveGroupInstance);
        for (Long nodeInstanceId : _excl.getGroupNodeInstanceIdList()) {
            NodeInstance nodeInstance = ((org.jbpm.workflow.instance.NodeInstanceContainer) processInstance).getNodeInstance(nodeInstanceId, true);
            if (nodeInstance == null) {
                throw new IllegalArgumentException("Could not find node instance when deserializing exclusive group instance: " + nodeInstanceId);
            }
            exclusiveGroupInstance.addNodeInstance(nodeInstance);
        }
    }
    if (_instance.getVariableCount() > 0) {
        Context variableScope = ((org.jbpm.process.core.Process) process).getDefaultContext(VariableScope.VARIABLE_SCOPE);
        VariableScopeInstance variableScopeInstance = (VariableScopeInstance) processInstance.getContextInstance(variableScope);
        for (JBPMMessages.Variable _variable : _instance.getVariableList()) {
            try {
                Object _value = ProtobufProcessMarshaller.unmarshallVariableValue(context, _variable);
                variableScopeInstance.internalSetVariable(_variable.getName(), _value);
            } catch (ClassNotFoundException e) {
                throw new IllegalArgumentException("Could not reload variable " + _variable.getName());
            }
        }
    }
    if (_instance.getIterationLevelsCount() > 0) {
        for (JBPMMessages.IterationLevel _level : _instance.getIterationLevelsList()) {
            processInstance.getIterationLevels().put(_level.getId(), _level.getLevel());
        }
    }
    processInstance.reconnect();
    return processInstance;
}
Also used : NodeInstanceContainer(org.kie.api.runtime.process.NodeInstanceContainer) WorkflowProcessInstanceImpl(org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl) Process(org.kie.api.definition.process.Process) ExtensionRegistry(com.google.protobuf.ExtensionRegistry) InternalWorkingMemory(org.drools.core.common.InternalWorkingMemory) VariableScopeInstance(org.jbpm.process.instance.context.variable.VariableScopeInstance) InternalKnowledgeBase(org.drools.core.impl.InternalKnowledgeBase) MarshallerWriteContext(org.drools.core.marshalling.impl.MarshallerWriteContext) MarshallerReaderContext(org.drools.core.marshalling.impl.MarshallerReaderContext) Context(org.jbpm.process.core.Context) SwimlaneContext(org.jbpm.process.core.context.swimlane.SwimlaneContext) ExclusiveGroupInstance(org.jbpm.process.instance.context.exclusive.ExclusiveGroupInstance) SwimlaneContextInstance(org.jbpm.process.instance.context.swimlane.SwimlaneContextInstance) IOException(java.io.IOException) Date(java.util.Date) Header(org.drools.core.marshalling.impl.ProtobufMessages.Header) ProcessInstance(org.kie.api.runtime.process.ProcessInstance) WorkflowProcessInstance(org.kie.api.runtime.process.WorkflowProcessInstance) RuleSetNodeInstance(org.jbpm.workflow.instance.node.RuleSetNodeInstance) EventSubProcessNodeInstance(org.jbpm.workflow.instance.node.EventSubProcessNodeInstance) StateNodeInstance(org.jbpm.workflow.instance.node.StateNodeInstance) TimerNodeInstance(org.jbpm.workflow.instance.node.TimerNodeInstance) CompositeContextNodeInstance(org.jbpm.workflow.instance.node.CompositeContextNodeInstance) DynamicNodeInstance(org.jbpm.workflow.instance.node.DynamicNodeInstance) AsyncEventNodeInstance(org.jbpm.workflow.instance.node.AsyncEventNodeInstance) SubProcessNodeInstance(org.jbpm.workflow.instance.node.SubProcessNodeInstance) NodeInstance(org.kie.api.runtime.process.NodeInstance) HumanTaskNodeInstance(org.jbpm.workflow.instance.node.HumanTaskNodeInstance) EventNodeInstance(org.jbpm.workflow.instance.node.EventNodeInstance) ForEachNodeInstance(org.jbpm.workflow.instance.node.ForEachNodeInstance) MilestoneNodeInstance(org.jbpm.workflow.instance.node.MilestoneNodeInstance) WorkItemNodeInstance(org.jbpm.workflow.instance.node.WorkItemNodeInstance)

Example 5 with Context

use of org.jbpm.process.core.Context in project jbpm by kiegroup.

the class RuleSetNodeInstance method internalTrigger.

public void internalTrigger(final NodeInstance from, String type) {
    try {
        super.internalTrigger(from, type);
        // if node instance was cancelled, abort
        if (getNodeInstanceContainer().getNodeInstance(getId()) == null) {
            return;
        }
        if (!org.jbpm.workflow.core.Node.CONNECTION_DEFAULT_TYPE.equals(type)) {
            throw new IllegalArgumentException("A RuleSetNode only accepts default incoming connections!");
        }
        RuleSetNode ruleSetNode = getRuleSetNode();
        KieRuntime kruntime = getProcessInstance().getKnowledgeRuntime();
        Map<String, Object> inputs = evaluateParameters(ruleSetNode);
        if (ruleSetNode.isDMN()) {
            String namespace = resolveVariable(ruleSetNode.getNamespace());
            String model = resolveVariable(ruleSetNode.getModel());
            String decision = resolveVariable(ruleSetNode.getDecision());
            DMNRuntime runtime = ((KieSession) kruntime).getKieRuntime(DMNRuntime.class);
            DMNModel dmnModel = runtime.getModel(namespace, model);
            if (dmnModel == null) {
                throw new IllegalArgumentException("DMN model '" + model + "' not found with namespace '" + namespace + "'");
            }
            DMNResult dmnResult = null;
            DMNContext context = runtime.newContext();
            for (Entry<String, Object> entry : inputs.entrySet()) {
                context.set(entry.getKey(), entry.getValue());
            }
            if (decision != null && !decision.isEmpty()) {
                dmnResult = runtime.evaluateByName(dmnModel, context, decision);
            } else {
                dmnResult = runtime.evaluateAll(dmnModel, context);
            }
            if (dmnResult.hasErrors()) {
                String errors = dmnResult.getMessages(Severity.ERROR).stream().map(message -> message.toString()).collect(Collectors.joining(", "));
                throw new RuntimeException("DMN result errors:: " + errors);
            }
            processOutputs(dmnResult.getContext().getAll());
            triggerCompleted();
        } else {
            // first set rule flow group
            setRuleFlowGroup(resolveRuleFlowGroup(ruleSetNode.getRuleFlowGroup()));
            // proceed
            for (Entry<String, Object> entry : inputs.entrySet()) {
                if (FIRE_RULE_LIMIT_PARAMETER.equals(entry.getKey())) {
                    // don't put control parameter for fire limit into working memory
                    continue;
                }
                String inputKey = getRuleFlowGroup() + "_" + getProcessInstance().getId() + "_" + entry.getKey();
                factHandles.put(inputKey, kruntime.insert(entry.getValue()));
            }
            if (actAsWaitState()) {
                addRuleSetListener();
                ((InternalAgenda) getProcessInstance().getKnowledgeRuntime().getAgenda()).activateRuleFlowGroup(getRuleFlowGroup(), getProcessInstance().getId(), getUniqueId());
            } else {
                int fireLimit = DEFAULT_FIRE_RULE_LIMIT;
                if (inputs.containsKey(FIRE_RULE_LIMIT_PARAMETER)) {
                    fireLimit = Integer.parseInt(inputs.get(FIRE_RULE_LIMIT_PARAMETER).toString());
                }
                ((InternalAgenda) getProcessInstance().getKnowledgeRuntime().getAgenda()).activateRuleFlowGroup(getRuleFlowGroup(), getProcessInstance().getId(), getUniqueId());
                int fired = ((KieSession) getProcessInstance().getKnowledgeRuntime()).fireAllRules(fireLimit);
                if (fired == fireLimit) {
                    throw new RuntimeException("Fire rule limit reached " + fireLimit + ", limit can be set via system property " + FIRE_RULE_LIMIT_PROPERTY + " or via data input of business rule task named " + FIRE_RULE_LIMIT_PARAMETER);
                }
                removeEventListeners();
                retractFacts();
                triggerCompleted();
            }
        }
    } catch (Exception e) {
        handleException(e);
    }
}
Also used : WorkflowRuntimeException(org.jbpm.workflow.instance.WorkflowRuntimeException) InternalAgenda(org.drools.core.common.InternalAgenda) DMNResult(org.kie.dmn.api.core.DMNResult) NodeInstance(org.kie.api.runtime.process.NodeInstance) LoggerFactory(org.slf4j.LoggerFactory) HashMap(java.util.HashMap) PatternConstants(org.jbpm.util.PatternConstants) ArrayList(java.util.ArrayList) EventListener(org.kie.api.runtime.process.EventListener) Matcher(java.util.regex.Matcher) DMNModel(org.kie.dmn.api.core.DMNModel) ProcessInstance(org.jbpm.process.instance.ProcessInstance) ContextInstanceFactoryRegistry(org.jbpm.process.instance.impl.ContextInstanceFactoryRegistry) RuleSetNode(org.jbpm.workflow.core.node.RuleSetNode) Context(org.jbpm.process.core.Context) ContextInstance(org.jbpm.process.instance.ContextInstance) Map(java.util.Map) DMNRuntime(org.kie.dmn.api.core.DMNRuntime) Transformation(org.jbpm.workflow.core.node.Transformation) KieSession(org.kie.api.runtime.KieSession) ContextInstanceContainer(org.jbpm.process.instance.ContextInstanceContainer) Variable(org.jbpm.process.core.context.variable.Variable) DataTransformer(org.kie.api.runtime.process.DataTransformer) DataType(org.jbpm.process.core.datatype.DataType) InternalKnowledgeRuntime(org.drools.core.common.InternalKnowledgeRuntime) Logger(org.slf4j.Logger) Iterator(java.util.Iterator) MapVariableResolverFactory(org.mvel2.integration.impl.MapVariableResolverFactory) VariableScopeInstance(org.jbpm.process.instance.context.variable.VariableScopeInstance) VariableScope(org.jbpm.process.core.context.variable.VariableScope) Collectors(java.util.stream.Collectors) Severity(org.kie.dmn.api.core.DMNMessage.Severity) FactHandle(org.kie.api.runtime.rule.FactHandle) List(java.util.List) ContextContainer(org.jbpm.process.core.ContextContainer) DataTransformerRegistry(org.jbpm.process.core.impl.DataTransformerRegistry) NodeInstanceResolverFactory(org.jbpm.workflow.instance.impl.NodeInstanceResolverFactory) KieRuntime(org.kie.api.runtime.KieRuntime) DataAssociation(org.jbpm.workflow.core.node.DataAssociation) StatefulKnowledgeSession(org.kie.internal.runtime.StatefulKnowledgeSession) ExceptionScopeInstance(org.jbpm.process.instance.context.exception.ExceptionScopeInstance) ContextInstanceFactory(org.jbpm.process.instance.impl.ContextInstanceFactory) Entry(java.util.Map.Entry) MVELSafeHelper(org.drools.core.util.MVELSafeHelper) DMNContext(org.kie.dmn.api.core.DMNContext) ExceptionUtils(org.apache.commons.lang3.exception.ExceptionUtils) ExceptionScope(org.jbpm.process.core.context.exception.ExceptionScope) DMNResult(org.kie.dmn.api.core.DMNResult) RuleSetNode(org.jbpm.workflow.core.node.RuleSetNode) KieRuntime(org.kie.api.runtime.KieRuntime) DMNContext(org.kie.dmn.api.core.DMNContext) DMNRuntime(org.kie.dmn.api.core.DMNRuntime) WorkflowRuntimeException(org.jbpm.workflow.instance.WorkflowRuntimeException) InternalAgenda(org.drools.core.common.InternalAgenda) WorkflowRuntimeException(org.jbpm.workflow.instance.WorkflowRuntimeException) KieSession(org.kie.api.runtime.KieSession) DMNModel(org.kie.dmn.api.core.DMNModel)

Aggregations

Context (org.jbpm.process.core.Context)9 VariableScopeInstance (org.jbpm.process.instance.context.variable.VariableScopeInstance)5 NodeInstance (org.kie.api.runtime.process.NodeInstance)5 MarshallerReaderContext (org.drools.core.marshalling.impl.MarshallerReaderContext)4 MarshallerWriteContext (org.drools.core.marshalling.impl.MarshallerWriteContext)4 SwimlaneContext (org.jbpm.process.core.context.swimlane.SwimlaneContext)4 ExclusiveGroupInstance (org.jbpm.process.instance.context.exclusive.ExclusiveGroupInstance)4 Process (org.kie.api.definition.process.Process)4 ContextInstance (org.jbpm.process.instance.ContextInstance)3 ObjectInputStream (java.io.ObjectInputStream)2 Date (java.util.Date)2 InternalWorkingMemory (org.drools.core.common.InternalWorkingMemory)2 InternalKnowledgeBase (org.drools.core.impl.InternalKnowledgeBase)2 ContextContainer (org.jbpm.process.core.ContextContainer)2 ExceptionScope (org.jbpm.process.core.context.exception.ExceptionScope)2 ContextInstanceContainer (org.jbpm.process.instance.ContextInstanceContainer)2 SwimlaneContextInstance (org.jbpm.process.instance.context.swimlane.SwimlaneContextInstance)2 AsyncEventNodeInstance (org.jbpm.workflow.instance.node.AsyncEventNodeInstance)2 CompositeContextNodeInstance (org.jbpm.workflow.instance.node.CompositeContextNodeInstance)2 DynamicNodeInstance (org.jbpm.workflow.instance.node.DynamicNodeInstance)2