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
No related branches found
No related tags found
No related merge requests found
//Relationships
Start Relationship (Relationships) when true;
Add Relationship (Relationships) when true;
Reconnect Relationship (Relationships) when true;
Start Relationship (Relationships) when IsSourceType(RoleType);
Add Relationship (Relationships) when IsTargetType(RoleType) and IsSourceType(RoleType) and !SourceEqualsTarget();
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
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;
Execute Relationship (Relationships) when true;
......@@ -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">
<policies action="Start" actionType="Relationship">
<featureRule xsi:type="editpolicymodel:IsFeature" featureName="Relationships"/>
<constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
<constraintRule xsi:type="editpolicymodel:IsSourceType" type="RoleType"/>
</policies>
<policies action="Add" actionType="Relationship">
<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 action="Reconnect" actionType="Relationship">
<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">
<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 action="Reconnect" actionType="Relationship">
<featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
<policies actionType="Relationship">
<featureRule xsi:type="editpolicymodel:IsFeature" featureName="Relationships"/>
<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 action="Execute" actionType="Relationship">
<featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
<constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
</policies>
<policies actionType="Relationship">
<featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
<featureRule xsi:type="editpolicymodel:IsFeature" featureName="Relationships"/>
<constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
</policies>
</editpolicymodel:Model>
......@@ -158,7 +158,7 @@ public abstract class AbstractIntraRelationshipConstraintPattern extends FRaMEDS
if(targetConnection != null &&
getBusinessObjectForPictogramElement(targetConnection) instanceof Relation) {
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;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment