Java Code Examples for org.activiti.bpmn.model.BoundaryEvent#getAttachedToRef()

The following examples show how to use org.activiti.bpmn.model.BoundaryEvent#getAttachedToRef() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BpmnAutoLayout.java    From activiti6-boot2 with Apache License 2.0 6 votes vote down vote up
protected void handleBoundaryEvents() {
  for (BoundaryEvent boundaryEvent : boundaryEvents) {
    mxGeometry geometry = new mxGeometry(0.8, 1.0, eventSize, eventSize);
    geometry.setOffset(new mxPoint(-(eventSize / 2), -(eventSize / 2)));
    geometry.setRelative(true);
    mxCell boundaryPort = new mxCell(null, geometry, "shape=ellipse;perimter=ellipsePerimeter");
    boundaryPort.setId("boundary-event-" + boundaryEvent.getId());
    boundaryPort.setVertex(true);

    Object portParent = null;
    if (boundaryEvent.getAttachedToRefId() != null) {
      portParent = generatedVertices.get(boundaryEvent.getAttachedToRefId());
    } else if (boundaryEvent.getAttachedToRef() != null) {
      portParent = generatedVertices.get(boundaryEvent.getAttachedToRef().getId());
    } else {
      throw new RuntimeException("Could not generate DI: boundaryEvent '" + boundaryEvent.getId() + "' has no attachedToRef");
    }

    graph.addCell(boundaryPort, portParent);
    generatedVertices.put(boundaryEvent.getId(), boundaryPort);
  }
}
 
Example 2
Source File: BoundaryEventParseHandler.java    From activiti6-boot2 with Apache License 2.0 6 votes vote down vote up
protected void executeParse(BpmnParse bpmnParse, BoundaryEvent boundaryEvent) {

    if (boundaryEvent.getAttachedToRef() == null) {
      logger.warn("Invalid reference in boundary event. Make sure that the referenced activity " + "is defined in the same scope as the boundary event " + boundaryEvent.getId());
      return;
    }

    EventDefinition eventDefinition = null;
    if (boundaryEvent.getEventDefinitions().size() > 0) {
      eventDefinition = boundaryEvent.getEventDefinitions().get(0);
    }

    if (eventDefinition instanceof TimerEventDefinition || eventDefinition instanceof ErrorEventDefinition || eventDefinition instanceof SignalEventDefinition
        || eventDefinition instanceof CancelEventDefinition || eventDefinition instanceof MessageEventDefinition || eventDefinition instanceof CompensateEventDefinition) {

      bpmnParse.getBpmnParserHandlers().parseElement(bpmnParse, eventDefinition);

    } else {
      // Should already be picked up by process validator on deploy, so this is just to be sure
      logger.warn("Unsupported boundary event type for boundary event " + boundaryEvent.getId());
    }

  }
 
Example 3
Source File: BoundaryEventXMLConverter.java    From activiti6-boot2 with Apache License 2.0 5 votes vote down vote up
@Override
protected void writeAdditionalAttributes(BaseElement element, BpmnModel model, XMLStreamWriter xtw) throws Exception {
  BoundaryEvent boundaryEvent = (BoundaryEvent) element;
  if (boundaryEvent.getAttachedToRef() != null) {
    writeDefaultAttribute(ATTRIBUTE_BOUNDARY_ATTACHEDTOREF, boundaryEvent.getAttachedToRef().getId(), xtw);
  }

  if (boundaryEvent.getEventDefinitions().size() == 1) {
    EventDefinition eventDef = boundaryEvent.getEventDefinitions().get(0);

    if (eventDef instanceof ErrorEventDefinition == false) {
      writeDefaultAttribute(ATTRIBUTE_BOUNDARY_CANCELACTIVITY, String.valueOf(boundaryEvent.isCancelActivity()).toLowerCase(), xtw);
    }
  }
}