コード例 #1
0
 private void validateOutgoingDefaultFlow() {
   Set<EdgeAdaptor> defaultFlows = new HashSet<EdgeAdaptor>(),
       conditionalFlows = new HashSet<EdgeAdaptor>();
   for (EdgeAdaptor edge : gateway.getOutgoingSequenceFlow()) {
     if (edge.isDefaultSequenceFlow()) {
       defaultFlows.add(edge);
     } else if (gateway.isDecisionGateway()) {
       conditionalFlows.add(edge);
     }
   }
   if (defaultFlows.size() > 1) {
     validator.addMessage("multipleDefaultFlows", gateway, defaultFlows);
   }
   if (!defaultFlows.isEmpty() && conditionalFlows.isEmpty() && !gateway.isDecisionGateway()) {
     validator.addMessage("defaultFlowFromGatewayWithNoDecision", gateway, defaultFlows);
   }
 }
コード例 #2
0
 private void checkForOutgoingConditionalFlows() {
   if (gateway.isEventBasedGateway()) {
     return;
   }
   Set<EdgeAdaptor> conditionalFlows = new HashSet<EdgeAdaptor>();
   for (EdgeAdaptor edge : gateway.getOutgoingSequenceFlow()) {
     if (edge.isConditionalSequenceFlow()) {
       conditionalFlows.add(edge);
     }
   }
   if (!conditionalFlows.isEmpty()) {
     String messageID =
         gateway.isDecisionGateway()
             ? "conditionalFlowFromDecisionGateway"
             : "conditionalFlowFromParallelGateway";
     validator.addMessage(messageID, gateway, conditionalFlows);
   }
 }
コード例 #3
0
 private void reportTooManyMessages(List<EdgeAdaptor> messages) {
   List<ProcessObjectAdaptor> related = new LinkedList<ProcessObjectAdaptor>(messages);
   validator.addMessage(tooManyMessagesTextID(), messageEvent, related);
 }
コード例 #4
0
 private void checkForNeedlessness() {
   if (model.getIncomingEdges(SequenceFlow.class, gateway).size() <= 1
       && model.getOutgoingEdges(SequenceFlow.class, gateway).size() <= 1) {
     validator.addMessage("uselessGateway", gateway);
   }
 }
コード例 #5
0
 private void reportNoMessages() {
   validator.addMessage(noMessagesTextID(), messageEvent);
 }