blob: 7d567b23c6556a69bc4efb6d58a3b591d5933192 [file] [log] [blame]
<?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>