| <?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> |