Skip to content
Snippets Groups Projects
Commit 3e2dce97 authored by nullsub's avatar nullsub
Browse files

fix Relationship policies and intraRelationship policiy handler call

parent 6492e4e8
Branches
No related tags found
No related merge requests found
//Relationships //Relationships
Start Relationship (Relationships) when true; Start Relationship (Relationships) when IsSourceType(RoleType);
Add Relationship (Relationships) when true; Add Relationship (Relationships) when IsTargetType(RoleType) and IsSourceType(RoleType) and !SourceEqualsTarget();
Reconnect Relationship (Relationships) when true; Reconnect Relationship (Relationships) when IsTargetType(RoleType) and IsSourceType(RoleType) and !SourceEqualsTarget();
Create Relationship (Relationships) when IsTargetType(RoleType) and IsSourceType(RoleType) and !SourceEqualsTarget();
Start Relationship (true) when IsSourceType(RoleType);//For Relationship-Relation Source and Target must be Role-Type Execute Relationship (Relationships) when true;
Add Relationship (true) when IsTargetType(RoleType) and IsSourceType(RoleType);
Reconnect Relationship (true) when IsTargetType(RoleType) and IsSourceType(RoleType);
Execute Relationship (true) when true;
Create Relationship (true) when true;
...@@ -2,40 +2,46 @@ ...@@ -2,40 +2,46 @@
<editpolicymodel:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editpolicymodel="http://framed/editpolicymodel"> <editpolicymodel:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editpolicymodel="http://framed/editpolicymodel">
<policies action="Start" actionType="Relationship"> <policies action="Start" actionType="Relationship">
<featureRule xsi:type="editpolicymodel:IsFeature" featureName="Relationships"/> <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Relationships"/>
<constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> <constraintRule xsi:type="editpolicymodel:IsSourceType" type="RoleType"/>
</policies> </policies>
<policies action="Add" actionType="Relationship"> <policies action="Add" actionType="Relationship">
<featureRule xsi:type="editpolicymodel:IsFeature" featureName="Relationships"/> <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Relationships"/>
<constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> <constraintRule xsi:type="editpolicymodel:AndConstraintRule">
<rules xsi:type="editpolicymodel:AndConstraintRule">
<rules xsi:type="editpolicymodel:IsTargetType" type="RoleType"/>
<rules xsi:type="editpolicymodel:IsSourceType" type="RoleType"/>
</rules>
<rules xsi:type="editpolicymodel:NotConstraintRule">
<rule xsi:type="editpolicymodel:SourceEqualsTarget"/>
</rules>
</constraintRule>
</policies> </policies>
<policies action="Reconnect" actionType="Relationship"> <policies action="Reconnect" actionType="Relationship">
<featureRule xsi:type="editpolicymodel:IsFeature" featureName="Relationships"/> <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Relationships"/>
<constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
</policies>
<policies action="Start" actionType="Relationship">
<featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
<constraintRule xsi:type="editpolicymodel:IsSourceType" type="RoleType"/>
</policies>
<policies action="Add" actionType="Relationship">
<featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
<constraintRule xsi:type="editpolicymodel:AndConstraintRule"> <constraintRule xsi:type="editpolicymodel:AndConstraintRule">
<rules xsi:type="editpolicymodel:IsTargetType" type="RoleType"/> <rules xsi:type="editpolicymodel:AndConstraintRule">
<rules xsi:type="editpolicymodel:IsSourceType" type="RoleType"/> <rules xsi:type="editpolicymodel:IsTargetType" type="RoleType"/>
<rules xsi:type="editpolicymodel:IsSourceType" type="RoleType"/>
</rules>
<rules xsi:type="editpolicymodel:NotConstraintRule">
<rule xsi:type="editpolicymodel:SourceEqualsTarget"/>
</rules>
</constraintRule> </constraintRule>
</policies> </policies>
<policies action="Reconnect" actionType="Relationship"> <policies actionType="Relationship">
<featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Relationships"/>
<constraintRule xsi:type="editpolicymodel:AndConstraintRule"> <constraintRule xsi:type="editpolicymodel:AndConstraintRule">
<rules xsi:type="editpolicymodel:IsTargetType" type="RoleType"/> <rules xsi:type="editpolicymodel:AndConstraintRule">
<rules xsi:type="editpolicymodel:IsSourceType" type="RoleType"/> <rules xsi:type="editpolicymodel:IsTargetType" type="RoleType"/>
<rules xsi:type="editpolicymodel:IsSourceType" type="RoleType"/>
</rules>
<rules xsi:type="editpolicymodel:NotConstraintRule">
<rule xsi:type="editpolicymodel:SourceEqualsTarget"/>
</rules>
</constraintRule> </constraintRule>
</policies> </policies>
<policies action="Execute" actionType="Relationship"> <policies action="Execute" actionType="Relationship">
<featureRule xsi:type="editpolicymodel:TrueFeatureRule"/> <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Relationships"/>
<constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
</policies>
<policies actionType="Relationship">
<featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
<constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/> <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
</policies> </policies>
</editpolicymodel:Model> </editpolicymodel:Model>
...@@ -158,7 +158,7 @@ public abstract class AbstractIntraRelationshipConstraintPattern extends FRaMEDS ...@@ -158,7 +158,7 @@ public abstract class AbstractIntraRelationshipConstraintPattern extends FRaMEDS
if(targetConnection != null && if(targetConnection != null &&
getBusinessObjectForPictogramElement(targetConnection) instanceof Relation) { getBusinessObjectForPictogramElement(targetConnection) instanceof Relation) {
Relation relation = (Relation) getBusinessObjectForPictogramElement(targetConnection); Relation relation = (Relation) getBusinessObjectForPictogramElement(targetConnection);
return EditPolicyService.getHandler(this.getDiagram()).canCreate(createContext, relation.getType()); return EditPolicyService.getHandler(this.getDiagram()).canCreate(createContext, this.getModelType());
} }
return false; return false;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment