Package org.activiti.bpmn.model

Examples of org.activiti.bpmn.model.SubProcess


      elementList = ((SubProcess) parentElement).getFlowElements();
    }

    for (final FlowElement flowElement : elementList) {
      if (flowElement instanceof SubProcess) {
        final SubProcess subProcess = (SubProcess) flowElement;
        subProcess.removeArtifact(association.getId());

        removeArtifact(association, subProcess);
      }
    }
  }
View Full Code Here


      elementList = ((SubProcess) parentElement).getFlowElements();
    }
   
    for (FlowElement flowElement : elementList) {
      if(flowElement instanceof SubProcess) {
        SubProcess subProcess = (SubProcess) flowElement;
        subProcess.removeFlowElement(element.getId());
        removeElementInProcess(element, subProcess);
      }
    }
  }
View Full Code Here

   
    flowElement = model.getMainProcess().getFlowElementMap().get("subprocess1");
    assertNotNull(flowElement);
    assertTrue(flowElement instanceof SubProcess);
    assertEquals("subprocess1", flowElement.getId());
    SubProcess subProcess = (SubProcess) flowElement;
    assertTrue(subProcess.getFlowElements().size() == 5);
   
    flowElement = model.getMainProcess().getFlowElementMap().get("boundaryEvent1");
    assertNotNull(flowElement);
    assertTrue(flowElement instanceof BoundaryEvent);
    assertEquals("boundaryEvent1", flowElement.getId());
