Package org.activiti.bpmn.model

Examples of org.activiti.bpmn.model.EventDefinition


   
    // Multiple message start events supported, but only one of the other types
    for (StartEvent startEvent : startEvents) {
      if (startEvent.getEventDefinitions() != null && !startEvent.getEventDefinitions().isEmpty()) {
       
        EventDefinition eventDefinition = startEvent.getEventDefinitions().get(0);
       
        if (!(eventDefinition instanceof MessageEventDefinition)) {
          nonMessageStartEvents.add(startEvent);
          if (!(eventDefinition instanceof TimerEventDefinition)
              && !(eventDefinition instanceof SignalEventDefinition)) {
View Full Code Here


    for (EventSubProcess eventSubprocess : eventSubprocesses) {
     
      List<StartEvent> startEvents = process.findFlowElementsInSubProcessOfType(eventSubprocess, StartEvent.class);
      for (StartEvent startEvent : startEvents) {
        if (startEvent.getEventDefinitions() != null && !startEvent.getEventDefinitions().isEmpty()) {
           EventDefinition eventDefinition = startEvent.getEventDefinitions().get(0);
           if (!(eventDefinition instanceof org.activiti.bpmn.model.ErrorEventDefinition)
                && !(eventDefinition instanceof MessageEventDefinition)
                && !(eventDefinition instanceof SignalEventDefinition)) {
             addError(errors, Problems.EVENT_SUBPROCESS_INVALID_START_EVENT_DEFINITION, process, eventSubprocess, "start event of event subprocess must be of type 'error', 'message' or 'signal'");
           }
View Full Code Here

  @Override
  protected void executeValidation(BpmnModel bpmnModel, Process process, List<ValidationError> errors) {
    List<ThrowEvent> throwEvents = process.findFlowElementsOfType(ThrowEvent.class);
    for (ThrowEvent throwEvent : throwEvents) {
       EventDefinition eventDefinition = null;
       if (!throwEvent.getEventDefinitions().isEmpty()) {
         eventDefinition = throwEvent.getEventDefinitions().get(0);
       }
      
       if (eventDefinition != null &&
View Full Code Here

  protected void executeValidation(BpmnModel bpmnModel, Process process, List<ValidationError> errors) {
    List<EndEvent> endEvents = process.findFlowElementsOfType(EndEvent.class);
    for (EndEvent endEvent : endEvents) {
      if (endEvent.getEventDefinitions() != null && !endEvent.getEventDefinitions().isEmpty()) {
       
        EventDefinition eventDefinition = endEvent.getEventDefinitions().get(0);
       
        // Error end event
        if (eventDefinition instanceof CancelEventDefinition) {
         
          FlowElementsContainer parent = process.findParent(endEvent);
View Full Code Here

      BoundaryEvent boundaryEvent = boundaryEvents.get(i);

      if (boundaryEvent.getEventDefinitions() != null
          && !boundaryEvent.getEventDefinitions().isEmpty()) {

        EventDefinition eventDefinition = boundaryEvent.getEventDefinitions().get(0);
        if (!(eventDefinition instanceof TimerEventDefinition)
            && !(eventDefinition instanceof ErrorEventDefinition)
            && !(eventDefinition instanceof SignalEventDefinition)
            && !(eventDefinition instanceof CancelEventDefinition)
            && !(eventDefinition instanceof MessageEventDefinition)
            && !(eventDefinition instanceof CompensateEventDefinition)) {

          addError(errors, Problems.BOUNDARY_EVENT_INVALID_EVENT_DEFINITION, process,
              boundaryEvent, "Invalid or unsupported event definition");
         
        }
       
        if (eventDefinition instanceof CancelEventDefinition) {
         
          FlowElement attachedToFlowElement = bpmnModel.getFlowElement(boundaryEvent.getAttachedToRefId());
          if (!(attachedToFlowElement instanceof Transaction)) {
            addError(errors, Problems.BOUNDARY_EVENT_CANCEL_ONLY_ON_TRANSACTION, process, boundaryEvent,
                "boundary event with cancelEventDefinition only supported on transaction subprocesses");
          } else {
            if (!cancelBoundaryEventsCounts.containsKey(attachedToFlowElement.getId())) {
              cancelBoundaryEventsCounts.put(attachedToFlowElement.getId(), new Integer(0));
            }
            cancelBoundaryEventsCounts.put(attachedToFlowElement.getId(), new Integer(cancelBoundaryEventsCounts.get(attachedToFlowElement.getId()) + 1));
          }
         
        } else if (eventDefinition instanceof CompensateEventDefinition) {

          if (!compensateBoundaryEventsCounts.containsKey(boundaryEvent.getAttachedToRefId())) {
            compensateBoundaryEventsCounts.put(boundaryEvent.getAttachedToRefId(), new Integer(0));
          }
          compensateBoundaryEventsCounts.put(boundaryEvent.getAttachedToRefId(), compensateBoundaryEventsCounts.get(boundaryEvent.getAttachedToRefId()) + 1);
         
        } else if (eventDefinition instanceof MessageEventDefinition) {
         
          // Check if other message boundary events with same message id
          for (int j=0; j < boundaryEvents.size(); j++) {
            if (j != i) {
              BoundaryEvent otherBoundaryEvent = boundaryEvents.get(j);
              if (otherBoundaryEvent.getAttachedToRefId() != null && otherBoundaryEvent.getAttachedToRefId().equals(boundaryEvent.getAttachedToRefId())) {
                if (otherBoundaryEvent.getEventDefinitions() != null && !otherBoundaryEvent
                                        .getEventDefinitions().isEmpty()) {
                  EventDefinition otherEventDefinition = otherBoundaryEvent.getEventDefinitions().get(0);
                  if (otherEventDefinition instanceof MessageEventDefinition) {
                    MessageEventDefinition currentMessageEventDefinition = (MessageEventDefinition) eventDefinition;
                    MessageEventDefinition otherMessageEventDefinition = (MessageEventDefinition) otherEventDefinition;
                    if (otherMessageEventDefinition.getMessageRef() != null
                        && otherMessageEventDefinition.getMessageRef().equals(currentMessageEventDefinition.getMessageRef())) {
View Full Code Here

        result = Activator.getImage(PluginImage.IMG_ENDEVENT_NONE);
      }
   
    } else if (context instanceof BoundaryEvent) {
      if(((BoundaryEvent) context).getEventDefinitions().size() > 0) {
        EventDefinition definition = ((BoundaryEvent) context).getEventDefinitions().get(0);
        if (definition instanceof ErrorEventDefinition) {
          result = Activator.getImage(PluginImage.IMG_BOUNDARY_ERROR);
        } else if (definition instanceof SignalEventDefinition) {
          result = Activator.getImage(PluginImage.IMG_BOUNDARY_SIGNAL);
        } else if (definition instanceof MessageEventDefinition) {
          result = Activator.getImage(PluginImage.IMG_BOUNDARY_MESSAGE);
        } else {
          result = Activator.getImage(PluginImage.IMG_BOUNDARY_TIMER);
        }
      }
    } else if (context instanceof IntermediateCatchEvent) {
      if(((IntermediateCatchEvent) context).getEventDefinitions().size() > 0) {
        EventDefinition definition = ((IntermediateCatchEvent) context).getEventDefinitions().get(0);
        if(definition instanceof SignalEventDefinition) {
          result = Activator.getImage(PluginImage.IMG_BOUNDARY_SIGNAL);
        } else {
          result = Activator.getImage(PluginImage.IMG_BOUNDARY_TIMER);
        }
View Full Code Here

     
      for (FlowElement flowElement : model.getMainProcess().getFlowElements()) {
        if (flowElement instanceof Event) {
          Event event = (Event) flowElement;
          if (event.getEventDefinitions().size() > 0) {
            EventDefinition eventDefinition = event.getEventDefinitions().get(0);
            if (eventDefinition instanceof SignalEventDefinition) {
              SignalEventDefinition signalEvent = (SignalEventDefinition) eventDefinition;
              if (model.containsSignalId(signalEvent.getSignalRef()) == false) {
                model.addSignal(signalEvent.getSignalRef(), signalEvent.getSignalRef());
              }
View Full Code Here

    assertNotNull(flowElement);
    assertTrue(flowElement instanceof IntermediateCatchEvent);
    assertEquals("catchEvent", flowElement.getId());
    IntermediateCatchEvent catchEvent = (IntermediateCatchEvent) flowElement;
    assertTrue(catchEvent.getEventDefinitions().size() == 1);
    EventDefinition eventDefinition = catchEvent.getEventDefinitions().get(0);
    assertTrue(eventDefinition instanceof TimerEventDefinition);
    TimerEventDefinition timerDefinition = (TimerEventDefinition) eventDefinition;
    assertEquals("PT5M", timerDefinition.getTimeDuration());
   
    flowElement = model.getMainProcess().getFlowElement("flow1Condition");
View Full Code Here

      return new AddParallelGatewayFeature(this);
    } else if (context.getNewObject() instanceof EventGateway) {
      return new AddEventGatewayFeature(this);
    } else if (context.getNewObject() instanceof BoundaryEvent) {
      if(((BoundaryEvent) context.getNewObject()).getEventDefinitions().size() > 0) {
        EventDefinition definition = ((BoundaryEvent) context.getNewObject()).getEventDefinitions().get(0);
        if(definition instanceof ErrorEventDefinition) {
          return new AddBoundaryErrorFeature(this);
        } else if(definition instanceof SignalEventDefinition) {
          return new AddBoundarySignalFeature(this);
        } else if(definition instanceof MessageEventDefinition) {
          return new AddBoundaryMessageFeature(this);
        } else {
          return new AddBoundaryTimerFeature(this);
        }
      }
    } else if (context.getNewObject() instanceof IntermediateCatchEvent) {
      if(((IntermediateCatchEvent) context.getNewObject()).getEventDefinitions().size() > 0) {
        EventDefinition definition = ((IntermediateCatchEvent) context.getNewObject()).getEventDefinitions().get(0);
        if(definition instanceof SignalEventDefinition) {
          return new AddSignalCatchingEventFeature(this);
        } else if(definition instanceof MessageEventDefinition) {
          return new AddMessageCatchingEventFeature(this);
        } else {
View Full Code Here

    boundaryEvent.setAttachedToRefId(xtr.getAttributeValue(null, ATTRIBUTE_BOUNDARY_ATTACHEDTOREF));
    parseChildElements(getXMLElementName(), boundaryEvent, xtr);
   
    // Explicitly set cancel activity to false for error boundary events
    if (boundaryEvent.getEventDefinitions().size() == 1) {
      EventDefinition eventDef = boundaryEvent.getEventDefinitions().get(0);
     
      if (eventDef instanceof ErrorEventDefinition) {
        boundaryEvent.setCancelActivity(false);
      }
    }
View Full Code Here

TOP

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

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.