diff --git a/open-bpmn.glsp-server/src/main/java/org/openbpmn/glsp/elements/pool/CreatePoolHandler.java b/open-bpmn.glsp-server/src/main/java/org/openbpmn/glsp/elements/pool/CreatePoolHandler.java index 8a1cebe9..71b51c20 100644 --- a/open-bpmn.glsp-server/src/main/java/org/openbpmn/glsp/elements/pool/CreatePoolHandler.java +++ b/open-bpmn.glsp-server/src/main/java/org/openbpmn/glsp/elements/pool/CreatePoolHandler.java @@ -15,14 +15,12 @@ ********************************************************************************/ package org.openbpmn.glsp.elements.pool; -import java.util.List; import java.util.Optional; import java.util.logging.Logger; import org.eclipse.emf.common.command.Command; import org.eclipse.glsp.graph.GPoint; import org.eclipse.glsp.server.actions.ActionDispatcher; -import org.eclipse.glsp.server.actions.SelectAction; import org.eclipse.glsp.server.operations.CreateNodeOperation; import org.eclipse.glsp.server.utils.GModelUtil; import org.openbpmn.bpmn.BPMNModel; @@ -84,8 +82,7 @@ public void executeOperation(final CreateNodeOperation operation) { } catch (BPMNModelException e) { e.printStackTrace(); } - modelState.reset(); - actionDispatcher.dispatchAfterNextUpdate(new SelectAction(List.of(participantID))); + modelState.refreshGModelState(); } @Override diff --git a/open-bpmn.glsp-server/src/main/java/org/openbpmn/glsp/operations/BPMNChangeRoutingPointsOperationHandler.java b/open-bpmn.glsp-server/src/main/java/org/openbpmn/glsp/operations/BPMNChangeRoutingPointsOperationHandler.java index fb77093c..b46b0d7a 100644 --- a/open-bpmn.glsp-server/src/main/java/org/openbpmn/glsp/operations/BPMNChangeRoutingPointsOperationHandler.java +++ b/open-bpmn.glsp-server/src/main/java/org/openbpmn/glsp/operations/BPMNChangeRoutingPointsOperationHandler.java @@ -53,7 +53,7 @@ public class BPMNChangeRoutingPointsOperationHandler extends GModelOperationHandler { private static Logger logger = Logger.getLogger(BPMNChangeRoutingPointsOperationHandler.class.getName()); - private boolean debug = true; + private boolean debug = false; @Inject protected BPMNGModelState modelState; @@ -64,7 +64,6 @@ public Optional createCommand(ChangeRoutingPointsOperation operation) { } private void executeOperation(final ChangeRoutingPointsOperation operation) { - boolean debug = true; List routingPoints = operation.getNewRoutingPoints(); if (debug) diff --git a/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/BPMNModel.java b/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/BPMNModel.java index 926ba0a2..58798004 100644 --- a/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/BPMNModel.java +++ b/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/BPMNModel.java @@ -181,8 +181,9 @@ public BPMNModel(Document doc) throws BPMNModelException { // Load BPMNPlane element.... loadBpmnPlane(); // init the participant and process list - loadParticipantList(); loadProcessList(); + loadParticipantList(); + // load global elements loadMessageList(); loadMessageFlowList(); @@ -483,21 +484,11 @@ public Participant addParticipant(String name, String processType) throws BPMNMo collaborationElement.appendChild(migratedParticipantNode); existingProcess.setAttribute("definitionalCollaborationRef", collaborationElement.getAttribute("id")); // finally add a new BPMNParticipant to the participant list - getParticipants().add(new Participant(this, migratedParticipantNode)); + getParticipants().add(new Participant(this, migratedParticipantNode, existingProcess)); } } - // create a new Dom node... - Element participantNode = createElement(BPMNNS.BPMN2, "participant"); - String participantID = BPMNModel.generateShortID("participant"); - participantNode.setAttribute("id", participantID); - participantNode.setAttribute("name", name); - this.collaborationElement.appendChild(participantNode); - // add BPMNParticipant instance - Participant bpmnParticipant = new Participant(this, participantNode); - getParticipants().add(bpmnParticipant); - // now create and add a new Process to this Participant... // @@ -507,8 +498,16 @@ public Participant addParticipant(String name, String processType) throws BPMNMo process.setAttribute("definitionalCollaborationRef", collaborationElement.getAttribute("id")); process.setName(name); - bpmnParticipant.setProcessRef(process.getId()); - bpmnParticipant.setBpmnProcess(process); + // create a new Dom node... + Element participantNode = createElement(BPMNNS.BPMN2, "participant"); + String participantID = BPMNModel.generateShortID("participant"); + participantNode.setAttribute("id", participantID); + participantNode.setAttribute("name", name); + this.collaborationElement.appendChild(participantNode); + // add BPMNParticipant instance + Participant bpmnParticipant = new Participant(this, participantNode, process); + getParticipants().add(bpmnParticipant); + // create the pool shape createPool(bpmnParticipant); @@ -587,25 +586,25 @@ protected BPMNProcess buildProcess(String id, String name, String type) throws B } } // xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" - Element process = createElement(BPMNNS.BPMN2, "process"); - logger.fine(process.getNodeName()); - logger.fine(process.getLocalName()); - logger.fine(process.getNamespaceURI()); - process.setAttribute("id", id); + Element processElement = createElement(BPMNNS.BPMN2, "process"); + logger.fine(processElement.getNodeName()); + logger.fine(processElement.getLocalName()); + logger.fine(processElement.getNamespaceURI()); + processElement.setAttribute("id", id); // set optional name if (name != null) { - process.setAttribute("name", name); + processElement.setAttribute("name", name); } // set type if (type == null || type.isEmpty()) { type = BPMNTypes.PROCESS_TYPE_PUBLIC; } - process.setAttribute("processType", type); + processElement.setAttribute("processType", type); - definitions.insertBefore(process, this.getBpmnDiagram()); + definitions.insertBefore(processElement, this.getBpmnDiagram()); - BPMNProcess bpmnProcess = new BPMNProcess(this, process, type); + BPMNProcess bpmnProcess = new BPMNProcess(this, processElement, type); this.getProcesses().add(bpmnProcess); // add an empty BPMNPlane tag @@ -1851,6 +1850,7 @@ public static void debug(String message) { * @throws BPMNModelException */ private void loadParticipantList() throws BPMNModelException { + int publicCount = 0; participants = new LinkedHashSet(); List invalidParticipantElementList = new ArrayList(); NodeList collaborationNodeList = definitions.getElementsByTagName(getPrefix(BPMNNS.BPMN2) + "collaboration"); @@ -1864,7 +1864,6 @@ private void loadParticipantList() throws BPMNModelException { logger.fine("..found " + participantList.getLength() + " participants"); for (int i = 0; i < participantList.getLength(); i++) { Element item = (Element) participantList.item(i); - Participant participant; String processRef = item.getAttribute("processRef"); if (processRef == null || processRef.isEmpty()) { // See issue #299 @@ -1873,17 +1872,39 @@ private void loadParticipantList() throws BPMNModelException { invalidParticipantElementList.add(item); continue; } - participant = new Participant(this, item); - // set processRef - participant.setProcessRef(item.getAttribute("processRef")); - // update process... - participants.add(participant); + BPMNProcess process = findProcessById(processRef); + if (process != null) { + if (process.isPublicProcess()) { + publicCount++; + } + participants.add(new Participant(this, item, process)); + } } // remove deprecated participant elements form model for (Element _participant : invalidParticipantElementList) { collaborationElement.removeChild(_participant); } + + // if we do not have a process at all or a public default process is missing in + // the participant list, we create a default process now + if (processes.size() == 0 || (participants.size() > 0 && publicCount == 0)) { + logger.warning( + "Invalid model structure: No public process node found - missing default process will be added..."); + // Do we have a normal process diagram? + // create a new default participant + addParticipant("Default Process", BPMNTypes.PROCESS_TYPE_PUBLIC); + // send a notification + this.setDirty(true); + this.getNotifications().add(new ModelNotification(ModelNotification.Severity.INFO, + "Default process created.", + "Empty model or missing public process. Default process was created successful.")); + + } else if (publicCount > 1) { + getLogger() + .warning("Invalid model structure! The model contains more than one public process instance!"); + } + } } @@ -1907,97 +1928,37 @@ private void loadProcessList() throws BPMNModelException { NodeList processList = definitions.getElementsByTagNameNS(getUri(BPMNNS.BPMN2), "process"); if (processList != null && processList.getLength() > 0) { for (int i = 0; i < processList.getLength(); i++) { - Element item = (Element) processList.item(i); - String id = item.getAttribute("id"); - if (id == null) { - id = ""; + Element processElement = (Element) processList.item(i); + + String processType = processElement.getAttribute("processType"); + if (BPMNTypes.PROCESS_TYPE_PUBLIC.equals(processType)) { + publicCount++; } - String processType = item.getAttribute("processType"); if (processType.isEmpty()) { - // we do not have a process Type provided. We now verify - // if the process ID is listed in the list of participants. - // If the participant has a shape (Pool) than the type is 'Private'. Otherwise - // it seems to be the public default process - for (Participant participant : participants) { - if (id.equals(participant.getProcessRef())) { - // do we have a pool for this participant? - if (participant.getBpmnShape() != null) { - processType = BPMNTypes.PROCESS_TYPE_PRIVATE; - } else { - // no Pool - so we assume this is the public process - processType = BPMNTypes.PROCESS_TYPE_PUBLIC; - publicCount++; - } - break; - } - } - } else { - if (BPMNTypes.PROCESS_TYPE_PUBLIC.equals(processType)) { + // fix missing element attribute! + // if we did not find a public process, we default now to a public type + if (publicCount == 0) { + processType = BPMNTypes.PROCESS_TYPE_PUBLIC; publicCount++; + } else { + processType = BPMNTypes.PROCESS_TYPE_PRIVATE; } + processElement.setAttribute("processType", processType); + setDirty(true); } - BPMNProcess bpmnProcess = new BPMNProcess(this, item, processType); + BPMNProcess bpmnProcess = new BPMNProcess(this, processElement, processType); processes.add(bpmnProcess); - // we need to update the containing Participant - // This assignment can only be done now because the loadParticipantList is - // called - // before this method. - Participant participant = bpmnProcess.findParticipant(); - if (participant != null) { - participant.setBpmnProcess(bpmnProcess); - } else { - // verify if we have a participant for this process. If not we create one. Issue - // # #297 - // - if (isCollaborationDiagram()) { - logger.warning("Process " + bpmnProcess.getId() - + " has no participant reference! Missing element will be added..."); - - // create a new Dom node... - Element participantNode = createElement(BPMNNS.BPMN2, "participant"); - String participantID = BPMNModel.generateShortID("participant"); - participantNode.setAttribute("id", participantID); - participantNode.setAttribute("name", bpmnProcess.getName()); - participantNode.setAttribute("processRef", bpmnProcess.getId()); - this.collaborationElement.appendChild(participantNode); - // update model - Participant _new_participant = new Participant(this, participantNode); - _new_participant.setBpmnProcess(bpmnProcess); - participants.add(_new_participant); - } - } - } } - // if we do not have a process at all or a public default process is missing in - // the participant list, we create a default process now - if (processes.size() == 0 || (participants.size() > 0 && publicCount == 0)) { - logger.warning( - "Invalid model structure: No public process node found - missing default process will be added..."); - // Do we have a normal process diagram? - if (!isCollaborationDiagram()) { - // just create the missing public default process - BPMNProcess publicProcess = buildProcess("process_" + (processes.size() + 1), "Default Process", - BPMNTypes.PROCESS_TYPE_PUBLIC); - processes.add(publicProcess); - } else { - // we have collaboration diagram with a missing default process - // create a new default participant - addParticipant("Default Process", BPMNTypes.PROCESS_TYPE_PUBLIC); - } - - // send a notification - this.setDirty(true); - this.getNotifications().add(new ModelNotification(ModelNotification.Severity.WARNING, - "Fixed missing default process!", - "Invalid model structure: No public process node was found. Missing default process was created automatically to fix this problem.")); - - } else if (publicCount > 1) { - getLogger().warning("Invalid model structure! The model contains more than one public process instance!"); + // in case we found not process at all, we create a default process now + if (processes.size() == 0) { + // just create the missing public default process + BPMNProcess publicProcess = buildProcess("process_1", + "Default Process", BPMNTypes.PROCESS_TYPE_PUBLIC); + processes.add(publicProcess); } } diff --git a/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/elements/Participant.java b/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/elements/Participant.java index 93edfb3d..849b61e9 100644 --- a/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/elements/Participant.java +++ b/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/elements/Participant.java @@ -27,8 +27,18 @@ public class Participant extends BPMNElementNode { protected BPMNLabel label = null; private String processRef = null; - public Participant(BPMNModel model, Element node) throws BPMNModelException { + /** + * Creates a new participant from a element node. The process is mandatory and + * defines the reference to an existing process within the current model. + * + * @param model + * @param node + * @param processRef + * @throws BPMNModelException + */ + public Participant(BPMNModel model, Element node, BPMNProcess process) throws BPMNModelException { super(model, node); + setBpmnProcess(process); // find the BPMNShape element. bpmnShape = (Element) model.findBPMNPlaneElement("BPMNShape", getId()); } diff --git a/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/examples/TestReadModelTypes.java b/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/examples/TestReadModelTypes.java index fc5dd0f6..8618a1ca 100644 --- a/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/examples/TestReadModelTypes.java +++ b/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/examples/TestReadModelTypes.java @@ -67,14 +67,14 @@ public void testReadCollaborationModelWithoutDefault() { logger.info("...read model"); model = BPMNModelFactory.read("/refmodel-2.bpmn"); - // we expect 3 Processes - assertEquals(3, model.getProcesses().size()); + // we expect 2 Processes + assertEquals(2, model.getProcesses().size()); BPMNProcess defaultProcess = model.openDefaultProces(); assertNotNull(defaultProcess); assertEquals(BPMNTypes.PROCESS_TYPE_PUBLIC, defaultProcess.getProcessType()); - // no activities expected - assertEquals(0, defaultProcess.getActivities().size()); + // one activity expected + assertEquals(1, defaultProcess.getActivities().size()); // Open process 1 BPMNProcess process1 = model.openProcess("Process_1"); @@ -113,7 +113,7 @@ public void testReadCollaborationModelWithDefault() { BPMNProcess defaultProcess = model.openDefaultProces(); assertNotNull(defaultProcess); assertEquals(BPMNTypes.PROCESS_TYPE_PUBLIC, defaultProcess.getProcessType()); - assertEquals("Process_3", defaultProcess.getId()); + assertEquals("Process_1", defaultProcess.getId()); assertEquals("Default Pool Process", defaultProcess.getName()); // 1 activities expected assertEquals(1, defaultProcess.getActivities().size()); diff --git a/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/external/TestBPMN_IO_Model.java b/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/external/TestBPMN_IO_Model.java index e214442e..07fc7cb0 100644 --- a/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/external/TestBPMN_IO_Model.java +++ b/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/external/TestBPMN_IO_Model.java @@ -44,7 +44,7 @@ public void testReadModel() { Set participants = model.getParticipants(); assertNotNull(participants); - assertEquals(3, participants.size()); + assertEquals(2, participants.size()); assertTrue(model.isCollaborationDiagram()); diff --git a/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/test/elements/TestBPMNLanes.java b/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/test/elements/TestBPMNLanes.java index 05c9c66e..84cc2734 100644 --- a/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/test/elements/TestBPMNLanes.java +++ b/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/test/elements/TestBPMNLanes.java @@ -12,15 +12,15 @@ import org.openbpmn.bpmn.BPMNModel; import org.openbpmn.bpmn.BPMNTypes; import org.openbpmn.bpmn.elements.Activity; +import org.openbpmn.bpmn.elements.BPMNProcess; import org.openbpmn.bpmn.elements.Lane; import org.openbpmn.bpmn.elements.Participant; -import org.openbpmn.bpmn.elements.BPMNProcess; import org.openbpmn.bpmn.elements.core.BPMNElementNode; import org.openbpmn.bpmn.exceptions.BPMNModelException; import org.openbpmn.bpmn.util.BPMNModelFactory; /** - * This test class is testing Lanes + * This test class is testing Lanes * * @author rsoika * @@ -31,7 +31,6 @@ public class TestBPMNLanes { static BPMNModel model = null; - /** * This test verifies the participant structure */ @@ -41,31 +40,28 @@ public void testReadLanes() { logger.info("...read model"); try { model = BPMNModelFactory.read("/refmodel-4.bpmn"); - + Participant participant = model.findParticipantById("Participant_1"); assertNotNull(participant); - + BPMNProcess process = participant.openProcess(); assertNotNull(process); BPMNElementNode bpmnFlowElement = process.findElementNodeById("StartEvent_4"); assertNotNull(bpmnFlowElement); - + // read laneset..... assertEquals(1, process.getLanes().size()); - } catch (BPMNModelException e) { e.printStackTrace(); fail(); } } - - - /** - * This test class tests creating a Collaboration model with a BPMNLane and test the behavior of the lane + * This test class tests creating a Collaboration model with a BPMNLane and test + * the behavior of the lane */ @Test public void testCreateCollaborationModelWithLane() { @@ -89,22 +85,22 @@ public void testCreateCollaborationModelWithLane() { BPMNProcess process = participantSales.openProcess(); // add a new Lane - Lane lane=process.addLane("Lane 1"); + Lane lane = process.addLane("Lane 1"); assertNotNull(lane); - + // add a task Activity task = process.addTask("task_1", "Task", BPMNTypes.TASK); // insert the task into the lane lane.insert(task); - + assertTrue(lane.contains(task)); - + Set flowElementList = lane.getFlowElementIDs(); assertNotNull(flowElementList); - assertEquals(1,flowElementList.size()); - assertEquals("task_1",flowElementList.iterator().next()); - + assertEquals(1, flowElementList.size()); + assertEquals("task_1", flowElementList.iterator().next()); + } catch (BPMNModelException e) { e.printStackTrace(); fail(); @@ -115,9 +111,6 @@ public void testCreateCollaborationModelWithLane() { logger.info("...model created sucessful: " + out); } - - - /** * This test loads a model and inserts a new Lane before an existing */ @@ -128,25 +121,23 @@ public void testInsertNewLaneBeforeOther() { logger.info("...read model"); try { model = BPMNModelFactory.read("/refmodel-5.bpmn"); - + Participant participant = model.findParticipantById("Participant_1"); assertNotNull(participant); - + BPMNProcess process = participant.openProcess(); assertNotNull(process); - // add new Lane... - Lane laneTest = process.addLane( "Lane Test"); + Lane laneTest = process.addLane("Lane Test"); assertNotNull(laneTest); // read laneset..... assertEquals(3, process.getLanes().size()); - - + // insert new test-lane before Lane 2 Lane lane2 = process.findLaneById("Lane_2"); - process.insertLaneBefore(laneTest, lane2) ;// laneTest.insertBefore(lane2); - + process.insertLaneBefore(laneTest, lane2);// laneTest.insertBefore(lane2); + model.save(out); } catch (BPMNModelException e) { @@ -154,7 +145,5 @@ public void testInsertNewLaneBeforeOther() { fail(); } } - - } diff --git a/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/test/elements/TestCollaborationModel.java b/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/test/elements/TestCollaborationModel.java index dad30b5e..217ec3c6 100644 --- a/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/test/elements/TestCollaborationModel.java +++ b/open-bpmn.metamodel/src/test/java/org/openbpmn/metamodel/test/elements/TestCollaborationModel.java @@ -47,7 +47,7 @@ public void testReadCollaborationModel() { Set participants = model.getParticipants(); assertNotNull(participants); - assertEquals(3, participants.size()); + assertEquals(2, participants.size()); // get first participant and load the process context Participant bpmnParticipant = participants.iterator().next(); diff --git a/open-bpmn.metamodel/src/test/resources/external/bpmn-io-test-model.bpmn b/open-bpmn.metamodel/src/test/resources/external/bpmn-io-test-model.bpmn index 65736eeb..88988cdd 100644 --- a/open-bpmn.metamodel/src/test/resources/external/bpmn-io-test-model.bpmn +++ b/open-bpmn.metamodel/src/test/resources/external/bpmn-io-test-model.bpmn @@ -1,7 +1,17 @@ - + - + @@ -9,16 +19,18 @@ - der jeweiligen Kategorie des Mitarbeiters einordnen -- Terminieren + - Terminieren - + !!! CHECKLISTE in der Aufgabe Qualität und Vollständigkeit der Kundenanfragen !!! -(Prozessverbesserungsboard) + (Prozessverbesserungsboard) -!!! Temporären Ordner erstellen !!! + !!! Temporären Ordner erstellen !!! - + - In die Kalkulationsvorlage @@ -27,12 +39,12 @@ Kommerzielle Bedingungen -- Zahlungsbedingungen -- Lieferbedingungen + - Zahlungsbedingungen + - Lieferbedingungen - Gewährleistung -- Bürgschaften + - Bürgschaften E-Mail in den eigenen Ordner "Erledigt" verschieben @@ -43,31 +55,41 @@ - In Betreffzeile der E-Mail z.B. AN#24000100 einfügen -- Auf Anfrage E-Mail Antworten + - Auf Anfrage E-Mail Antworten - Preis -- Technische Details -- Termine - - Projektierung - - Lieferung + - Technische Details + - Termine +  - Projektierung +  - Lieferung > 100 k Frau Schubert - - - - - - - - - + + + + + + + + + z.B. zu technischen Details oder Abgabefristen - + @@ -223,8 +245,10 @@ - - + + @@ -255,13 +279,15 @@ Flow_06ten8d Flow_0346hj0 - + Flow_1t6v8aa Flow_0346hj0 Flow_0mi6h81 - + @@ -271,7 +297,8 @@ !!! Zu eigenem Prozess umwandeln !!! - + Flow_0oxb85w @@ -311,7 +338,8 @@ Flow_02xegqj Flow_0fjy77m - + Flow_0fjy77m Flow_1dsp2xw @@ -391,41 +419,47 @@ Flow_1xw8vh3 Flow_0ku4vgk - + Flow_0o0mb3d Flow_05p3k6u Flow_1l98o2v - + Flow_1mg19vh Flow_1l98o2v Flow_1kcr00y - + Flow_1kcr00y Flow_16gqaxc Flow_0gxnhl6 - + Flow_051cn8f Flow_0gxnhl6 Flow_136tx7q - + Flow_16q8c02 Flow_0ku4vgk Flow_07kg6y2 - + Flow_1xw8vh3 Flow_16q8c02 @@ -452,11 +486,13 @@ Flow_1xntvu6 - + Flow_0djjpt8 - + Flow_0meaf1p Flow_1vqiwxo @@ -471,10 +507,13 @@ Flow_1vqiwxo Flow_1n8kv5u - - + + - + @@ -491,8 +530,10 @@ Flow_1838eyk Flow_16r92v8 - - + + @@ -509,8 +550,10 @@ Flow_1g1zwdb Flow_08vf7at - - + + @@ -527,66 +570,77 @@ Flow_0o00j88 Flow_1jcf1q1 - + Flow_0mt4az4 Flow_1jcf1q1 Flow_0o0mb3d - + !!! Ist das Gateway das richtige? !!! -Welche Art von Geschäfts liegt vor? + Welche Art von Geschäfts liegt vor? - + - In die Kalkulationsvorlage - + Mögliche Varianten: -- Sichtprüfung -- Funktionsprüfung (mit oder ohne Verbundprüfung) + - Sichtprüfung + - Funktionsprüfung (mit oder ohne Verbundprüfung) - + Besonderheiten prüfen: -- Frei Verwendungsstelle -- Incoterms + - Frei Verwendungsstelle + - Incoterms - + - Abschätzen oder beim externen Dienstleister anfragen - + Mögliche Varianten: -- Beigestellte Unterlagen -- Eigenprojektierung + - Beigestellte Unterlagen + - Eigenprojektierung - + - Montage -- Inbetriebnahme -- Wartungen -- Kapazitätstest + - Inbetriebnahme + - Wartungen + - Kapazitätstest - + Mögliche Varianten: -- Externe Batteriemontage und Inbetriebnahme -- Externer Kapazitätstest + - Externe Batteriemontage und Inbetriebnahme + - Externer Kapazitätstest - + - + Flow_0pju9qw Flow_18ervfp @@ -594,7 +648,8 @@ Welche Art von Geschäfts liegt vor? Flow_18ervfp Flow_0xewt9j - + Flow_0xewt9j Flow_0qoukhx @@ -732,16 +787,20 @@ Welche Art von Geschäfts liegt vor? Flow_0d6oxf8 - - + + - - + + @@ -753,30 +812,40 @@ Welche Art von Geschäfts liegt vor? - - + + - - + + - + - + - - + + - - + + @@ -793,7 +862,8 @@ Welche Art von Geschäfts liegt vor? - + @@ -820,71 +890,106 @@ Welche Art von Geschäfts liegt vor? - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -900,62 +1005,94 @@ Welche Art von Geschäfts liegt vor? - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -964,7 +1101,9 @@ Welche Art von Geschäfts liegt vor? - + @@ -976,58 +1115,83 @@ Welche Art von Geschäfts liegt vor? - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1058,7 +1222,8 @@ Welche Art von Geschäfts liegt vor? - + @@ -1320,20 +1485,29 @@ Welche Art von Geschäfts liegt vor? - + - + - + - + - + @@ -1445,11 +1619,13 @@ Welche Art von Geschäfts liegt vor? - + - + @@ -1473,44 +1649,64 @@ Welche Art von Geschäfts liegt vor? - + - + - + - + - + - + - + - + - + - + @@ -1522,59 +1718,82 @@ Welche Art von Geschäfts liegt vor? - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1847,47 +2066,60 @@ Welche Art von Geschäfts liegt vor? - + - + - + - + - + - + - + - + - + @@ -1895,18 +2127,21 @@ Welche Art von Geschäfts liegt vor? - + - + - + @@ -1924,29 +2159,37 @@ Welche Art von Geschäfts liegt vor? - + - + - + - + - + - + - + - + @@ -2001,13 +2244,19 @@ Welche Art von Geschäfts liegt vor? - + - + - + @@ -2028,4 +2277,4 @@ Welche Art von Geschäfts liegt vor? - + \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/resources/refmodel-3.bpmn b/open-bpmn.metamodel/src/test/resources/refmodel-3.bpmn index d3144fc2..40a99d10 100644 --- a/open-bpmn.metamodel/src/test/resources/refmodel-3.bpmn +++ b/open-bpmn.metamodel/src/test/resources/refmodel-3.bpmn @@ -1,16 +1,24 @@ - + - - - + + + - + - + SequenceFlow_3 @@ -21,10 +29,11 @@ SequenceFlow_3 SequenceFlow_4 - - + + - + SequenceFlow_1 @@ -35,10 +44,11 @@ SequenceFlow_1 SequenceFlow_2 - - + + - + SequenceFlow_5 @@ -49,116 +59,122 @@ SequenceFlow_5 SequenceFlow_6 - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - + \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/resources/refmodel-5.bpmn b/open-bpmn.metamodel/src/test/resources/refmodel-5.bpmn index b53e2e1e..7e9487f3 100644 --- a/open-bpmn.metamodel/src/test/resources/refmodel-5.bpmn +++ b/open-bpmn.metamodel/src/test/resources/refmodel-5.bpmn @@ -1,22 +1,30 @@ - + - + - + - + StartEvent_4 EndEvent_4 Task_2 - + SequenceFlow_7 @@ -28,63 +36,66 @@ SequenceFlow_7 SequenceFlow_8 - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - + + + + + - - - - - + + + + + - + \ No newline at end of file