View Full Code Here

  private void validateModel(BpmnModel model) {
    FlowElement flowElement = model.getMainProcess().getFlowElementMap().get("outerSubProcess");
    assertNotNull(flowElement);
    assertTrue(flowElement instanceof SubProcess);
    assertEquals("outerSubProcess", flowElement.getId());
    SubProcess outerSubProcess = (SubProcess) flowElement;
    List<BoundaryEvent> eventList = outerSubProcess.getBoundaryEvents();
    assertEquals(1, eventList.size());
    BoundaryEvent boundaryEvent = eventList.get(0);
    assertEquals("outerBoundaryEvent", boundaryEvent.getId());
   
    FlowElement subElement = outerSubProcess.getFlowElement("innerSubProcess");
    assertNotNull(subElement);
    assertTrue(subElement instanceof SubProcess);
    assertEquals("innerSubProcess", subElement.getId());
    SubProcess innerSubProcess = (SubProcess) subElement;
    eventList = innerSubProcess.getBoundaryEvents();
    assertEquals(1, eventList.size());
    boundaryEvent = eventList.get(0);
    assertEquals("innerBoundaryEvent", boundaryEvent.getId());
   
    FlowElement taskElement = innerSubProcess.getFlowElement("usertask");
    assertNotNull(taskElement);
    assertTrue(taskElement instanceof UserTask);
    UserTask userTask = (UserTask) taskElement;
    assertEquals("usertask", userTask.getId());
    eventList = userTask.getBoundaryEvents();
View Full Code Here

      ((SubProcess) parentElement).getBoundaryEvents().remove(element);
    }
   
    for (FlowElement flowElement : elementList) {
      if (flowElement instanceof SubProcess) {
        SubProcess subProcess = (SubProcess) flowElement;
        subProcess.removeFlowElement(element.getId());
        removeElement(element, subProcess);
      }
      if (flowElement instanceof Activity) {
        ((Activity) flowElement).getBoundaryEvents().remove(element);
      }
View Full Code Here

   
    if (context.getSourceContainer() != context.getTargetContainer()) {
      if (context.getSourceContainer() instanceof Diagram == false) {
        Object containerBo = getFeatureProvider().getBusinessObjectForPictogramElement(context.getSourceContainer());
        if (containerBo instanceof SubProcess) {
          SubProcess subProcess = (SubProcess) containerBo;
          subProcess.removeFlowElement(event.getId());
          for (SequenceFlow flow : event.getOutgoingFlows()) {
            subProcess.removeFlowElement(flow.getId());
          }
        } else if (containerBo instanceof Lane) {
          Lane lane = (Lane) containerBo;
          lane.getFlowReferences().remove(event.getId());
          lane.getParentProcess().removeFlowElement(event.getId());
          for (SequenceFlow flow : event.getOutgoingFlows()) {
            lane.getParentProcess().removeFlowElement(flow.getId());
          }
        }
      } else {
        model.getBpmnModel().getMainProcess().removeFlowElement(event.getId());
        for (SequenceFlow flow : event.getOutgoingFlows()) {
          model.getBpmnModel().getMainProcess().removeFlowElement(flow.getId());
        }
      }
     
      if (context.getTargetContainer() instanceof Diagram == false) {
        Object containerBo = getFeatureProvider().getBusinessObjectForPictogramElement(context.getTargetContainer());
        if (containerBo instanceof SubProcess) {
          SubProcess subProcess = (SubProcess) containerBo;
          subProcess.addFlowElement(event);
          for (SequenceFlow flow : event.getOutgoingFlows()) {
            subProcess.addFlowElement(flow);
          }
        } else if (containerBo instanceof Lane) {
          Lane lane = (Lane) containerBo;
          lane.getFlowReferences().add(event.getId());
          lane.getParentProcess().addFlowElement(event);
View Full Code Here

        if (element instanceof SequenceFlow) {
          updateSequenceFlow((SequenceFlow) element);
        } else if (element instanceof FlowElement) {
          updateFlowElement(element);
          if(element instanceof SubProcess) {
            SubProcess subProcess = (SubProcess) element;
            loopThroughElements(subProcess.getFlowElements(), subProcess);
            loopThroughElements(subProcess.getArtifacts(), subProcess);
          }
          if(element instanceof Activity) {
            Activity activity = (Activity) element;
            for (BoundaryEvent boundaryEvent : activity.getBoundaryEvents()) {
              updateFlowElement(boundaryEvent);
            }
          }
        } else if (element instanceof Artifact) {
          if (element instanceof Association) {
            updateAssociation((Association) element);
          } else {
            updateFlowElement(element);
          }
        }
      } else {
        // no pictogram exist so delete it from the model as well
        toDeleteElementList.add(element);
      }
    }
   
    if (toDeleteElementList.size() > 0) {
      if (parentElement instanceof Process) {
        Process process = (Process) parentElement;
        for (BaseElement toDeleteElement : toDeleteElementList) {
          process.removeFlowElement(toDeleteElement.getId());
          model.getBpmnModel().removeGraphicInfo(toDeleteElement.getId());
          model.getBpmnModel().removeFlowGraphicInfoList(toDeleteElement.getId());
          model.getBpmnModel().removeLabelGraphicInfo(toDeleteElement.getId());
        }
      } else if (parentElement instanceof SubProcess) {
        SubProcess subProcess = (SubProcess) parentElement;
        for (BaseElement toDeleteElement : toDeleteElementList) {
          subProcess.removeFlowElement(toDeleteElement.getId());
          model.getBpmnModel().removeGraphicInfo(toDeleteElement.getId());
          model.getBpmnModel().removeFlowGraphicInfoList(toDeleteElement.getId());
          model.getBpmnModel().removeLabelGraphicInfo(toDeleteElement.getId());
        }
      }
View Full Code Here

      } else {
        throw new IllegalArgumentException("BaseElement must be FlowElement or Artifact.");
      }
     
    } else if (container instanceof SubProcess) {
      final SubProcess subProcess = (SubProcess) container;
     
      if (baseElement instanceof FlowElement) {
        subProcess.addFlowElement((FlowElement) baseElement);
      } else if (baseElement instanceof Artifact) {
        subProcess.addArtifact((Artifact) baseElement);
      } else {
        throw new IllegalArgumentException("BaseElement must be FlowElement or Artifact.");
      }
    } else {
      throw new IllegalArgumentException("Container must be Process or SubProcess.");
View Full Code Here

        if(attachedToElement != null) {
          boundaryEvent.setAttachedToRef((Activity) attachedToElement);
          ((Activity) attachedToElement).getBoundaryEvents().add(boundaryEvent);
        }
      } else if(flowElement instanceof SubProcess) {
        SubProcess subProcess = (SubProcess) flowElement;
        processFlowElements(subProcess.getFlowElements(), subProcess);
      }
    }
  }
View Full Code Here

  private void createXML(FlowElement flowElement, XMLStreamWriter xtw) throws Exception {
   
    if (flowElement instanceof SubProcess) {
     
      SubProcess subProcess = (SubProcess) flowElement;
      xtw.writeStartElement(ELEMENT_SUBPROCESS);
      xtw.writeAttribute(ATTRIBUTE_ID, subProcess.getId());
      if (StringUtils.isNotEmpty(subProcess.getName())) {
        xtw.writeAttribute(ATTRIBUTE_NAME, subProcess.getName());
      } else {
        xtw.writeAttribute(ATTRIBUTE_NAME, "subProcess");
      }
     
      if (subProcess instanceof EventSubProcess) {
        xtw.writeAttribute(ATTRIBUTE_TRIGGERED_BY, "true");
      }
     
      if (StringUtils.isNotEmpty(subProcess.getDocumentation())) {

        xtw.writeStartElement(ELEMENT_DOCUMENTATION);
        xtw.writeCharacters(subProcess.getDocumentation());
        xtw.writeEndElement();
      }
     
      for (FlowElement subElement : subProcess.getFlowElements()) {
        createXML(subElement, xtw);
      }
     
      xtw.writeEndElement();
     
View Full Code Here

TOP

Related Classes of org.activiti.bpmn.model.SubProcess

Copyright © 2018 www.massapicom. 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.