Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsaadia dhouib2015-04-30 08:07:53 +0000
committersdhouib2015-05-28 12:54:07 +0000
commit406652e2bb7c6cd1865118006346057fe4fdb29e (patch)
treec064643b93d47fc57e70ffddc4000ec80f5ad163 /extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation
parentaae2a6a125db226ec5d104c3f2298ce7a80c4f9b (diff)
downloadorg.eclipse.papyrus-406652e2bb7c6cd1865118006346057fe4fdb29e.tar.gz
org.eclipse.papyrus-406652e2bb7c6cd1865118006346057fe4fdb29e.tar.xz
org.eclipse.papyrus-406652e2bb7c6cd1865118006346057fe4fdb29e.zip
First commit of SoaML plugins
Diffstat (limited to 'extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation')
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/.classpath7
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/.project28
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/META-INF/MANIFEST.MF15
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/build.properties8
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/plugin.properties3
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/plugin.xml245
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/Activator.java61
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/AgentClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/AttachmentClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CapabilityClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CatalogClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CategorizationClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CategoryClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CategoryValueClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CollaborationClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CollaborationUseClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ConsumerClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ExposeClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/FreeFormDescriptorClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/FreeFormValueClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/MessageTypeClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/MilestoneClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/MotivationRealizationClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/NodeDescriptorClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ParticipantClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/PortClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/PropertyClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ProviderClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/RequestClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceChannelClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceContractClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceInterfaceClientSelector.java29
-rw-r--r--extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServicesArchitectureClientSelector.java29
35 files changed, 1157 insertions, 0 deletions
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/.classpath b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/.classpath
new file mode 100644
index 00000000000..6e16b23d695
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/.project b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/.project
new file mode 100644
index 00000000000..b2782a494a6
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.soaml.profile.validation</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/.settings/org.eclipse.jdt.core.prefs b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..11f6e462df7
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/META-INF/MANIFEST.MF b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..7904196b899
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.emf.validation,
+ org.eclipse.papyrus.uml.service.validation,
+ org.eclipse.uml2.uml
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.1.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.soaml.profile.validation.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.soaml.profile.validation;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: plugin
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/build.properties b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/build.properties
new file mode 100644
index 00000000000..101b48bfd37
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/build.properties
@@ -0,0 +1,8 @@
+#
+#Tue Feb 17 14:05:49 CET 2015
+output..=bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ plugin.properties
+source..=src/,src
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/plugin.properties b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/plugin.properties
new file mode 100644
index 00000000000..2ef66374b18
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/plugin.properties
@@ -0,0 +1,3 @@
+#Properties file for org.eclipse.papyrus.soaml.profile.validation
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = SoaML Validation \ No newline at end of file
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/plugin.xml b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/plugin.xml
new file mode 100644
index 00000000000..e97cb262253
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/plugin.xml
@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?eclipse version="3.4"?><plugin>
+<extension point="org.eclipse.emf.validation.constraintProviders">
+ <category id="org.eclipse.papyrus.soaml.profile.validation.soaml" mandatory="false" name="org.eclipse.papyrus.soaml.profile.validation.soaml"/>
+ <constraintProvider cache="false" mode="Batch">
+ <package namespaceUri="http://Papyrus/SoaML/1"/>
+ <constraints categories="org.eclipse.papyrus.soaml.profile.validation.soaml">
+ <constraint id="SoaML.Agent.isActive" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="isActive" severity="ERROR" statusCode="1">
+ <message>Agent must be active</message><![CDATA[base_Class.isActive]]></constraint>
+ <constraint id="SoaML.MessageType.noOwnedBehaviors" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="noOwnedBehaviors" severity="ERROR" statusCode="1">
+ <message>MessageType cannot contain ownedBehaviors</message><![CDATA[self.base_Class<>null implies self.base_Class.ownedBehavior->size()=0]]></constraint>
+ <constraint id="SoaML.MessageType.noOwnedOperations" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="noOwnedOperations" severity="ERROR" statusCode="1">
+ <message>MessageType cannot contain ownedOperation</message><![CDATA[if self.base_Class<>null
+then self.base_Class.ownedOperation->size()=0
+else
+ if self.base_DataType<>null
+ then self.base_DataType.ownedOperation->size()=0
+ else self.base_Signal<>null implies true endif
+endif]]></constraint>
+ <constraint id="SoaML.MessageType.publicAttributes" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="publicAttributes" severity="ERROR" statusCode="1">
+ <message>All ownedAttributes must be Public</message><![CDATA[if self.base_Class<>null then self.base_Class.attribute->size()>0 implies self.base_Class.attribute->forAll (a|a.visibility=UML::VisibilityKind::public)
+ else
+ (if self.base_DataType<>null then
+ self.base_DataType.attribute->size()>0 implies self.base_DataType.attribute->forAll(a|a.visibility=UML::VisibilityKind::public)
+ else
+ self.base_Signal.attribute->size()>0 implies self.base_Signal.attribute-> forAll (a|a.visibility=UML::VisibilityKind::public)
+ endif)
+ endif]]></constraint>
+ <constraint id="SoaML.ServiceContract.RoleType" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="RoleType" severity="ERROR" statusCode="1">
+ <message>role type of ServiceContract must be a ServiceInterface or UML Interface or Class stereotyped as Provider or Consumer.</message><![CDATA[ self.base_Collaboration.role-> notEmpty() implies self.base_Collaboration.role-> forAll(role|
+ role.type.oclIsTypeOf(UML::Interface)
+ or
+ (role.type.oclIsTypeOf(UML::Class) and
+ (role.type.oclIsTypeOf(UML::Class) implies (role.type.getAppliedStereotypes()->select(s|s.name='Provider')->size()>0
+ and role.type.getAppliedStereotypes()->select(s|s.name='Consumer') ->size()>0
+ )
+ or role.type.getAppliedStereotypes()->select(s| s.name='ServiceInterface') ->size()>0
+ ))) ]]></constraint>
+ <constraint id="SoaML.ServiceContract.AttachedBehaviorCompatibility" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="AttachedBehaviorCompatibility" severity="ERROR" statusCode="1">
+ <message>Attached behavior should be compatible with the parts of the ServiceContract</message><![CDATA[ self.base_Collaboration.ownedBehavior->size()>0 implies (
+ self.base_Collaboration.ownedBehavior->asOrderedSet()->first().oclIsTypeOf(UML::Interaction) implies
+ let attachedInteraction=self.base_Collaboration.ownedBehavior->asOrderedSet()->first().oclAsType(UML::Interaction),
+ lifelines=self.base_Collaboration.ownedBehavior->asOrderedSet()->first().oclAsType(UML::Interaction).lifeline,
+ messages= self.base_Collaboration.ownedBehavior->asOrderedSet()->first().oclAsType(UML::Interaction).message,
+ messOccuSpec=self.base_Collaboration.ownedBehavior->asOrderedSet()->first().oclAsType(UML::Interaction).fragment
+ ->select(f|f.oclIsTypeOf(MessageOccurrenceSpecification)) in
+ lifelines->size()>0 implies lifelines->forAll(l| self.base_Collaboration.role -> includes(l.oclAsType(UML::Lifeline).represents) )
+ and
+ messages->size()>0 implies messages
+ --signature of messages should be one of the operations or signal of the corresponding Service Declaration
+ ->forAll(m|m.signature.oclIsTypeOf(Operation) implies
+ m.receiveEvent->asOrderedSet()->first().oclAsType(MessageOccurrenceSpecification).covered->asOrderedSet()
+ ->first().oclAsType(Sequence)->asOrderedSet()->first().oclAsType(Lifeline).represents.type.oclAsType(Classifier).ownedElement->select(oclIsTypeOf(Operation))
+ ->includes(m.signature.oclAsType(Operation)) and
+ m.signature.oclIsTypeOf(Signal) implies
+ m.sendEvent->asOrderedSet()->first().oclAsType(MessageOccurrenceSpecification).covered->asOrderedSet()
+ ->first().oclAsType(Sequence)->asOrderedSet()->first().oclAsType(Lifeline).represents.type.oclAsType(Classifier).ownedElement->select(oclIsTypeOf(Signal))
+ ->includes(m.signature.oclAsType(Signal)
+ )) ) ]]></constraint>
+ <constraint id="SoaML.Request.requestType" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="requestType" severity="ERROR" statusCode="1">
+ <message>The type of a Request must be a ServiceInterface, an Interface, a provider or a consumer</message><![CDATA[ let portType: Type= base_Port.type in
+ portType.getAppliedStereotypes()->select(s|s.name='ServiceInterface' or s.name='Consumer')->size()=1 or portType.oclIsTypeOf(Interface) ]]></constraint>
+ <constraint id="SoaML.Request.isConjugatedTrue" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="isConjugatedTrue" severity="ERROR" statusCode="1">
+ <message>Request must be Conjugated</message><![CDATA[base_Port.isConjugated]]></constraint>
+ <constraint id="SoaML.Participant.noRealizedUsedInterface" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="noRealizedUsedInterface" severity="ERROR" statusCode="1">
+ <message>Participant cannot realize or use Interfaces directly</message><![CDATA[Realization.allInstances()->select(r|r.client->includes(self.base_Class))->size()=0 and
+Usage.allInstances()->select(r|r.client->includes(self.base_Class))->size()=0]]></constraint>
+ <constraint id="SoaML.Participant.portTypes" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="portTypes" severity="ERROR" statusCode="1">
+ <message>Port must be a Request or a Service</message><![CDATA[ let portsSet: OrderedSet(UML::Port)= self.base_Class.ownedPort() in
+ portsSet->size()>0 implies
+ portsSet->forAll(p|p.getAppliedStereotypes()->select(s|s.name='Request' or s.name='Service')->size()=1 )]]></constraint>
+ <constraint id="SoaML.ServiceInterface.partsTypesOfServiceInterface" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="partsTypesOfServiceInterface" severity="ERROR" statusCode="1">
+ <message>All parts of a ServiceInterface must be typed by the Interfaces realized or used by the ServiceInterface</message><![CDATA[if self.base_Interface.oclIsUndefined()
+then self.base_Class.ownedAttribute->forAll(a|self.base_Class.getAllUsedInterfaces()->includes(a.type) or
+ self.base_Class.allRealizedInterfaces()->includes(a.type)
+)
+else
+ self.base_Interface.ownedAttribute->forAll(a|self.base_Interface.getAllUsedInterfaces()->includes(a.type) or
+ self.base_Interface.allRealizedInterfaces()->includes(a.type)
+ )
+endif]]></constraint>
+ <constraint id="SoaML.ServicesArchitecture.participantsRoleCompatibility" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="participantsRoleCompatibility" severity="ERROR" statusCode="1">
+ <message>Each participant satisfying roles in a ServicesArchitecture shall have a port for each role binding attached to that participant.</message><![CDATA[let properties : Set (UML::ConnectableElement) = self.base_Collaboration.role,
+collBUses: Set(UML::Element)= self.base_Collaboration.collaborationUse in
+collBUses->notEmpty() implies
+-- Each participant satisfying roles in a ServicesArchitecture shall have a port for each role binding attached to that participant.
+--This port shall have a type compliant with the type of the role used in the ServiceContract.
+collBUses.oclAsType(UML::CollaborationUse).roleBinding-> forAll(rb| let
+ portTypesOfSupplier= rb.oclAsType(UML::Dependency).supplier->select(s|s.oclIsTypeOf(UML::Property))->select(s|s.oclAsType(UML::Property).type.oclIsTypeOf(Class))->collect(oclAsType(UML::Property).type.oclAsType(Class).getAllAttributes())->select(att|att.oclIsTypeOf(UML::Port))->collect(oclAsType(UML::Port).type) , clientType=rb.oclAsType(UML::Dependency).client->select(s|s.oclIsTypeOf(UML::Property))->collect(t:UML::NamedElement|t.oclAsType(UML::Property).type)->asOrderedSet()->first()in
+portTypesOfSupplier->includes(clientType)--1. The role correspond to a port type on the supplier.
+--2. the supplier has a port type that specializes the type of the role.
+or(clientType.oclAsType(Classifier).generalization.general->closure(general)->includes(portTypesOfSupplier))
+--3. the supplier has a port type that realizes the type of the role.
+or(clientType.oclAsType(Classifier).getRelationships().oclAsType(UML::Realization)->includes(portTypesOfSupplier))
+--4. the supplier has a port type that contains at least the ownedAttributes and ownedOperations of the role.
+or(portTypesOfSupplier.oclAsType(Classifier).getAllAttributes()->includesAll(clientType.oclAsType(Classifier).getAllAttributes())
+ and portTypesOfSupplier.oclAsType(Classifier).getAllOperations()->includesAll(clientType.oclAsType(Classifier).getAllOperations())
+) )]]></constraint>
+ <constraint id="SoaML.ServicesArchitecture.partsTypes" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="partsTypes" severity="ERROR" statusCode="1">
+ <message>The parts of a ServicesArchitecture must be typed by a Participant or capability</message><![CDATA[let properties : Set (UML::ConnectableElement) = self.base_Collaboration.role,
+collBUses: Set(UML::Element)= self.base_Collaboration.collaborationUse in
+properties->notEmpty() implies
+properties-> forAll(p|p.type->exists(p|p.getAppliedStereotypes()->select(s|s.name='Participant' or s.name='Capability' or s.name='Agent')->size()=1) )
+]]></constraint>
+ <constraint id="SoaML.CollaborationUse.RoleBindingClientSupplierCompatibility" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="RoleBindingClientSupplierCompatibility" severity="ERROR" statusCode="1">
+ <message>If the CollaborationUse has isStrict=true, then the parts must be compatible with the roles they are bound to. </message><![CDATA[--only in case of defining Contract collaboratinUse inside the ServiceInterface
+--If the CollaborationUse has isStrict=true, then the parts must be compatible with the roles they are bound to.
+self.isStrict=true and self.base_CollaborationUse.owner.oclIsTypeOf(Classifier)
+and self.base_CollaborationUse.type.oclAsType(UML::Collaboration).getAppliedStereotypes()->select(s|s.name='ServiceContract')->size()=1 implies
+--For parts to be compatible with a role, one of the following must be true:
+--1. The role and part have the same type.
+self.base_CollaborationUse.roleBinding-> forAll(rb|
+ (let supplierType =(rb.oclAsType(UML::Dependency).supplier->select(s|s.oclIsTypeOf(UML::Property))->select(s|s.oclAsType(UML::Property).type.oclIsTypeOf(Class))
+ ->collect(oclAsType(UML::Property).type ->asOrderedSet()->first())),
+ clientType= (rb.oclAsType(UML::Dependency).client->select(s|s.oclIsTypeOf(UML::Property))->collect(t:UML::NamedElement|t.oclAsType(UML::Property).type)->asOrderedSet()->first())in (
+ supplierType= clientType
+--2. The part (the supplier) has a type that specializes the type of the role.
+or(clientType.oclAsType(Classifier).generalization.general->closure(general)->includes(supplierType))
+--3. The part has a type that realizes the type of the role.
+or(clientType.oclAsType(Classifier).getRelationships().oclAsType(UML::Realization)->includes(supplierType))
+--4. The part has a type that contains at least the ownedAttributes and ownedOperations of the role. In general this is a
+--special case of item 3 where the part has an Interface type that realizes another Interface.
+or(supplierType.oclAsType(Classifier).getAllAttributes()->includesAll(clientType.oclAsType(Classifier).getAllAttributes())
+ and supplierType.oclAsType(Classifier).getAllOperations()->includesAll(clientType.oclAsType(Classifier).getAllOperations())
+) )
+--5. The type of each role in a service contract shall have a uses dependency to the type of all roles that role is connected to.
+)
+)]]></constraint>
+ <constraint id="SoaML.ServiceChannel.Onlybinaryconnectorsallowed" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="Onlybinaryconnectorsallowed" severity="ERROR" statusCode="1">
+ <message>Only binary connection are allowed</message><![CDATA[self.base_Connector.end->size() = 2
+--and self.base_Connector.end->forAll(e|e.oclIsTypeOf(UML::Port)) ]]></constraint>
+ <constraint id="SoaML.ServiceChannel.serviceChannelEndTypes" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="serviceChannelEndTypes" severity="ERROR" statusCode="1">
+ <message>One end of a ServiceChannel must be a Request and the other a Service in an architecture</message><![CDATA[let portsSet: OrderedSet(UML::ConnectorEnd)= self.base_Connector.end ->select(e|e.oclIsTypeOf(UML::Port)) in
+ portsSet->size()>0 implies
+ portsSet->forAll(p|p.getAppliedStereotypes()->select(s|s.name='Request' or s.name='Service')->size()=1 )
+]]></constraint>
+ <constraint id="SoaML.ServiceChannel.Compatibility" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="Compatibility" severity="ERROR" statusCode="1">
+ <message>The Request and Service connected by a ServiceChannel must be compatible</message><![CDATA[let
+ requestTypeClassifier: UML::Classifier=self.base_Connector.end->select(p|p.oclIsTypeOf(UML::Port) and oclIsTypeOf(SoaML::Request))
+ -> select(p|p.oclAsType(UML::Port).type.oclIsTypeOf(Classifier))->first().oclAsType(UML::Port).type.oclAsType(Classifier),
+ serviceTypeClassifier: UML::Classifier=self.base_Connector.end->select(p|p.oclIsTypeOf(UML::Port) and oclIsTypeOf(SoaML::Service))
+ ->select(p|p.oclAsType(UML::Port).type.oclIsTypeOf(Classifier))->first().oclAsType(UML::Port).type.oclAsType(Classifier) in
+--The Request and Service connected by a ServiceChannel must be compatible
+ --1. The Request and Service have the same type, either an Interface or ServiceInterface.
+not requestTypeClassifier.oclIsUndefined() and not serviceTypeClassifier.oclIsUndefined() implies requestTypeClassifier=serviceTypeClassifier or
+ --2. The type of the Service is a specialization or realization of the type of the Request. --2 implies 1
+serviceTypeClassifier.Generalization.general->closure(general)-> includes(requestTypeClassifier) or
+ requestTypeClassifier.allUsedInterfaces()->includes(serviceTypeClassifier) or
+ --3. The Request and Service have compatible needs and capabilities respectively. This means the Service must provide an
+--Operation for every Operation used through the Request, the Request must provide an Operation for every Operation used
+--through the Service, and the protocols for how the capabilities are compatible between the Request and Service.
+(requestTypeClassifier.allUsedInterfaces().getAllOperations()->includesAll(serviceTypeClassifier.allRealizedInterfaces().getAllOperations() )and
+ requestTypeClassifier.allRealizedInterfaces().getAllOperations()-> includesAll(serviceTypeClassifier.allUsedInterfaces().getAllOperations()))]]></constraint>
+ <constraint id="SoaML.Service.serviceType" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="serviceType" severity="ERROR" statusCode="1">
+ <message>The type of a Service must be a ServiceInterface, an Interface, a provider or a consumer</message><![CDATA[ if base_Port.type.oclIsUndefined() then false else
+ let portType: Type= base_Port.type in
+ portType.getAppliedStereotypes()->select(s|s.name='ServiceInterface' or s.name='Provider' )->size()=1 or portType.oclIsTypeOf(Interface)
+ endif ]]></constraint>
+ <constraint id="SoaML.Service.isConjugatedFalse" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="isConjugatedFalse" severity="ERROR" statusCode="1">
+ <message>Service Port must not be Conjugated</message><![CDATA[
+ not base_Port.isConjugated]]></constraint>
+ <constraint id="SoaML.Port.connectorRequired" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" name="connectorRequired" severity="ERROR" statusCode="1">
+ <message>connectorRequired not valid</message><![CDATA[--self.connectorRequired=true implies self.base_Port.owner.
+true]]></constraint>
+ </constraints>
+ </constraintProvider>
+ </extension>
+ <extension point="org.eclipse.emf.validation.constraintBindings">
+ <clientContext id="PortClientContext">
+ <selector class="org.eclipse.papyrus.soaml.profile.validation.selectors.PortClientSelector"/>
+ </clientContext>
+ <binding context="PortClientContext">
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.Port.connectorRequired"/>
+ </binding>
+ <clientContext id="RequestClientContext">
+ <selector class="org.eclipse.papyrus.soaml.profile.validation.selectors.RequestClientSelector"/>
+ </clientContext>
+ <binding context="RequestClientContext">
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.Request.requestType"/>
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.Request.isConjugatedTrue"/>
+ </binding>
+ <clientContext id="MessageTypeClientContext">
+ <selector class="org.eclipse.papyrus.soaml.profile.validation.selectors.MessageTypeClientSelector"/>
+ </clientContext>
+ <binding context="MessageTypeClientContext">
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.MessageType.noOwnedBehaviors"/>
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.MessageType.noOwnedOperations"/>
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.MessageType.publicAttributes"/>
+ </binding>
+ <clientContext id="AgentClientContext">
+ <selector class="org.eclipse.papyrus.soaml.profile.validation.selectors.AgentClientSelector"/>
+ </clientContext>
+ <binding context="AgentClientContext">
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.Agent.isActive"/>
+ </binding>
+ <clientContext id="ServiceClientContext">
+ <selector class="org.eclipse.papyrus.soaml.profile.validation.selectors.ServiceClientSelector"/>
+ </clientContext>
+ <binding context="ServiceClientContext">
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.Service.serviceType"/>
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.Service.isConjugatedFalse"/>
+ </binding>
+ <clientContext id="ServicesArchitectureClientContext">
+ <selector class="org.eclipse.papyrus.soaml.profile.validation.selectors.ServicesArchitectureClientSelector"/>
+ </clientContext>
+ <binding context="ServicesArchitectureClientContext">
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.ServicesArchitecture.participantsRoleCompatibility"/>
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.ServicesArchitecture.partsTypes"/>
+ </binding>
+ <clientContext id="ServiceChannelClientContext">
+ <selector class="org.eclipse.papyrus.soaml.profile.validation.selectors.ServiceChannelClientSelector"/>
+ </clientContext>
+ <binding context="ServiceChannelClientContext">
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.ServiceChannel.Onlybinaryconnectorsallowed"/>
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.ServiceChannel.serviceChannelEndTypes"/>
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.ServiceChannel.Compatibility"/>
+ </binding>
+ <clientContext id="ServiceContractClientContext">
+ <selector class="org.eclipse.papyrus.soaml.profile.validation.selectors.ServiceContractClientSelector"/>
+ </clientContext>
+ <binding context="ServiceContractClientContext">
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.ServiceContract.RoleType"/>
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.ServiceContract.AttachedBehaviorCompatibility"/>
+ </binding>
+ <clientContext id="ServiceInterfaceClientContext">
+ <selector class="org.eclipse.papyrus.soaml.profile.validation.selectors.ServiceInterfaceClientSelector"/>
+ </clientContext>
+ <binding context="ServiceInterfaceClientContext">
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.ServiceInterface.partsTypesOfServiceInterface"/>
+ </binding>
+ <clientContext id="CollaborationUseClientContext">
+ <selector class="org.eclipse.papyrus.soaml.profile.validation.selectors.CollaborationUseClientSelector"/>
+ </clientContext>
+ <binding context="CollaborationUseClientContext">
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.CollaborationUse.RoleBindingClientSupplierCompatibility"/>
+ </binding>
+ <clientContext id="ParticipantClientContext">
+ <selector class="org.eclipse.papyrus.soaml.profile.validation.selectors.ParticipantClientSelector"/>
+ </clientContext>
+ <binding context="ParticipantClientContext">
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.Participant.noRealizedUsedInterface"/>
+ <constraint ref="org.eclipse.papyrus.soaml.profile.validation.SoaML.Participant.portTypes"/>
+ </binding>
+ </extension>
+</plugin>
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/Activator.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/Activator.java
new file mode 100644
index 00000000000..d5074f58034
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/Activator.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.soaml.profile.validation;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.soaml.profile.validation"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/AgentClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/AgentClientSelector.java
new file mode 100644
index 00000000000..9cdbed9b2d6
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/AgentClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class AgentClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Agent"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/AttachmentClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/AttachmentClientSelector.java
new file mode 100644
index 00000000000..2f254120de5
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/AttachmentClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class AttachmentClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Attachment"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CapabilityClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CapabilityClientSelector.java
new file mode 100644
index 00000000000..c96c3fab320
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CapabilityClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class CapabilityClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Capability"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CatalogClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CatalogClientSelector.java
new file mode 100644
index 00000000000..754360590b2
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CatalogClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class CatalogClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Catalog"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CategorizationClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CategorizationClientSelector.java
new file mode 100644
index 00000000000..3fa2f915b10
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CategorizationClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class CategorizationClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Categorization"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CategoryClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CategoryClientSelector.java
new file mode 100644
index 00000000000..6d19c2349ab
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CategoryClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class CategoryClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Category"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CategoryValueClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CategoryValueClientSelector.java
new file mode 100644
index 00000000000..160f687e559
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CategoryValueClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class CategoryValueClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "CategoryValue"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CollaborationClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CollaborationClientSelector.java
new file mode 100644
index 00000000000..6a9ac431a94
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CollaborationClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class CollaborationClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Collaboration"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CollaborationUseClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CollaborationUseClientSelector.java
new file mode 100644
index 00000000000..aaf8900c37e
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/CollaborationUseClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class CollaborationUseClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "CollaborationUse"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ConsumerClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ConsumerClientSelector.java
new file mode 100644
index 00000000000..38346c7e42c
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ConsumerClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class ConsumerClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Consumer"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ExposeClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ExposeClientSelector.java
new file mode 100644
index 00000000000..54148e2470f
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ExposeClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class ExposeClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Expose"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/FreeFormDescriptorClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/FreeFormDescriptorClientSelector.java
new file mode 100644
index 00000000000..1d6c08f9a85
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/FreeFormDescriptorClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class FreeFormDescriptorClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "FreeFormDescriptor"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/FreeFormValueClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/FreeFormValueClientSelector.java
new file mode 100644
index 00000000000..74f65a23260
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/FreeFormValueClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class FreeFormValueClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "FreeFormValue"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/MessageTypeClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/MessageTypeClientSelector.java
new file mode 100644
index 00000000000..20ee462a629
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/MessageTypeClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class MessageTypeClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "MessageType"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/MilestoneClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/MilestoneClientSelector.java
new file mode 100644
index 00000000000..a058ff8f270
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/MilestoneClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class MilestoneClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Milestone"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/MotivationRealizationClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/MotivationRealizationClientSelector.java
new file mode 100644
index 00000000000..fd8fcbb94b5
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/MotivationRealizationClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class MotivationRealizationClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "MotivationRealization"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/NodeDescriptorClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/NodeDescriptorClientSelector.java
new file mode 100644
index 00000000000..1ed92c7fc19
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/NodeDescriptorClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class NodeDescriptorClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "NodeDescriptor"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ParticipantClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ParticipantClientSelector.java
new file mode 100644
index 00000000000..7ba594bf641
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ParticipantClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class ParticipantClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Participant"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/PortClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/PortClientSelector.java
new file mode 100644
index 00000000000..17175862132
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/PortClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class PortClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Port"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/PropertyClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/PropertyClientSelector.java
new file mode 100644
index 00000000000..14398b8b015
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/PropertyClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class PropertyClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Property"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ProviderClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ProviderClientSelector.java
new file mode 100644
index 00000000000..6a8b8c9a562
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ProviderClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class ProviderClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Provider"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/RequestClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/RequestClientSelector.java
new file mode 100644
index 00000000000..c1ee4baba80
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/RequestClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class RequestClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Request"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceChannelClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceChannelClientSelector.java
new file mode 100644
index 00000000000..ffdc1677537
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceChannelClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class ServiceChannelClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "ServiceChannel"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceClientSelector.java
new file mode 100644
index 00000000000..23183520b4b
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class ServiceClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "Service"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceContractClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceContractClientSelector.java
new file mode 100644
index 00000000000..3adbf6a483a
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceContractClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class ServiceContractClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "ServiceContract"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceInterfaceClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceInterfaceClientSelector.java
new file mode 100644
index 00000000000..e971ec5c5bf
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServiceInterfaceClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class ServiceInterfaceClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "ServiceInterface"); //$NON-NLS-1$
+ }
+}
diff --git a/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServicesArchitectureClientSelector.java b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServicesArchitectureClientSelector.java
new file mode 100644
index 00000000000..5284e4bce9f
--- /dev/null
+++ b/extraplugins/soaml/org.eclipse.papyrus.soaml.profile.validation/src/org/eclipse/papyrus/soaml/profile/validation/selectors/ServicesArchitectureClientSelector.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Fadwa TMAR (CEA LIST) fadwa.tmar@cea.fr - Initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.papyrus.soaml.profile.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;
+
+/**
+ * This class filters (selects) passed stereotype applications. It returns true, if the
+ * associated stereotype (or one of its super-stereotypes) has the name '[stereotype.name/]'.
+ *
+ * @generated
+ */
+public class ServicesArchitectureClientSelector implements IClientSelector {
+
+ public boolean selects(Object stereoApplicationObj) {
+ return StereotypeUtil.checkStereoApplication(stereoApplicationObj, "ServicesArchitecture"); //$NON-NLS-1$
+ }
+}

Back to the top