| <?xml version="1.0" encoding="UTF-8"?> | |
| <?eclipse version="3.4"?> | |
| <plugin> | |
| <extension-point id="org.eclipse.bpmn2.modeler.runtime" name="BPMN2 Modeler Runtime Specialization" schema="schema/org.eclipse.bpmn2.modeler.runtime.exsd"/> | |
| <!-- EMF Extensions --> | |
| <extension | |
| point="org.eclipse.emf.ecore.factory_override"> | |
| <factory | |
| class="org.eclipse.bpmn2.modeler.core.model.Bpmn2ModelerFactory" | |
| uri="http://www.omg.org/spec/BPMN/20100524/MODEL-XMI"> | |
| </factory> | |
| </extension> | |
| <extension | |
| point="org.eclipse.emf.validation.constraintProviders"> | |
| <category | |
| name="Core BPMN 2.0 Constraints" | |
| id="org.eclipse.bpmn2.modeler.core.validation"/> | |
| <constraintProvider cache="true"> | |
| <package namespaceUri="http://www.omg.org/spec/BPMN/20100524/MODEL-XMI"/> | |
| <constraints categories="org.eclipse.bpmn2.modeler.core.validation"> | |
| <constraint | |
| lang="Java" | |
| class="org.eclipse.bpmn2.modeler.core.validation.ValidIdConstraint" | |
| severity="CANCEL" | |
| mode="Live" | |
| name="Valid IDs" | |
| id="org.eclipse.bpmn2.modeler.core.validation.ValidId" | |
| statusCode="1"> | |
| <description> | |
| IDs must be valid. | |
| </description> | |
| <message> | |
| The {0} ID must be a valid ID. | |
| </message> | |
| <target class="BaseElement"> | |
| <event name="Set"> | |
| <feature name="id"/> | |
| </event> | |
| <event name="Unset"> | |
| <feature name="id"/> | |
| </event> | |
| </target> | |
| </constraint> | |
| <constraint | |
| lang="OCL" | |
| severity="CANCEL" | |
| mode="Live" | |
| name="StartEventIncoming" | |
| id="org.eclipse.bpmn2.modeler.core.validation.StartEvent.incoming" | |
| statusCode="2" isEnabledByDefault="true"> | |
| <description>Start Event must not have incoming flows</description> | |
| <message>Start Event must not have incoming sequence flows.</message> | |
| <target class="StartEvent" /> | |
| <![CDATA[ | |
| self.incoming->isEmpty() | |
| ]]> | |
| </constraint> | |
| <constraint | |
| lang="OCL" | |
| severity="CANCEL" | |
| mode="Live" | |
| name="EndEventOutgoing" | |
| id="org.eclipse.bpmn2.modeler.core.validation.EndEvent.outgoing" | |
| statusCode="3" isEnabledByDefault="true"> | |
| <description>End Event must not have outgoing flows</description> | |
| <message>End Event must not have outgoing sequence flows.</message> | |
| <target class="EndEvent" /> | |
| <![CDATA[ | |
| self.outgoing->isEmpty() | |
| ]]> | |
| </constraint> | |
| <constraint | |
| lang="OCL" | |
| severity="CANCEL" | |
| mode="Live" | |
| name="UniqueId" | |
| id="org.eclipse.bpmn2.modeler.core.validation.BaseElement.id" | |
| statusCode="3" isEnabledByDefault="true"> | |
| <description>ID needs to be unique.</description> | |
| <message>ID needs to be unqiue.</message> | |
| <target class="BaseElement" /> | |
| <![CDATA[ | |
| self.id->notEmpty() implies bpmn2::BaseElement.allInstances()->select(s | s.id = self.id)->size() <= 1 | |
| ]]> | |
| </constraint> | |
| </constraints> | |
| </constraintProvider> | |
| </extension> | |
| <extension | |
| point="org.eclipse.emf.validation.constraintBindings"> | |
| <clientContext | |
| default="false" | |
| id="org.eclipse.bpmn2.modeler.core.validationContext"> | |
| <selector class="org.eclipse.bpmn2.modeler.core.validation.ValidationDelegateClientSelector"/> | |
| </clientContext> | |
| <binding | |
| context="org.eclipse.bpmn2.modeler.core.validationContext" | |
| category="org.eclipse.bpmn2.modeler.core.validation"/> | |
| </extension> | |
| <extension point="org.eclipse.emf.validation.validationListeners"> | |
| <listener class="org.eclipse.bpmn2.modeler.core.validation.ProblemsReporter"> | |
| <clientContext id="org.eclipse.bpmn2.modeler.core.validationContext"/> | |
| </listener> | |
| </extension> | |
| </plugin> |