diff --git a/open-bpmn.glsp-client/workspace/demo/posteingang-de-1.0.0-test-ki.bpmn b/open-bpmn.glsp-client/workspace/demo/posteingang-de-1.0.0-test-ki.bpmn
index 6cdea776..8016f09d 100644
--- a/open-bpmn.glsp-client/workspace/demo/posteingang-de-1.0.0-test-ki.bpmn
+++ b/open-bpmn.glsp-client/workspace/demo/posteingang-de-1.0.0-test-ki.bpmn
@@ -66,10 +66,11 @@ Possible ImageTypes are:
* GRAY Shades of gray
* RGB Red, Green, Blue
+
-
+
Task_4
@@ -708,7 +709,9 @@ Max 10 PDF Pages will be scanned
-
+
+
+
@@ -886,9 +889,9 @@ Max 10 PDF Pages will be scanned
-
-
-
+
+
+
@@ -910,24 +913,24 @@ Max 10 PDF Pages will be scanned
-
+
-
-
-
+
+
+
-
+
-
+
diff --git a/open-bpmn.glsp-client/workspace/demo/rechnungseingang-3.0.9.bpmn b/open-bpmn.glsp-client/workspace/demo/rechnungseingang-3.0.9.bpmn
index 21f148c7..2faaa08a 100644
--- a/open-bpmn.glsp-client/workspace/demo/rechnungseingang-3.0.9.bpmn
+++ b/open-bpmn.glsp-client/workspace/demo/rechnungseingang-3.0.9.bpmn
@@ -107,7 +107,7 @@ Das ist eine automatische generierte E-Mail. Bitte nicht auf diese E-Mail antwor
-
+
EndEvent_1
@@ -2903,8 +2903,8 @@ Compute _subject and additional data fields.
-
-
+
+
@@ -2935,13 +2935,13 @@ Compute _subject and additional data fields.
-
+
-
-
+
+
@@ -2964,8 +2964,8 @@ Compute _subject and additional data fields.
-
-
+
+
@@ -3067,7 +3067,7 @@ Compute _subject and additional data fields.
-
+
@@ -3108,9 +3108,9 @@ Compute _subject and additional data fields.
-
-
-
+
+
+
@@ -3124,8 +3124,8 @@ Compute _subject and additional data fields.
-
-
+
+
@@ -3208,7 +3208,7 @@ Compute _subject and additional data fields.
-
+
@@ -3307,7 +3307,7 @@ Compute _subject and additional data fields.
-
+
@@ -3322,9 +3322,9 @@ Compute _subject and additional data fields.
-
-
-
+
+
+
diff --git a/open-bpmn.glsp-client/workspace/demo/store-test.bpmn b/open-bpmn.glsp-client/workspace/demo/store-test.bpmn
deleted file mode 100644
index 747d37d5..00000000
--- a/open-bpmn.glsp-client/workspace/demo/store-test.bpmn
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
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 58798004..4d3d375c 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
@@ -1927,22 +1927,34 @@ private void loadProcessList() throws BPMNModelException {
// find process
NodeList processList = definitions.getElementsByTagNameNS(getUri(BPMNNS.BPMN2), "process");
if (processList != null && processList.getLength() > 0) {
+
+ // first we need to test if all processes have a processType attribute or if we
+ // found at lease one public process!
for (int i = 0; i < processList.getLength(); i++) {
Element processElement = (Element) processList.item(i);
-
- String processType = processElement.getAttribute("processType");
- if (BPMNTypes.PROCESS_TYPE_PUBLIC.equals(processType)) {
+ if (BPMNTypes.PROCESS_TYPE_PUBLIC.equals(processElement.getAttribute("processType"))) {
publicCount++;
}
+ }
+
+ // now we can build the process list
+ for (int i = 0; i < processList.getLength(); i++) {
+ Element processElement = (Element) processList.item(i);
+
+ String processType = processElement.getAttribute("processType");
if (processType.isEmpty()) {
// fix missing element attribute!
- // if we did not find a public process, we default now to a public type
+ // if the model doese not contain at lease one public process, we default now to
+ // a public type
if (publicCount == 0) {
processType = BPMNTypes.PROCESS_TYPE_PUBLIC;
publicCount++;
} else {
+ // else set the process to a private type!
processType = BPMNTypes.PROCESS_TYPE_PRIVATE;
}
+ logger.warning(
+ "Set missing processType attribute for process " + processElement.getAttribute("id"));
processElement.setAttribute("processType", processType);
setDirty(true);
}