Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjmisinco2012-10-09 15:17:32 +0000
committerjmisinco2012-10-09 16:27:02 +0000
commit999277b5053045b1896c6881475f6c9c66196be5 (patch)
treee124f63c4ffb02e36829c8d26587b2d0f61a3682
parentf20444fff7dedd9cc70236c5d06cbef828b85a52 (diff)
downloadorg.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.java15
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(),

Back to the top