diff --git a/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/validation/XSDClasspathResourceResolver.java b/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/validation/XSDClasspathResourceResolver.java index 72b66d29..57c246a6 100644 --- a/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/validation/XSDClasspathResourceResolver.java +++ b/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/validation/XSDClasspathResourceResolver.java @@ -2,6 +2,7 @@ import java.io.InputStream; import java.io.InputStreamReader; +import java.io.Reader; import org.w3c.dom.ls.LSInput; import org.w3c.dom.ls.LSResourceResolver; @@ -17,4 +18,89 @@ public LSInput resolveResource(String type, String namespaceURI, String publicId input.setCharacterStream(new InputStreamReader(stream)); return input; } + + /** + * Inner class implementing a LSInput + */ + class XSDLSInputImpl implements LSInput { + private Reader characterStream; + private InputStream byteStream; + private String stringData; + private String systemId; + private String publicId; + private String baseURI; + private String encoding; + private boolean certifiedText; + + // Getters and setters here + public Reader getCharacterStream() { + return characterStream; + } + + public void setCharacterStream(Reader characterStream) { + this.characterStream = characterStream; + } + + public InputStream getByteStream() { + return byteStream; + } + + public void setByteStream(InputStream byteStream) { + this.byteStream = byteStream; + } + + public String getStringData() { + return stringData; + } + + public void setStringData(String stringData) { + this.stringData = stringData; + } + + public String getSystemId() { + return systemId; + } + + public void setSystemId(String systemId) { + this.systemId = systemId; + } + + public String getPublicId() { + return publicId; + } + + public void setPublicId(String publicId) { + this.publicId = publicId; + } + + public String getBaseURI() { + return baseURI; + } + + public void setBaseURI(String baseURI) { + this.baseURI = baseURI; + } + + public String getEncoding() { + return encoding; + } + + public void setEncoding(String encoding) { + this.encoding = encoding; + } + + public boolean isCertifiedText() { + return certifiedText; + } + + public void setCertifiedText(boolean certifiedText) { + this.certifiedText = certifiedText; + } + + @Override + public boolean getCertifiedText() { + throw new UnsupportedOperationException("Unimplemented method 'getCertifiedText'"); + } + } + } \ No newline at end of file diff --git a/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/validation/XSDLSInputImpl.java b/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/validation/XSDLSInputImpl.java deleted file mode 100644 index 657d3077..00000000 --- a/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/validation/XSDLSInputImpl.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.openbpmn.bpmn.validation; - -import java.io.InputStream; -import java.io.Reader; - -import org.w3c.dom.ls.LSInput; - -public class XSDLSInputImpl implements LSInput { - private Reader characterStream; - private InputStream byteStream; - private String stringData; - private String systemId; - private String publicId; - private String baseURI; - private String encoding; - private boolean certifiedText; - - // Getters and setters here - public Reader getCharacterStream() { - return characterStream; - } - - public void setCharacterStream(Reader characterStream) { - this.characterStream = characterStream; - } - - public InputStream getByteStream() { - return byteStream; - } - - public void setByteStream(InputStream byteStream) { - this.byteStream = byteStream; - } - - public String getStringData() { - return stringData; - } - - public void setStringData(String stringData) { - this.stringData = stringData; - } - - public String getSystemId() { - return systemId; - } - - public void setSystemId(String systemId) { - this.systemId = systemId; - } - - public String getPublicId() { - return publicId; - } - - public void setPublicId(String publicId) { - this.publicId = publicId; - } - - public String getBaseURI() { - return baseURI; - } - - public void setBaseURI(String baseURI) { - this.baseURI = baseURI; - } - - public String getEncoding() { - return encoding; - } - - public void setEncoding(String encoding) { - this.encoding = encoding; - } - - public boolean isCertifiedText() { - return certifiedText; - } - - public void setCertifiedText(boolean certifiedText) { - this.certifiedText = certifiedText; - } - - @Override - public boolean getCertifiedText() { - throw new UnsupportedOperationException("Unimplemented method 'getCertifiedText'"); - } -} diff --git a/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/validation/XSDValidator.java b/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/validation/XSDValidator.java index 51ce0672..44b4bc91 100644 --- a/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/validation/XSDValidator.java +++ b/open-bpmn.metamodel/src/main/java/org/openbpmn/bpmn/validation/XSDValidator.java @@ -13,41 +13,45 @@ import org.xml.sax.SAXException; +/** + * + * The XSDValidator can be used for a strict validation of a BPMN file against + * the BPMNF 2.0 XSD files. The XSD files are part of this package. + * + * The validation is a strict mode and is not used directly in the Open-BPMN + * validation architecture. + * + * See also + * + * https://stackoverflow.com/questions/2342808/how-to-validate-an-xml-file-using-java-with-an-xsd-having-an-include + * + * https://blog.frankel.ch/xml-validation-with-importedincluded-schemas/ + * + */ public class XSDValidator { private static Logger logger = Logger.getLogger(XSDValidator.class.getName()); public boolean validate(String xmlFilePath) throws SAXException, IOException { - // Path to the XSD files + // Path to the XSD files (located in class path) String xsdFilePath1 = "/BPMN20.xsd"; InputStream xmlInputStream = getClass().getResourceAsStream(xmlFilePath); InputStream xsdInputStream1 = getClass().getResourceAsStream(xsdFilePath1); - if (xmlInputStream == null || xsdInputStream1 == null) { - - } - logger.info("...validate model..."); + logger.finest("...validate bpmn 2.0 model..."); // create SchemaFactory - SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); schemaFactory.setResourceResolver(new XSDClasspathResourceResolver()); - - // Lade die XSD-Dateien in ein Schema + // create the validator from BPMN 2.0 Schema Schema schema = schemaFactory.newSchema(new Source[] { new StreamSource(xsdInputStream1) }); - - // Erstelle einen Validator aus dem Schema Validator validator = schema.newValidator(); - - // Validiere die XML-Datei validator.validate(new StreamSource(xmlInputStream)); - System.out.println("Validation successful."); - - logger.info("...validation completed"); + logger.finest("...validation completed"); return true; } diff --git a/open-bpmn.metamodel/src/main/resources/BPMNDI.xsd b/open-bpmn.metamodel/src/main/resources/BPMNDI.xsd index 75e2995f..8912da5f 100644 --- a/open-bpmn.metamodel/src/main/resources/BPMNDI.xsd +++ b/open-bpmn.metamodel/src/main/resources/BPMNDI.xsd @@ -1,99 +1,104 @@ - + + + + + + + + + + + - - - - - - - - - - - - + + - + - + - + - + - - - - + + + + - + - + - - - - - - - + + + + + + + - + - + - + - + - + - - - - - - + + + + + + - + - - + + diff --git a/open-bpmn.metamodel/src/test/java/org/openbpmn/dom/ClasspathResourceResolver.java b/open-bpmn.metamodel/src/test/java/org/openbpmn/dom/ClasspathResourceResolver.java deleted file mode 100644 index 7118f0e9..00000000 --- a/open-bpmn.metamodel/src/test/java/org/openbpmn/dom/ClasspathResourceResolver.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.openbpmn.dom; - -import java.io.InputStream; -import java.io.InputStreamReader; - -import org.w3c.dom.ls.LSInput; -import org.w3c.dom.ls.LSResourceResolver; - -public class ClasspathResourceResolver implements LSResourceResolver { - @Override - public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) { - LSInputImpl input = new LSInputImpl(); - InputStream stream = getClass().getClassLoader().getResourceAsStream(systemId); - input.setPublicId(publicId); - input.setSystemId(systemId); - input.setBaseURI(baseURI); - input.setCharacterStream(new InputStreamReader(stream)); - return input; - } -} \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/java/org/openbpmn/dom/LSInputImpl.java b/open-bpmn.metamodel/src/test/java/org/openbpmn/dom/LSInputImpl.java deleted file mode 100644 index 5d43a692..00000000 --- a/open-bpmn.metamodel/src/test/java/org/openbpmn/dom/LSInputImpl.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.openbpmn.dom; - -import java.io.InputStream; -import java.io.Reader; - -import org.w3c.dom.ls.LSInput; - -public class LSInputImpl implements LSInput { - private Reader characterStream; - private InputStream byteStream; - private String stringData; - private String systemId; - private String publicId; - private String baseURI; - private String encoding; - private boolean certifiedText; - - // Getters and setters here - public Reader getCharacterStream() { - return characterStream; - } - - public void setCharacterStream(Reader characterStream) { - this.characterStream = characterStream; - } - - public InputStream getByteStream() { - return byteStream; - } - - public void setByteStream(InputStream byteStream) { - this.byteStream = byteStream; - } - - public String getStringData() { - return stringData; - } - - public void setStringData(String stringData) { - this.stringData = stringData; - } - - public String getSystemId() { - return systemId; - } - - public void setSystemId(String systemId) { - this.systemId = systemId; - } - - public String getPublicId() { - return publicId; - } - - public void setPublicId(String publicId) { - this.publicId = publicId; - } - - public String getBaseURI() { - return baseURI; - } - - public void setBaseURI(String baseURI) { - this.baseURI = baseURI; - } - - public String getEncoding() { - return encoding; - } - - public void setEncoding(String encoding) { - this.encoding = encoding; - } - - public boolean isCertifiedText() { - return certifiedText; - } - - public void setCertifiedText(boolean certifiedText) { - this.certifiedText = certifiedText; - } - - @Override - public boolean getCertifiedText() { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getCertifiedText'"); - } -} \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/java/org/openbpmn/dom/TestValidate.java b/open-bpmn.metamodel/src/test/java/org/openbpmn/dom/TestValidate.java deleted file mode 100644 index 855ca103..00000000 --- a/open-bpmn.metamodel/src/test/java/org/openbpmn/dom/TestValidate.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.openbpmn.dom; - -import static org.junit.jupiter.api.Assertions.fail; - -import java.io.IOException; -import java.io.InputStream; -import java.util.logging.Logger; - -import javax.xml.XMLConstants; -import javax.xml.transform.Source; -import javax.xml.transform.stream.StreamSource; -import javax.xml.validation.Schema; -import javax.xml.validation.SchemaFactory; -import javax.xml.validation.Validator; - -import org.junit.jupiter.api.Test; -import org.openbpmn.bpmn.exceptions.BPMNModelException; -import org.openbpmn.bpmn.validation.XSDValidator; -import org.xml.sax.SAXException; - -/** - * This test class reads and validates a bpmn file against the XSD schemata. - * - * See also - * - * https://stackoverflow.com/questions/2342808/how-to-validate-an-xml-file-using-java-with-an-xsd-having-an-include - * - * https://blog.frankel.ch/xml-validation-with-importedincluded-schemas/ - * - * @author rsoika - * - */ -public class TestValidate { - - private static Logger logger = Logger.getLogger(TestValidate.class.getName()); - - /** - * This test parses a bpmn file - * - * @throws BPMNModelException - */ - @Test - public void testReadEmptyModel() throws BPMNModelException { - // Path to the XML file you want to validate - String xmlFilePath = "/xsd/test-01.bpmn"; - - // Path to the XSD files - String xsdFilePath1 = "/xsd/BPMN20.xsd"; - - InputStream xmlInputStream = getClass().getResourceAsStream(xmlFilePath); - InputStream xsdInputStream1 = getClass().getResourceAsStream(xsdFilePath1); - - if (xmlInputStream == null || xsdInputStream1 == null) { - fail("Failed to load test resources."); - } - logger.info("...validate model..."); - - try { - // create SchemaFactory - - SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); - schemaFactory.setResourceResolver(new ClasspathResourceResolver()); - - // Lade die XSD-Dateien in ein Schema - Schema schema = schemaFactory.newSchema(new Source[] { - new StreamSource(xsdInputStream1) - }); - - // Erstelle einen Validator aus dem Schema - Validator validator = schema.newValidator(); - - // Validiere die XML-Datei - validator.validate(new StreamSource(xmlInputStream)); - - System.out.println("Validation successful."); - - } catch (SAXException | IOException e) { - System.err.println("Validation failed: " + e.getMessage()); - e.printStackTrace(); - fail(); - } - - logger.info("...validation completed"); - } - - /** - * Test the XSDValidator - * - * @throws BPMNModelException - */ - @Test - public void testXSDValidator() throws BPMNModelException { - // Path to the XML file you want to validate - String xmlFilePath = "/xsd/test-01.bpmn"; - - try { - - XSDValidator xsdValidator = new XSDValidator(); - - boolean result = xsdValidator.validate(xmlFilePath); - - if (result) { - System.out.println("Validation successful."); - } else { - fail(); - } - - } catch (SAXException | IOException e) { - System.err.println("Validation failed: " + e.getMessage()); - e.printStackTrace(); - fail(); - } - - logger.info("...validation completed"); - } - -} diff --git a/open-bpmn.metamodel/src/test/java/org/openbpmn/dom/TestXSDValidation.java b/open-bpmn.metamodel/src/test/java/org/openbpmn/dom/TestXSDValidation.java new file mode 100644 index 00000000..358dbe59 --- /dev/null +++ b/open-bpmn.metamodel/src/test/java/org/openbpmn/dom/TestXSDValidation.java @@ -0,0 +1,54 @@ +package org.openbpmn.dom; + +import static org.junit.jupiter.api.Assertions.fail; + +import java.io.IOException; +import java.util.logging.Logger; + +import org.junit.jupiter.api.Test; +import org.openbpmn.bpmn.exceptions.BPMNModelException; +import org.openbpmn.bpmn.validation.XSDValidator; +import org.xml.sax.SAXException; + +/** + * This test class reads and validates a bpmn file against the XSD schemata. + * + * @author rsoika + * + */ +public class TestXSDValidation { + + private static Logger logger = Logger.getLogger(TestXSDValidation.class.getName()); + + /** + * Test the XSDValidator + * + * @throws BPMNModelException + */ + @Test + public void testXSDValidator() throws BPMNModelException { + // Path to the XML file you want to validate + String xmlFilePath = "/xsd/test-01.bpmn"; + + try { + + XSDValidator xsdValidator = new XSDValidator(); + + boolean result = xsdValidator.validate(xmlFilePath); + + if (result) { + System.out.println("Validation successful."); + } else { + fail(); + } + + } catch (SAXException | IOException e) { + System.err.println("Validation failed: " + e.getMessage()); + e.printStackTrace(); + fail(); + } + + logger.info("...validation completed"); + } + +} diff --git a/open-bpmn.metamodel/src/test/resources/BPMN20.xsd b/open-bpmn.metamodel/src/test/resources/BPMN20.xsd deleted file mode 100644 index 4d811106..00000000 --- a/open-bpmn.metamodel/src/test/resources/BPMN20.xsd +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/resources/BPMNDI.xsd b/open-bpmn.metamodel/src/test/resources/BPMNDI.xsd deleted file mode 100644 index 75e2995f..00000000 --- a/open-bpmn.metamodel/src/test/resources/BPMNDI.xsd +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/resources/DC.xsd b/open-bpmn.metamodel/src/test/resources/DC.xsd deleted file mode 100644 index 8b622c33..00000000 --- a/open-bpmn.metamodel/src/test/resources/DC.xsd +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/resources/DI.xsd b/open-bpmn.metamodel/src/test/resources/DI.xsd deleted file mode 100644 index aa985889..00000000 --- a/open-bpmn.metamodel/src/test/resources/DI.xsd +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/resources/Semantic.xsd b/open-bpmn.metamodel/src/test/resources/Semantic.xsd deleted file mode 100644 index 6d380b33..00000000 --- a/open-bpmn.metamodel/src/test/resources/Semantic.xsd +++ /dev/null @@ -1,1559 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/resources/xsd/BPMN20.xsd b/open-bpmn.metamodel/src/test/resources/xsd/BPMN20.xsd deleted file mode 100644 index 4d811106..00000000 --- a/open-bpmn.metamodel/src/test/resources/xsd/BPMN20.xsd +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/resources/xsd/BPMNDI.xsd b/open-bpmn.metamodel/src/test/resources/xsd/BPMNDI.xsd deleted file mode 100644 index 75e2995f..00000000 --- a/open-bpmn.metamodel/src/test/resources/xsd/BPMNDI.xsd +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/resources/xsd/DC.xsd b/open-bpmn.metamodel/src/test/resources/xsd/DC.xsd deleted file mode 100644 index 8b622c33..00000000 --- a/open-bpmn.metamodel/src/test/resources/xsd/DC.xsd +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/resources/xsd/DI.xsd b/open-bpmn.metamodel/src/test/resources/xsd/DI.xsd deleted file mode 100644 index aa985889..00000000 --- a/open-bpmn.metamodel/src/test/resources/xsd/DI.xsd +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/resources/xsd/Semantic.xsd b/open-bpmn.metamodel/src/test/resources/xsd/Semantic.xsd deleted file mode 100644 index 6d380b33..00000000 --- a/open-bpmn.metamodel/src/test/resources/xsd/Semantic.xsd +++ /dev/null @@ -1,1559 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/open-bpmn.metamodel/src/test/resources/xsd/test-01.bpmn b/open-bpmn.metamodel/src/test/resources/xsd/test-01.bpmn index 9383cb2c..12bdca45 100644 --- a/open-bpmn.metamodel/src/test/resources/xsd/test-01.bpmn +++ b/open-bpmn.metamodel/src/test/resources/xsd/test-01.bpmn @@ -15,9 +15,9 @@ true + - - - - - - - - - + - - - - -