diff options
author | jmisinco | 2012-10-09 15:17:32 +0000 |
---|---|---|
committer | jmisinco | 2012-10-09 16:27:02 +0000 |
commit | 999277b5053045b1896c6881475f6c9c66196be5 (patch) | |
tree | e124f63c4ffb02e36829c8d26587b2d0f61a3682 | |
parent | f20444fff7dedd9cc70236c5d06cbef828b85a52 (diff) | |
download | org.eclipse.osee-0.10.3.v201210091714_RC.tar.gz org.eclipse.osee-0.10.3.v201210091714_RC.tar.xz org.eclipse.osee-0.10.3.v201210091714_RC.zip |
bug[ats_5JCB4]: Duplicate artifact type restriction Xtext error0.10.3.v201210091714_RC
-rw-r--r-- | plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/validation/OseeDslJavaValidator.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/validation/OseeDslJavaValidator.java b/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/validation/OseeDslJavaValidator.java index 227bb5d8433..178dbcf5d08 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/validation/OseeDslJavaValidator.java +++ b/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/validation/OseeDslJavaValidator.java @@ -26,6 +26,9 @@ import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDsl; import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDslPackage; import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeType; +import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeArtifactPredicate; +import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeArtifactTypePredicate; +import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypePredicate; import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeRestriction; import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactMatcher; import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactType; @@ -249,12 +252,18 @@ public class OseeDslJavaValidator extends AbstractOseeDslJavaValidator { @Override public Object caseRelationTypeRestriction(RelationTypeRestriction restriction) { - restriction.getRelationTypeRef(); + XRelationType relationTypeRef = restriction.getRelationTypeRef(); - String guid = restriction.getRelationTypeRef().getTypeGuid(); + String guid = relationTypeRef.getTypeGuid(); + RelationTypePredicate predicate = restriction.getPredicate(); + if (predicate instanceof RelationTypeArtifactPredicate) { + guid += ((RelationTypeArtifactPredicate) predicate).getArtifactMatcherRef().getName(); + } else if (predicate instanceof RelationTypeArtifactTypePredicate) { + guid += ((RelationTypeArtifactTypePredicate) predicate).getArtifactTypeRef().getName(); + } XRelationType reference = relationTypeRetrictions.get(guid); if (reference == null) { - relationTypeRetrictions.put(guid, restriction.getRelationTypeRef()); + relationTypeRetrictions.put(guid, relationTypeRef); } else { String message = String.format("Duplicate artifact type restriction [%s] in context[%s]", reference.toString(), |