Examples of MultiInstanceLoopCharacteristics


Examples of org.activiti.bpmn.model.MultiInstanceLoopCharacteristics

    }
  };
 
  private MultiInstanceLoopCharacteristics getMultiInstanceDef(Activity activity) {
    if(activity.getLoopCharacteristics() == null) {
      activity.setLoopCharacteristics(new MultiInstanceLoopCharacteristics());
    }
    return (MultiInstanceLoopCharacteristics) activity.getLoopCharacteristics();
  }
View Full Code Here

Examples of org.activiti.bpmn.model.MultiInstanceLoopCharacteristics

    }
   
    if (flowElement instanceof Activity) {
      Activity activity = (Activity) flowElement;
      if (activity.getLoopCharacteristics() != null) {
        MultiInstanceLoopCharacteristics multiInstanceObject = activity.getLoopCharacteristics();
        if (StringUtils.isNotEmpty(multiInstanceObject.getLoopCardinality()) ||
            StringUtils.isNotEmpty(multiInstanceObject.getInputDataItem()) ||
            StringUtils.isNotEmpty(multiInstanceObject.getCompletionCondition())) {
         
          xtw.writeStartElement(ELEMENT_MULTIINSTANCE);
          writeDefaultAttribute(ATTRIBUTE_MULTIINSTANCE_SEQUENTIAL, String.valueOf(multiInstanceObject.isSequential()).toLowerCase(), xtw);
          if (StringUtils.isNotEmpty(multiInstanceObject.getInputDataItem())) {
            writeQualifiedAttribute(ATTRIBUTE_MULTIINSTANCE_COLLECTION, multiInstanceObject.getInputDataItem(), xtw);
          }
          if (StringUtils.isNotEmpty(multiInstanceObject.getElementVariable())) {
            writeQualifiedAttribute(ATTRIBUTE_MULTIINSTANCE_VARIABLE, multiInstanceObject.getElementVariable(), xtw);
          }
          if (StringUtils.isNotEmpty(multiInstanceObject.getLoopCardinality())) {
            xtw.writeStartElement(ELEMENT_MULTIINSTANCE_CARDINALITY);
            xtw.writeCharacters(multiInstanceObject.getLoopCardinality());
            xtw.writeEndElement();
          }
          if (StringUtils.isNotEmpty(multiInstanceObject.getCompletionCondition())) {
            xtw.writeStartElement(ELEMENT_MULTIINSTANCE_CONDITION);
            xtw.writeCharacters(multiInstanceObject.getCompletionCondition());
            xtw.writeEndElement();
          }
          xtw.writeEndElement();
        }
      }
View Full Code Here

Examples of org.activiti.bpmn.model.MultiInstanceLoopCharacteristics

      if (activity.isNotExclusive()) {
        propertiesNode.put(PROPERTY_EXCLUSIVE, PROPERTY_VALUE_NO);
      }
     
      if (activity.getLoopCharacteristics() != null) {
        MultiInstanceLoopCharacteristics loopDef = activity.getLoopCharacteristics();
        if (StringUtils.isNotEmpty(loopDef.getLoopCardinality()) || StringUtils.isNotEmpty(loopDef.getInputDataItem()) ||
            StringUtils.isNotEmpty(loopDef.getCompletionCondition())) {
         
          if (loopDef.isSequential() == false) {
            propertiesNode.put(PROPERTY_MULTIINSTANCE_SEQUENTIAL, PROPERTY_VALUE_NO);
          }
          if (StringUtils.isNotEmpty(loopDef.getLoopCardinality())) {
            propertiesNode.put(PROPERTY_MULTIINSTANCE_CARDINALITY, loopDef.getLoopCardinality());
          }
          if (StringUtils.isNotEmpty(loopDef.getInputDataItem())) {
            propertiesNode.put(PROPERTY_MULTIINSTANCE_COLLECTION, loopDef.getInputDataItem());
          }
          if (StringUtils.isNotEmpty(loopDef.getElementVariable())) {
            propertiesNode.put(PROPERTY_MULTIINSTANCE_VARIABLE, loopDef.getElementVariable());
          }
          if (StringUtils.isNotEmpty(loopDef.getCompletionCondition())) {
            propertiesNode.put(PROPERTY_MULTIINSTANCE_CONDITION, loopDef.getCompletionCondition());
          }
        }
      }
     
      if (activity instanceof UserTask) {
View Full Code Here

Examples of org.activiti.bpmn.model.MultiInstanceLoopCharacteristics

      if (StringUtils.isNotEmpty(multiInstanceCardinality) || StringUtils.isNotEmpty(multiInstanceCollection) ||
          StringUtils.isNotEmpty(multiInstanceCondition)) {
       
        String multiInstanceVariable = getPropertyValueAsString(PROPERTY_MULTIINSTANCE_VARIABLE, elementNode);
       
        MultiInstanceLoopCharacteristics multiInstanceObject = new MultiInstanceLoopCharacteristics();
        multiInstanceObject.setSequential(getPropertyValueAsBoolean(PROPERTY_MULTIINSTANCE_SEQUENTIAL, elementNode));
        multiInstanceObject.setLoopCardinality(multiInstanceCardinality);
        multiInstanceObject.setInputDataItem(multiInstanceCollection);
        multiInstanceObject.setElementVariable(multiInstanceVariable);
        multiInstanceObject.setCompletionCondition(multiInstanceCondition);
        activity.setLoopCharacteristics(multiInstanceObject);
      }
    }
    if (parentElement instanceof Process) {
      ((Process) parentElement).addFlowElement(flowElement);
View Full Code Here

Examples of org.activiti.bpmn.model.MultiInstanceLoopCharacteristics

  }
 
  public void parseChildElement(XMLStreamReader xtr, BaseElement parentElement) throws Exception {
    if (parentElement instanceof Activity == false) return;
   
    MultiInstanceLoopCharacteristics multiInstanceDef = new MultiInstanceLoopCharacteristics();
   
    if (xtr.getAttributeValue(null, ATTRIBUTE_MULTIINSTANCE_SEQUENTIAL) != null) {
      multiInstanceDef.setSequential(Boolean.valueOf(xtr.getAttributeValue(null, ATTRIBUTE_MULTIINSTANCE_SEQUENTIAL)));
    }
    multiInstanceDef.setInputDataItem(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_MULTIINSTANCE_COLLECTION));
    multiInstanceDef.setElementVariable(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_MULTIINSTANCE_VARIABLE));

    boolean readyWithMultiInstance = false;
    try {
      while (readyWithMultiInstance == false && xtr.hasNext()) {
        xtr.next();
        if (xtr.isStartElement() && ELEMENT_MULTIINSTANCE_CARDINALITY.equalsIgnoreCase(xtr.getLocalName())) {
          multiInstanceDef.setLoopCardinality(xtr.getElementText());

        } else if (xtr.isStartElement() && ELEMENT_MULTIINSTANCE_DATAINPUT.equalsIgnoreCase(xtr.getLocalName())) {
          multiInstanceDef.setInputDataItem(xtr.getElementText());

        } else if (xtr.isStartElement() && ELEMENT_MULTIINSTANCE_DATAITEM.equalsIgnoreCase(xtr.getLocalName())) {
          if (xtr.getAttributeValue(null, ATTRIBUTE_NAME) != null) {
            multiInstanceDef.setElementVariable(xtr.getAttributeValue(null, ATTRIBUTE_NAME));
          }

        } else if (xtr.isStartElement() && ELEMENT_MULTIINSTANCE_CONDITION.equalsIgnoreCase(xtr.getLocalName())) {
          multiInstanceDef.setCompletionCondition(xtr.getElementText());

        } else if (xtr.isEndElement() && getElementName().equalsIgnoreCase(xtr.getLocalName())) {
          readyWithMultiInstance = true;
        }
      }
View Full Code Here

Examples of org.eclipse.bpmn2.MultiInstanceLoopCharacteristics

            if (result == null)
                result = defaultCase(theEObject);
            return result;
        }
        case Bpmn2Package.MULTI_INSTANCE_LOOP_CHARACTERISTICS: {
            MultiInstanceLoopCharacteristics multiInstanceLoopCharacteristics = (MultiInstanceLoopCharacteristics) theEObject;
            T result = caseMultiInstanceLoopCharacteristics(multiInstanceLoopCharacteristics);
            if (result == null)
                result = caseLoopCharacteristics(multiInstanceLoopCharacteristics);
            if (result == null)
                result = caseBaseElement(multiInstanceLoopCharacteristics);
View Full Code Here

Examples of org.eclipse.bpmn2.MultiInstanceLoopCharacteristics

      for (BoundaryEvent boundaryEvent : activity.getBoundaryEventRefs()) {
        outgoingArrayNode.add(BpmnJsonConverterUtil.createResourceNode(boundaryEvent.getId()));
      }
 
      if (activity.getLoopCharacteristics() != null) {
        MultiInstanceLoopCharacteristics loopDef = (MultiInstanceLoopCharacteristics)activity.getLoopCharacteristics();//.getLoopCharacteristics();
        propertiesNode.put(PROPERTY_MULTIINSTANCE, StringUtil.getString(true));
          propertiesNode.put(PROPERTY_MULTIINSTANCE_SEQUENTIAL, StringUtil.getString(loopDef.isIsSequential()));
          if(activity.getLoopDataInputCollectionExpression() != null){
            propertiesNode.put(PROPERTY_MULTIINSTANCE_INPUT_COLLECTION, activity.getLoopDataInputCollectionExpression());
          }
          if(activity.getLoopDataOutputCollectionExpression() !=null){
            propertiesNode.put(PROPERTY_MULTIINSTANCE_OUTPUT_COLLECTION, activity.getLoopDataOutputCollectionExpression());
          }
         
          if(loopDef.getInputDataItem()!=null){
            propertiesNode.put(PROPERTY_MULTIINSTANCE_INPUT_ITEM, activity.getInputDataItemExpression());
          }
          if(loopDef.getOutputDataItem() !=null){
            propertiesNode.put(PROPERTY_MULTIINSTANCE_OUTPUT_ITEM, activity.getOutputDataItemExpression());
          }
          if(BpmnModelUtil.getExpression(loopDef.getCompletionCondition()) !=null){
            propertiesNode.put(PROPERTY_MULTIINSTANCE_CONDITION, BpmnModelUtil.getExpression(loopDef.getCompletionCondition()));
          }
      }
     
    //跳过策略
      SkipStrategy skipStrategy = activity.getSkipStrategy();
View Full Code Here

Examples of org.eclipse.bpmn2.MultiInstanceLoopCharacteristics

    if (flowElement instanceof Activity) {
      ActivityImpl activity = (ActivityImpl) flowElement;
     
      boolean isMulti = getPropertyValueAsBoolean(PROPERTY_MULTIINSTANCE, elementNode);
      if(isMulti){
        MultiInstanceLoopCharacteristics newLoopCharacteristics = Bpmn2Factory.eINSTANCE.createMultiInstanceLoopCharacteristics();
        String inputDataCollection = getPropertyValueAsString(PROPERTY_MULTIINSTANCE_INPUT_COLLECTION, elementNode);
        String inputDataItem = getPropertyValueAsString(PROPERTY_MULTIINSTANCE_INPUT_ITEM, elementNode);
        String outputDataCollection = getPropertyValueAsString(PROPERTY_MULTIINSTANCE_OUTPUT_COLLECTION, elementNode);
        String outputDataItem = getPropertyValueAsString(PROPERTY_MULTIINSTANCE_OUTPUT_ITEM, elementNode);
        String completeExpression = getPropertyValueAsString(PROPERTY_MULTIINSTANCE_CONDITION, elementNode);
       
        //输出变量
        DataOutput dataOutput = Bpmn2Factory.eINSTANCE.createDataOutput();
        Expression dataOutputExpression = FixFlowFactory.eINSTANCE.createExpression();
        dataOutputExpression.setName(outputDataItem);
        dataOutputExpression.setValue(outputDataItem);
        BpmnModelUtil.addExtensionElement(dataOutput, FixFlowPackage.Literals.RESOURCE_FILTER__EXPRESSION, dataOutputExpression);
        newLoopCharacteristics.setOutputDataItem(dataOutput);
       
        //输入变量
        DataInput dataInput = Bpmn2Factory.eINSTANCE.createDataInput();
        Expression dataInputExpression = FixFlowFactory.eINSTANCE.createExpression();
        dataInputExpression.setName(inputDataItem);
        dataInputExpression.setValue(inputDataItem);
        BpmnModelUtil.addExtensionElement(dataInput, FixFlowPackage.Literals.RESOURCE_FILTER__EXPRESSION, dataInputExpression);
        newLoopCharacteristics.setInputDataItem(dataInput);
       
        //输入数据集
        LoopDataInputCollection loopDataInputCollection = FixFlowFactory.eINSTANCE.createLoopDataInputCollection();
        Expression inputCollectionExpression = FixFlowFactory.eINSTANCE.createExpression();
        inputCollectionExpression.setName(inputDataCollection);
        inputCollectionExpression.setValue(inputDataCollection);
        loopDataInputCollection.setExpression(inputCollectionExpression);
        BpmnModelUtil.addExtensionElement(newLoopCharacteristics, FixFlowPackage.Literals.DOCUMENT_ROOT__LOOP_DATA_INPUT_COLLECTION, loopDataInputCollection);

        //输出数据集
        LoopDataOutputCollection loopDataOutputCollection = FixFlowFactory.eINSTANCE.createLoopDataOutputCollection();
        Expression outputCollectionExpression = FixFlowFactory.eINSTANCE.createExpression();
        outputCollectionExpression.setName(outputDataCollection);
        outputCollectionExpression.setValue(outputDataCollection);
        loopDataOutputCollection.setExpression(outputCollectionExpression);
        BpmnModelUtil.addExtensionElement(newLoopCharacteristics, FixFlowPackage.Literals.DOCUMENT_ROOT__LOOP_DATA_OUTPUT_COLLECTION, loopDataOutputCollection);

        //完成表达式
        FormalExpression formalExpression= Bpmn2Factory.eINSTANCE.createFormalExpression();
        formalExpression.setId(completeExpression);
        formalExpression.setBody(completeExpression);
        newLoopCharacteristics.setCompletionCondition(formalExpression);
       
        activity.setLoopCharacteristics(newLoopCharacteristics);
       
      }
     
View Full Code Here

Examples of org.eclipse.bpmn2.MultiInstanceLoopCharacteristics

  public String getInputDataItemExpression() {
   
   
   
    if(this.inputDataItemExpression==null){
      MultiInstanceLoopCharacteristics multiInstanceLoopCharacteristics=(MultiInstanceLoopCharacteristics)loopCharacteristics;
      DataInput dataInput =multiInstanceLoopCharacteristics.getInputDataItem();
      Expression expression=getExtensionExpression(dataInput);
      if(expression!=null){
        this.inputDataItemExpression=expression.getValue();
      }
View Full Code Here

Examples of org.eclipse.bpmn2.MultiInstanceLoopCharacteristics

  }

  public String getOutputDataItemExpression() {
   
    if(this.outputDataItemExpression==null){
      MultiInstanceLoopCharacteristics multiInstanceLoopCharacteristics=(MultiInstanceLoopCharacteristics)loopCharacteristics;
      DataOutput dataOutput =multiInstanceLoopCharacteristics.getOutputDataItem();
      Expression expression=getExtensionExpression(dataOutput);
      if(expression!=null){
        this.outputDataItemExpression=expression.getValue();
      }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.