| author | jmisinco | 2011-05-20 14:18:18 (EDT) |
|---|---|---|
| committer | Ryan D. Brooks | 2011-05-20 14:18:18 (EDT) |
| commit | 3c6e5413be2216a54343667c9830d25012847b65 (patch) (side-by-side diff) | |
| tree | 82535d4e76ba3ea3d7644eed7e49752c40f7b6b3 | |
| parent | 7840f46b12b20a1bb3ef8b3bb934421e9fc75709 (diff) | |
| download | org.eclipse.osee-3c6e5413be2216a54343667c9830d25012847b65.zip org.eclipse.osee-3c6e5413be2216a54343667c9830d25012847b65.tar.gz org.eclipse.osee-3c6e5413be2216a54343667c9830d25012847b65.tar.bz2 | |
bug[bgz_346769]: Enforce access control in RelationComposite, ArtifactExplorer, SkynetTransaction
Changes include:
- DSL access control grammar change to allow relation restrictions on specific artifacts.
- Scope class introduced to parsing of access control rules to track most specific permissions.
- SkynetTransaction allows changes based on access control rules.
- RelationsComposite displays access control on relation sides.
- ArtifactExplorer enforces access control and blocks unallowed user actions. Cases include: copy/paste, new child, drag-N-drop.
80 files changed, 2987 insertions, 2220 deletions
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlService.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlService.java index 2447e2f..e03dd36 100644 --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlService.java +++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlService.java @@ -259,22 +259,20 @@ public class AccessControlService implements IAccessControlService { @Override public boolean hasPermission(Object object, PermissionEnum permission) throws OseeCoreException { boolean result = true; - if (!DbUtil.isDbInit()) { - // System.out.println(String.format("hasPermission: obj [%s] request [%s]", object, permission)); - Collection<?> objectsToCheck = null; - if (object instanceof Collection<?>) { - objectsToCheck = (Collection<?>) object; - } else if (object instanceof Array) { - objectsToCheck = Arrays.asList((Array) object); - } else { - objectsToCheck = Collections.singletonList(object); - } - IBasicArtifact<?> subject = UserManager.getUser(); - AccessDataQuery accessQuery = getAccessData(subject, objectsToCheck); - // System.out.println(String.format("hasPermission: accessQuery [%s]", accessQuery)); - result = accessQuery.matchesAll(permission); - // System.out.println(String.format("hasPermission: result [%s]", result)); + // System.out.println(String.format("hasPermission: obj [%s] request [%s]", object, permission)); + Collection<?> objectsToCheck = null; + if (object instanceof Collection<?>) { + objectsToCheck = (Collection<?>) object; + } else if (object instanceof Array) { + objectsToCheck = Arrays.asList((Array) object); + } else { + objectsToCheck = Collections.singletonList(object); } + IBasicArtifact<?> subject = UserManager.getUser(); + AccessDataQuery accessQuery = getAccessData(subject, objectsToCheck); + // System.out.println(String.format("hasPermission: accessQuery [%s]", accessQuery)); + result = accessQuery.matchesAll(permission); + // System.out.println(String.format("hasPermission: result [%s]", result)); return result; } @@ -282,9 +280,11 @@ public class AccessControlService implements IAccessControlService { public AccessDataQuery getAccessData(IBasicArtifact<?> userArtifact, Collection<?> objectsToCheck) throws OseeCoreException { ILifecycleService service = getLifecycleService(); AccessData accessData = new AccessData(); - AbstractLifecycleVisitor<?> visitor = new AccessProviderVisitor(userArtifact, objectsToCheck, accessData); - IStatus status = service.dispatch(new NullProgressMonitor(), visitor, ACCESS_POINT_ID); - Operations.checkForErrorStatus(status); + if (!DbUtil.isDbInit()) { + AbstractLifecycleVisitor<?> visitor = new AccessProviderVisitor(userArtifact, objectsToCheck, accessData); + IStatus status = service.dispatch(new NullProgressMonitor(), visitor, ACCESS_POINT_ID); + Operations.checkForErrorStatus(status); + } return new AccessDataQuery(accessData); } diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProvider.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProvider.java index 4e3f145..0a512c6 100644 --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProvider.java +++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProvider.java @@ -19,6 +19,7 @@ import org.eclipse.osee.framework.core.model.Branch; import org.eclipse.osee.framework.core.model.IBasicArtifact; import org.eclipse.osee.framework.core.model.access.AccessData; import org.eclipse.osee.framework.core.model.access.AccessDetail; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.relation.RelationLink; @@ -63,12 +64,14 @@ public class ObjectAccessProvider implements IAccessProvider { reason = "User Permission set to Read - artifact's branch is not editable - artifact is read only"; } //artifact.isDeleted() - accessData.add(artifact, new AccessDetail<IBasicArtifact<Artifact>>(artifact, userPermission, reason)); + accessData.add(artifact, + new AccessDetail<IBasicArtifact<Artifact>>(artifact, userPermission, Scope.createLegacyScope(), reason)); } private void setBranchAccessData(IBasicArtifact<?> userArtifact, Branch branch, AccessData accessData) throws OseeCoreException { String reason = "Legacy Branch Permission"; PermissionEnum userPermission = accessService.getBranchPermission(userArtifact, branch); - accessData.add(branch, new AccessDetail<IOseeBranch>(branch, userPermission, reason)); + accessData.add(branch, new AccessDetail<IOseeBranch>(branch, userPermission, Scope.createLegacyScope(), reason)); } + } diff --git a/plugins/org.eclipse.osee.framework.core.dsl.edit/plugin.properties b/plugins/org.eclipse.osee.framework.core.dsl.edit/plugin.properties index 6440619..6ccf60e 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.edit/plugin.properties +++ b/plugins/org.eclipse.osee.framework.core.dsl.edit/plugin.properties @@ -177,3 +177,4 @@ _UI_CompoundCondition_type = Compound Condition _UI_SimpleCondition_expression_feature = Expression _UI_CompoundCondition_conditions_feature = Conditions _UI_CompoundCondition_operators_feature = Operators +_UI_RelationTypeRestriction_artifactMatcherRef_feature = Artifact Matcher Ref diff --git a/plugins/org.eclipse.osee.framework.core.dsl.edit/src/org/eclipse/osee/framework/core/dsl/oseeDsl/provider/RelationTypeRestrictionItemProvider.java b/plugins/org.eclipse.osee.framework.core.dsl.edit/src/org/eclipse/osee/framework/core/dsl/oseeDsl/provider/RelationTypeRestrictionItemProvider.java index 584317a..3870603 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.edit/src/org/eclipse/osee/framework/core/dsl/oseeDsl/provider/RelationTypeRestrictionItemProvider.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.edit/src/org/eclipse/osee/framework/core/dsl/oseeDsl/provider/RelationTypeRestrictionItemProvider.java @@ -64,6 +64,7 @@ public class RelationTypeRestrictionItemProvider addRelationTypeRefPropertyDescriptor(object); addRestrictedToSidePropertyDescriptor(object); + addArtifactMatcherRefPropertyDescriptor(object); } return itemPropertyDescriptors; } @@ -113,6 +114,28 @@ public class RelationTypeRestrictionItemProvider } /** + * This adds a property descriptor for the Artifact Matcher Ref feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addArtifactMatcherRefPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RelationTypeRestriction_artifactMatcherRef_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_RelationTypeRestriction_artifactMatcherRef_feature", "_UI_RelationTypeRestriction_type"), + OseeDslPackage.Literals.RELATION_TYPE_RESTRICTION__ARTIFACT_MATCHER_REF, + true, + false, + true, + null, + null, + null)); + } + + /** * This returns RelationTypeRestriction.gif. * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/OseeDslAccessModelTest.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/OseeDslAccessModelTest.java index 784e47e..7da25ec 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/OseeDslAccessModelTest.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/OseeDslAccessModelTest.java @@ -15,8 +15,6 @@ import java.util.Collection; import java.util.Collections; import org.eclipse.osee.framework.core.data.IAccessContextId; import org.eclipse.osee.framework.core.data.TokenFactory; -import org.eclipse.osee.framework.core.dsl.integration.AccessModelInterpreter; -import org.eclipse.osee.framework.core.dsl.integration.OseeDslAccessModel; import org.eclipse.osee.framework.core.dsl.integration.mocks.MockDslProvider; import org.eclipse.osee.framework.core.dsl.integration.mocks.MockModel; import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessContext; @@ -28,6 +26,7 @@ import org.eclipse.osee.framework.core.model.access.AccessData; import org.eclipse.osee.framework.core.model.access.AccessDetail; import org.eclipse.osee.framework.core.model.access.AccessDetailCollector; import org.eclipse.osee.framework.core.model.access.AccessModel; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.jdk.core.util.GUID; import org.junit.Assert; import org.junit.BeforeClass; @@ -85,8 +84,12 @@ public class OseeDslAccessModelTest { final Object checkedObject = new Object(); - final AccessDetail<?> detail1 = new AccessDetail<Object>(checkedObject, PermissionEnum.READ, "detail 1"); - final AccessDetail<?> detail2 = new AccessDetail<Object>(checkedObject, PermissionEnum.WRITE, "detail 2"); + Scope detail1Scope = new Scope().add("fail"); + Scope detail2Scope = new Scope().add("fail"); + final AccessDetail<?> detail1 = + new AccessDetail<Object>(checkedObject, PermissionEnum.READ, detail1Scope, "detail 1"); + final AccessDetail<?> detail2 = + new AccessDetail<Object>(checkedObject, PermissionEnum.WRITE, detail2Scope, "detail 2"); final AccessData accessData = new AccessData(); diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchInterpreterTest.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchInterpreterTest.java index 977e73f..bacdef5 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchInterpreterTest.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchInterpreterTest.java @@ -12,7 +12,6 @@ package org.eclipse.osee.framework.core.dsl.integration.internal; import java.util.Collection; import java.util.Iterator; -import org.junit.Assert; import org.eclipse.osee.framework.core.data.IAttributeType; import org.eclipse.osee.framework.core.data.IOseeBranch; import org.eclipse.osee.framework.core.data.Identity; @@ -21,12 +20,10 @@ import org.eclipse.osee.framework.core.data.TokenFactory; import org.eclipse.osee.framework.core.dsl.integration.ArtifactDataProvider.ArtifactProxy; import org.eclipse.osee.framework.core.dsl.integration.mocks.DslAsserts; import org.eclipse.osee.framework.core.dsl.integration.mocks.MockModel; -import org.eclipse.osee.framework.core.dsl.integration.util.ModelUtil; import org.eclipse.osee.framework.core.dsl.oseeDsl.CompareOp; import org.eclipse.osee.framework.core.dsl.oseeDsl.CompoundCondition; import org.eclipse.osee.framework.core.dsl.oseeDsl.Condition; import org.eclipse.osee.framework.core.dsl.oseeDsl.MatchField; -import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDsl; import org.eclipse.osee.framework.core.dsl.oseeDsl.SimpleCondition; import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactMatcher; import org.eclipse.osee.framework.core.dsl.oseeDsl.XLogicOperator; @@ -35,6 +32,7 @@ import org.eclipse.osee.framework.core.model.IBasicArtifact; import org.eclipse.osee.framework.core.model.type.ArtifactType; import org.eclipse.osee.framework.core.model.type.RelationType; import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.junit.Assert; import org.junit.Test; /** @@ -55,7 +53,8 @@ public class ArtifactMatchInterpreterTest { @Test public void testArtifactNameEq() throws OseeCoreException { - XArtifactMatcher matcher = createMatcher("artifactMatcher \"Test\" where artifactName EQ \"Test Artifact\";"); + XArtifactMatcher matcher = + MockModel.createMatcher("artifactMatcher \"Test\" where artifactName EQ \"Test Artifact\";"); DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.ARTIFACT_NAME, CompareOp.EQ, "Test Artifact"); @@ -71,7 +70,8 @@ public class ArtifactMatchInterpreterTest { @Test public void testArtifactNameLike() throws OseeCoreException { - XArtifactMatcher matcher = createMatcher("artifactMatcher \"Test\" where artifactName LIKE \".*arti.*\";"); + XArtifactMatcher matcher = + MockModel.createMatcher("artifactMatcher \"Test\" where artifactName LIKE \".*arti.*\";"); DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.ARTIFACT_NAME, CompareOp.LIKE, ".*arti.*"); @@ -84,7 +84,8 @@ public class ArtifactMatchInterpreterTest { @Test public void testArtifactGuidEq() throws OseeCoreException { String guid = GUID.create(); - XArtifactMatcher matcher = createMatcher("artifactMatcher \"Test\" where artifactGuid EQ \"" + guid + "\";"); + XArtifactMatcher matcher = + MockModel.createMatcher("artifactMatcher \"Test\" where artifactGuid EQ \"" + guid + "\";"); DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.ARTIFACT_GUID, CompareOp.EQ, guid); @@ -95,7 +96,7 @@ public class ArtifactMatchInterpreterTest { @Test public void testArtifactGuidLike() throws OseeCoreException { - XArtifactMatcher matcher = createMatcher("artifactMatcher \"Test\" where artifactGuid LIKE \"\\w+\";"); + XArtifactMatcher matcher = MockModel.createMatcher("artifactMatcher \"Test\" where artifactGuid LIKE \"\\w+\";"); DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.ARTIFACT_GUID, CompareOp.LIKE, "\\w+"); @@ -107,7 +108,7 @@ public class ArtifactMatchInterpreterTest { @Test public void testArtifactBranchNameEq() throws OseeCoreException { - XArtifactMatcher matcher = createMatcher("artifactMatcher \"Test\" where branchName EQ \"branch1\";"); + XArtifactMatcher matcher = MockModel.createMatcher("artifactMatcher \"Test\" where branchName EQ \"branch1\";"); DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.BRANCH_NAME, CompareOp.EQ, "branch1"); @@ -123,7 +124,8 @@ public class ArtifactMatchInterpreterTest { @Test public void testArtifactBranchNameLike() throws OseeCoreException { - XArtifactMatcher matcher = createMatcher("artifactMatcher \"Test\" where branchName LIKE \".*hello.*\";"); + XArtifactMatcher matcher = + MockModel.createMatcher("artifactMatcher \"Test\" where branchName LIKE \".*hello.*\";"); DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.BRANCH_NAME, CompareOp.LIKE, ".*hello.*"); @@ -136,7 +138,8 @@ public class ArtifactMatchInterpreterTest { @Test public void testArtifactBranchGuidEq() throws OseeCoreException { String guid = GUID.create(); - XArtifactMatcher matcher = createMatcher("artifactMatcher \"Test\" where branchGuid EQ \"" + guid + "\";"); + XArtifactMatcher matcher = + MockModel.createMatcher("artifactMatcher \"Test\" where branchGuid EQ \"" + guid + "\";"); DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.BRANCH_GUID, CompareOp.EQ, guid); @@ -147,10 +150,9 @@ public class ArtifactMatchInterpreterTest { @Test public void testArtifactBranchGuidLike() throws OseeCoreException { - XArtifactMatcher matcher = createMatcher("artifactMatcher \"Test\" where branchGuid LIKE \"\\w+\";"); + XArtifactMatcher matcher = MockModel.createMatcher("artifactMatcher \"Test\" where branchGuid LIKE \"\\w+\";"); - DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.BRANCH_GUID, CompareOp.LIKE, - "\\w+"); + DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.BRANCH_GUID, CompareOp.LIKE, "\\w+"); ArtifactProxy proxy = createProxy(GUID.create(), "art1", "ABCDEFGHIJK123456789", ""); boolean actual = interpreter.matches(matcher, proxy); @@ -160,7 +162,7 @@ public class ArtifactMatchInterpreterTest { @Test public void testCompoundCondition1() throws OseeCoreException { XArtifactMatcher andMatcher = - createMatcher("artifactMatcher \"Test\" where artifactGuid EQ \"ABCDEFGHIJK123456789\" AND artifactName EQ \"myArtifact\";"); + MockModel.createMatcher("artifactMatcher \"Test\" where artifactGuid EQ \"ABCDEFGHIJK123456789\" AND artifactName EQ \"myArtifact\";"); Iterator<Condition> iterator = andMatcher.getConditions().iterator(); DslAsserts.assertEquals(iterator.next(), MatchField.ARTIFACT_GUID, CompareOp.EQ, "ABCDEFGHIJK123456789"); @@ -170,7 +172,7 @@ public class ArtifactMatchInterpreterTest { Assert.assertEquals(XLogicOperator.AND, andMatcher.getOperators().iterator().next()); XArtifactMatcher orMatcher = - createMatcher("artifactMatcher \"Test\" where artifactGuid EQ \"ABCDEFGHIJK123456789\" OR artifactName EQ \"myArtifact\";"); + MockModel.createMatcher("artifactMatcher \"Test\" where artifactGuid EQ \"ABCDEFGHIJK123456789\" OR artifactName EQ \"myArtifact\";"); Iterator<Condition> iterator2 = orMatcher.getConditions().iterator(); DslAsserts.assertEquals(iterator2.next(), MatchField.ARTIFACT_GUID, CompareOp.EQ, "ABCDEFGHIJK123456789"); @@ -198,7 +200,7 @@ public class ArtifactMatchInterpreterTest { @Test public void testCompoundCondition2() throws OseeCoreException { XArtifactMatcher matcher = - createMatcher("artifactMatcher \"Test\" where artifactGuid EQ \"ABCDEFGHIJK123456789\" AND (branchName EQ \"myArtifact\" OR branchGuid EQ \"123456789101112131415\");"); + MockModel.createMatcher("artifactMatcher \"Test\" where artifactGuid EQ \"ABCDEFGHIJK123456789\" AND (branchName EQ \"myArtifact\" OR branchGuid EQ \"123456789101112131415\");"); Assert.assertEquals(2, matcher.getConditions().size()); Iterator<Condition> iterator = matcher.getConditions().iterator(); @@ -249,11 +251,6 @@ public class ArtifactMatchInterpreterTest { Assert.assertEquals(true, interpreter.matches(matcher, proxy8)); } - private static XArtifactMatcher createMatcher(String rawXTextData) throws OseeCoreException { - OseeDsl model = ModelUtil.loadModel("osee:/text.osee", rawXTextData); - return model.getArtifactMatchRefs().iterator().next(); - } - private static ArtifactProxy createProxy(String artGuid, String artifactName) { return createProxy(artGuid, artifactName, GUID.create(), "dummy"); } diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchRestrictionHandlerTest.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchRestrictionHandlerTest.java index 4328720..548fa34 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchRestrictionHandlerTest.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchRestrictionHandlerTest.java @@ -20,6 +20,7 @@ import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactMatcher; import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.DefaultBasicArtifact; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.jdk.core.util.GUID; import org.junit.Assert; import org.junit.Test; @@ -49,7 +50,8 @@ public class ArtifactMatchRestrictionHandlerTest extends BaseRestrictionHandlerT matcher.setMatchesResult(false); MockArtifactProxy artData = new MockArtifactProxy(GUID.create(), null); - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData); + Scope expectedScope = new Scope().add("fail"); + DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData, expectedScope); Assert.assertEquals(artifactRef, matcher.getMatcher()); Assert.assertEquals(artData, matcher.getProxy()); @@ -67,8 +69,9 @@ public class ArtifactMatchRestrictionHandlerTest extends BaseRestrictionHandlerT DefaultBasicArtifact expectedAccessObject = new DefaultBasicArtifact(1, GUID.create(), "Another Artifact"); MockArtifactProxy artData = new MockArtifactProxy(expectedAccessObject); + Scope expectedScope = new Scope().add("fail"); DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedAccessObject, - PermissionEnum.WRITE); + PermissionEnum.WRITE, expectedScope); Assert.assertEquals(artifactRef, matcher.getMatcher()); Assert.assertEquals(artData, matcher.getProxy()); diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactTypeRestrictionHandlerTest.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactTypeRestrictionHandlerTest.java index d295dc9..806916e 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactTypeRestrictionHandlerTest.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactTypeRestrictionHandlerTest.java @@ -13,7 +13,6 @@ package org.eclipse.osee.framework.core.dsl.integration.internal; import java.util.HashSet; import java.util.Set; import org.eclipse.osee.framework.core.data.IArtifactType; -import org.eclipse.osee.framework.core.dsl.integration.internal.ArtifactTypeRestrictionHandler; import org.eclipse.osee.framework.core.dsl.integration.mocks.DslAsserts; import org.eclipse.osee.framework.core.dsl.integration.mocks.MockArtifactProxy; import org.eclipse.osee.framework.core.dsl.integration.mocks.MockModel; @@ -23,6 +22,7 @@ import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactType; import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.core.model.type.ArtifactType; import org.eclipse.osee.framework.jdk.core.util.GUID; import org.junit.Test; @@ -50,7 +50,8 @@ public class ArtifactTypeRestrictionHandlerTest extends BaseRestrictionHandlerTe ArtifactType artifactType2 = new ArtifactType(GUID.create(), "Some Artifact Type", false); MockArtifactProxy artData = new MockArtifactProxy(GUID.create(), artifactType2); - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData); + Scope expectedScope = new Scope().add("fail"); + DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData, expectedScope); } @Test @@ -65,8 +66,9 @@ public class ArtifactTypeRestrictionHandlerTest extends BaseRestrictionHandlerTe ArtifactType expectedAccessObject = new ArtifactType(artifactType.getGuid(), artifactType.getName(), false); MockArtifactProxy artData = new MockArtifactProxy(GUID.create(), expectedAccessObject); + Scope expectedScope = new Scope().add("fail"); DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedAccessObject, - PermissionEnum.WRITE); + PermissionEnum.WRITE, expectedScope); } @Test @@ -82,14 +84,15 @@ public class ArtifactTypeRestrictionHandlerTest extends BaseRestrictionHandlerTe new ArtifactType(CoreArtifactTypes.Requirement.getGuid(), CoreArtifactTypes.Requirement.getName(), false); MockArtifactProxy artData = new MockArtifactProxy(GUID.create(), expectedAccessObject); - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData); + Scope expectedScope = new Scope().add("fail"); + DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData, expectedScope); // Make expectedAccessObject inherit from ArtifactType Set<ArtifactType> superTypes = new HashSet<ArtifactType>(); superTypes.add(new ArtifactType(CoreArtifactTypes.Artifact.getGuid(), CoreArtifactTypes.Artifact.getName(), false)); expectedAccessObject.setSuperTypes(superTypes); DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedAccessObject, - PermissionEnum.WRITE); + PermissionEnum.WRITE, expectedScope); } } diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/AttributeTypeRestrictionHandlerTest.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/AttributeTypeRestrictionHandlerTest.java index a89ce24..1ae5b17 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/AttributeTypeRestrictionHandlerTest.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/AttributeTypeRestrictionHandlerTest.java @@ -12,11 +12,9 @@ package org.eclipse.osee.framework.core.dsl.integration.internal; import java.util.HashSet; import java.util.Set; -import org.junit.Assert; import org.eclipse.osee.framework.core.data.IArtifactType; import org.eclipse.osee.framework.core.data.IAttributeType; import org.eclipse.osee.framework.core.dsl.integration.ArtifactDataProvider.ArtifactProxy; -import org.eclipse.osee.framework.core.dsl.integration.internal.AttributeTypeRestrictionHandler; import org.eclipse.osee.framework.core.dsl.integration.mocks.DslAsserts; import org.eclipse.osee.framework.core.dsl.integration.mocks.MockArtifactProxy; import org.eclipse.osee.framework.core.dsl.integration.mocks.MockModel; @@ -28,9 +26,11 @@ import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.core.model.type.ArtifactType; import org.eclipse.osee.framework.jdk.core.type.MutableBoolean; import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.junit.Assert; import org.junit.Test; /** @@ -58,7 +58,8 @@ public class AttributeTypeRestrictionHandlerTest extends BaseRestrictionHandlerT final MutableBoolean wasIsAttributeTypeValidCalled = new MutableBoolean(false); ArtifactProxy artifactProxy = createArtifactProxy(null, attributeType, wasIsAttributeTypeValidCalled, false); - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artifactProxy); + Scope expectedScope = new Scope().add("fail"); + DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artifactProxy, expectedScope); Assert.assertTrue(wasIsAttributeTypeValidCalled.getValue()); } @@ -75,8 +76,9 @@ public class AttributeTypeRestrictionHandlerTest extends BaseRestrictionHandlerT final MutableBoolean wasIsAttributeTypeValidCalled = new MutableBoolean(false); ArtifactProxy artifactProxy = createArtifactProxy(null, attributeType, wasIsAttributeTypeValidCalled, true); + Scope expectedScope = new Scope().add("fail"); DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artifactProxy, attributeType, - PermissionEnum.WRITE); + PermissionEnum.WRITE, expectedScope); Assert.assertTrue(wasIsAttributeTypeValidCalled.getValue()); } @@ -101,7 +103,8 @@ public class AttributeTypeRestrictionHandlerTest extends BaseRestrictionHandlerT final MutableBoolean wasIsAttributeTypeValidCalled = new MutableBoolean(false); ArtifactProxy artifactProxy = createArtifactProxy(artArtifactType, attributeType, wasIsAttributeTypeValidCalled, true); - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artifactProxy); + Scope expectedScope = new Scope().add("fail"); + DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artifactProxy, expectedScope); Assert.assertTrue(wasIsAttributeTypeValidCalled.getValue()); } @@ -125,8 +128,9 @@ public class AttributeTypeRestrictionHandlerTest extends BaseRestrictionHandlerT final MutableBoolean wasIsAttributeTypeValidCalled = new MutableBoolean(false); ArtifactProxy artifactProxy = createArtifactProxy(artArtifactType, attributeType, wasIsAttributeTypeValidCalled, true); + Scope expectedScope = new Scope().add("fail"); DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artifactProxy, attributeType, - PermissionEnum.WRITE); + PermissionEnum.WRITE, expectedScope); Assert.assertTrue(wasIsAttributeTypeValidCalled.getValue()); } @@ -156,8 +160,9 @@ public class AttributeTypeRestrictionHandlerTest extends BaseRestrictionHandlerT final MutableBoolean wasIsAttributeTypeValidCalled = new MutableBoolean(false); ArtifactProxy artifactProxy = createArtifactProxy(artArtifactType, attributeType, wasIsAttributeTypeValidCalled, true); + Scope expectedScope = new Scope().add("fail"); DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artifactProxy, attributeType, - PermissionEnum.WRITE); + PermissionEnum.WRITE, expectedScope); Assert.assertTrue(wasIsAttributeTypeValidCalled.getValue()); } diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/BaseRestrictionHandlerTest.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/BaseRestrictionHandlerTest.java index 423deaef..ad05014 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/BaseRestrictionHandlerTest.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/BaseRestrictionHandlerTest.java @@ -10,12 +10,13 @@ *******************************************************************************/ package org.eclipse.osee.framework.core.dsl.integration.internal; -import org.junit.Assert; import org.eclipse.osee.framework.core.dsl.integration.RestrictionHandler; import org.eclipse.osee.framework.core.dsl.integration.mocks.DslAsserts; import org.eclipse.osee.framework.core.dsl.integration.mocks.MockModel; import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.model.access.Scope; +import org.junit.Assert; import org.junit.Test; /** @@ -55,11 +56,13 @@ public abstract class BaseRestrictionHandlerTest<T extends ObjectRestriction> { @Test public void testProcessNullObjectRestriction() throws OseeCoreException { - DslAsserts.assertNullAccessDetail(restrictionHandler, null, null); + Scope expectedScope = new Scope().add("fail"); + DslAsserts.assertNullAccessDetail(restrictionHandler, null, null, expectedScope); } @Test public void testProcessInvalidObjectRestriction() throws OseeCoreException { - DslAsserts.assertNullAccessDetail(restrictionHandler, invalidRestriction, null); + Scope expectedScope = new Scope().add("fail"); + DslAsserts.assertNullAccessDetail(restrictionHandler, invalidRestriction, null, expectedScope); } } diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/RelationTypeRestrictionHandlerTest.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/RelationTypeRestrictionHandlerTest.java index 7b9824c..73997d9 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/RelationTypeRestrictionHandlerTest.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/RelationTypeRestrictionHandlerTest.java @@ -15,15 +15,14 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import org.junit.Assert; import org.eclipse.osee.framework.core.data.IArtifactType; import org.eclipse.osee.framework.core.data.IRelationType; -import org.eclipse.osee.framework.core.dsl.integration.internal.RelationTypeRestrictionHandler; import org.eclipse.osee.framework.core.dsl.integration.mocks.DslAsserts; import org.eclipse.osee.framework.core.dsl.integration.mocks.MockArtifactProxy; import org.eclipse.osee.framework.core.dsl.integration.mocks.MockModel; import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessPermissionEnum; 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.XRelationSideEnum; import org.eclipse.osee.framework.core.dsl.oseeDsl.XRelationType; import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; @@ -33,12 +32,16 @@ import org.eclipse.osee.framework.core.enums.RelationOrderBaseTypes; import org.eclipse.osee.framework.core.enums.RelationSide; import org.eclipse.osee.framework.core.enums.RelationTypeMultiplicity; import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.model.DefaultBasicArtifact; +import org.eclipse.osee.framework.core.model.IBasicArtifact; import org.eclipse.osee.framework.core.model.RelationTypeSide; import org.eclipse.osee.framework.core.model.access.AccessDetail; import org.eclipse.osee.framework.core.model.access.AccessDetailCollector; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.core.model.type.ArtifactType; import org.eclipse.osee.framework.core.model.type.RelationType; import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.junit.Assert; import org.junit.Test; /** @@ -49,8 +52,8 @@ import org.junit.Test; public class RelationTypeRestrictionHandlerTest extends BaseRestrictionHandlerTest<RelationTypeRestriction> { public RelationTypeRestrictionHandlerTest() { - super(new RelationTypeRestrictionHandler(), MockModel.createRelationTypeRestriction(), - MockModel.createAttributeTypeRestriction()); + super(new RelationTypeRestrictionHandler(new ArtifactMatchInterpreter()), + MockModel.createRelationTypeRestriction(), MockModel.createAttributeTypeRestriction()); } @Test @@ -64,7 +67,8 @@ public class RelationTypeRestrictionHandlerTest extends BaseRestrictionHandlerTe // Artifact Data has no relation types therefore relation type will not match MockArtifactProxy artData = new MockArtifactProxy(GUID.create(), null); - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData); + Scope expectedScope = new Scope().add("fail"); + DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData, expectedScope); } @Test @@ -85,7 +89,10 @@ public class RelationTypeRestrictionHandlerTest extends BaseRestrictionHandlerTe MockArtifactProxy artData = new MockArtifactProxy(GUID.create(), artArtType, null, null, Collections.singleton(testRelationType)); - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData); + RelationTypeSide expectedObject = new RelationTypeSide(testRelationType, RelationSide.SIDE_A); + Scope expectedScope = new Scope(); + DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, + PermissionEnum.WRITE, expectedScope); } @Test @@ -110,7 +117,9 @@ public class RelationTypeRestrictionHandlerTest extends BaseRestrictionHandlerTe MockArtifactProxy artData = new MockArtifactProxy(GUID.create(), artArtType, null, null, Collections.singleton(testRelationType)); RelationTypeSide expectedObject = new RelationTypeSide(testRelationType, RelationSide.SIDE_A); - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, PermissionEnum.WRITE); + Scope expectedScope = new Scope(); + DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, + PermissionEnum.WRITE, expectedScope); } @Test @@ -131,7 +140,11 @@ public class RelationTypeRestrictionHandlerTest extends BaseRestrictionHandlerTe MockArtifactProxy artData = new MockArtifactProxy(GUID.create(), artArtType, null, null, Collections.singleton(testRelationType)); - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData); + + RelationTypeSide expectedObject = new RelationTypeSide(testRelationType, RelationSide.SIDE_B); + Scope expectedScope = new Scope(); + DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, + PermissionEnum.WRITE, expectedScope); } @Test @@ -156,7 +169,9 @@ public class RelationTypeRestrictionHandlerTest extends BaseRestrictionHandlerTe MockArtifactProxy artData = new MockArtifactProxy(GUID.create(), artArtType, null, null, Collections.singleton(testRelationType)); RelationTypeSide expectedObject = new RelationTypeSide(testRelationType, RelationSide.SIDE_B); - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, PermissionEnum.WRITE); + Scope expectedScope = new Scope(); + DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, + PermissionEnum.WRITE, expectedScope); } @Test @@ -193,7 +208,8 @@ public class RelationTypeRestrictionHandlerTest extends BaseRestrictionHandlerTe } }; - getRestrictionHandler().process(restriction, artData, collector); + Scope expectedScope = new Scope(); + getRestrictionHandler().process(restriction, artData, collector, expectedScope); AccessDetail<?> actualAccess = actualAccesses.get(0); Assert.assertEquals(actualAccess.getPermission(), PermissionEnum.WRITE); @@ -204,6 +220,47 @@ public class RelationTypeRestrictionHandlerTest extends BaseRestrictionHandlerTe Assert.assertEquals(expectedObject2, actualAccess.getAccessObject()); } + private void testProcessRelationWithArtifactHelper(String artifactName, String matcherArtifactName, Scope expectedScope) throws OseeCoreException { + IRelationType relationType = CoreRelationTypes.Default_Hierarchical__Child; + XRelationType relationTypeRef = MockModel.createXRelationType(relationType.getGuid(), relationType.getName()); + + RelationTypeRestriction restriction = MockModel.createRelationTypeRestriction(); + restriction.setPermission(AccessPermissionEnum.ALLOW); + restriction.setRelationTypeRef(relationTypeRef); + restriction.setRestrictedToSide(XRelationSideEnum.SIDE_B); + + XArtifactMatcher matcher = + MockModel.createMatcher("artifactMatcher \"Test\" where artifactName EQ \"" + matcherArtifactName + "\";"); + restriction.setArtifactMatcherRef(matcher); + + RelationType testRelationType = + getTestRelationType(relationType, CoreArtifactTypes.SoftwareRequirement, CoreArtifactTypes.Artifact); + + IArtifactType artTypeToken1 = CoreArtifactTypes.SoftwareRequirement; + ArtifactType artArtType = new ArtifactType(artTypeToken1.getGuid(), artTypeToken1.getName(), false); + Set<ArtifactType> superTypes = new HashSet<ArtifactType>(); + superTypes.add(new ArtifactType(CoreArtifactTypes.Artifact.getGuid(), CoreArtifactTypes.Artifact.getName(), false)); + artArtType.setSuperTypes(superTypes); + + IBasicArtifact<Object> dummy = new DefaultBasicArtifact(43, GUID.create(), artifactName); + MockArtifactProxy artData = + new MockArtifactProxy(GUID.create(), artArtType, dummy, null, Collections.singleton(testRelationType)); + RelationTypeSide expectedObject = new RelationTypeSide(testRelationType, RelationSide.SIDE_B); + DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, + PermissionEnum.WRITE, expectedScope); + } + + @Test + public void testProcessRelationWithArtifactMatch() throws OseeCoreException { + testProcessRelationWithArtifactHelper("artifactToMatch", "artifactToMatch", + new Scope().addSubPath("artifactToMatch")); + } + + @Test + public void testProcessRelationWithArtifactNoMatch() throws OseeCoreException { + testProcessRelationWithArtifactHelper("artifactToMatch", "differentArtifactToMatch", new Scope()); + } + private static RelationType getTestRelationType(IRelationType relationType, IArtifactType aArtTypeToken, IArtifactType bArtTypeToken) { return new RelationType(relationType.getGuid(), relationType.getName(), "sideA_" + aArtTypeToken.getName(), "sideB_" + bArtTypeToken.getName(), aArtTypeToken, bArtTypeToken, RelationTypeMultiplicity.MANY_TO_MANY, diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/DslAsserts.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/DslAsserts.java index 9bc2b73..dccdd25 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/DslAsserts.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/DslAsserts.java @@ -10,7 +10,6 @@ *******************************************************************************/ package org.eclipse.osee.framework.core.dsl.integration.mocks; -import org.junit.Assert; import org.eclipse.osee.framework.core.dsl.integration.ArtifactDataProvider.ArtifactProxy; import org.eclipse.osee.framework.core.dsl.integration.RestrictionHandler; import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessContext; @@ -35,7 +34,9 @@ import org.eclipse.osee.framework.core.dsl.oseeDsl.XRelationType; import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.access.AccessDetail; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.core.model.test.mocks.MockAccessDetailCollector; +import org.junit.Assert; /** * @author Roberto E. Escobar @@ -46,13 +47,13 @@ public final class DslAsserts { // Utility class } - public static void assertNullAccessDetail(RestrictionHandler<?> handler, ObjectRestriction restriction, ArtifactProxy artifactProxy) throws OseeCoreException { - assertAccessDetail(handler, restriction, artifactProxy, null, null); + public static void assertNullAccessDetail(RestrictionHandler<?> handler, ObjectRestriction restriction, ArtifactProxy artifactProxy, Scope expectedScopeLevel) throws OseeCoreException { + assertAccessDetail(handler, restriction, artifactProxy, null, null, expectedScopeLevel); } - public static void assertAccessDetail(RestrictionHandler<?> handler, ObjectRestriction restriction, ArtifactProxy artifactProxy, Object expectedAccessObject, PermissionEnum expectedPermission) throws OseeCoreException { + public static void assertAccessDetail(RestrictionHandler<?> handler, ObjectRestriction restriction, ArtifactProxy artifactProxy, Object expectedAccessObject, PermissionEnum expectedPermission, Scope expectedScopeLevel) throws OseeCoreException { MockAccessDetailCollector collector = new MockAccessDetailCollector(); - handler.process(restriction, artifactProxy, collector); + handler.process(restriction, artifactProxy, collector, new Scope()); AccessDetail<?> actualDetail = collector.getAccessDetails(); if (expectedAccessObject == null) { Assert.assertNull(actualDetail); @@ -60,6 +61,7 @@ public final class DslAsserts { Assert.assertNotNull(actualDetail); Assert.assertEquals(expectedPermission, actualDetail.getPermission()); Assert.assertEquals(expectedAccessObject, actualDetail.getAccessObject()); + Assert.assertEquals(expectedScopeLevel, actualDetail.getScope()); } } diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockModel.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockModel.java index 3b72c83..b7e945b 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockModel.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockModel.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.osee.framework.core.dsl.integration.mocks; -import org.junit.Assert; +import org.eclipse.osee.framework.core.dsl.integration.util.ModelUtil; import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessContext; import org.eclipse.osee.framework.core.dsl.oseeDsl.ArtifactMatchRestriction; import org.eclipse.osee.framework.core.dsl.oseeDsl.ArtifactTypeRestriction; @@ -23,6 +23,8 @@ import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactMatcher; import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactType; import org.eclipse.osee.framework.core.dsl.oseeDsl.XAttributeType; import org.eclipse.osee.framework.core.dsl.oseeDsl.XRelationType; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.junit.Assert; /** * @author Roberto E. Escobar @@ -33,6 +35,11 @@ public final class MockModel { // Utility class } + public static XArtifactMatcher createMatcher(String rawXTextData) throws OseeCoreException { + OseeDsl model = ModelUtil.loadModel("osee:/text.osee", rawXTextData); + return model.getArtifactMatchRefs().iterator().next(); + } + public static OseeDsl createDsl() { OseeDsl dsl = OseeDslFactory.eINSTANCE.createOseeDsl(); Assert.assertNotNull(dsl); diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockRestrictionHandler.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockRestrictionHandler.java index e970d9b..fe47093 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockRestrictionHandler.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockRestrictionHandler.java @@ -14,6 +14,7 @@ import org.eclipse.osee.framework.core.dsl.integration.ArtifactDataProvider.Arti import org.eclipse.osee.framework.core.dsl.integration.RestrictionHandler; import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; import org.eclipse.osee.framework.core.model.access.AccessDetailCollector; +import org.eclipse.osee.framework.core.model.access.Scope; import org.junit.Assert; /** @@ -48,7 +49,7 @@ public class MockRestrictionHandler implements RestrictionHandler<Object> { } @Override - public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector) { + public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector, Scope scopeLevel) { wasProcessCalled = true; Assert.assertEquals(expectedObjectRestriction, objectRestriction); Assert.assertEquals(expectedArtifactProxy, artifactProxy); diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/OseeDslAccessModel.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/OseeDslAccessModel.java index 51582d0..1266a6b 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/OseeDslAccessModel.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/OseeDslAccessModel.java @@ -11,7 +11,8 @@ package org.eclipse.osee.framework.core.dsl.integration; import java.util.Collection; -import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; import org.eclipse.osee.framework.core.data.IAccessContextId; import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessContext; import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDsl; @@ -49,7 +50,7 @@ public class OseeDslAccessModel implements AccessModel { "No matching access context was found in access dsl for [%s]", contextId); for (Object objectToCheck : objectsToCheck) { - Collection<AccessDetail<?>> accessDetail = new HashSet<AccessDetail<?>>(); + List<AccessDetail<?>> accessDetail = new LinkedList<AccessDetail<?>>(); AccessDetailCollector collector = new AccessDataCollector(accessDetail); interpreter.computeAccessDetails(collector, context, objectToCheck); accessData.addAll(objectToCheck, accessDetail); diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/RestrictionHandler.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/RestrictionHandler.java index c5f961d..699d46c 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/RestrictionHandler.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/RestrictionHandler.java @@ -14,6 +14,7 @@ import org.eclipse.osee.framework.core.dsl.integration.ArtifactDataProvider.Arti import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.access.AccessDetailCollector; +import org.eclipse.osee.framework.core.model.access.Scope; /** * @author Roberto E. Escobar @@ -21,5 +22,5 @@ import org.eclipse.osee.framework.core.model.access.AccessDetailCollector; public interface RestrictionHandler<T> { public T asCastedObject(ObjectRestriction objectRestriction); - public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector) throws OseeCoreException; + public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector, Scope scopeLevel) throws OseeCoreException; }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterImpl.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterImpl.java index 859e035..c679208 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterImpl.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterImpl.java @@ -23,6 +23,7 @@ import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactMatcher; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.access.AccessDetailCollector; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.core.util.Conditions; import org.eclipse.osee.framework.jdk.core.util.Strings; @@ -73,30 +74,47 @@ public class AccessModelInterpreterImpl implements AccessModelInterpreter { } private void collectApplicable(AccessDetailCollector collector, AccessContext context, ArtifactProxy artifactData) throws OseeCoreException { - processContext(collector, context, artifactData); + Scope scope = getScope(context); + processContext(collector, context, artifactData, scope); + for (AccessContext superContext : context.getSuperAccessContexts()) { collectApplicable(collector, superContext, artifactData); } } - private void processContext(AccessDetailCollector collector, AccessContext context, ArtifactProxy artifactData) throws OseeCoreException { - collectRestrictions(collector, artifactData, context.getAccessRules()); - Collection<HierarchyRestriction> restrictions = context.getHierarchyRestrictions(); + private Scope getScope(AccessContext context) { + Scope scope = new Scope(); + scopeHelper(scope, context); + return scope; + } + + private void scopeHelper(Scope scope, AccessContext context) { + for (AccessContext parent : context.getSuperAccessContexts()) { + scopeHelper(scope, parent); + } + scope.add(context.getName()); + } + private void processContext(AccessDetailCollector collector, AccessContext context, ArtifactProxy artifactData, Scope scope) throws OseeCoreException { + collectRestrictions(collector, artifactData, context.getAccessRules(), scope); + + Collection<HierarchyRestriction> restrictions = context.getHierarchyRestrictions(); Collection<ArtifactProxy> proxyHierarchy = artifactData.getHierarchy(); for (HierarchyRestriction hierarchy : restrictions) { XArtifactMatcher artifactRef = hierarchy.getArtifactMatcherRef(); if (matcher.matches(artifactRef, proxyHierarchy)) { - collectRestrictions(collector, artifactData, hierarchy.getAccessRules()); + String tag = String.format("childOf-%s", artifactRef.getName()); + Scope child = scope.clone().addSubPath(tag); + collectRestrictions(collector, artifactData, hierarchy.getAccessRules(), child); } } } - private void collectRestrictions(AccessDetailCollector collector, ArtifactProxy artifactData, Collection<ObjectRestriction> restrictions) throws OseeCoreException { + private void collectRestrictions(AccessDetailCollector collector, ArtifactProxy artifactData, Collection<ObjectRestriction> restrictions, Scope scope) throws OseeCoreException { for (ObjectRestriction objectRestriction : restrictions) { for (RestrictionHandler<?> restrictionHandler : restrictionHandlers) { - restrictionHandler.process(objectRestriction, artifactData, collector); + restrictionHandler.process(objectRestriction, artifactData, collector, scope); } } } diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterServiceRegHandler.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterServiceRegHandler.java index 805f173..2c65d7b 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterServiceRegHandler.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterServiceRegHandler.java @@ -43,7 +43,7 @@ public class AccessModelInterpreterServiceRegHandler extends AbstractTrackingHan new ArtifactMatchRestrictionHandler(matcher), new ArtifactTypeRestrictionHandler(), new AttributeTypeRestrictionHandler(), - new RelationTypeRestrictionHandler()}; + new RelationTypeRestrictionHandler(matcher)}; AccessModelInterpreter service = new AccessModelInterpreterImpl(artifactDataProvider, matcher, restrictionHandlers); diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchRestrictionHandler.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchRestrictionHandler.java index 97e8bf2..e578d55 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchRestrictionHandler.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchRestrictionHandler.java @@ -21,6 +21,7 @@ import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.IBasicArtifact; import org.eclipse.osee.framework.core.model.access.AccessDetail; import org.eclipse.osee.framework.core.model.access.AccessDetailCollector; +import org.eclipse.osee.framework.core.model.access.Scope; /** * @author Roberto E. Escobar @@ -43,13 +44,13 @@ public class ArtifactMatchRestrictionHandler implements RestrictionHandler<Artif } @Override - public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector) throws OseeCoreException { + public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector, Scope scope) throws OseeCoreException { ArtifactMatchRestriction restriction = asCastedObject(objectRestriction); if (restriction != null) { XArtifactMatcher artifactMatcher = restriction.getArtifactMatcherRef(); if (matcherInterpreter.matches(artifactMatcher, artifactProxy)) { PermissionEnum permission = OseeUtil.getPermission(restriction); - collector.collect(new AccessDetail<IBasicArtifact<?>>(artifactProxy.getObject(), permission)); + collector.collect(new AccessDetail<IBasicArtifact<?>>(artifactProxy.getObject(), permission, scope)); } } } diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactTypeRestrictionHandler.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactTypeRestrictionHandler.java index 3e49894..61aa16a 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactTypeRestrictionHandler.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactTypeRestrictionHandler.java @@ -21,6 +21,7 @@ import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.access.AccessDetail; import org.eclipse.osee.framework.core.model.access.AccessDetailCollector; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.core.model.type.ArtifactType; /** @@ -38,7 +39,7 @@ public class ArtifactTypeRestrictionHandler implements RestrictionHandler<Artifa } @Override - public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector) throws OseeCoreException { + public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector, Scope scope) throws OseeCoreException { ArtifactTypeRestriction restriction = asCastedObject(objectRestriction); if (restriction != null) { XArtifactType artifactTypeRef = restriction.getArtifactTypeRef(); @@ -48,7 +49,7 @@ public class ArtifactTypeRestrictionHandler implements RestrictionHandler<Artifa boolean isOfType = artifactType != null && artifactType.inheritsFrom(typeToMatch); if (isOfType) { PermissionEnum permission = OseeUtil.getPermission(restriction); - collector.collect(new AccessDetail<IArtifactType>(artifactType, permission)); + collector.collect(new AccessDetail<IArtifactType>(artifactType, permission, scope)); } } } diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AttributeTypeRestrictionHandler.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AttributeTypeRestrictionHandler.java index 681210b..f94f2cc 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AttributeTypeRestrictionHandler.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AttributeTypeRestrictionHandler.java @@ -23,6 +23,7 @@ import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.access.AccessDetail; import org.eclipse.osee.framework.core.model.access.AccessDetailCollector; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.core.model.type.ArtifactType; /** @@ -40,7 +41,7 @@ public class AttributeTypeRestrictionHandler implements RestrictionHandler<Attri } @Override - public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector) throws OseeCoreException { + public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector, Scope scopeLevel) throws OseeCoreException { AttributeTypeRestriction restriction = asCastedObject(objectRestriction); if (restriction != null) { XAttributeType attributeTypeRef = restriction.getAttributeTypeRef(); @@ -58,7 +59,7 @@ public class AttributeTypeRestrictionHandler implements RestrictionHandler<Attri if (isApplicable) { PermissionEnum permission = OseeUtil.getPermission(restriction); - collector.collect(new AccessDetail<IAttributeType>(attributeTypeToMatch, permission)); + collector.collect(new AccessDetail<IAttributeType>(attributeTypeToMatch, permission, scopeLevel)); } } } diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/RelationTypeRestrictionHandler.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/RelationTypeRestrictionHandler.java index 7cc814b..5088537 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/RelationTypeRestrictionHandler.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/RelationTypeRestrictionHandler.java @@ -17,6 +17,7 @@ import org.eclipse.osee.framework.core.dsl.integration.RestrictionHandler; import org.eclipse.osee.framework.core.dsl.integration.util.OseeUtil; import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; 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.XRelationSideEnum; import org.eclipse.osee.framework.core.dsl.oseeDsl.XRelationType; import org.eclipse.osee.framework.core.enums.PermissionEnum; @@ -25,7 +26,7 @@ import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.RelationTypeSide; import org.eclipse.osee.framework.core.model.access.AccessDetail; import org.eclipse.osee.framework.core.model.access.AccessDetailCollector; -import org.eclipse.osee.framework.core.model.type.ArtifactType; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.core.model.type.RelationType; /** @@ -33,6 +34,12 @@ import org.eclipse.osee.framework.core.model.type.RelationType; */ public class RelationTypeRestrictionHandler implements RestrictionHandler<RelationTypeRestriction> { + private final ArtifactMatchInterpreter matcherInterpreter; + + public RelationTypeRestrictionHandler(ArtifactMatchInterpreter matcherInterpreter) { + this.matcherInterpreter = matcherInterpreter; + } + @Override public RelationTypeRestriction asCastedObject(ObjectRestriction objectRestriction) { RelationTypeRestriction toReturn = null; @@ -43,25 +50,28 @@ public class RelationTypeRestrictionHandler implements RestrictionHandler<Relati } @Override - public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector) throws OseeCoreException { + public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector, Scope scope) throws OseeCoreException { RelationTypeRestriction restriction = asCastedObject(objectRestriction); if (restriction != null) { XRelationType relationTypeRef = restriction.getRelationTypeRef(); XRelationSideEnum restrictedSide = restriction.getRestrictedToSide(); + XArtifactMatcher artifactMatcher = restriction.getArtifactMatcherRef(); + Scope toUse = scope; + + if (artifactMatcher != null && matcherInterpreter != null) { + if (matcherInterpreter.matches(artifactMatcher, artifactProxy)) { + toUse = scope.clone().addSubPath(artifactProxy.getName()); + } + } IRelationType typeToMatch = OseeUtil.toToken(relationTypeRef); RelationType relationType = getRelationType(typeToMatch, artifactProxy); if (relationType != null) { - ArtifactType artifactType = artifactProxy.getArtifactType(); for (RelationSide relationSide : RelationSide.values()) { if (OseeUtil.isRestrictedSide(restrictedSide, relationSide)) { - - boolean isApplicable = relationType.isArtifactTypeAllowed(relationSide, artifactType); - if (isApplicable) { - PermissionEnum permission = OseeUtil.getPermission(restriction); - collector.collect(new AccessDetail<RelationTypeSide>(new RelationTypeSide(relationType, - relationSide), permission)); - } + PermissionEnum permission = OseeUtil.getPermission(restriction); + collector.collect(new AccessDetail<RelationTypeSide>( + new RelationTypeSide(relationType, relationSide), permission, toUse)); } } } diff --git a/plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataAccessor.java b/plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataAccessor.java index e4c42dd..3efdec1 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataAccessor.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataAccessor.java @@ -90,7 +90,7 @@ public final class ArtifactDataAccessor implements ArtifactDataProvider { public Collection<ArtifactProxy> getHierarchy() { Collection<ArtifactProxy> hierarchy = new HashSet<ArtifactProxy>(); try { - Artifact artifactPtr = self; + Artifact artifactPtr = self.getParent(); while (artifactPtr != null) { hierarchy.add(new XArtifactProxy(artifactPtr)); artifactPtr = artifactPtr.getParent(); diff --git a/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/AbstractOseeDslUiModule.java b/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/AbstractOseeDslUiModule.java index 240b2d0..beb0da8 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/AbstractOseeDslUiModule.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/AbstractOseeDslUiModule.java @@ -4,8 +4,8 @@ */ package org.eclipse.osee.framework.core.dsl.ui; -import org.eclipse.ui.plugin.AbstractUIPlugin; import org.eclipse.xtext.ui.DefaultUiModule; +import org.eclipse.ui.plugin.AbstractUIPlugin; /** * Manual modifications go to {org.eclipse.osee.framework.core.dsl.ui.OseeDslUiModule} diff --git a/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/AbstractOseeDslProposalProvider.java b/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/AbstractOseeDslProposalProvider.java index 3b54b4f..eea6be1 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/AbstractOseeDslProposalProvider.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/AbstractOseeDslProposalProvider.java @@ -243,6 +243,9 @@ public class AbstractOseeDslProposalProvider extends TerminalsProposalProvider { public void completeRelationTypeRestriction_RestrictedToSide(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } + public void completeRelationTypeRestriction_ArtifactMatcherRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } public void complete_OseeDsl(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override diff --git a/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/OseeDslParser.java b/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/OseeDslParser.java index ee20d65..9add294 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/OseeDslParser.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/OseeDslParser.java @@ -88,13 +88,13 @@ public class OseeDslParser extends AbstractContentAssistParser { put(grammarAccess.getXArtifactMatcherAccess().getGroup_4(), "rule__XArtifactMatcher__Group_4__0"); put(grammarAccess.getAccessContextAccess().getGroup(), "rule__AccessContext__Group__0"); put(grammarAccess.getAccessContextAccess().getGroup_2(), "rule__AccessContext__Group_2__0"); - put(grammarAccess.getAccessContextAccess().getGroup_2_2(), "rule__AccessContext__Group_2_2__0"); put(grammarAccess.getHierarchyRestrictionAccess().getGroup(), "rule__HierarchyRestriction__Group__0"); put(grammarAccess.getArtifactMatchRestrictionAccess().getGroup(), "rule__ArtifactMatchRestriction__Group__0"); put(grammarAccess.getArtifactTypeRestrictionAccess().getGroup(), "rule__ArtifactTypeRestriction__Group__0"); put(grammarAccess.getAttributeTypeRestrictionAccess().getGroup(), "rule__AttributeTypeRestriction__Group__0"); put(grammarAccess.getAttributeTypeRestrictionAccess().getGroup_4(), "rule__AttributeTypeRestriction__Group_4__0"); put(grammarAccess.getRelationTypeRestrictionAccess().getGroup(), "rule__RelationTypeRestriction__Group__0"); + put(grammarAccess.getRelationTypeRestrictionAccess().getGroup_5(), "rule__RelationTypeRestriction__Group_5__0"); put(grammarAccess.getOseeDslAccess().getImportsAssignment_0(), "rule__OseeDsl__ImportsAssignment_0"); put(grammarAccess.getOseeDslAccess().getArtifactTypesAssignment_1_0(), "rule__OseeDsl__ArtifactTypesAssignment_1_0"); put(grammarAccess.getOseeDslAccess().getRelationTypesAssignment_1_1(), "rule__OseeDsl__RelationTypesAssignment_1_1"); @@ -157,7 +157,6 @@ public class OseeDslParser extends AbstractContentAssistParser { put(grammarAccess.getXArtifactMatcherAccess().getConditionsAssignment_4_1(), "rule__XArtifactMatcher__ConditionsAssignment_4_1"); put(grammarAccess.getAccessContextAccess().getNameAssignment_1(), "rule__AccessContext__NameAssignment_1"); put(grammarAccess.getAccessContextAccess().getSuperAccessContextsAssignment_2_1(), "rule__AccessContext__SuperAccessContextsAssignment_2_1"); - put(grammarAccess.getAccessContextAccess().getSuperAccessContextsAssignment_2_2_1(), "rule__AccessContext__SuperAccessContextsAssignment_2_2_1"); put(grammarAccess.getAccessContextAccess().getGuidAssignment_5(), "rule__AccessContext__GuidAssignment_5"); put(grammarAccess.getAccessContextAccess().getAccessRulesAssignment_7_0(), "rule__AccessContext__AccessRulesAssignment_7_0"); put(grammarAccess.getAccessContextAccess().getHierarchyRestrictionsAssignment_7_1(), "rule__AccessContext__HierarchyRestrictionsAssignment_7_1"); @@ -173,6 +172,7 @@ public class OseeDslParser extends AbstractContentAssistParser { put(grammarAccess.getRelationTypeRestrictionAccess().getPermissionAssignment_0(), "rule__RelationTypeRestriction__PermissionAssignment_0"); put(grammarAccess.getRelationTypeRestrictionAccess().getRelationTypeRefAssignment_3(), "rule__RelationTypeRestriction__RelationTypeRefAssignment_3"); put(grammarAccess.getRelationTypeRestrictionAccess().getRestrictedToSideAssignment_4(), "rule__RelationTypeRestriction__RestrictedToSideAssignment_4"); + put(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefAssignment_5_1(), "rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1"); } }; } diff --git a/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g b/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g index e4d980f..061b930 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g +++ b/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g @@ -5752,7 +5752,6 @@ rule__AccessContext__Group_2__1 } : rule__AccessContext__Group_2__1__Impl - rule__AccessContext__Group_2__2 ; finally { restoreStackSize(stackSize); @@ -5775,99 +5774,6 @@ finally { } -rule__AccessContext__Group_2__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__AccessContext__Group_2__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__AccessContext__Group_2__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAccessContextAccess().getGroup_2_2()); } -(rule__AccessContext__Group_2_2__0)* -{ after(grammarAccess.getAccessContextAccess().getGroup_2_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__AccessContext__Group_2_2__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__AccessContext__Group_2_2__0__Impl - rule__AccessContext__Group_2_2__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__AccessContext__Group_2_2__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAccessContextAccess().getCommaKeyword_2_2_0()); } - - ',' - -{ after(grammarAccess.getAccessContextAccess().getCommaKeyword_2_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__AccessContext__Group_2_2__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__AccessContext__Group_2_2__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__AccessContext__Group_2_2__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAccessContextAccess().getSuperAccessContextsAssignment_2_2_1()); } -(rule__AccessContext__SuperAccessContextsAssignment_2_2_1) -{ after(grammarAccess.getAccessContextAccess().getSuperAccessContextsAssignment_2_2_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - @@ -6801,6 +6707,7 @@ rule__RelationTypeRestriction__Group__5 } : rule__RelationTypeRestriction__Group__5__Impl + rule__RelationTypeRestriction__Group__6 ; finally { restoreStackSize(stackSize); @@ -6812,11 +6719,39 @@ rule__RelationTypeRestriction__Group__5__Impl } : ( -{ before(grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_5()); } +{ before(grammarAccess.getRelationTypeRestrictionAccess().getGroup_5()); } +(rule__RelationTypeRestriction__Group_5__0)? +{ after(grammarAccess.getRelationTypeRestrictionAccess().getGroup_5()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__RelationTypeRestriction__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationTypeRestriction__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationTypeRestriction__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_6()); } ';' -{ after(grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_5()); } +{ after(grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_6()); } ) ; @@ -6838,6 +6773,71 @@ finally { + +rule__RelationTypeRestriction__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationTypeRestriction__Group_5__0__Impl + rule__RelationTypeRestriction__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationTypeRestriction__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getRelationTypeRestrictionAccess().getArtifactKeyword_5_0()); } + + 'artifact' + +{ after(grammarAccess.getRelationTypeRestrictionAccess().getArtifactKeyword_5_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__RelationTypeRestriction__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RelationTypeRestriction__Group_5__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RelationTypeRestriction__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefAssignment_5_1()); } +(rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1) +{ after(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefAssignment_5_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + + rule__OseeDsl__ImportsAssignment_0 @init { int stackSize = keepStackSize(); @@ -7827,25 +7827,6 @@ finally { restoreStackSize(stackSize); } -rule__AccessContext__SuperAccessContextsAssignment_2_2_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAccessContextAccess().getSuperAccessContextsAccessContextCrossReference_2_2_1_0()); } -( -{ before(grammarAccess.getAccessContextAccess().getSuperAccessContextsAccessContextSTRINGTerminalRuleCall_2_2_1_0_1()); } - RULE_STRING{ after(grammarAccess.getAccessContextAccess().getSuperAccessContextsAccessContextSTRINGTerminalRuleCall_2_2_1_0_1()); } -) -{ after(grammarAccess.getAccessContextAccess().getSuperAccessContextsAccessContextCrossReference_2_2_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - rule__AccessContext__GuidAssignment_5 @init { int stackSize = keepStackSize(); @@ -8095,6 +8076,25 @@ finally { restoreStackSize(stackSize); } +rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefXArtifactMatcherCrossReference_5_1_0()); } +( +{ before(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefXArtifactMatcherSTRINGTerminalRuleCall_5_1_0_1()); } + RULE_STRING{ after(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefXArtifactMatcherSTRINGTerminalRuleCall_5_1_0_1()); } +) +{ after(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefXArtifactMatcherCrossReference_5_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + RULE_STRING : ('"' ('\\' '"'|~('"'))* '"'|'\'' ('\\' '\''|~('\''))* '\''); diff --git a/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDslParser.java b/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDslParser.java index 7e2e2a0..55a1a58 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDslParser.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDslParser.java @@ -3692,11 +3692,6 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { if ( (LA11_1==84) ) { switch ( input.LA(3) ) { - case 85: - { - alt11=1; - } - break; case 47: { alt11=2; @@ -3712,6 +3707,11 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { alt11=4; } break; + case 85: + { + alt11=1; + } + break; default: NoViableAltException nvae = new NoViableAltException("", 11, 3, input); @@ -3732,11 +3732,6 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { if ( (LA11_2==84) ) { switch ( input.LA(3) ) { - case 85: - { - alt11=1; - } - break; case 47: { alt11=2; @@ -3752,6 +3747,11 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { alt11=4; } break; + case 85: + { + alt11=1; + } + break; default: NoViableAltException nvae = new NoViableAltException("", 11, 3, input); @@ -15584,25 +15584,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AccessContext__Group_2__1" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5749:1: rule__AccessContext__Group_2__1 : rule__AccessContext__Group_2__1__Impl rule__AccessContext__Group_2__2 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5749:1: rule__AccessContext__Group_2__1 : rule__AccessContext__Group_2__1__Impl ; public final void rule__AccessContext__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5753:1: ( rule__AccessContext__Group_2__1__Impl rule__AccessContext__Group_2__2 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5754:2: rule__AccessContext__Group_2__1__Impl rule__AccessContext__Group_2__2 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5753:1: ( rule__AccessContext__Group_2__1__Impl ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5754:2: rule__AccessContext__Group_2__1__Impl { pushFollow(FOLLOW_rule__AccessContext__Group_2__1__Impl_in_rule__AccessContext__Group_2__111641); rule__AccessContext__Group_2__1__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__AccessContext__Group_2__2_in_rule__AccessContext__Group_2__111644); - rule__AccessContext__Group_2__2(); - - state._fsp--; - } @@ -15622,23 +15617,23 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AccessContext__Group_2__1__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5761:1: rule__AccessContext__Group_2__1__Impl : ( ( rule__AccessContext__SuperAccessContextsAssignment_2_1 ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5760:1: rule__AccessContext__Group_2__1__Impl : ( ( rule__AccessContext__SuperAccessContextsAssignment_2_1 ) ) ; public final void rule__AccessContext__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5765:1: ( ( ( rule__AccessContext__SuperAccessContextsAssignment_2_1 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5766:1: ( ( rule__AccessContext__SuperAccessContextsAssignment_2_1 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5764:1: ( ( ( rule__AccessContext__SuperAccessContextsAssignment_2_1 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5765:1: ( ( rule__AccessContext__SuperAccessContextsAssignment_2_1 ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5766:1: ( ( rule__AccessContext__SuperAccessContextsAssignment_2_1 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5767:1: ( rule__AccessContext__SuperAccessContextsAssignment_2_1 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5765:1: ( ( rule__AccessContext__SuperAccessContextsAssignment_2_1 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5766:1: ( rule__AccessContext__SuperAccessContextsAssignment_2_1 ) { before(grammarAccess.getAccessContextAccess().getSuperAccessContextsAssignment_2_1()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5768:1: ( rule__AccessContext__SuperAccessContextsAssignment_2_1 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5768:2: rule__AccessContext__SuperAccessContextsAssignment_2_1 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5767:1: ( rule__AccessContext__SuperAccessContextsAssignment_2_1 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5767:2: rule__AccessContext__SuperAccessContextsAssignment_2_1 { - pushFollow(FOLLOW_rule__AccessContext__SuperAccessContextsAssignment_2_1_in_rule__AccessContext__Group_2__1__Impl11671); + pushFollow(FOLLOW_rule__AccessContext__SuperAccessContextsAssignment_2_1_in_rule__AccessContext__Group_2__1__Impl11668); rule__AccessContext__SuperAccessContextsAssignment_2_1(); state._fsp--; @@ -15668,275 +15663,22 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR end "rule__AccessContext__Group_2__1__Impl" - // $ANTLR start "rule__AccessContext__Group_2__2" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5778:1: rule__AccessContext__Group_2__2 : rule__AccessContext__Group_2__2__Impl ; - public final void rule__AccessContext__Group_2__2() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5782:1: ( rule__AccessContext__Group_2__2__Impl ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5783:2: rule__AccessContext__Group_2__2__Impl - { - pushFollow(FOLLOW_rule__AccessContext__Group_2__2__Impl_in_rule__AccessContext__Group_2__211701); - rule__AccessContext__Group_2__2__Impl(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__AccessContext__Group_2__2" - - - // $ANTLR start "rule__AccessContext__Group_2__2__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5789:1: rule__AccessContext__Group_2__2__Impl : ( ( rule__AccessContext__Group_2_2__0 )* ) ; - public final void rule__AccessContext__Group_2__2__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5793:1: ( ( ( rule__AccessContext__Group_2_2__0 )* ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5794:1: ( ( rule__AccessContext__Group_2_2__0 )* ) - { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5794:1: ( ( rule__AccessContext__Group_2_2__0 )* ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5795:1: ( rule__AccessContext__Group_2_2__0 )* - { - before(grammarAccess.getAccessContextAccess().getGroup_2_2()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5796:1: ( rule__AccessContext__Group_2_2__0 )* - loop45: - do { - int alt45=2; - int LA45_0 = input.LA(1); - - if ( (LA45_0==52) ) { - alt45=1; - } - - - switch (alt45) { - case 1 : - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5796:2: rule__AccessContext__Group_2_2__0 - { - pushFollow(FOLLOW_rule__AccessContext__Group_2_2__0_in_rule__AccessContext__Group_2__2__Impl11728); - rule__AccessContext__Group_2_2__0(); - - state._fsp--; - - - } - break; - - default : - break loop45; - } - } while (true); - - after(grammarAccess.getAccessContextAccess().getGroup_2_2()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__AccessContext__Group_2__2__Impl" - - - // $ANTLR start "rule__AccessContext__Group_2_2__0" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5812:1: rule__AccessContext__Group_2_2__0 : rule__AccessContext__Group_2_2__0__Impl rule__AccessContext__Group_2_2__1 ; - public final void rule__AccessContext__Group_2_2__0() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5816:1: ( rule__AccessContext__Group_2_2__0__Impl rule__AccessContext__Group_2_2__1 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5817:2: rule__AccessContext__Group_2_2__0__Impl rule__AccessContext__Group_2_2__1 - { - pushFollow(FOLLOW_rule__AccessContext__Group_2_2__0__Impl_in_rule__AccessContext__Group_2_2__011765); - rule__AccessContext__Group_2_2__0__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_rule__AccessContext__Group_2_2__1_in_rule__AccessContext__Group_2_2__011768); - rule__AccessContext__Group_2_2__1(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__AccessContext__Group_2_2__0" - - - // $ANTLR start "rule__AccessContext__Group_2_2__0__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5824:1: rule__AccessContext__Group_2_2__0__Impl : ( ',' ) ; - public final void rule__AccessContext__Group_2_2__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5828:1: ( ( ',' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5829:1: ( ',' ) - { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5829:1: ( ',' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5830:1: ',' - { - before(grammarAccess.getAccessContextAccess().getCommaKeyword_2_2_0()); - match(input,52,FOLLOW_52_in_rule__AccessContext__Group_2_2__0__Impl11796); - after(grammarAccess.getAccessContextAccess().getCommaKeyword_2_2_0()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__AccessContext__Group_2_2__0__Impl" - - - // $ANTLR start "rule__AccessContext__Group_2_2__1" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5843:1: rule__AccessContext__Group_2_2__1 : rule__AccessContext__Group_2_2__1__Impl ; - public final void rule__AccessContext__Group_2_2__1() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5847:1: ( rule__AccessContext__Group_2_2__1__Impl ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5848:2: rule__AccessContext__Group_2_2__1__Impl - { - pushFollow(FOLLOW_rule__AccessContext__Group_2_2__1__Impl_in_rule__AccessContext__Group_2_2__111827); - rule__AccessContext__Group_2_2__1__Impl(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__AccessContext__Group_2_2__1" - - - // $ANTLR start "rule__AccessContext__Group_2_2__1__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5854:1: rule__AccessContext__Group_2_2__1__Impl : ( ( rule__AccessContext__SuperAccessContextsAssignment_2_2_1 ) ) ; - public final void rule__AccessContext__Group_2_2__1__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5858:1: ( ( ( rule__AccessContext__SuperAccessContextsAssignment_2_2_1 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5859:1: ( ( rule__AccessContext__SuperAccessContextsAssignment_2_2_1 ) ) - { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5859:1: ( ( rule__AccessContext__SuperAccessContextsAssignment_2_2_1 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5860:1: ( rule__AccessContext__SuperAccessContextsAssignment_2_2_1 ) - { - before(grammarAccess.getAccessContextAccess().getSuperAccessContextsAssignment_2_2_1()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5861:1: ( rule__AccessContext__SuperAccessContextsAssignment_2_2_1 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5861:2: rule__AccessContext__SuperAccessContextsAssignment_2_2_1 - { - pushFollow(FOLLOW_rule__AccessContext__SuperAccessContextsAssignment_2_2_1_in_rule__AccessContext__Group_2_2__1__Impl11854); - rule__AccessContext__SuperAccessContextsAssignment_2_2_1(); - - state._fsp--; - - - } - - after(grammarAccess.getAccessContextAccess().getSuperAccessContextsAssignment_2_2_1()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__AccessContext__Group_2_2__1__Impl" - - // $ANTLR start "rule__HierarchyRestriction__Group__0" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5875:1: rule__HierarchyRestriction__Group__0 : rule__HierarchyRestriction__Group__0__Impl rule__HierarchyRestriction__Group__1 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5781:1: rule__HierarchyRestriction__Group__0 : rule__HierarchyRestriction__Group__0__Impl rule__HierarchyRestriction__Group__1 ; public final void rule__HierarchyRestriction__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5879:1: ( rule__HierarchyRestriction__Group__0__Impl rule__HierarchyRestriction__Group__1 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5880:2: rule__HierarchyRestriction__Group__0__Impl rule__HierarchyRestriction__Group__1 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5785:1: ( rule__HierarchyRestriction__Group__0__Impl rule__HierarchyRestriction__Group__1 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5786:2: rule__HierarchyRestriction__Group__0__Impl rule__HierarchyRestriction__Group__1 { - pushFollow(FOLLOW_rule__HierarchyRestriction__Group__0__Impl_in_rule__HierarchyRestriction__Group__011888); + pushFollow(FOLLOW_rule__HierarchyRestriction__Group__0__Impl_in_rule__HierarchyRestriction__Group__011702); rule__HierarchyRestriction__Group__0__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__HierarchyRestriction__Group__1_in_rule__HierarchyRestriction__Group__011891); + pushFollow(FOLLOW_rule__HierarchyRestriction__Group__1_in_rule__HierarchyRestriction__Group__011705); rule__HierarchyRestriction__Group__1(); state._fsp--; @@ -15960,20 +15702,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__HierarchyRestriction__Group__0__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5887:1: rule__HierarchyRestriction__Group__0__Impl : ( 'childrenOf' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5793:1: rule__HierarchyRestriction__Group__0__Impl : ( 'childrenOf' ) ; public final void rule__HierarchyRestriction__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5891:1: ( ( 'childrenOf' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5892:1: ( 'childrenOf' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5797:1: ( ( 'childrenOf' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5798:1: ( 'childrenOf' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5892:1: ( 'childrenOf' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5893:1: 'childrenOf' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5798:1: ( 'childrenOf' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5799:1: 'childrenOf' { before(grammarAccess.getHierarchyRestrictionAccess().getChildrenOfKeyword_0()); - match(input,83,FOLLOW_83_in_rule__HierarchyRestriction__Group__0__Impl11919); + match(input,83,FOLLOW_83_in_rule__HierarchyRestriction__Group__0__Impl11733); after(grammarAccess.getHierarchyRestrictionAccess().getChildrenOfKeyword_0()); } @@ -15997,21 +15739,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__HierarchyRestriction__Group__1" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5906:1: rule__HierarchyRestriction__Group__1 : rule__HierarchyRestriction__Group__1__Impl rule__HierarchyRestriction__Group__2 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5812:1: rule__HierarchyRestriction__Group__1 : rule__HierarchyRestriction__Group__1__Impl rule__HierarchyRestriction__Group__2 ; public final void rule__HierarchyRestriction__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5910:1: ( rule__HierarchyRestriction__Group__1__Impl rule__HierarchyRestriction__Group__2 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5911:2: rule__HierarchyRestriction__Group__1__Impl rule__HierarchyRestriction__Group__2 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5816:1: ( rule__HierarchyRestriction__Group__1__Impl rule__HierarchyRestriction__Group__2 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5817:2: rule__HierarchyRestriction__Group__1__Impl rule__HierarchyRestriction__Group__2 { - pushFollow(FOLLOW_rule__HierarchyRestriction__Group__1__Impl_in_rule__HierarchyRestriction__Group__111950); + pushFollow(FOLLOW_rule__HierarchyRestriction__Group__1__Impl_in_rule__HierarchyRestriction__Group__111764); rule__HierarchyRestriction__Group__1__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__HierarchyRestriction__Group__2_in_rule__HierarchyRestriction__Group__111953); + pushFollow(FOLLOW_rule__HierarchyRestriction__Group__2_in_rule__HierarchyRestriction__Group__111767); rule__HierarchyRestriction__Group__2(); state._fsp--; @@ -16035,23 +15777,23 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__HierarchyRestriction__Group__1__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5918:1: rule__HierarchyRestriction__Group__1__Impl : ( ( rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5824:1: rule__HierarchyRestriction__Group__1__Impl : ( ( rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 ) ) ; public final void rule__HierarchyRestriction__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5922:1: ( ( ( rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5923:1: ( ( rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5828:1: ( ( ( rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5829:1: ( ( rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5923:1: ( ( rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5924:1: ( rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5829:1: ( ( rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5830:1: ( rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 ) { before(grammarAccess.getHierarchyRestrictionAccess().getArtifactMatcherRefAssignment_1()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5925:1: ( rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5925:2: rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5831:1: ( rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5831:2: rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 { - pushFollow(FOLLOW_rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1_in_rule__HierarchyRestriction__Group__1__Impl11980); + pushFollow(FOLLOW_rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1_in_rule__HierarchyRestriction__Group__1__Impl11794); rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1(); state._fsp--; @@ -16082,21 +15824,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__HierarchyRestriction__Group__2" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5935:1: rule__HierarchyRestriction__Group__2 : rule__HierarchyRestriction__Group__2__Impl rule__HierarchyRestriction__Group__3 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5841:1: rule__HierarchyRestriction__Group__2 : rule__HierarchyRestriction__Group__2__Impl rule__HierarchyRestriction__Group__3 ; public final void rule__HierarchyRestriction__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5939:1: ( rule__HierarchyRestriction__Group__2__Impl rule__HierarchyRestriction__Group__3 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5940:2: rule__HierarchyRestriction__Group__2__Impl rule__HierarchyRestriction__Group__3 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5845:1: ( rule__HierarchyRestriction__Group__2__Impl rule__HierarchyRestriction__Group__3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5846:2: rule__HierarchyRestriction__Group__2__Impl rule__HierarchyRestriction__Group__3 { - pushFollow(FOLLOW_rule__HierarchyRestriction__Group__2__Impl_in_rule__HierarchyRestriction__Group__212010); + pushFollow(FOLLOW_rule__HierarchyRestriction__Group__2__Impl_in_rule__HierarchyRestriction__Group__211824); rule__HierarchyRestriction__Group__2__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__HierarchyRestriction__Group__3_in_rule__HierarchyRestriction__Group__212013); + pushFollow(FOLLOW_rule__HierarchyRestriction__Group__3_in_rule__HierarchyRestriction__Group__211827); rule__HierarchyRestriction__Group__3(); state._fsp--; @@ -16120,20 +15862,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__HierarchyRestriction__Group__2__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5947:1: rule__HierarchyRestriction__Group__2__Impl : ( '{' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5853:1: rule__HierarchyRestriction__Group__2__Impl : ( '{' ) ; public final void rule__HierarchyRestriction__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5951:1: ( ( '{' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5952:1: ( '{' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5857:1: ( ( '{' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5858:1: ( '{' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5952:1: ( '{' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5953:1: '{' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5858:1: ( '{' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5859:1: '{' { before(grammarAccess.getHierarchyRestrictionAccess().getLeftCurlyBracketKeyword_2()); - match(input,48,FOLLOW_48_in_rule__HierarchyRestriction__Group__2__Impl12041); + match(input,48,FOLLOW_48_in_rule__HierarchyRestriction__Group__2__Impl11855); after(grammarAccess.getHierarchyRestrictionAccess().getLeftCurlyBracketKeyword_2()); } @@ -16157,21 +15899,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__HierarchyRestriction__Group__3" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5966:1: rule__HierarchyRestriction__Group__3 : rule__HierarchyRestriction__Group__3__Impl rule__HierarchyRestriction__Group__4 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5872:1: rule__HierarchyRestriction__Group__3 : rule__HierarchyRestriction__Group__3__Impl rule__HierarchyRestriction__Group__4 ; public final void rule__HierarchyRestriction__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5970:1: ( rule__HierarchyRestriction__Group__3__Impl rule__HierarchyRestriction__Group__4 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5971:2: rule__HierarchyRestriction__Group__3__Impl rule__HierarchyRestriction__Group__4 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5876:1: ( rule__HierarchyRestriction__Group__3__Impl rule__HierarchyRestriction__Group__4 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5877:2: rule__HierarchyRestriction__Group__3__Impl rule__HierarchyRestriction__Group__4 { - pushFollow(FOLLOW_rule__HierarchyRestriction__Group__3__Impl_in_rule__HierarchyRestriction__Group__312072); + pushFollow(FOLLOW_rule__HierarchyRestriction__Group__3__Impl_in_rule__HierarchyRestriction__Group__311886); rule__HierarchyRestriction__Group__3__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__HierarchyRestriction__Group__4_in_rule__HierarchyRestriction__Group__312075); + pushFollow(FOLLOW_rule__HierarchyRestriction__Group__4_in_rule__HierarchyRestriction__Group__311889); rule__HierarchyRestriction__Group__4(); state._fsp--; @@ -16195,26 +15937,26 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__HierarchyRestriction__Group__3__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5978:1: rule__HierarchyRestriction__Group__3__Impl : ( ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) ) ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5884:1: rule__HierarchyRestriction__Group__3__Impl : ( ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) ) ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* ) ) ; public final void rule__HierarchyRestriction__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5982:1: ( ( ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) ) ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5983:1: ( ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) ) ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5888:1: ( ( ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) ) ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5889:1: ( ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) ) ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5983:1: ( ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) ) ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5984:1: ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) ) ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5889:1: ( ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) ) ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5890:1: ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) ) ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5984:1: ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5985:1: ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5890:1: ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5891:1: ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) { before(grammarAccess.getHierarchyRestrictionAccess().getAccessRulesAssignment_3()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5986:1: ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5986:2: rule__HierarchyRestriction__AccessRulesAssignment_3 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5892:1: ( rule__HierarchyRestriction__AccessRulesAssignment_3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5892:2: rule__HierarchyRestriction__AccessRulesAssignment_3 { - pushFollow(FOLLOW_rule__HierarchyRestriction__AccessRulesAssignment_3_in_rule__HierarchyRestriction__Group__3__Impl12104); + pushFollow(FOLLOW_rule__HierarchyRestriction__AccessRulesAssignment_3_in_rule__HierarchyRestriction__Group__3__Impl11918); rule__HierarchyRestriction__AccessRulesAssignment_3(); state._fsp--; @@ -16226,26 +15968,26 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { } - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5989:1: ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5990:1: ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5895:1: ( ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5896:1: ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* { before(grammarAccess.getHierarchyRestrictionAccess().getAccessRulesAssignment_3()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5991:1: ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* - loop46: + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5897:1: ( rule__HierarchyRestriction__AccessRulesAssignment_3 )* + loop45: do { - int alt46=2; - int LA46_0 = input.LA(1); + int alt45=2; + int LA45_0 = input.LA(1); - if ( ((LA46_0>=40 && LA46_0<=41)) ) { - alt46=1; + if ( ((LA45_0>=40 && LA45_0<=41)) ) { + alt45=1; } - switch (alt46) { + switch (alt45) { case 1 : - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5991:2: rule__HierarchyRestriction__AccessRulesAssignment_3 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5897:2: rule__HierarchyRestriction__AccessRulesAssignment_3 { - pushFollow(FOLLOW_rule__HierarchyRestriction__AccessRulesAssignment_3_in_rule__HierarchyRestriction__Group__3__Impl12116); + pushFollow(FOLLOW_rule__HierarchyRestriction__AccessRulesAssignment_3_in_rule__HierarchyRestriction__Group__3__Impl11930); rule__HierarchyRestriction__AccessRulesAssignment_3(); state._fsp--; @@ -16255,7 +15997,7 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { break; default : - break loop46; + break loop45; } } while (true); @@ -16285,16 +16027,16 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__HierarchyRestriction__Group__4" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6002:1: rule__HierarchyRestriction__Group__4 : rule__HierarchyRestriction__Group__4__Impl ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5908:1: rule__HierarchyRestriction__Group__4 : rule__HierarchyRestriction__Group__4__Impl ; public final void rule__HierarchyRestriction__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6006:1: ( rule__HierarchyRestriction__Group__4__Impl ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6007:2: rule__HierarchyRestriction__Group__4__Impl + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5912:1: ( rule__HierarchyRestriction__Group__4__Impl ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5913:2: rule__HierarchyRestriction__Group__4__Impl { - pushFollow(FOLLOW_rule__HierarchyRestriction__Group__4__Impl_in_rule__HierarchyRestriction__Group__412149); + pushFollow(FOLLOW_rule__HierarchyRestriction__Group__4__Impl_in_rule__HierarchyRestriction__Group__411963); rule__HierarchyRestriction__Group__4__Impl(); state._fsp--; @@ -16318,20 +16060,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__HierarchyRestriction__Group__4__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6013:1: rule__HierarchyRestriction__Group__4__Impl : ( '}' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5919:1: rule__HierarchyRestriction__Group__4__Impl : ( '}' ) ; public final void rule__HierarchyRestriction__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6017:1: ( ( '}' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6018:1: ( '}' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5923:1: ( ( '}' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5924:1: ( '}' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6018:1: ( '}' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6019:1: '}' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5924:1: ( '}' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5925:1: '}' { before(grammarAccess.getHierarchyRestrictionAccess().getRightCurlyBracketKeyword_4()); - match(input,50,FOLLOW_50_in_rule__HierarchyRestriction__Group__4__Impl12177); + match(input,50,FOLLOW_50_in_rule__HierarchyRestriction__Group__4__Impl11991); after(grammarAccess.getHierarchyRestrictionAccess().getRightCurlyBracketKeyword_4()); } @@ -16355,21 +16097,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactMatchRestriction__Group__0" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6042:1: rule__ArtifactMatchRestriction__Group__0 : rule__ArtifactMatchRestriction__Group__0__Impl rule__ArtifactMatchRestriction__Group__1 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5948:1: rule__ArtifactMatchRestriction__Group__0 : rule__ArtifactMatchRestriction__Group__0__Impl rule__ArtifactMatchRestriction__Group__1 ; public final void rule__ArtifactMatchRestriction__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6046:1: ( rule__ArtifactMatchRestriction__Group__0__Impl rule__ArtifactMatchRestriction__Group__1 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6047:2: rule__ArtifactMatchRestriction__Group__0__Impl rule__ArtifactMatchRestriction__Group__1 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5952:1: ( rule__ArtifactMatchRestriction__Group__0__Impl rule__ArtifactMatchRestriction__Group__1 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5953:2: rule__ArtifactMatchRestriction__Group__0__Impl rule__ArtifactMatchRestriction__Group__1 { - pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__0__Impl_in_rule__ArtifactMatchRestriction__Group__012218); + pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__0__Impl_in_rule__ArtifactMatchRestriction__Group__012032); rule__ArtifactMatchRestriction__Group__0__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__1_in_rule__ArtifactMatchRestriction__Group__012221); + pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__1_in_rule__ArtifactMatchRestriction__Group__012035); rule__ArtifactMatchRestriction__Group__1(); state._fsp--; @@ -16393,23 +16135,23 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactMatchRestriction__Group__0__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6054:1: rule__ArtifactMatchRestriction__Group__0__Impl : ( ( rule__ArtifactMatchRestriction__PermissionAssignment_0 ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5960:1: rule__ArtifactMatchRestriction__Group__0__Impl : ( ( rule__ArtifactMatchRestriction__PermissionAssignment_0 ) ) ; public final void rule__ArtifactMatchRestriction__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6058:1: ( ( ( rule__ArtifactMatchRestriction__PermissionAssignment_0 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6059:1: ( ( rule__ArtifactMatchRestriction__PermissionAssignment_0 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5964:1: ( ( ( rule__ArtifactMatchRestriction__PermissionAssignment_0 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5965:1: ( ( rule__ArtifactMatchRestriction__PermissionAssignment_0 ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6059:1: ( ( rule__ArtifactMatchRestriction__PermissionAssignment_0 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6060:1: ( rule__ArtifactMatchRestriction__PermissionAssignment_0 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5965:1: ( ( rule__ArtifactMatchRestriction__PermissionAssignment_0 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5966:1: ( rule__ArtifactMatchRestriction__PermissionAssignment_0 ) { before(grammarAccess.getArtifactMatchRestrictionAccess().getPermissionAssignment_0()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6061:1: ( rule__ArtifactMatchRestriction__PermissionAssignment_0 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6061:2: rule__ArtifactMatchRestriction__PermissionAssignment_0 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5967:1: ( rule__ArtifactMatchRestriction__PermissionAssignment_0 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5967:2: rule__ArtifactMatchRestriction__PermissionAssignment_0 { - pushFollow(FOLLOW_rule__ArtifactMatchRestriction__PermissionAssignment_0_in_rule__ArtifactMatchRestriction__Group__0__Impl12248); + pushFollow(FOLLOW_rule__ArtifactMatchRestriction__PermissionAssignment_0_in_rule__ArtifactMatchRestriction__Group__0__Impl12062); rule__ArtifactMatchRestriction__PermissionAssignment_0(); state._fsp--; @@ -16440,21 +16182,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactMatchRestriction__Group__1" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6071:1: rule__ArtifactMatchRestriction__Group__1 : rule__ArtifactMatchRestriction__Group__1__Impl rule__ArtifactMatchRestriction__Group__2 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5977:1: rule__ArtifactMatchRestriction__Group__1 : rule__ArtifactMatchRestriction__Group__1__Impl rule__ArtifactMatchRestriction__Group__2 ; public final void rule__ArtifactMatchRestriction__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6075:1: ( rule__ArtifactMatchRestriction__Group__1__Impl rule__ArtifactMatchRestriction__Group__2 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6076:2: rule__ArtifactMatchRestriction__Group__1__Impl rule__ArtifactMatchRestriction__Group__2 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5981:1: ( rule__ArtifactMatchRestriction__Group__1__Impl rule__ArtifactMatchRestriction__Group__2 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5982:2: rule__ArtifactMatchRestriction__Group__1__Impl rule__ArtifactMatchRestriction__Group__2 { - pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__1__Impl_in_rule__ArtifactMatchRestriction__Group__112278); + pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__1__Impl_in_rule__ArtifactMatchRestriction__Group__112092); rule__ArtifactMatchRestriction__Group__1__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__2_in_rule__ArtifactMatchRestriction__Group__112281); + pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__2_in_rule__ArtifactMatchRestriction__Group__112095); rule__ArtifactMatchRestriction__Group__2(); state._fsp--; @@ -16478,20 +16220,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactMatchRestriction__Group__1__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6083:1: rule__ArtifactMatchRestriction__Group__1__Impl : ( 'edit' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5989:1: rule__ArtifactMatchRestriction__Group__1__Impl : ( 'edit' ) ; public final void rule__ArtifactMatchRestriction__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6087:1: ( ( 'edit' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6088:1: ( 'edit' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5993:1: ( ( 'edit' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5994:1: ( 'edit' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6088:1: ( 'edit' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6089:1: 'edit' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5994:1: ( 'edit' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:5995:1: 'edit' { before(grammarAccess.getArtifactMatchRestrictionAccess().getEditKeyword_1()); - match(input,84,FOLLOW_84_in_rule__ArtifactMatchRestriction__Group__1__Impl12309); + match(input,84,FOLLOW_84_in_rule__ArtifactMatchRestriction__Group__1__Impl12123); after(grammarAccess.getArtifactMatchRestrictionAccess().getEditKeyword_1()); } @@ -16515,21 +16257,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactMatchRestriction__Group__2" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6102:1: rule__ArtifactMatchRestriction__Group__2 : rule__ArtifactMatchRestriction__Group__2__Impl rule__ArtifactMatchRestriction__Group__3 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6008:1: rule__ArtifactMatchRestriction__Group__2 : rule__ArtifactMatchRestriction__Group__2__Impl rule__ArtifactMatchRestriction__Group__3 ; public final void rule__ArtifactMatchRestriction__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6106:1: ( rule__ArtifactMatchRestriction__Group__2__Impl rule__ArtifactMatchRestriction__Group__3 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6107:2: rule__ArtifactMatchRestriction__Group__2__Impl rule__ArtifactMatchRestriction__Group__3 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6012:1: ( rule__ArtifactMatchRestriction__Group__2__Impl rule__ArtifactMatchRestriction__Group__3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6013:2: rule__ArtifactMatchRestriction__Group__2__Impl rule__ArtifactMatchRestriction__Group__3 { - pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__2__Impl_in_rule__ArtifactMatchRestriction__Group__212340); + pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__2__Impl_in_rule__ArtifactMatchRestriction__Group__212154); rule__ArtifactMatchRestriction__Group__2__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__3_in_rule__ArtifactMatchRestriction__Group__212343); + pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__3_in_rule__ArtifactMatchRestriction__Group__212157); rule__ArtifactMatchRestriction__Group__3(); state._fsp--; @@ -16553,20 +16295,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactMatchRestriction__Group__2__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6114:1: rule__ArtifactMatchRestriction__Group__2__Impl : ( 'artifact' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6020:1: rule__ArtifactMatchRestriction__Group__2__Impl : ( 'artifact' ) ; public final void rule__ArtifactMatchRestriction__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6118:1: ( ( 'artifact' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6119:1: ( 'artifact' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6024:1: ( ( 'artifact' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6025:1: ( 'artifact' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6119:1: ( 'artifact' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6120:1: 'artifact' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6025:1: ( 'artifact' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6026:1: 'artifact' { before(grammarAccess.getArtifactMatchRestrictionAccess().getArtifactKeyword_2()); - match(input,85,FOLLOW_85_in_rule__ArtifactMatchRestriction__Group__2__Impl12371); + match(input,85,FOLLOW_85_in_rule__ArtifactMatchRestriction__Group__2__Impl12185); after(grammarAccess.getArtifactMatchRestrictionAccess().getArtifactKeyword_2()); } @@ -16590,21 +16332,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactMatchRestriction__Group__3" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6133:1: rule__ArtifactMatchRestriction__Group__3 : rule__ArtifactMatchRestriction__Group__3__Impl rule__ArtifactMatchRestriction__Group__4 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6039:1: rule__ArtifactMatchRestriction__Group__3 : rule__ArtifactMatchRestriction__Group__3__Impl rule__ArtifactMatchRestriction__Group__4 ; public final void rule__ArtifactMatchRestriction__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6137:1: ( rule__ArtifactMatchRestriction__Group__3__Impl rule__ArtifactMatchRestriction__Group__4 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6138:2: rule__ArtifactMatchRestriction__Group__3__Impl rule__ArtifactMatchRestriction__Group__4 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6043:1: ( rule__ArtifactMatchRestriction__Group__3__Impl rule__ArtifactMatchRestriction__Group__4 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6044:2: rule__ArtifactMatchRestriction__Group__3__Impl rule__ArtifactMatchRestriction__Group__4 { - pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__3__Impl_in_rule__ArtifactMatchRestriction__Group__312402); + pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__3__Impl_in_rule__ArtifactMatchRestriction__Group__312216); rule__ArtifactMatchRestriction__Group__3__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__4_in_rule__ArtifactMatchRestriction__Group__312405); + pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__4_in_rule__ArtifactMatchRestriction__Group__312219); rule__ArtifactMatchRestriction__Group__4(); state._fsp--; @@ -16628,23 +16370,23 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactMatchRestriction__Group__3__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6145:1: rule__ArtifactMatchRestriction__Group__3__Impl : ( ( rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6051:1: rule__ArtifactMatchRestriction__Group__3__Impl : ( ( rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 ) ) ; public final void rule__ArtifactMatchRestriction__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6149:1: ( ( ( rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6150:1: ( ( rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6055:1: ( ( ( rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6056:1: ( ( rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6150:1: ( ( rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6151:1: ( rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6056:1: ( ( rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6057:1: ( rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 ) { before(grammarAccess.getArtifactMatchRestrictionAccess().getArtifactMatcherRefAssignment_3()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6152:1: ( rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6152:2: rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6058:1: ( rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6058:2: rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 { - pushFollow(FOLLOW_rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3_in_rule__ArtifactMatchRestriction__Group__3__Impl12432); + pushFollow(FOLLOW_rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3_in_rule__ArtifactMatchRestriction__Group__3__Impl12246); rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3(); state._fsp--; @@ -16675,16 +16417,16 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactMatchRestriction__Group__4" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6162:1: rule__ArtifactMatchRestriction__Group__4 : rule__ArtifactMatchRestriction__Group__4__Impl ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6068:1: rule__ArtifactMatchRestriction__Group__4 : rule__ArtifactMatchRestriction__Group__4__Impl ; public final void rule__ArtifactMatchRestriction__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6166:1: ( rule__ArtifactMatchRestriction__Group__4__Impl ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6167:2: rule__ArtifactMatchRestriction__Group__4__Impl + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6072:1: ( rule__ArtifactMatchRestriction__Group__4__Impl ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6073:2: rule__ArtifactMatchRestriction__Group__4__Impl { - pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__4__Impl_in_rule__ArtifactMatchRestriction__Group__412462); + pushFollow(FOLLOW_rule__ArtifactMatchRestriction__Group__4__Impl_in_rule__ArtifactMatchRestriction__Group__412276); rule__ArtifactMatchRestriction__Group__4__Impl(); state._fsp--; @@ -16708,20 +16450,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactMatchRestriction__Group__4__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6173:1: rule__ArtifactMatchRestriction__Group__4__Impl : ( ';' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6079:1: rule__ArtifactMatchRestriction__Group__4__Impl : ( ';' ) ; public final void rule__ArtifactMatchRestriction__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6177:1: ( ( ';' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6178:1: ( ';' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6083:1: ( ( ';' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6084:1: ( ';' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6178:1: ( ';' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6179:1: ';' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6084:1: ( ';' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6085:1: ';' { before(grammarAccess.getArtifactMatchRestrictionAccess().getSemicolonKeyword_4()); - match(input,81,FOLLOW_81_in_rule__ArtifactMatchRestriction__Group__4__Impl12490); + match(input,81,FOLLOW_81_in_rule__ArtifactMatchRestriction__Group__4__Impl12304); after(grammarAccess.getArtifactMatchRestrictionAccess().getSemicolonKeyword_4()); } @@ -16745,21 +16487,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactTypeRestriction__Group__0" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6202:1: rule__ArtifactTypeRestriction__Group__0 : rule__ArtifactTypeRestriction__Group__0__Impl rule__ArtifactTypeRestriction__Group__1 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6108:1: rule__ArtifactTypeRestriction__Group__0 : rule__ArtifactTypeRestriction__Group__0__Impl rule__ArtifactTypeRestriction__Group__1 ; public final void rule__ArtifactTypeRestriction__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6206:1: ( rule__ArtifactTypeRestriction__Group__0__Impl rule__ArtifactTypeRestriction__Group__1 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6207:2: rule__ArtifactTypeRestriction__Group__0__Impl rule__ArtifactTypeRestriction__Group__1 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6112:1: ( rule__ArtifactTypeRestriction__Group__0__Impl rule__ArtifactTypeRestriction__Group__1 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6113:2: rule__ArtifactTypeRestriction__Group__0__Impl rule__ArtifactTypeRestriction__Group__1 { - pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__0__Impl_in_rule__ArtifactTypeRestriction__Group__012531); + pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__0__Impl_in_rule__ArtifactTypeRestriction__Group__012345); rule__ArtifactTypeRestriction__Group__0__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__1_in_rule__ArtifactTypeRestriction__Group__012534); + pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__1_in_rule__ArtifactTypeRestriction__Group__012348); rule__ArtifactTypeRestriction__Group__1(); state._fsp--; @@ -16783,23 +16525,23 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactTypeRestriction__Group__0__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6214:1: rule__ArtifactTypeRestriction__Group__0__Impl : ( ( rule__ArtifactTypeRestriction__PermissionAssignment_0 ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6120:1: rule__ArtifactTypeRestriction__Group__0__Impl : ( ( rule__ArtifactTypeRestriction__PermissionAssignment_0 ) ) ; public final void rule__ArtifactTypeRestriction__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6218:1: ( ( ( rule__ArtifactTypeRestriction__PermissionAssignment_0 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6219:1: ( ( rule__ArtifactTypeRestriction__PermissionAssignment_0 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6124:1: ( ( ( rule__ArtifactTypeRestriction__PermissionAssignment_0 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6125:1: ( ( rule__ArtifactTypeRestriction__PermissionAssignment_0 ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6219:1: ( ( rule__ArtifactTypeRestriction__PermissionAssignment_0 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6220:1: ( rule__ArtifactTypeRestriction__PermissionAssignment_0 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6125:1: ( ( rule__ArtifactTypeRestriction__PermissionAssignment_0 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6126:1: ( rule__ArtifactTypeRestriction__PermissionAssignment_0 ) { before(grammarAccess.getArtifactTypeRestrictionAccess().getPermissionAssignment_0()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6221:1: ( rule__ArtifactTypeRestriction__PermissionAssignment_0 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6221:2: rule__ArtifactTypeRestriction__PermissionAssignment_0 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6127:1: ( rule__ArtifactTypeRestriction__PermissionAssignment_0 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6127:2: rule__ArtifactTypeRestriction__PermissionAssignment_0 { - pushFollow(FOLLOW_rule__ArtifactTypeRestriction__PermissionAssignment_0_in_rule__ArtifactTypeRestriction__Group__0__Impl12561); + pushFollow(FOLLOW_rule__ArtifactTypeRestriction__PermissionAssignment_0_in_rule__ArtifactTypeRestriction__Group__0__Impl12375); rule__ArtifactTypeRestriction__PermissionAssignment_0(); state._fsp--; @@ -16830,21 +16572,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactTypeRestriction__Group__1" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6231:1: rule__ArtifactTypeRestriction__Group__1 : rule__ArtifactTypeRestriction__Group__1__Impl rule__ArtifactTypeRestriction__Group__2 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6137:1: rule__ArtifactTypeRestriction__Group__1 : rule__ArtifactTypeRestriction__Group__1__Impl rule__ArtifactTypeRestriction__Group__2 ; public final void rule__ArtifactTypeRestriction__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6235:1: ( rule__ArtifactTypeRestriction__Group__1__Impl rule__ArtifactTypeRestriction__Group__2 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6236:2: rule__ArtifactTypeRestriction__Group__1__Impl rule__ArtifactTypeRestriction__Group__2 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6141:1: ( rule__ArtifactTypeRestriction__Group__1__Impl rule__ArtifactTypeRestriction__Group__2 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6142:2: rule__ArtifactTypeRestriction__Group__1__Impl rule__ArtifactTypeRestriction__Group__2 { - pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__1__Impl_in_rule__ArtifactTypeRestriction__Group__112591); + pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__1__Impl_in_rule__ArtifactTypeRestriction__Group__112405); rule__ArtifactTypeRestriction__Group__1__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__2_in_rule__ArtifactTypeRestriction__Group__112594); + pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__2_in_rule__ArtifactTypeRestriction__Group__112408); rule__ArtifactTypeRestriction__Group__2(); state._fsp--; @@ -16868,20 +16610,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactTypeRestriction__Group__1__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6243:1: rule__ArtifactTypeRestriction__Group__1__Impl : ( 'edit' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6149:1: rule__ArtifactTypeRestriction__Group__1__Impl : ( 'edit' ) ; public final void rule__ArtifactTypeRestriction__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6247:1: ( ( 'edit' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6248:1: ( 'edit' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6153:1: ( ( 'edit' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6154:1: ( 'edit' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6248:1: ( 'edit' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6249:1: 'edit' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6154:1: ( 'edit' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6155:1: 'edit' { before(grammarAccess.getArtifactTypeRestrictionAccess().getEditKeyword_1()); - match(input,84,FOLLOW_84_in_rule__ArtifactTypeRestriction__Group__1__Impl12622); + match(input,84,FOLLOW_84_in_rule__ArtifactTypeRestriction__Group__1__Impl12436); after(grammarAccess.getArtifactTypeRestrictionAccess().getEditKeyword_1()); } @@ -16905,21 +16647,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactTypeRestriction__Group__2" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6262:1: rule__ArtifactTypeRestriction__Group__2 : rule__ArtifactTypeRestriction__Group__2__Impl rule__ArtifactTypeRestriction__Group__3 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6168:1: rule__ArtifactTypeRestriction__Group__2 : rule__ArtifactTypeRestriction__Group__2__Impl rule__ArtifactTypeRestriction__Group__3 ; public final void rule__ArtifactTypeRestriction__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6266:1: ( rule__ArtifactTypeRestriction__Group__2__Impl rule__ArtifactTypeRestriction__Group__3 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6267:2: rule__ArtifactTypeRestriction__Group__2__Impl rule__ArtifactTypeRestriction__Group__3 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6172:1: ( rule__ArtifactTypeRestriction__Group__2__Impl rule__ArtifactTypeRestriction__Group__3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6173:2: rule__ArtifactTypeRestriction__Group__2__Impl rule__ArtifactTypeRestriction__Group__3 { - pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__2__Impl_in_rule__ArtifactTypeRestriction__Group__212653); + pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__2__Impl_in_rule__ArtifactTypeRestriction__Group__212467); rule__ArtifactTypeRestriction__Group__2__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__3_in_rule__ArtifactTypeRestriction__Group__212656); + pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__3_in_rule__ArtifactTypeRestriction__Group__212470); rule__ArtifactTypeRestriction__Group__3(); state._fsp--; @@ -16943,20 +16685,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactTypeRestriction__Group__2__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6274:1: rule__ArtifactTypeRestriction__Group__2__Impl : ( 'artifactType' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6180:1: rule__ArtifactTypeRestriction__Group__2__Impl : ( 'artifactType' ) ; public final void rule__ArtifactTypeRestriction__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6278:1: ( ( 'artifactType' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6279:1: ( 'artifactType' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6184:1: ( ( 'artifactType' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6185:1: ( 'artifactType' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6279:1: ( 'artifactType' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6280:1: 'artifactType' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6185:1: ( 'artifactType' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6186:1: 'artifactType' { before(grammarAccess.getArtifactTypeRestrictionAccess().getArtifactTypeKeyword_2()); - match(input,47,FOLLOW_47_in_rule__ArtifactTypeRestriction__Group__2__Impl12684); + match(input,47,FOLLOW_47_in_rule__ArtifactTypeRestriction__Group__2__Impl12498); after(grammarAccess.getArtifactTypeRestrictionAccess().getArtifactTypeKeyword_2()); } @@ -16980,21 +16722,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactTypeRestriction__Group__3" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6293:1: rule__ArtifactTypeRestriction__Group__3 : rule__ArtifactTypeRestriction__Group__3__Impl rule__ArtifactTypeRestriction__Group__4 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6199:1: rule__ArtifactTypeRestriction__Group__3 : rule__ArtifactTypeRestriction__Group__3__Impl rule__ArtifactTypeRestriction__Group__4 ; public final void rule__ArtifactTypeRestriction__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6297:1: ( rule__ArtifactTypeRestriction__Group__3__Impl rule__ArtifactTypeRestriction__Group__4 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6298:2: rule__ArtifactTypeRestriction__Group__3__Impl rule__ArtifactTypeRestriction__Group__4 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6203:1: ( rule__ArtifactTypeRestriction__Group__3__Impl rule__ArtifactTypeRestriction__Group__4 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6204:2: rule__ArtifactTypeRestriction__Group__3__Impl rule__ArtifactTypeRestriction__Group__4 { - pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__3__Impl_in_rule__ArtifactTypeRestriction__Group__312715); + pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__3__Impl_in_rule__ArtifactTypeRestriction__Group__312529); rule__ArtifactTypeRestriction__Group__3__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__4_in_rule__ArtifactTypeRestriction__Group__312718); + pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__4_in_rule__ArtifactTypeRestriction__Group__312532); rule__ArtifactTypeRestriction__Group__4(); state._fsp--; @@ -17018,23 +16760,23 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactTypeRestriction__Group__3__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6305:1: rule__ArtifactTypeRestriction__Group__3__Impl : ( ( rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6211:1: rule__ArtifactTypeRestriction__Group__3__Impl : ( ( rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 ) ) ; public final void rule__ArtifactTypeRestriction__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6309:1: ( ( ( rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6310:1: ( ( rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6215:1: ( ( ( rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6216:1: ( ( rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6310:1: ( ( rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6311:1: ( rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6216:1: ( ( rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6217:1: ( rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 ) { before(grammarAccess.getArtifactTypeRestrictionAccess().getArtifactTypeRefAssignment_3()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6312:1: ( rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6312:2: rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6218:1: ( rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6218:2: rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 { - pushFollow(FOLLOW_rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3_in_rule__ArtifactTypeRestriction__Group__3__Impl12745); + pushFollow(FOLLOW_rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3_in_rule__ArtifactTypeRestriction__Group__3__Impl12559); rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3(); state._fsp--; @@ -17065,16 +16807,16 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactTypeRestriction__Group__4" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6322:1: rule__ArtifactTypeRestriction__Group__4 : rule__ArtifactTypeRestriction__Group__4__Impl ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6228:1: rule__ArtifactTypeRestriction__Group__4 : rule__ArtifactTypeRestriction__Group__4__Impl ; public final void rule__ArtifactTypeRestriction__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6326:1: ( rule__ArtifactTypeRestriction__Group__4__Impl ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6327:2: rule__ArtifactTypeRestriction__Group__4__Impl + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6232:1: ( rule__ArtifactTypeRestriction__Group__4__Impl ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6233:2: rule__ArtifactTypeRestriction__Group__4__Impl { - pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__4__Impl_in_rule__ArtifactTypeRestriction__Group__412775); + pushFollow(FOLLOW_rule__ArtifactTypeRestriction__Group__4__Impl_in_rule__ArtifactTypeRestriction__Group__412589); rule__ArtifactTypeRestriction__Group__4__Impl(); state._fsp--; @@ -17098,20 +16840,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactTypeRestriction__Group__4__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6333:1: rule__ArtifactTypeRestriction__Group__4__Impl : ( ';' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6239:1: rule__ArtifactTypeRestriction__Group__4__Impl : ( ';' ) ; public final void rule__ArtifactTypeRestriction__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6337:1: ( ( ';' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6338:1: ( ';' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6243:1: ( ( ';' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6244:1: ( ';' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6338:1: ( ';' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6339:1: ';' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6244:1: ( ';' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6245:1: ';' { before(grammarAccess.getArtifactTypeRestrictionAccess().getSemicolonKeyword_4()); - match(input,81,FOLLOW_81_in_rule__ArtifactTypeRestriction__Group__4__Impl12803); + match(input,81,FOLLOW_81_in_rule__ArtifactTypeRestriction__Group__4__Impl12617); after(grammarAccess.getArtifactTypeRestrictionAccess().getSemicolonKeyword_4()); } @@ -17135,21 +16877,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group__0" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6362:1: rule__AttributeTypeRestriction__Group__0 : rule__AttributeTypeRestriction__Group__0__Impl rule__AttributeTypeRestriction__Group__1 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6268:1: rule__AttributeTypeRestriction__Group__0 : rule__AttributeTypeRestriction__Group__0__Impl rule__AttributeTypeRestriction__Group__1 ; public final void rule__AttributeTypeRestriction__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6366:1: ( rule__AttributeTypeRestriction__Group__0__Impl rule__AttributeTypeRestriction__Group__1 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6367:2: rule__AttributeTypeRestriction__Group__0__Impl rule__AttributeTypeRestriction__Group__1 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6272:1: ( rule__AttributeTypeRestriction__Group__0__Impl rule__AttributeTypeRestriction__Group__1 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6273:2: rule__AttributeTypeRestriction__Group__0__Impl rule__AttributeTypeRestriction__Group__1 { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__0__Impl_in_rule__AttributeTypeRestriction__Group__012844); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__0__Impl_in_rule__AttributeTypeRestriction__Group__012658); rule__AttributeTypeRestriction__Group__0__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__1_in_rule__AttributeTypeRestriction__Group__012847); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__1_in_rule__AttributeTypeRestriction__Group__012661); rule__AttributeTypeRestriction__Group__1(); state._fsp--; @@ -17173,23 +16915,23 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group__0__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6374:1: rule__AttributeTypeRestriction__Group__0__Impl : ( ( rule__AttributeTypeRestriction__PermissionAssignment_0 ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6280:1: rule__AttributeTypeRestriction__Group__0__Impl : ( ( rule__AttributeTypeRestriction__PermissionAssignment_0 ) ) ; public final void rule__AttributeTypeRestriction__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6378:1: ( ( ( rule__AttributeTypeRestriction__PermissionAssignment_0 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6379:1: ( ( rule__AttributeTypeRestriction__PermissionAssignment_0 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6284:1: ( ( ( rule__AttributeTypeRestriction__PermissionAssignment_0 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6285:1: ( ( rule__AttributeTypeRestriction__PermissionAssignment_0 ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6379:1: ( ( rule__AttributeTypeRestriction__PermissionAssignment_0 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6380:1: ( rule__AttributeTypeRestriction__PermissionAssignment_0 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6285:1: ( ( rule__AttributeTypeRestriction__PermissionAssignment_0 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6286:1: ( rule__AttributeTypeRestriction__PermissionAssignment_0 ) { before(grammarAccess.getAttributeTypeRestrictionAccess().getPermissionAssignment_0()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6381:1: ( rule__AttributeTypeRestriction__PermissionAssignment_0 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6381:2: rule__AttributeTypeRestriction__PermissionAssignment_0 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6287:1: ( rule__AttributeTypeRestriction__PermissionAssignment_0 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6287:2: rule__AttributeTypeRestriction__PermissionAssignment_0 { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__PermissionAssignment_0_in_rule__AttributeTypeRestriction__Group__0__Impl12874); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__PermissionAssignment_0_in_rule__AttributeTypeRestriction__Group__0__Impl12688); rule__AttributeTypeRestriction__PermissionAssignment_0(); state._fsp--; @@ -17220,21 +16962,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group__1" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6391:1: rule__AttributeTypeRestriction__Group__1 : rule__AttributeTypeRestriction__Group__1__Impl rule__AttributeTypeRestriction__Group__2 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6297:1: rule__AttributeTypeRestriction__Group__1 : rule__AttributeTypeRestriction__Group__1__Impl rule__AttributeTypeRestriction__Group__2 ; public final void rule__AttributeTypeRestriction__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6395:1: ( rule__AttributeTypeRestriction__Group__1__Impl rule__AttributeTypeRestriction__Group__2 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6396:2: rule__AttributeTypeRestriction__Group__1__Impl rule__AttributeTypeRestriction__Group__2 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6301:1: ( rule__AttributeTypeRestriction__Group__1__Impl rule__AttributeTypeRestriction__Group__2 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6302:2: rule__AttributeTypeRestriction__Group__1__Impl rule__AttributeTypeRestriction__Group__2 { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__1__Impl_in_rule__AttributeTypeRestriction__Group__112904); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__1__Impl_in_rule__AttributeTypeRestriction__Group__112718); rule__AttributeTypeRestriction__Group__1__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__2_in_rule__AttributeTypeRestriction__Group__112907); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__2_in_rule__AttributeTypeRestriction__Group__112721); rule__AttributeTypeRestriction__Group__2(); state._fsp--; @@ -17258,20 +17000,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group__1__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6403:1: rule__AttributeTypeRestriction__Group__1__Impl : ( 'edit' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6309:1: rule__AttributeTypeRestriction__Group__1__Impl : ( 'edit' ) ; public final void rule__AttributeTypeRestriction__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6407:1: ( ( 'edit' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6408:1: ( 'edit' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6313:1: ( ( 'edit' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6314:1: ( 'edit' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6408:1: ( 'edit' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6409:1: 'edit' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6314:1: ( 'edit' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6315:1: 'edit' { before(grammarAccess.getAttributeTypeRestrictionAccess().getEditKeyword_1()); - match(input,84,FOLLOW_84_in_rule__AttributeTypeRestriction__Group__1__Impl12935); + match(input,84,FOLLOW_84_in_rule__AttributeTypeRestriction__Group__1__Impl12749); after(grammarAccess.getAttributeTypeRestrictionAccess().getEditKeyword_1()); } @@ -17295,21 +17037,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group__2" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6422:1: rule__AttributeTypeRestriction__Group__2 : rule__AttributeTypeRestriction__Group__2__Impl rule__AttributeTypeRestriction__Group__3 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6328:1: rule__AttributeTypeRestriction__Group__2 : rule__AttributeTypeRestriction__Group__2__Impl rule__AttributeTypeRestriction__Group__3 ; public final void rule__AttributeTypeRestriction__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6426:1: ( rule__AttributeTypeRestriction__Group__2__Impl rule__AttributeTypeRestriction__Group__3 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6427:2: rule__AttributeTypeRestriction__Group__2__Impl rule__AttributeTypeRestriction__Group__3 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6332:1: ( rule__AttributeTypeRestriction__Group__2__Impl rule__AttributeTypeRestriction__Group__3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6333:2: rule__AttributeTypeRestriction__Group__2__Impl rule__AttributeTypeRestriction__Group__3 { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__2__Impl_in_rule__AttributeTypeRestriction__Group__212966); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__2__Impl_in_rule__AttributeTypeRestriction__Group__212780); rule__AttributeTypeRestriction__Group__2__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__3_in_rule__AttributeTypeRestriction__Group__212969); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__3_in_rule__AttributeTypeRestriction__Group__212783); rule__AttributeTypeRestriction__Group__3(); state._fsp--; @@ -17333,20 +17075,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group__2__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6434:1: rule__AttributeTypeRestriction__Group__2__Impl : ( 'attributeType' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6340:1: rule__AttributeTypeRestriction__Group__2__Impl : ( 'attributeType' ) ; public final void rule__AttributeTypeRestriction__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6438:1: ( ( 'attributeType' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6439:1: ( 'attributeType' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6344:1: ( ( 'attributeType' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6345:1: ( 'attributeType' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6439:1: ( 'attributeType' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6440:1: 'attributeType' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6345:1: ( 'attributeType' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6346:1: 'attributeType' { before(grammarAccess.getAttributeTypeRestrictionAccess().getAttributeTypeKeyword_2()); - match(input,54,FOLLOW_54_in_rule__AttributeTypeRestriction__Group__2__Impl12997); + match(input,54,FOLLOW_54_in_rule__AttributeTypeRestriction__Group__2__Impl12811); after(grammarAccess.getAttributeTypeRestrictionAccess().getAttributeTypeKeyword_2()); } @@ -17370,21 +17112,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group__3" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6453:1: rule__AttributeTypeRestriction__Group__3 : rule__AttributeTypeRestriction__Group__3__Impl rule__AttributeTypeRestriction__Group__4 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6359:1: rule__AttributeTypeRestriction__Group__3 : rule__AttributeTypeRestriction__Group__3__Impl rule__AttributeTypeRestriction__Group__4 ; public final void rule__AttributeTypeRestriction__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6457:1: ( rule__AttributeTypeRestriction__Group__3__Impl rule__AttributeTypeRestriction__Group__4 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6458:2: rule__AttributeTypeRestriction__Group__3__Impl rule__AttributeTypeRestriction__Group__4 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6363:1: ( rule__AttributeTypeRestriction__Group__3__Impl rule__AttributeTypeRestriction__Group__4 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6364:2: rule__AttributeTypeRestriction__Group__3__Impl rule__AttributeTypeRestriction__Group__4 { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__3__Impl_in_rule__AttributeTypeRestriction__Group__313028); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__3__Impl_in_rule__AttributeTypeRestriction__Group__312842); rule__AttributeTypeRestriction__Group__3__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__4_in_rule__AttributeTypeRestriction__Group__313031); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__4_in_rule__AttributeTypeRestriction__Group__312845); rule__AttributeTypeRestriction__Group__4(); state._fsp--; @@ -17408,23 +17150,23 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group__3__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6465:1: rule__AttributeTypeRestriction__Group__3__Impl : ( ( rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6371:1: rule__AttributeTypeRestriction__Group__3__Impl : ( ( rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 ) ) ; public final void rule__AttributeTypeRestriction__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6469:1: ( ( ( rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6470:1: ( ( rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6375:1: ( ( ( rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6376:1: ( ( rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6470:1: ( ( rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6471:1: ( rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6376:1: ( ( rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6377:1: ( rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 ) { before(grammarAccess.getAttributeTypeRestrictionAccess().getAttributeTypeRefAssignment_3()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6472:1: ( rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6472:2: rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6378:1: ( rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6378:2: rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3_in_rule__AttributeTypeRestriction__Group__3__Impl13058); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3_in_rule__AttributeTypeRestriction__Group__3__Impl12872); rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3(); state._fsp--; @@ -17455,21 +17197,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group__4" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6482:1: rule__AttributeTypeRestriction__Group__4 : rule__AttributeTypeRestriction__Group__4__Impl rule__AttributeTypeRestriction__Group__5 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6388:1: rule__AttributeTypeRestriction__Group__4 : rule__AttributeTypeRestriction__Group__4__Impl rule__AttributeTypeRestriction__Group__5 ; public final void rule__AttributeTypeRestriction__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6486:1: ( rule__AttributeTypeRestriction__Group__4__Impl rule__AttributeTypeRestriction__Group__5 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6487:2: rule__AttributeTypeRestriction__Group__4__Impl rule__AttributeTypeRestriction__Group__5 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6392:1: ( rule__AttributeTypeRestriction__Group__4__Impl rule__AttributeTypeRestriction__Group__5 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6393:2: rule__AttributeTypeRestriction__Group__4__Impl rule__AttributeTypeRestriction__Group__5 { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__4__Impl_in_rule__AttributeTypeRestriction__Group__413088); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__4__Impl_in_rule__AttributeTypeRestriction__Group__412902); rule__AttributeTypeRestriction__Group__4__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__5_in_rule__AttributeTypeRestriction__Group__413091); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__5_in_rule__AttributeTypeRestriction__Group__412905); rule__AttributeTypeRestriction__Group__5(); state._fsp--; @@ -17493,31 +17235,31 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group__4__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6494:1: rule__AttributeTypeRestriction__Group__4__Impl : ( ( rule__AttributeTypeRestriction__Group_4__0 )? ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6400:1: rule__AttributeTypeRestriction__Group__4__Impl : ( ( rule__AttributeTypeRestriction__Group_4__0 )? ) ; public final void rule__AttributeTypeRestriction__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6498:1: ( ( ( rule__AttributeTypeRestriction__Group_4__0 )? ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6499:1: ( ( rule__AttributeTypeRestriction__Group_4__0 )? ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6404:1: ( ( ( rule__AttributeTypeRestriction__Group_4__0 )? ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6405:1: ( ( rule__AttributeTypeRestriction__Group_4__0 )? ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6499:1: ( ( rule__AttributeTypeRestriction__Group_4__0 )? ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6500:1: ( rule__AttributeTypeRestriction__Group_4__0 )? + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6405:1: ( ( rule__AttributeTypeRestriction__Group_4__0 )? ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6406:1: ( rule__AttributeTypeRestriction__Group_4__0 )? { before(grammarAccess.getAttributeTypeRestrictionAccess().getGroup_4()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6501:1: ( rule__AttributeTypeRestriction__Group_4__0 )? - int alt47=2; - int LA47_0 = input.LA(1); + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6407:1: ( rule__AttributeTypeRestriction__Group_4__0 )? + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA47_0==86) ) { - alt47=1; + if ( (LA46_0==86) ) { + alt46=1; } - switch (alt47) { + switch (alt46) { case 1 : - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6501:2: rule__AttributeTypeRestriction__Group_4__0 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6407:2: rule__AttributeTypeRestriction__Group_4__0 { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group_4__0_in_rule__AttributeTypeRestriction__Group__4__Impl13118); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group_4__0_in_rule__AttributeTypeRestriction__Group__4__Impl12932); rule__AttributeTypeRestriction__Group_4__0(); state._fsp--; @@ -17551,16 +17293,16 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group__5" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6511:1: rule__AttributeTypeRestriction__Group__5 : rule__AttributeTypeRestriction__Group__5__Impl ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6417:1: rule__AttributeTypeRestriction__Group__5 : rule__AttributeTypeRestriction__Group__5__Impl ; public final void rule__AttributeTypeRestriction__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6515:1: ( rule__AttributeTypeRestriction__Group__5__Impl ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6516:2: rule__AttributeTypeRestriction__Group__5__Impl + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6421:1: ( rule__AttributeTypeRestriction__Group__5__Impl ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6422:2: rule__AttributeTypeRestriction__Group__5__Impl { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__5__Impl_in_rule__AttributeTypeRestriction__Group__513149); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group__5__Impl_in_rule__AttributeTypeRestriction__Group__512963); rule__AttributeTypeRestriction__Group__5__Impl(); state._fsp--; @@ -17584,20 +17326,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group__5__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6522:1: rule__AttributeTypeRestriction__Group__5__Impl : ( ';' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6428:1: rule__AttributeTypeRestriction__Group__5__Impl : ( ';' ) ; public final void rule__AttributeTypeRestriction__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6526:1: ( ( ';' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6527:1: ( ';' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6432:1: ( ( ';' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6433:1: ( ';' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6527:1: ( ';' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6528:1: ';' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6433:1: ( ';' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6434:1: ';' { before(grammarAccess.getAttributeTypeRestrictionAccess().getSemicolonKeyword_5()); - match(input,81,FOLLOW_81_in_rule__AttributeTypeRestriction__Group__5__Impl13177); + match(input,81,FOLLOW_81_in_rule__AttributeTypeRestriction__Group__5__Impl12991); after(grammarAccess.getAttributeTypeRestrictionAccess().getSemicolonKeyword_5()); } @@ -17621,21 +17363,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group_4__0" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6553:1: rule__AttributeTypeRestriction__Group_4__0 : rule__AttributeTypeRestriction__Group_4__0__Impl rule__AttributeTypeRestriction__Group_4__1 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6459:1: rule__AttributeTypeRestriction__Group_4__0 : rule__AttributeTypeRestriction__Group_4__0__Impl rule__AttributeTypeRestriction__Group_4__1 ; public final void rule__AttributeTypeRestriction__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6557:1: ( rule__AttributeTypeRestriction__Group_4__0__Impl rule__AttributeTypeRestriction__Group_4__1 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6558:2: rule__AttributeTypeRestriction__Group_4__0__Impl rule__AttributeTypeRestriction__Group_4__1 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6463:1: ( rule__AttributeTypeRestriction__Group_4__0__Impl rule__AttributeTypeRestriction__Group_4__1 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6464:2: rule__AttributeTypeRestriction__Group_4__0__Impl rule__AttributeTypeRestriction__Group_4__1 { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group_4__0__Impl_in_rule__AttributeTypeRestriction__Group_4__013220); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group_4__0__Impl_in_rule__AttributeTypeRestriction__Group_4__013034); rule__AttributeTypeRestriction__Group_4__0__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group_4__1_in_rule__AttributeTypeRestriction__Group_4__013223); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group_4__1_in_rule__AttributeTypeRestriction__Group_4__013037); rule__AttributeTypeRestriction__Group_4__1(); state._fsp--; @@ -17659,20 +17401,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group_4__0__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6565:1: rule__AttributeTypeRestriction__Group_4__0__Impl : ( 'of' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6471:1: rule__AttributeTypeRestriction__Group_4__0__Impl : ( 'of' ) ; public final void rule__AttributeTypeRestriction__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6569:1: ( ( 'of' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6570:1: ( 'of' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6475:1: ( ( 'of' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6476:1: ( 'of' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6570:1: ( 'of' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6571:1: 'of' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6476:1: ( 'of' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6477:1: 'of' { before(grammarAccess.getAttributeTypeRestrictionAccess().getOfKeyword_4_0()); - match(input,86,FOLLOW_86_in_rule__AttributeTypeRestriction__Group_4__0__Impl13251); + match(input,86,FOLLOW_86_in_rule__AttributeTypeRestriction__Group_4__0__Impl13065); after(grammarAccess.getAttributeTypeRestrictionAccess().getOfKeyword_4_0()); } @@ -17696,21 +17438,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group_4__1" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6584:1: rule__AttributeTypeRestriction__Group_4__1 : rule__AttributeTypeRestriction__Group_4__1__Impl rule__AttributeTypeRestriction__Group_4__2 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6490:1: rule__AttributeTypeRestriction__Group_4__1 : rule__AttributeTypeRestriction__Group_4__1__Impl rule__AttributeTypeRestriction__Group_4__2 ; public final void rule__AttributeTypeRestriction__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6588:1: ( rule__AttributeTypeRestriction__Group_4__1__Impl rule__AttributeTypeRestriction__Group_4__2 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6589:2: rule__AttributeTypeRestriction__Group_4__1__Impl rule__AttributeTypeRestriction__Group_4__2 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6494:1: ( rule__AttributeTypeRestriction__Group_4__1__Impl rule__AttributeTypeRestriction__Group_4__2 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6495:2: rule__AttributeTypeRestriction__Group_4__1__Impl rule__AttributeTypeRestriction__Group_4__2 { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group_4__1__Impl_in_rule__AttributeTypeRestriction__Group_4__113282); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group_4__1__Impl_in_rule__AttributeTypeRestriction__Group_4__113096); rule__AttributeTypeRestriction__Group_4__1__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group_4__2_in_rule__AttributeTypeRestriction__Group_4__113285); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group_4__2_in_rule__AttributeTypeRestriction__Group_4__113099); rule__AttributeTypeRestriction__Group_4__2(); state._fsp--; @@ -17734,20 +17476,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group_4__1__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6596:1: rule__AttributeTypeRestriction__Group_4__1__Impl : ( 'artifactType' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6502:1: rule__AttributeTypeRestriction__Group_4__1__Impl : ( 'artifactType' ) ; public final void rule__AttributeTypeRestriction__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6600:1: ( ( 'artifactType' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6601:1: ( 'artifactType' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6506:1: ( ( 'artifactType' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6507:1: ( 'artifactType' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6601:1: ( 'artifactType' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6602:1: 'artifactType' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6507:1: ( 'artifactType' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6508:1: 'artifactType' { before(grammarAccess.getAttributeTypeRestrictionAccess().getArtifactTypeKeyword_4_1()); - match(input,47,FOLLOW_47_in_rule__AttributeTypeRestriction__Group_4__1__Impl13313); + match(input,47,FOLLOW_47_in_rule__AttributeTypeRestriction__Group_4__1__Impl13127); after(grammarAccess.getAttributeTypeRestrictionAccess().getArtifactTypeKeyword_4_1()); } @@ -17771,16 +17513,16 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group_4__2" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6615:1: rule__AttributeTypeRestriction__Group_4__2 : rule__AttributeTypeRestriction__Group_4__2__Impl ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6521:1: rule__AttributeTypeRestriction__Group_4__2 : rule__AttributeTypeRestriction__Group_4__2__Impl ; public final void rule__AttributeTypeRestriction__Group_4__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6619:1: ( rule__AttributeTypeRestriction__Group_4__2__Impl ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6620:2: rule__AttributeTypeRestriction__Group_4__2__Impl + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6525:1: ( rule__AttributeTypeRestriction__Group_4__2__Impl ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6526:2: rule__AttributeTypeRestriction__Group_4__2__Impl { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group_4__2__Impl_in_rule__AttributeTypeRestriction__Group_4__213344); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__Group_4__2__Impl_in_rule__AttributeTypeRestriction__Group_4__213158); rule__AttributeTypeRestriction__Group_4__2__Impl(); state._fsp--; @@ -17804,23 +17546,23 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__Group_4__2__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6626:1: rule__AttributeTypeRestriction__Group_4__2__Impl : ( ( rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6532:1: rule__AttributeTypeRestriction__Group_4__2__Impl : ( ( rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 ) ) ; public final void rule__AttributeTypeRestriction__Group_4__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6630:1: ( ( ( rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6631:1: ( ( rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6536:1: ( ( ( rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6537:1: ( ( rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6631:1: ( ( rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6632:1: ( rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6537:1: ( ( rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6538:1: ( rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 ) { before(grammarAccess.getAttributeTypeRestrictionAccess().getArtifactTypeRefAssignment_4_2()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6633:1: ( rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6633:2: rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6539:1: ( rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6539:2: rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 { - pushFollow(FOLLOW_rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2_in_rule__AttributeTypeRestriction__Group_4__2__Impl13371); + pushFollow(FOLLOW_rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2_in_rule__AttributeTypeRestriction__Group_4__2__Impl13185); rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2(); state._fsp--; @@ -17851,21 +17593,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__Group__0" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6649:1: rule__RelationTypeRestriction__Group__0 : rule__RelationTypeRestriction__Group__0__Impl rule__RelationTypeRestriction__Group__1 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6555:1: rule__RelationTypeRestriction__Group__0 : rule__RelationTypeRestriction__Group__0__Impl rule__RelationTypeRestriction__Group__1 ; public final void rule__RelationTypeRestriction__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6653:1: ( rule__RelationTypeRestriction__Group__0__Impl rule__RelationTypeRestriction__Group__1 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6654:2: rule__RelationTypeRestriction__Group__0__Impl rule__RelationTypeRestriction__Group__1 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6559:1: ( rule__RelationTypeRestriction__Group__0__Impl rule__RelationTypeRestriction__Group__1 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6560:2: rule__RelationTypeRestriction__Group__0__Impl rule__RelationTypeRestriction__Group__1 { - pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__0__Impl_in_rule__RelationTypeRestriction__Group__013407); + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__0__Impl_in_rule__RelationTypeRestriction__Group__013221); rule__RelationTypeRestriction__Group__0__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__1_in_rule__RelationTypeRestriction__Group__013410); + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__1_in_rule__RelationTypeRestriction__Group__013224); rule__RelationTypeRestriction__Group__1(); state._fsp--; @@ -17889,23 +17631,23 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__Group__0__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6661:1: rule__RelationTypeRestriction__Group__0__Impl : ( ( rule__RelationTypeRestriction__PermissionAssignment_0 ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6567:1: rule__RelationTypeRestriction__Group__0__Impl : ( ( rule__RelationTypeRestriction__PermissionAssignment_0 ) ) ; public final void rule__RelationTypeRestriction__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6665:1: ( ( ( rule__RelationTypeRestriction__PermissionAssignment_0 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6666:1: ( ( rule__RelationTypeRestriction__PermissionAssignment_0 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6571:1: ( ( ( rule__RelationTypeRestriction__PermissionAssignment_0 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6572:1: ( ( rule__RelationTypeRestriction__PermissionAssignment_0 ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6666:1: ( ( rule__RelationTypeRestriction__PermissionAssignment_0 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6667:1: ( rule__RelationTypeRestriction__PermissionAssignment_0 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6572:1: ( ( rule__RelationTypeRestriction__PermissionAssignment_0 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6573:1: ( rule__RelationTypeRestriction__PermissionAssignment_0 ) { before(grammarAccess.getRelationTypeRestrictionAccess().getPermissionAssignment_0()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6668:1: ( rule__RelationTypeRestriction__PermissionAssignment_0 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6668:2: rule__RelationTypeRestriction__PermissionAssignment_0 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6574:1: ( rule__RelationTypeRestriction__PermissionAssignment_0 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6574:2: rule__RelationTypeRestriction__PermissionAssignment_0 { - pushFollow(FOLLOW_rule__RelationTypeRestriction__PermissionAssignment_0_in_rule__RelationTypeRestriction__Group__0__Impl13437); + pushFollow(FOLLOW_rule__RelationTypeRestriction__PermissionAssignment_0_in_rule__RelationTypeRestriction__Group__0__Impl13251); rule__RelationTypeRestriction__PermissionAssignment_0(); state._fsp--; @@ -17936,21 +17678,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__Group__1" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6678:1: rule__RelationTypeRestriction__Group__1 : rule__RelationTypeRestriction__Group__1__Impl rule__RelationTypeRestriction__Group__2 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6584:1: rule__RelationTypeRestriction__Group__1 : rule__RelationTypeRestriction__Group__1__Impl rule__RelationTypeRestriction__Group__2 ; public final void rule__RelationTypeRestriction__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6682:1: ( rule__RelationTypeRestriction__Group__1__Impl rule__RelationTypeRestriction__Group__2 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6683:2: rule__RelationTypeRestriction__Group__1__Impl rule__RelationTypeRestriction__Group__2 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6588:1: ( rule__RelationTypeRestriction__Group__1__Impl rule__RelationTypeRestriction__Group__2 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6589:2: rule__RelationTypeRestriction__Group__1__Impl rule__RelationTypeRestriction__Group__2 { - pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__1__Impl_in_rule__RelationTypeRestriction__Group__113467); + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__1__Impl_in_rule__RelationTypeRestriction__Group__113281); rule__RelationTypeRestriction__Group__1__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__2_in_rule__RelationTypeRestriction__Group__113470); + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__2_in_rule__RelationTypeRestriction__Group__113284); rule__RelationTypeRestriction__Group__2(); state._fsp--; @@ -17974,20 +17716,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__Group__1__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6690:1: rule__RelationTypeRestriction__Group__1__Impl : ( 'edit' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6596:1: rule__RelationTypeRestriction__Group__1__Impl : ( 'edit' ) ; public final void rule__RelationTypeRestriction__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6694:1: ( ( 'edit' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6695:1: ( 'edit' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6600:1: ( ( 'edit' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6601:1: ( 'edit' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6695:1: ( 'edit' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6696:1: 'edit' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6601:1: ( 'edit' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6602:1: 'edit' { before(grammarAccess.getRelationTypeRestrictionAccess().getEditKeyword_1()); - match(input,84,FOLLOW_84_in_rule__RelationTypeRestriction__Group__1__Impl13498); + match(input,84,FOLLOW_84_in_rule__RelationTypeRestriction__Group__1__Impl13312); after(grammarAccess.getRelationTypeRestrictionAccess().getEditKeyword_1()); } @@ -18011,21 +17753,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__Group__2" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6709:1: rule__RelationTypeRestriction__Group__2 : rule__RelationTypeRestriction__Group__2__Impl rule__RelationTypeRestriction__Group__3 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6615:1: rule__RelationTypeRestriction__Group__2 : rule__RelationTypeRestriction__Group__2__Impl rule__RelationTypeRestriction__Group__3 ; public final void rule__RelationTypeRestriction__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6713:1: ( rule__RelationTypeRestriction__Group__2__Impl rule__RelationTypeRestriction__Group__3 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6714:2: rule__RelationTypeRestriction__Group__2__Impl rule__RelationTypeRestriction__Group__3 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6619:1: ( rule__RelationTypeRestriction__Group__2__Impl rule__RelationTypeRestriction__Group__3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6620:2: rule__RelationTypeRestriction__Group__2__Impl rule__RelationTypeRestriction__Group__3 { - pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__2__Impl_in_rule__RelationTypeRestriction__Group__213529); + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__2__Impl_in_rule__RelationTypeRestriction__Group__213343); rule__RelationTypeRestriction__Group__2__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__3_in_rule__RelationTypeRestriction__Group__213532); + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__3_in_rule__RelationTypeRestriction__Group__213346); rule__RelationTypeRestriction__Group__3(); state._fsp--; @@ -18049,20 +17791,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__Group__2__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6721:1: rule__RelationTypeRestriction__Group__2__Impl : ( 'relationType' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6627:1: rule__RelationTypeRestriction__Group__2__Impl : ( 'relationType' ) ; public final void rule__RelationTypeRestriction__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6725:1: ( ( 'relationType' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6726:1: ( 'relationType' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6631:1: ( ( 'relationType' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6632:1: ( 'relationType' ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6726:1: ( 'relationType' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6727:1: 'relationType' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6632:1: ( 'relationType' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6633:1: 'relationType' { before(grammarAccess.getRelationTypeRestrictionAccess().getRelationTypeKeyword_2()); - match(input,70,FOLLOW_70_in_rule__RelationTypeRestriction__Group__2__Impl13560); + match(input,70,FOLLOW_70_in_rule__RelationTypeRestriction__Group__2__Impl13374); after(grammarAccess.getRelationTypeRestrictionAccess().getRelationTypeKeyword_2()); } @@ -18086,21 +17828,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__Group__3" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6740:1: rule__RelationTypeRestriction__Group__3 : rule__RelationTypeRestriction__Group__3__Impl rule__RelationTypeRestriction__Group__4 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6646:1: rule__RelationTypeRestriction__Group__3 : rule__RelationTypeRestriction__Group__3__Impl rule__RelationTypeRestriction__Group__4 ; public final void rule__RelationTypeRestriction__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6744:1: ( rule__RelationTypeRestriction__Group__3__Impl rule__RelationTypeRestriction__Group__4 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6745:2: rule__RelationTypeRestriction__Group__3__Impl rule__RelationTypeRestriction__Group__4 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6650:1: ( rule__RelationTypeRestriction__Group__3__Impl rule__RelationTypeRestriction__Group__4 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6651:2: rule__RelationTypeRestriction__Group__3__Impl rule__RelationTypeRestriction__Group__4 { - pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__3__Impl_in_rule__RelationTypeRestriction__Group__313591); + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__3__Impl_in_rule__RelationTypeRestriction__Group__313405); rule__RelationTypeRestriction__Group__3__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__4_in_rule__RelationTypeRestriction__Group__313594); + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__4_in_rule__RelationTypeRestriction__Group__313408); rule__RelationTypeRestriction__Group__4(); state._fsp--; @@ -18124,23 +17866,23 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__Group__3__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6752:1: rule__RelationTypeRestriction__Group__3__Impl : ( ( rule__RelationTypeRestriction__RelationTypeRefAssignment_3 ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6658:1: rule__RelationTypeRestriction__Group__3__Impl : ( ( rule__RelationTypeRestriction__RelationTypeRefAssignment_3 ) ) ; public final void rule__RelationTypeRestriction__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6756:1: ( ( ( rule__RelationTypeRestriction__RelationTypeRefAssignment_3 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6757:1: ( ( rule__RelationTypeRestriction__RelationTypeRefAssignment_3 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6662:1: ( ( ( rule__RelationTypeRestriction__RelationTypeRefAssignment_3 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6663:1: ( ( rule__RelationTypeRestriction__RelationTypeRefAssignment_3 ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6757:1: ( ( rule__RelationTypeRestriction__RelationTypeRefAssignment_3 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6758:1: ( rule__RelationTypeRestriction__RelationTypeRefAssignment_3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6663:1: ( ( rule__RelationTypeRestriction__RelationTypeRefAssignment_3 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6664:1: ( rule__RelationTypeRestriction__RelationTypeRefAssignment_3 ) { before(grammarAccess.getRelationTypeRestrictionAccess().getRelationTypeRefAssignment_3()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6759:1: ( rule__RelationTypeRestriction__RelationTypeRefAssignment_3 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6759:2: rule__RelationTypeRestriction__RelationTypeRefAssignment_3 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6665:1: ( rule__RelationTypeRestriction__RelationTypeRefAssignment_3 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6665:2: rule__RelationTypeRestriction__RelationTypeRefAssignment_3 { - pushFollow(FOLLOW_rule__RelationTypeRestriction__RelationTypeRefAssignment_3_in_rule__RelationTypeRestriction__Group__3__Impl13621); + pushFollow(FOLLOW_rule__RelationTypeRestriction__RelationTypeRefAssignment_3_in_rule__RelationTypeRestriction__Group__3__Impl13435); rule__RelationTypeRestriction__RelationTypeRefAssignment_3(); state._fsp--; @@ -18171,21 +17913,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__Group__4" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6769:1: rule__RelationTypeRestriction__Group__4 : rule__RelationTypeRestriction__Group__4__Impl rule__RelationTypeRestriction__Group__5 ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6675:1: rule__RelationTypeRestriction__Group__4 : rule__RelationTypeRestriction__Group__4__Impl rule__RelationTypeRestriction__Group__5 ; public final void rule__RelationTypeRestriction__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6773:1: ( rule__RelationTypeRestriction__Group__4__Impl rule__RelationTypeRestriction__Group__5 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6774:2: rule__RelationTypeRestriction__Group__4__Impl rule__RelationTypeRestriction__Group__5 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6679:1: ( rule__RelationTypeRestriction__Group__4__Impl rule__RelationTypeRestriction__Group__5 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6680:2: rule__RelationTypeRestriction__Group__4__Impl rule__RelationTypeRestriction__Group__5 { - pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__4__Impl_in_rule__RelationTypeRestriction__Group__413651); + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__4__Impl_in_rule__RelationTypeRestriction__Group__413465); rule__RelationTypeRestriction__Group__4__Impl(); state._fsp--; - pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__5_in_rule__RelationTypeRestriction__Group__413654); + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__5_in_rule__RelationTypeRestriction__Group__413468); rule__RelationTypeRestriction__Group__5(); state._fsp--; @@ -18209,23 +17951,23 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__Group__4__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6781:1: rule__RelationTypeRestriction__Group__4__Impl : ( ( rule__RelationTypeRestriction__RestrictedToSideAssignment_4 ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6687:1: rule__RelationTypeRestriction__Group__4__Impl : ( ( rule__RelationTypeRestriction__RestrictedToSideAssignment_4 ) ) ; public final void rule__RelationTypeRestriction__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6785:1: ( ( ( rule__RelationTypeRestriction__RestrictedToSideAssignment_4 ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6786:1: ( ( rule__RelationTypeRestriction__RestrictedToSideAssignment_4 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6691:1: ( ( ( rule__RelationTypeRestriction__RestrictedToSideAssignment_4 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6692:1: ( ( rule__RelationTypeRestriction__RestrictedToSideAssignment_4 ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6786:1: ( ( rule__RelationTypeRestriction__RestrictedToSideAssignment_4 ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6787:1: ( rule__RelationTypeRestriction__RestrictedToSideAssignment_4 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6692:1: ( ( rule__RelationTypeRestriction__RestrictedToSideAssignment_4 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6693:1: ( rule__RelationTypeRestriction__RestrictedToSideAssignment_4 ) { before(grammarAccess.getRelationTypeRestrictionAccess().getRestrictedToSideAssignment_4()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6788:1: ( rule__RelationTypeRestriction__RestrictedToSideAssignment_4 ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6788:2: rule__RelationTypeRestriction__RestrictedToSideAssignment_4 + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6694:1: ( rule__RelationTypeRestriction__RestrictedToSideAssignment_4 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6694:2: rule__RelationTypeRestriction__RestrictedToSideAssignment_4 { - pushFollow(FOLLOW_rule__RelationTypeRestriction__RestrictedToSideAssignment_4_in_rule__RelationTypeRestriction__Group__4__Impl13681); + pushFollow(FOLLOW_rule__RelationTypeRestriction__RestrictedToSideAssignment_4_in_rule__RelationTypeRestriction__Group__4__Impl13495); rule__RelationTypeRestriction__RestrictedToSideAssignment_4(); state._fsp--; @@ -18256,20 +17998,25 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__Group__5" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6798:1: rule__RelationTypeRestriction__Group__5 : rule__RelationTypeRestriction__Group__5__Impl ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6704:1: rule__RelationTypeRestriction__Group__5 : rule__RelationTypeRestriction__Group__5__Impl rule__RelationTypeRestriction__Group__6 ; public final void rule__RelationTypeRestriction__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6802:1: ( rule__RelationTypeRestriction__Group__5__Impl ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6803:2: rule__RelationTypeRestriction__Group__5__Impl + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6708:1: ( rule__RelationTypeRestriction__Group__5__Impl rule__RelationTypeRestriction__Group__6 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6709:2: rule__RelationTypeRestriction__Group__5__Impl rule__RelationTypeRestriction__Group__6 { - pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__5__Impl_in_rule__RelationTypeRestriction__Group__513711); + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__5__Impl_in_rule__RelationTypeRestriction__Group__513525); rule__RelationTypeRestriction__Group__5__Impl(); state._fsp--; + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__6_in_rule__RelationTypeRestriction__Group__513528); + rule__RelationTypeRestriction__Group__6(); + + state._fsp--; + } @@ -18289,21 +18036,42 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__Group__5__Impl" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6809:1: rule__RelationTypeRestriction__Group__5__Impl : ( ';' ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6716:1: rule__RelationTypeRestriction__Group__5__Impl : ( ( rule__RelationTypeRestriction__Group_5__0 )? ) ; public final void rule__RelationTypeRestriction__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6813:1: ( ( ';' ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6814:1: ( ';' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6720:1: ( ( ( rule__RelationTypeRestriction__Group_5__0 )? ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6721:1: ( ( rule__RelationTypeRestriction__Group_5__0 )? ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6814:1: ( ';' ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6815:1: ';' + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6721:1: ( ( rule__RelationTypeRestriction__Group_5__0 )? ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6722:1: ( rule__RelationTypeRestriction__Group_5__0 )? { - before(grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_5()); - match(input,81,FOLLOW_81_in_rule__RelationTypeRestriction__Group__5__Impl13739); - after(grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_5()); + before(grammarAccess.getRelationTypeRestrictionAccess().getGroup_5()); + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6723:1: ( rule__RelationTypeRestriction__Group_5__0 )? + int alt47=2; + int LA47_0 = input.LA(1); + + if ( (LA47_0==85) ) { + alt47=1; + } + switch (alt47) { + case 1 : + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6723:2: rule__RelationTypeRestriction__Group_5__0 + { + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group_5__0_in_rule__RelationTypeRestriction__Group__5__Impl13555); + rule__RelationTypeRestriction__Group_5__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getRelationTypeRestrictionAccess().getGroup_5()); } @@ -18325,6 +18093,231 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR end "rule__RelationTypeRestriction__Group__5__Impl" + // $ANTLR start "rule__RelationTypeRestriction__Group__6" + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6733:1: rule__RelationTypeRestriction__Group__6 : rule__RelationTypeRestriction__Group__6__Impl ; + public final void rule__RelationTypeRestriction__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6737:1: ( rule__RelationTypeRestriction__Group__6__Impl ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6738:2: rule__RelationTypeRestriction__Group__6__Impl + { + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group__6__Impl_in_rule__RelationTypeRestriction__Group__613586); + rule__RelationTypeRestriction__Group__6__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationTypeRestriction__Group__6" + + + // $ANTLR start "rule__RelationTypeRestriction__Group__6__Impl" + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6744:1: rule__RelationTypeRestriction__Group__6__Impl : ( ';' ) ; + public final void rule__RelationTypeRestriction__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6748:1: ( ( ';' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6749:1: ( ';' ) + { + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6749:1: ( ';' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6750:1: ';' + { + before(grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_6()); + match(input,81,FOLLOW_81_in_rule__RelationTypeRestriction__Group__6__Impl13614); + after(grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_6()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationTypeRestriction__Group__6__Impl" + + + // $ANTLR start "rule__RelationTypeRestriction__Group_5__0" + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6777:1: rule__RelationTypeRestriction__Group_5__0 : rule__RelationTypeRestriction__Group_5__0__Impl rule__RelationTypeRestriction__Group_5__1 ; + public final void rule__RelationTypeRestriction__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6781:1: ( rule__RelationTypeRestriction__Group_5__0__Impl rule__RelationTypeRestriction__Group_5__1 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6782:2: rule__RelationTypeRestriction__Group_5__0__Impl rule__RelationTypeRestriction__Group_5__1 + { + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group_5__0__Impl_in_rule__RelationTypeRestriction__Group_5__013659); + rule__RelationTypeRestriction__Group_5__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group_5__1_in_rule__RelationTypeRestriction__Group_5__013662); + rule__RelationTypeRestriction__Group_5__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationTypeRestriction__Group_5__0" + + + // $ANTLR start "rule__RelationTypeRestriction__Group_5__0__Impl" + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6789:1: rule__RelationTypeRestriction__Group_5__0__Impl : ( 'artifact' ) ; + public final void rule__RelationTypeRestriction__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6793:1: ( ( 'artifact' ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6794:1: ( 'artifact' ) + { + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6794:1: ( 'artifact' ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6795:1: 'artifact' + { + before(grammarAccess.getRelationTypeRestrictionAccess().getArtifactKeyword_5_0()); + match(input,85,FOLLOW_85_in_rule__RelationTypeRestriction__Group_5__0__Impl13690); + after(grammarAccess.getRelationTypeRestrictionAccess().getArtifactKeyword_5_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationTypeRestriction__Group_5__0__Impl" + + + // $ANTLR start "rule__RelationTypeRestriction__Group_5__1" + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6808:1: rule__RelationTypeRestriction__Group_5__1 : rule__RelationTypeRestriction__Group_5__1__Impl ; + public final void rule__RelationTypeRestriction__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6812:1: ( rule__RelationTypeRestriction__Group_5__1__Impl ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6813:2: rule__RelationTypeRestriction__Group_5__1__Impl + { + pushFollow(FOLLOW_rule__RelationTypeRestriction__Group_5__1__Impl_in_rule__RelationTypeRestriction__Group_5__113721); + rule__RelationTypeRestriction__Group_5__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationTypeRestriction__Group_5__1" + + + // $ANTLR start "rule__RelationTypeRestriction__Group_5__1__Impl" + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6819:1: rule__RelationTypeRestriction__Group_5__1__Impl : ( ( rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1 ) ) ; + public final void rule__RelationTypeRestriction__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6823:1: ( ( ( rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1 ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6824:1: ( ( rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1 ) ) + { + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6824:1: ( ( rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1 ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6825:1: ( rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1 ) + { + before(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefAssignment_5_1()); + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6826:1: ( rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1 ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6826:2: rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1 + { + pushFollow(FOLLOW_rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1_in_rule__RelationTypeRestriction__Group_5__1__Impl13748); + rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1(); + + state._fsp--; + + + } + + after(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefAssignment_5_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationTypeRestriction__Group_5__1__Impl" + + // $ANTLR start "rule__OseeDsl__ImportsAssignment_0" // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:6841:1: rule__OseeDsl__ImportsAssignment_0 : ( ruleImport ) ; public final void rule__OseeDsl__ImportsAssignment_0() throws RecognitionException { @@ -20833,66 +20826,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR end "rule__AccessContext__SuperAccessContextsAssignment_2_1" - // $ANTLR start "rule__AccessContext__SuperAccessContextsAssignment_2_2_1" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7830:1: rule__AccessContext__SuperAccessContextsAssignment_2_2_1 : ( ( RULE_STRING ) ) ; - public final void rule__AccessContext__SuperAccessContextsAssignment_2_2_1() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7834:1: ( ( ( RULE_STRING ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7835:1: ( ( RULE_STRING ) ) - { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7835:1: ( ( RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7836:1: ( RULE_STRING ) - { - before(grammarAccess.getAccessContextAccess().getSuperAccessContextsAccessContextCrossReference_2_2_1_0()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7837:1: ( RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7838:1: RULE_STRING - { - before(grammarAccess.getAccessContextAccess().getSuperAccessContextsAccessContextSTRINGTerminalRuleCall_2_2_1_0_1()); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__AccessContext__SuperAccessContextsAssignment_2_2_115825); - after(grammarAccess.getAccessContextAccess().getSuperAccessContextsAccessContextSTRINGTerminalRuleCall_2_2_1_0_1()); - - } - - after(grammarAccess.getAccessContextAccess().getSuperAccessContextsAccessContextCrossReference_2_2_1_0()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__AccessContext__SuperAccessContextsAssignment_2_2_1" - - // $ANTLR start "rule__AccessContext__GuidAssignment_5" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7849:1: rule__AccessContext__GuidAssignment_5 : ( RULE_STRING ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7830:1: rule__AccessContext__GuidAssignment_5 : ( RULE_STRING ) ; public final void rule__AccessContext__GuidAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7853:1: ( ( RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7854:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7834:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7835:1: ( RULE_STRING ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7854:1: ( RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7855:1: RULE_STRING + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7835:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7836:1: RULE_STRING { before(grammarAccess.getAccessContextAccess().getGuidSTRINGTerminalRuleCall_5_0()); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__AccessContext__GuidAssignment_515860); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__AccessContext__GuidAssignment_515821); after(grammarAccess.getAccessContextAccess().getGuidSTRINGTerminalRuleCall_5_0()); } @@ -20916,20 +20864,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AccessContext__AccessRulesAssignment_7_0" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7864:1: rule__AccessContext__AccessRulesAssignment_7_0 : ( ruleObjectRestriction ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7845:1: rule__AccessContext__AccessRulesAssignment_7_0 : ( ruleObjectRestriction ) ; public final void rule__AccessContext__AccessRulesAssignment_7_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7868:1: ( ( ruleObjectRestriction ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7869:1: ( ruleObjectRestriction ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7849:1: ( ( ruleObjectRestriction ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7850:1: ( ruleObjectRestriction ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7869:1: ( ruleObjectRestriction ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7870:1: ruleObjectRestriction + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7850:1: ( ruleObjectRestriction ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7851:1: ruleObjectRestriction { before(grammarAccess.getAccessContextAccess().getAccessRulesObjectRestrictionParserRuleCall_7_0_0()); - pushFollow(FOLLOW_ruleObjectRestriction_in_rule__AccessContext__AccessRulesAssignment_7_015891); + pushFollow(FOLLOW_ruleObjectRestriction_in_rule__AccessContext__AccessRulesAssignment_7_015852); ruleObjectRestriction(); state._fsp--; @@ -20957,20 +20905,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AccessContext__HierarchyRestrictionsAssignment_7_1" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7879:1: rule__AccessContext__HierarchyRestrictionsAssignment_7_1 : ( ruleHierarchyRestriction ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7860:1: rule__AccessContext__HierarchyRestrictionsAssignment_7_1 : ( ruleHierarchyRestriction ) ; public final void rule__AccessContext__HierarchyRestrictionsAssignment_7_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7883:1: ( ( ruleHierarchyRestriction ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7884:1: ( ruleHierarchyRestriction ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7864:1: ( ( ruleHierarchyRestriction ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7865:1: ( ruleHierarchyRestriction ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7884:1: ( ruleHierarchyRestriction ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7885:1: ruleHierarchyRestriction + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7865:1: ( ruleHierarchyRestriction ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7866:1: ruleHierarchyRestriction { before(grammarAccess.getAccessContextAccess().getHierarchyRestrictionsHierarchyRestrictionParserRuleCall_7_1_0()); - pushFollow(FOLLOW_ruleHierarchyRestriction_in_rule__AccessContext__HierarchyRestrictionsAssignment_7_115922); + pushFollow(FOLLOW_ruleHierarchyRestriction_in_rule__AccessContext__HierarchyRestrictionsAssignment_7_115883); ruleHierarchyRestriction(); state._fsp--; @@ -20998,24 +20946,24 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7894:1: rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 : ( ( RULE_STRING ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7875:1: rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1 : ( ( RULE_STRING ) ) ; public final void rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7898:1: ( ( ( RULE_STRING ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7899:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7879:1: ( ( ( RULE_STRING ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7880:1: ( ( RULE_STRING ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7899:1: ( ( RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7900:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7880:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7881:1: ( RULE_STRING ) { before(grammarAccess.getHierarchyRestrictionAccess().getArtifactMatcherRefXArtifactMatcherCrossReference_1_0()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7901:1: ( RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7902:1: RULE_STRING + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7882:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7883:1: RULE_STRING { before(grammarAccess.getHierarchyRestrictionAccess().getArtifactMatcherRefXArtifactMatcherSTRINGTerminalRuleCall_1_0_1()); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__HierarchyRestriction__ArtifactMatcherRefAssignment_115957); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__HierarchyRestriction__ArtifactMatcherRefAssignment_115918); after(grammarAccess.getHierarchyRestrictionAccess().getArtifactMatcherRefXArtifactMatcherSTRINGTerminalRuleCall_1_0_1()); } @@ -21043,20 +20991,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__HierarchyRestriction__AccessRulesAssignment_3" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7913:1: rule__HierarchyRestriction__AccessRulesAssignment_3 : ( ruleObjectRestriction ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7894:1: rule__HierarchyRestriction__AccessRulesAssignment_3 : ( ruleObjectRestriction ) ; public final void rule__HierarchyRestriction__AccessRulesAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7917:1: ( ( ruleObjectRestriction ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7918:1: ( ruleObjectRestriction ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7898:1: ( ( ruleObjectRestriction ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7899:1: ( ruleObjectRestriction ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7918:1: ( ruleObjectRestriction ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7919:1: ruleObjectRestriction + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7899:1: ( ruleObjectRestriction ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7900:1: ruleObjectRestriction { before(grammarAccess.getHierarchyRestrictionAccess().getAccessRulesObjectRestrictionParserRuleCall_3_0()); - pushFollow(FOLLOW_ruleObjectRestriction_in_rule__HierarchyRestriction__AccessRulesAssignment_315992); + pushFollow(FOLLOW_ruleObjectRestriction_in_rule__HierarchyRestriction__AccessRulesAssignment_315953); ruleObjectRestriction(); state._fsp--; @@ -21084,20 +21032,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactMatchRestriction__PermissionAssignment_0" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7928:1: rule__ArtifactMatchRestriction__PermissionAssignment_0 : ( ruleAccessPermissionEnum ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7909:1: rule__ArtifactMatchRestriction__PermissionAssignment_0 : ( ruleAccessPermissionEnum ) ; public final void rule__ArtifactMatchRestriction__PermissionAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7932:1: ( ( ruleAccessPermissionEnum ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7933:1: ( ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7913:1: ( ( ruleAccessPermissionEnum ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7914:1: ( ruleAccessPermissionEnum ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7933:1: ( ruleAccessPermissionEnum ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7934:1: ruleAccessPermissionEnum + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7914:1: ( ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7915:1: ruleAccessPermissionEnum { before(grammarAccess.getArtifactMatchRestrictionAccess().getPermissionAccessPermissionEnumEnumRuleCall_0_0()); - pushFollow(FOLLOW_ruleAccessPermissionEnum_in_rule__ArtifactMatchRestriction__PermissionAssignment_016023); + pushFollow(FOLLOW_ruleAccessPermissionEnum_in_rule__ArtifactMatchRestriction__PermissionAssignment_015984); ruleAccessPermissionEnum(); state._fsp--; @@ -21125,24 +21073,24 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7943:1: rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 : ( ( RULE_STRING ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7924:1: rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3 : ( ( RULE_STRING ) ) ; public final void rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7947:1: ( ( ( RULE_STRING ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7948:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7928:1: ( ( ( RULE_STRING ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7929:1: ( ( RULE_STRING ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7948:1: ( ( RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7949:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7929:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7930:1: ( RULE_STRING ) { before(grammarAccess.getArtifactMatchRestrictionAccess().getArtifactMatcherRefXArtifactMatcherCrossReference_3_0()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7950:1: ( RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7951:1: RULE_STRING + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7931:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7932:1: RULE_STRING { before(grammarAccess.getArtifactMatchRestrictionAccess().getArtifactMatcherRefXArtifactMatcherSTRINGTerminalRuleCall_3_0_1()); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_316058); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_316019); after(grammarAccess.getArtifactMatchRestrictionAccess().getArtifactMatcherRefXArtifactMatcherSTRINGTerminalRuleCall_3_0_1()); } @@ -21170,20 +21118,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactTypeRestriction__PermissionAssignment_0" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7962:1: rule__ArtifactTypeRestriction__PermissionAssignment_0 : ( ruleAccessPermissionEnum ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7943:1: rule__ArtifactTypeRestriction__PermissionAssignment_0 : ( ruleAccessPermissionEnum ) ; public final void rule__ArtifactTypeRestriction__PermissionAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7966:1: ( ( ruleAccessPermissionEnum ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7967:1: ( ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7947:1: ( ( ruleAccessPermissionEnum ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7948:1: ( ruleAccessPermissionEnum ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7967:1: ( ruleAccessPermissionEnum ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7968:1: ruleAccessPermissionEnum + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7948:1: ( ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7949:1: ruleAccessPermissionEnum { before(grammarAccess.getArtifactTypeRestrictionAccess().getPermissionAccessPermissionEnumEnumRuleCall_0_0()); - pushFollow(FOLLOW_ruleAccessPermissionEnum_in_rule__ArtifactTypeRestriction__PermissionAssignment_016093); + pushFollow(FOLLOW_ruleAccessPermissionEnum_in_rule__ArtifactTypeRestriction__PermissionAssignment_016054); ruleAccessPermissionEnum(); state._fsp--; @@ -21211,24 +21159,24 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7977:1: rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 : ( ( RULE_STRING ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7958:1: rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3 : ( ( RULE_STRING ) ) ; public final void rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7981:1: ( ( ( RULE_STRING ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7982:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7962:1: ( ( ( RULE_STRING ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7963:1: ( ( RULE_STRING ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7982:1: ( ( RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7983:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7963:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7964:1: ( RULE_STRING ) { before(grammarAccess.getArtifactTypeRestrictionAccess().getArtifactTypeRefXArtifactTypeCrossReference_3_0()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7984:1: ( RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7985:1: RULE_STRING + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7965:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7966:1: RULE_STRING { before(grammarAccess.getArtifactTypeRestrictionAccess().getArtifactTypeRefXArtifactTypeSTRINGTerminalRuleCall_3_0_1()); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_316128); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_316089); after(grammarAccess.getArtifactTypeRestrictionAccess().getArtifactTypeRefXArtifactTypeSTRINGTerminalRuleCall_3_0_1()); } @@ -21256,20 +21204,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__PermissionAssignment_0" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7996:1: rule__AttributeTypeRestriction__PermissionAssignment_0 : ( ruleAccessPermissionEnum ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7977:1: rule__AttributeTypeRestriction__PermissionAssignment_0 : ( ruleAccessPermissionEnum ) ; public final void rule__AttributeTypeRestriction__PermissionAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8000:1: ( ( ruleAccessPermissionEnum ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8001:1: ( ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7981:1: ( ( ruleAccessPermissionEnum ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7982:1: ( ruleAccessPermissionEnum ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8001:1: ( ruleAccessPermissionEnum ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8002:1: ruleAccessPermissionEnum + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7982:1: ( ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7983:1: ruleAccessPermissionEnum { before(grammarAccess.getAttributeTypeRestrictionAccess().getPermissionAccessPermissionEnumEnumRuleCall_0_0()); - pushFollow(FOLLOW_ruleAccessPermissionEnum_in_rule__AttributeTypeRestriction__PermissionAssignment_016163); + pushFollow(FOLLOW_ruleAccessPermissionEnum_in_rule__AttributeTypeRestriction__PermissionAssignment_016124); ruleAccessPermissionEnum(); state._fsp--; @@ -21297,24 +21245,24 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8011:1: rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 : ( ( RULE_STRING ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7992:1: rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3 : ( ( RULE_STRING ) ) ; public final void rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8015:1: ( ( ( RULE_STRING ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8016:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7996:1: ( ( ( RULE_STRING ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7997:1: ( ( RULE_STRING ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8016:1: ( ( RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8017:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7997:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7998:1: ( RULE_STRING ) { before(grammarAccess.getAttributeTypeRestrictionAccess().getAttributeTypeRefXAttributeTypeCrossReference_3_0()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8018:1: ( RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8019:1: RULE_STRING + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:7999:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8000:1: RULE_STRING { before(grammarAccess.getAttributeTypeRestrictionAccess().getAttributeTypeRefXAttributeTypeSTRINGTerminalRuleCall_3_0_1()); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__AttributeTypeRestriction__AttributeTypeRefAssignment_316198); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__AttributeTypeRestriction__AttributeTypeRefAssignment_316159); after(grammarAccess.getAttributeTypeRestrictionAccess().getAttributeTypeRefXAttributeTypeSTRINGTerminalRuleCall_3_0_1()); } @@ -21342,24 +21290,24 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8030:1: rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 : ( ( RULE_STRING ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8011:1: rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2 : ( ( RULE_STRING ) ) ; public final void rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8034:1: ( ( ( RULE_STRING ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8035:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8015:1: ( ( ( RULE_STRING ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8016:1: ( ( RULE_STRING ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8035:1: ( ( RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8036:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8016:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8017:1: ( RULE_STRING ) { before(grammarAccess.getAttributeTypeRestrictionAccess().getArtifactTypeRefXArtifactTypeCrossReference_4_2_0()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8037:1: ( RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8038:1: RULE_STRING + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8018:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8019:1: RULE_STRING { before(grammarAccess.getAttributeTypeRestrictionAccess().getArtifactTypeRefXArtifactTypeSTRINGTerminalRuleCall_4_2_0_1()); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_216237); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_216198); after(grammarAccess.getAttributeTypeRestrictionAccess().getArtifactTypeRefXArtifactTypeSTRINGTerminalRuleCall_4_2_0_1()); } @@ -21387,20 +21335,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__PermissionAssignment_0" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8049:1: rule__RelationTypeRestriction__PermissionAssignment_0 : ( ruleAccessPermissionEnum ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8030:1: rule__RelationTypeRestriction__PermissionAssignment_0 : ( ruleAccessPermissionEnum ) ; public final void rule__RelationTypeRestriction__PermissionAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8053:1: ( ( ruleAccessPermissionEnum ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8054:1: ( ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8034:1: ( ( ruleAccessPermissionEnum ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8035:1: ( ruleAccessPermissionEnum ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8054:1: ( ruleAccessPermissionEnum ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8055:1: ruleAccessPermissionEnum + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8035:1: ( ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8036:1: ruleAccessPermissionEnum { before(grammarAccess.getRelationTypeRestrictionAccess().getPermissionAccessPermissionEnumEnumRuleCall_0_0()); - pushFollow(FOLLOW_ruleAccessPermissionEnum_in_rule__RelationTypeRestriction__PermissionAssignment_016272); + pushFollow(FOLLOW_ruleAccessPermissionEnum_in_rule__RelationTypeRestriction__PermissionAssignment_016233); ruleAccessPermissionEnum(); state._fsp--; @@ -21428,24 +21376,24 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__RelationTypeRefAssignment_3" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8064:1: rule__RelationTypeRestriction__RelationTypeRefAssignment_3 : ( ( RULE_STRING ) ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8045:1: rule__RelationTypeRestriction__RelationTypeRefAssignment_3 : ( ( RULE_STRING ) ) ; public final void rule__RelationTypeRestriction__RelationTypeRefAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8068:1: ( ( ( RULE_STRING ) ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8069:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8049:1: ( ( ( RULE_STRING ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8050:1: ( ( RULE_STRING ) ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8069:1: ( ( RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8070:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8050:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8051:1: ( RULE_STRING ) { before(grammarAccess.getRelationTypeRestrictionAccess().getRelationTypeRefXRelationTypeCrossReference_3_0()); - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8071:1: ( RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8072:1: RULE_STRING + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8052:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8053:1: RULE_STRING { before(grammarAccess.getRelationTypeRestrictionAccess().getRelationTypeRefXRelationTypeSTRINGTerminalRuleCall_3_0_1()); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__RelationTypeRestriction__RelationTypeRefAssignment_316307); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__RelationTypeRestriction__RelationTypeRefAssignment_316268); after(grammarAccess.getRelationTypeRestrictionAccess().getRelationTypeRefXRelationTypeSTRINGTerminalRuleCall_3_0_1()); } @@ -21473,20 +21421,20 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { // $ANTLR start "rule__RelationTypeRestriction__RestrictedToSideAssignment_4" - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8083:1: rule__RelationTypeRestriction__RestrictedToSideAssignment_4 : ( ruleXRelationSideEnum ) ; + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8064:1: rule__RelationTypeRestriction__RestrictedToSideAssignment_4 : ( ruleXRelationSideEnum ) ; public final void rule__RelationTypeRestriction__RestrictedToSideAssignment_4() throws RecognitionException { int stackSize = keepStackSize(); try { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8087:1: ( ( ruleXRelationSideEnum ) ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8088:1: ( ruleXRelationSideEnum ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8068:1: ( ( ruleXRelationSideEnum ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8069:1: ( ruleXRelationSideEnum ) { - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8088:1: ( ruleXRelationSideEnum ) - // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8089:1: ruleXRelationSideEnum + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8069:1: ( ruleXRelationSideEnum ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8070:1: ruleXRelationSideEnum { before(grammarAccess.getRelationTypeRestrictionAccess().getRestrictedToSideXRelationSideEnumEnumRuleCall_4_0()); - pushFollow(FOLLOW_ruleXRelationSideEnum_in_rule__RelationTypeRestriction__RestrictedToSideAssignment_416342); + pushFollow(FOLLOW_ruleXRelationSideEnum_in_rule__RelationTypeRestriction__RestrictedToSideAssignment_416303); ruleXRelationSideEnum(); state._fsp--; @@ -21512,6 +21460,51 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { } // $ANTLR end "rule__RelationTypeRestriction__RestrictedToSideAssignment_4" + + // $ANTLR start "rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1" + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8079:1: rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1 : ( ( RULE_STRING ) ) ; + public final void rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8083:1: ( ( ( RULE_STRING ) ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8084:1: ( ( RULE_STRING ) ) + { + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8084:1: ( ( RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8085:1: ( RULE_STRING ) + { + before(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefXArtifactMatcherCrossReference_5_1_0()); + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8086:1: ( RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl.ui/src-gen/org/eclipse/osee/framework/core/dsl/ui/contentassist/antlr/internal/InternalOseeDsl.g:8087:1: RULE_STRING + { + before(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefXArtifactMatcherSTRINGTerminalRuleCall_5_1_0_1()); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_116338); + after(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefXArtifactMatcherSTRINGTerminalRuleCall_5_1_0_1()); + + } + + after(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefXArtifactMatcherCrossReference_5_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1" + // Delegated rules @@ -22034,101 +22027,101 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { public static final BitSet FOLLOW_rule__AccessContext__Group_2__0__Impl_in_rule__AccessContext__Group_2__011579 = new BitSet(new long[]{0x0000000000000040L}); public static final BitSet FOLLOW_rule__AccessContext__Group_2__1_in_rule__AccessContext__Group_2__011582 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_51_in_rule__AccessContext__Group_2__0__Impl11610 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AccessContext__Group_2__1__Impl_in_rule__AccessContext__Group_2__111641 = new BitSet(new long[]{0x0010000000000000L}); - public static final BitSet FOLLOW_rule__AccessContext__Group_2__2_in_rule__AccessContext__Group_2__111644 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AccessContext__SuperAccessContextsAssignment_2_1_in_rule__AccessContext__Group_2__1__Impl11671 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AccessContext__Group_2__2__Impl_in_rule__AccessContext__Group_2__211701 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AccessContext__Group_2_2__0_in_rule__AccessContext__Group_2__2__Impl11728 = new BitSet(new long[]{0x0010000000000002L}); - public static final BitSet FOLLOW_rule__AccessContext__Group_2_2__0__Impl_in_rule__AccessContext__Group_2_2__011765 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_rule__AccessContext__Group_2_2__1_in_rule__AccessContext__Group_2_2__011768 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_52_in_rule__AccessContext__Group_2_2__0__Impl11796 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AccessContext__Group_2_2__1__Impl_in_rule__AccessContext__Group_2_2__111827 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AccessContext__SuperAccessContextsAssignment_2_2_1_in_rule__AccessContext__Group_2_2__1__Impl11854 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__0__Impl_in_rule__HierarchyRestriction__Group__011888 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__1_in_rule__HierarchyRestriction__Group__011891 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_83_in_rule__HierarchyRestriction__Group__0__Impl11919 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__1__Impl_in_rule__HierarchyRestriction__Group__111950 = new BitSet(new long[]{0x0001000000000000L}); - public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__2_in_rule__HierarchyRestriction__Group__111953 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1_in_rule__HierarchyRestriction__Group__1__Impl11980 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__2__Impl_in_rule__HierarchyRestriction__Group__212010 = new BitSet(new long[]{0x0000030000000000L}); - public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__3_in_rule__HierarchyRestriction__Group__212013 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_48_in_rule__HierarchyRestriction__Group__2__Impl12041 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__3__Impl_in_rule__HierarchyRestriction__Group__312072 = new BitSet(new long[]{0x0004000000000000L}); - public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__4_in_rule__HierarchyRestriction__Group__312075 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__HierarchyRestriction__AccessRulesAssignment_3_in_rule__HierarchyRestriction__Group__3__Impl12104 = new BitSet(new long[]{0x0000030000000002L}); - public static final BitSet FOLLOW_rule__HierarchyRestriction__AccessRulesAssignment_3_in_rule__HierarchyRestriction__Group__3__Impl12116 = new BitSet(new long[]{0x0000030000000002L}); - public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__4__Impl_in_rule__HierarchyRestriction__Group__412149 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_50_in_rule__HierarchyRestriction__Group__4__Impl12177 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__0__Impl_in_rule__ArtifactMatchRestriction__Group__012218 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); - public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__1_in_rule__ArtifactMatchRestriction__Group__012221 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__PermissionAssignment_0_in_rule__ArtifactMatchRestriction__Group__0__Impl12248 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__1__Impl_in_rule__ArtifactMatchRestriction__Group__112278 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L}); - public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__2_in_rule__ArtifactMatchRestriction__Group__112281 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_84_in_rule__ArtifactMatchRestriction__Group__1__Impl12309 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__2__Impl_in_rule__ArtifactMatchRestriction__Group__212340 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__3_in_rule__ArtifactMatchRestriction__Group__212343 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_85_in_rule__ArtifactMatchRestriction__Group__2__Impl12371 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__3__Impl_in_rule__ArtifactMatchRestriction__Group__312402 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); - public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__4_in_rule__ArtifactMatchRestriction__Group__312405 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3_in_rule__ArtifactMatchRestriction__Group__3__Impl12432 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__4__Impl_in_rule__ArtifactMatchRestriction__Group__412462 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_81_in_rule__ArtifactMatchRestriction__Group__4__Impl12490 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__0__Impl_in_rule__ArtifactTypeRestriction__Group__012531 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); - public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__1_in_rule__ArtifactTypeRestriction__Group__012534 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__PermissionAssignment_0_in_rule__ArtifactTypeRestriction__Group__0__Impl12561 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__1__Impl_in_rule__ArtifactTypeRestriction__Group__112591 = new BitSet(new long[]{0x0000800000000000L}); - public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__2_in_rule__ArtifactTypeRestriction__Group__112594 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_84_in_rule__ArtifactTypeRestriction__Group__1__Impl12622 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__2__Impl_in_rule__ArtifactTypeRestriction__Group__212653 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__3_in_rule__ArtifactTypeRestriction__Group__212656 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_47_in_rule__ArtifactTypeRestriction__Group__2__Impl12684 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__3__Impl_in_rule__ArtifactTypeRestriction__Group__312715 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); - public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__4_in_rule__ArtifactTypeRestriction__Group__312718 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3_in_rule__ArtifactTypeRestriction__Group__3__Impl12745 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__4__Impl_in_rule__ArtifactTypeRestriction__Group__412775 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_81_in_rule__ArtifactTypeRestriction__Group__4__Impl12803 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__0__Impl_in_rule__AttributeTypeRestriction__Group__012844 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__1_in_rule__AttributeTypeRestriction__Group__012847 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__PermissionAssignment_0_in_rule__AttributeTypeRestriction__Group__0__Impl12874 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__1__Impl_in_rule__AttributeTypeRestriction__Group__112904 = new BitSet(new long[]{0x0040000000000000L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__2_in_rule__AttributeTypeRestriction__Group__112907 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_84_in_rule__AttributeTypeRestriction__Group__1__Impl12935 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__2__Impl_in_rule__AttributeTypeRestriction__Group__212966 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__3_in_rule__AttributeTypeRestriction__Group__212969 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_54_in_rule__AttributeTypeRestriction__Group__2__Impl12997 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__3__Impl_in_rule__AttributeTypeRestriction__Group__313028 = new BitSet(new long[]{0x0000000000000000L,0x0000000000420000L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__4_in_rule__AttributeTypeRestriction__Group__313031 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3_in_rule__AttributeTypeRestriction__Group__3__Impl13058 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__4__Impl_in_rule__AttributeTypeRestriction__Group__413088 = new BitSet(new long[]{0x0000000000000000L,0x0000000000420000L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__5_in_rule__AttributeTypeRestriction__Group__413091 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group_4__0_in_rule__AttributeTypeRestriction__Group__4__Impl13118 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__5__Impl_in_rule__AttributeTypeRestriction__Group__513149 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_81_in_rule__AttributeTypeRestriction__Group__5__Impl13177 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group_4__0__Impl_in_rule__AttributeTypeRestriction__Group_4__013220 = new BitSet(new long[]{0x0000800000000000L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group_4__1_in_rule__AttributeTypeRestriction__Group_4__013223 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_86_in_rule__AttributeTypeRestriction__Group_4__0__Impl13251 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group_4__1__Impl_in_rule__AttributeTypeRestriction__Group_4__113282 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group_4__2_in_rule__AttributeTypeRestriction__Group_4__113285 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_47_in_rule__AttributeTypeRestriction__Group_4__1__Impl13313 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group_4__2__Impl_in_rule__AttributeTypeRestriction__Group_4__213344 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2_in_rule__AttributeTypeRestriction__Group_4__2__Impl13371 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__0__Impl_in_rule__RelationTypeRestriction__Group__013407 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__1_in_rule__RelationTypeRestriction__Group__013410 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__PermissionAssignment_0_in_rule__RelationTypeRestriction__Group__0__Impl13437 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__1__Impl_in_rule__RelationTypeRestriction__Group__113467 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__2_in_rule__RelationTypeRestriction__Group__113470 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_84_in_rule__RelationTypeRestriction__Group__1__Impl13498 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__2__Impl_in_rule__RelationTypeRestriction__Group__213529 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__3_in_rule__RelationTypeRestriction__Group__213532 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_70_in_rule__RelationTypeRestriction__Group__2__Impl13560 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__3__Impl_in_rule__RelationTypeRestriction__Group__313591 = new BitSet(new long[]{0x00001C0000000000L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__4_in_rule__RelationTypeRestriction__Group__313594 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__RelationTypeRefAssignment_3_in_rule__RelationTypeRestriction__Group__3__Impl13621 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__4__Impl_in_rule__RelationTypeRestriction__Group__413651 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__5_in_rule__RelationTypeRestriction__Group__413654 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__RestrictedToSideAssignment_4_in_rule__RelationTypeRestriction__Group__4__Impl13681 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__5__Impl_in_rule__RelationTypeRestriction__Group__513711 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_81_in_rule__RelationTypeRestriction__Group__5__Impl13739 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AccessContext__Group_2__1__Impl_in_rule__AccessContext__Group_2__111641 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AccessContext__SuperAccessContextsAssignment_2_1_in_rule__AccessContext__Group_2__1__Impl11668 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__0__Impl_in_rule__HierarchyRestriction__Group__011702 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__1_in_rule__HierarchyRestriction__Group__011705 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_83_in_rule__HierarchyRestriction__Group__0__Impl11733 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__1__Impl_in_rule__HierarchyRestriction__Group__111764 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__2_in_rule__HierarchyRestriction__Group__111767 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__HierarchyRestriction__ArtifactMatcherRefAssignment_1_in_rule__HierarchyRestriction__Group__1__Impl11794 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__2__Impl_in_rule__HierarchyRestriction__Group__211824 = new BitSet(new long[]{0x0000030000000000L}); + public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__3_in_rule__HierarchyRestriction__Group__211827 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_48_in_rule__HierarchyRestriction__Group__2__Impl11855 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__3__Impl_in_rule__HierarchyRestriction__Group__311886 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__4_in_rule__HierarchyRestriction__Group__311889 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__HierarchyRestriction__AccessRulesAssignment_3_in_rule__HierarchyRestriction__Group__3__Impl11918 = new BitSet(new long[]{0x0000030000000002L}); + public static final BitSet FOLLOW_rule__HierarchyRestriction__AccessRulesAssignment_3_in_rule__HierarchyRestriction__Group__3__Impl11930 = new BitSet(new long[]{0x0000030000000002L}); + public static final BitSet FOLLOW_rule__HierarchyRestriction__Group__4__Impl_in_rule__HierarchyRestriction__Group__411963 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_50_in_rule__HierarchyRestriction__Group__4__Impl11991 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__0__Impl_in_rule__ArtifactMatchRestriction__Group__012032 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); + public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__1_in_rule__ArtifactMatchRestriction__Group__012035 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__PermissionAssignment_0_in_rule__ArtifactMatchRestriction__Group__0__Impl12062 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__1__Impl_in_rule__ArtifactMatchRestriction__Group__112092 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L}); + public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__2_in_rule__ArtifactMatchRestriction__Group__112095 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_84_in_rule__ArtifactMatchRestriction__Group__1__Impl12123 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__2__Impl_in_rule__ArtifactMatchRestriction__Group__212154 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__3_in_rule__ArtifactMatchRestriction__Group__212157 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_85_in_rule__ArtifactMatchRestriction__Group__2__Impl12185 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__3__Impl_in_rule__ArtifactMatchRestriction__Group__312216 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__4_in_rule__ArtifactMatchRestriction__Group__312219 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_3_in_rule__ArtifactMatchRestriction__Group__3__Impl12246 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactMatchRestriction__Group__4__Impl_in_rule__ArtifactMatchRestriction__Group__412276 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_81_in_rule__ArtifactMatchRestriction__Group__4__Impl12304 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__0__Impl_in_rule__ArtifactTypeRestriction__Group__012345 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); + public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__1_in_rule__ArtifactTypeRestriction__Group__012348 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__PermissionAssignment_0_in_rule__ArtifactTypeRestriction__Group__0__Impl12375 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__1__Impl_in_rule__ArtifactTypeRestriction__Group__112405 = new BitSet(new long[]{0x0000800000000000L}); + public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__2_in_rule__ArtifactTypeRestriction__Group__112408 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_84_in_rule__ArtifactTypeRestriction__Group__1__Impl12436 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__2__Impl_in_rule__ArtifactTypeRestriction__Group__212467 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__3_in_rule__ArtifactTypeRestriction__Group__212470 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_47_in_rule__ArtifactTypeRestriction__Group__2__Impl12498 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__3__Impl_in_rule__ArtifactTypeRestriction__Group__312529 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__4_in_rule__ArtifactTypeRestriction__Group__312532 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_3_in_rule__ArtifactTypeRestriction__Group__3__Impl12559 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ArtifactTypeRestriction__Group__4__Impl_in_rule__ArtifactTypeRestriction__Group__412589 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_81_in_rule__ArtifactTypeRestriction__Group__4__Impl12617 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__0__Impl_in_rule__AttributeTypeRestriction__Group__012658 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__1_in_rule__AttributeTypeRestriction__Group__012661 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__PermissionAssignment_0_in_rule__AttributeTypeRestriction__Group__0__Impl12688 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__1__Impl_in_rule__AttributeTypeRestriction__Group__112718 = new BitSet(new long[]{0x0040000000000000L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__2_in_rule__AttributeTypeRestriction__Group__112721 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_84_in_rule__AttributeTypeRestriction__Group__1__Impl12749 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__2__Impl_in_rule__AttributeTypeRestriction__Group__212780 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__3_in_rule__AttributeTypeRestriction__Group__212783 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_54_in_rule__AttributeTypeRestriction__Group__2__Impl12811 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__3__Impl_in_rule__AttributeTypeRestriction__Group__312842 = new BitSet(new long[]{0x0000000000000000L,0x0000000000420000L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__4_in_rule__AttributeTypeRestriction__Group__312845 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__AttributeTypeRefAssignment_3_in_rule__AttributeTypeRestriction__Group__3__Impl12872 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__4__Impl_in_rule__AttributeTypeRestriction__Group__412902 = new BitSet(new long[]{0x0000000000000000L,0x0000000000420000L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__5_in_rule__AttributeTypeRestriction__Group__412905 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group_4__0_in_rule__AttributeTypeRestriction__Group__4__Impl12932 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group__5__Impl_in_rule__AttributeTypeRestriction__Group__512963 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_81_in_rule__AttributeTypeRestriction__Group__5__Impl12991 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group_4__0__Impl_in_rule__AttributeTypeRestriction__Group_4__013034 = new BitSet(new long[]{0x0000800000000000L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group_4__1_in_rule__AttributeTypeRestriction__Group_4__013037 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_86_in_rule__AttributeTypeRestriction__Group_4__0__Impl13065 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group_4__1__Impl_in_rule__AttributeTypeRestriction__Group_4__113096 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group_4__2_in_rule__AttributeTypeRestriction__Group_4__113099 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_47_in_rule__AttributeTypeRestriction__Group_4__1__Impl13127 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__Group_4__2__Impl_in_rule__AttributeTypeRestriction__Group_4__213158 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_2_in_rule__AttributeTypeRestriction__Group_4__2__Impl13185 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__0__Impl_in_rule__RelationTypeRestriction__Group__013221 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__1_in_rule__RelationTypeRestriction__Group__013224 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__PermissionAssignment_0_in_rule__RelationTypeRestriction__Group__0__Impl13251 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__1__Impl_in_rule__RelationTypeRestriction__Group__113281 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__2_in_rule__RelationTypeRestriction__Group__113284 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_84_in_rule__RelationTypeRestriction__Group__1__Impl13312 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__2__Impl_in_rule__RelationTypeRestriction__Group__213343 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__3_in_rule__RelationTypeRestriction__Group__213346 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_70_in_rule__RelationTypeRestriction__Group__2__Impl13374 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__3__Impl_in_rule__RelationTypeRestriction__Group__313405 = new BitSet(new long[]{0x00001C0000000000L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__4_in_rule__RelationTypeRestriction__Group__313408 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__RelationTypeRefAssignment_3_in_rule__RelationTypeRestriction__Group__3__Impl13435 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__4__Impl_in_rule__RelationTypeRestriction__Group__413465 = new BitSet(new long[]{0x0000000000000000L,0x0000000000220000L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__5_in_rule__RelationTypeRestriction__Group__413468 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__RestrictedToSideAssignment_4_in_rule__RelationTypeRestriction__Group__4__Impl13495 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__5__Impl_in_rule__RelationTypeRestriction__Group__513525 = new BitSet(new long[]{0x0000000000000000L,0x0000000000220000L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__6_in_rule__RelationTypeRestriction__Group__513528 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group_5__0_in_rule__RelationTypeRestriction__Group__5__Impl13555 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group__6__Impl_in_rule__RelationTypeRestriction__Group__613586 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_81_in_rule__RelationTypeRestriction__Group__6__Impl13614 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group_5__0__Impl_in_rule__RelationTypeRestriction__Group_5__013659 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group_5__1_in_rule__RelationTypeRestriction__Group_5__013662 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_85_in_rule__RelationTypeRestriction__Group_5__0__Impl13690 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__Group_5__1__Impl_in_rule__RelationTypeRestriction__Group_5__113721 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_1_in_rule__RelationTypeRestriction__Group_5__1__Impl13748 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleImport_in_rule__OseeDsl__ImportsAssignment_013787 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXArtifactType_in_rule__OseeDsl__ArtifactTypesAssignment_1_013818 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXRelationType_in_rule__OseeDsl__RelationTypesAssignment_1_113849 = new BitSet(new long[]{0x0000000000000002L}); @@ -22191,21 +22184,21 @@ public class InternalOseeDslParser extends AbstractInternalContentAssistParser { public static final BitSet FOLLOW_ruleCondition_in_rule__XArtifactMatcher__ConditionsAssignment_4_115720 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_STRING_in_rule__AccessContext__NameAssignment_115751 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_STRING_in_rule__AccessContext__SuperAccessContextsAssignment_2_115786 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_STRING_in_rule__AccessContext__SuperAccessContextsAssignment_2_2_115825 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_STRING_in_rule__AccessContext__GuidAssignment_515860 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleObjectRestriction_in_rule__AccessContext__AccessRulesAssignment_7_015891 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleHierarchyRestriction_in_rule__AccessContext__HierarchyRestrictionsAssignment_7_115922 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_STRING_in_rule__HierarchyRestriction__ArtifactMatcherRefAssignment_115957 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleObjectRestriction_in_rule__HierarchyRestriction__AccessRulesAssignment_315992 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_rule__ArtifactMatchRestriction__PermissionAssignment_016023 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_STRING_in_rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_316058 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_rule__ArtifactTypeRestriction__PermissionAssignment_016093 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_STRING_in_rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_316128 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_rule__AttributeTypeRestriction__PermissionAssignment_016163 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_STRING_in_rule__AttributeTypeRestriction__AttributeTypeRefAssignment_316198 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_STRING_in_rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_216237 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_rule__RelationTypeRestriction__PermissionAssignment_016272 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_STRING_in_rule__RelationTypeRestriction__RelationTypeRefAssignment_316307 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleXRelationSideEnum_in_rule__RelationTypeRestriction__RestrictedToSideAssignment_416342 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_rule__AccessContext__GuidAssignment_515821 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleObjectRestriction_in_rule__AccessContext__AccessRulesAssignment_7_015852 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleHierarchyRestriction_in_rule__AccessContext__HierarchyRestrictionsAssignment_7_115883 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_rule__HierarchyRestriction__ArtifactMatcherRefAssignment_115918 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleObjectRestriction_in_rule__HierarchyRestriction__AccessRulesAssignment_315953 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_rule__ArtifactMatchRestriction__PermissionAssignment_015984 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_rule__ArtifactMatchRestriction__ArtifactMatcherRefAssignment_316019 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_rule__ArtifactTypeRestriction__PermissionAssignment_016054 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_rule__ArtifactTypeRestriction__ArtifactTypeRefAssignment_316089 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_rule__AttributeTypeRestriction__PermissionAssignment_016124 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_rule__AttributeTypeRestriction__AttributeTypeRefAssignment_316159 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_rule__AttributeTypeRestriction__ArtifactTypeRefAssignment_4_216198 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_rule__RelationTypeRestriction__PermissionAssignment_016233 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_rule__RelationTypeRestriction__RelationTypeRefAssignment_316268 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleXRelationSideEnum_in_rule__RelationTypeRestriction__RestrictedToSideAssignment_416303 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_rule__RelationTypeRestriction__ArtifactMatcherRefAssignment_5_116338 = new BitSet(new long[]{0x0000000000000002L}); }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.ecore b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.ecore index 78b5c39..2a4ae98 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.ecore +++ b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.ecore @@ -174,6 +174,7 @@ <eClassifiers xsi:type="ecore:EClass" name="RelationTypeRestriction" eSuperTypes="platform:/resource/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.ecore#//ObjectRestriction"> <eStructuralFeatures xsi:type="ecore:EReference" name="relationTypeRef" eType="ecore:EClass platform:/resource/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.ecore#//XRelationType"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="restrictedToSide" eType="ecore:EEnum platform:/resource/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.ecore#//XRelationSideEnum"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="artifactMatcherRef" eType="ecore:EClass platform:/resource/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.ecore#//XArtifactMatcher"/> </eClassifiers> <eClassifiers xsi:type="ecore:EEnum" name="XRelationSideEnum"> <eLiterals name="SIDE_A" literal="SIDE_A"/> diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.genmodel b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.genmodel index e977453..aa240c4 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.genmodel +++ b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.genmodel @@ -149,6 +149,7 @@ <genClasses ecoreClass="platform:/resource/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.ecore#//RelationTypeRestriction"> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.ecore#//RelationTypeRestriction/relationTypeRef"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.ecore#//RelationTypeRestriction/restrictedToSide"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.ecore#//RelationTypeRestriction/artifactMatcherRef"/> </genClasses> </genPackages> </genmodel:GenModel> diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.xmi b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.xmi index 20cd92d..9e08168 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.xmi +++ b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/OseeDsl.xmi @@ -641,17 +641,6 @@ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/> </terminal> </elements> - <elements xsi:type="xtext:Group" cardinality="*"> - <elements xsi:type="xtext:Keyword" value=","/> - <elements xsi:type="xtext:Assignment" feature="superAccessContexts" operator="+="> - <terminal xsi:type="xtext:CrossReference"> - <type metamodel="/0/@metamodelDeclarations.0"> - <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/osee/framework/core/dsl/OseeDsl#//AccessContext"/> - </type> - <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/> - </terminal> - </elements> - </elements> </elements> <elements xsi:type="xtext:Keyword" value="{"/> <elements xsi:type="xtext:Keyword" value="guid"/> @@ -813,6 +802,17 @@ <elements xsi:type="xtext:Assignment" feature="restrictedToSide" operator="="> <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/> </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="artifact"/> + <elements xsi:type="xtext:Assignment" feature="artifactMatcherRef" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/osee/framework/core/dsl/OseeDsl#//XArtifactMatcher"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/> + </terminal> + </elements> + </elements> <elements xsi:type="xtext:Keyword" value=";"/> </alternatives> </rules> diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/OseeDslPackage.java b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/OseeDslPackage.java index e58d4bf..07b94ed 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/OseeDslPackage.java +++ b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/OseeDslPackage.java @@ -1221,13 +1221,22 @@ public interface OseeDslPackage extends EPackage int RELATION_TYPE_RESTRICTION__RESTRICTED_TO_SIDE = OBJECT_RESTRICTION_FEATURE_COUNT + 1; /** + * The feature id for the '<em><b>Artifact Matcher Ref</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RELATION_TYPE_RESTRICTION__ARTIFACT_MATCHER_REF = OBJECT_RESTRICTION_FEATURE_COUNT + 2; + + /** * The number of structural features of the '<em>Relation Type Restriction</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int RELATION_TYPE_RESTRICTION_FEATURE_COUNT = OBJECT_RESTRICTION_FEATURE_COUNT + 2; + int RELATION_TYPE_RESTRICTION_FEATURE_COUNT = OBJECT_RESTRICTION_FEATURE_COUNT + 3; /** * The meta object id for the '{@link org.eclipse.osee.framework.core.dsl.oseeDsl.RelationMultiplicityEnum <em>Relation Multiplicity Enum</em>}' enum. @@ -2256,6 +2265,17 @@ public interface OseeDslPackage extends EPackage EAttribute getRelationTypeRestriction_RestrictedToSide(); /** + * Returns the meta object for the reference '{@link org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeRestriction#getArtifactMatcherRef <em>Artifact Matcher Ref</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Artifact Matcher Ref</em>'. + * @see org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeRestriction#getArtifactMatcherRef() + * @see #getRelationTypeRestriction() + * @generated + */ + EReference getRelationTypeRestriction_ArtifactMatcherRef(); + + /** * Returns the meta object for enum '{@link org.eclipse.osee.framework.core.dsl.oseeDsl.RelationMultiplicityEnum <em>Relation Multiplicity Enum</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -3109,6 +3129,14 @@ public interface OseeDslPackage extends EPackage EAttribute RELATION_TYPE_RESTRICTION__RESTRICTED_TO_SIDE = eINSTANCE.getRelationTypeRestriction_RestrictedToSide(); /** + * The meta object literal for the '<em><b>Artifact Matcher Ref</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference RELATION_TYPE_RESTRICTION__ARTIFACT_MATCHER_REF = eINSTANCE.getRelationTypeRestriction_ArtifactMatcherRef(); + + /** * The meta object literal for the '{@link org.eclipse.osee.framework.core.dsl.oseeDsl.RelationMultiplicityEnum <em>Relation Multiplicity Enum</em>}' enum. * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/RelationTypeRestriction.java b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/RelationTypeRestriction.java index f280be8..4c7f1e4 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/RelationTypeRestriction.java +++ b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/RelationTypeRestriction.java @@ -17,6 +17,7 @@ package org.eclipse.osee.framework.core.dsl.oseeDsl; * <ul> * <li>{@link org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeRestriction#getRelationTypeRef <em>Relation Type Ref</em>}</li> * <li>{@link org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeRestriction#getRestrictedToSide <em>Restricted To Side</em>}</li> + * <li>{@link org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeRestriction#getArtifactMatcherRef <em>Artifact Matcher Ref</em>}</li> * </ul> * </p> * @@ -81,4 +82,30 @@ public interface RelationTypeRestriction extends ObjectRestriction */ void setRestrictedToSide(XRelationSideEnum value); + /** + * Returns the value of the '<em><b>Artifact Matcher Ref</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Artifact Matcher Ref</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Artifact Matcher Ref</em>' reference. + * @see #setArtifactMatcherRef(XArtifactMatcher) + * @see org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDslPackage#getRelationTypeRestriction_ArtifactMatcherRef() + * @model + * @generated + */ + XArtifactMatcher getArtifactMatcherRef(); + + /** + * Sets the value of the '{@link org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeRestriction#getArtifactMatcherRef <em>Artifact Matcher Ref</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Artifact Matcher Ref</em>' reference. + * @see #getArtifactMatcherRef() + * @generated + */ + void setArtifactMatcherRef(XArtifactMatcher value); + } // RelationTypeRestriction diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/impl/OseeDslPackageImpl.java b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/impl/OseeDslPackageImpl.java index fc60f0a..77ec476 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/impl/OseeDslPackageImpl.java +++ b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/impl/OseeDslPackageImpl.java @@ -1241,6 +1241,16 @@ public class OseeDslPackageImpl extends EPackageImpl implements OseeDslPackage * <!-- end-user-doc --> * @generated */ + public EReference getRelationTypeRestriction_ArtifactMatcherRef() + { + return (EReference)relationTypeRestrictionEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ public EEnum getRelationMultiplicityEnum() { return relationMultiplicityEnumEEnum; @@ -1440,6 +1450,7 @@ public class OseeDslPackageImpl extends EPackageImpl implements OseeDslPackage relationTypeRestrictionEClass = createEClass(RELATION_TYPE_RESTRICTION); createEReference(relationTypeRestrictionEClass, RELATION_TYPE_RESTRICTION__RELATION_TYPE_REF); createEAttribute(relationTypeRestrictionEClass, RELATION_TYPE_RESTRICTION__RESTRICTED_TO_SIDE); + createEReference(relationTypeRestrictionEClass, RELATION_TYPE_RESTRICTION__ARTIFACT_MATCHER_REF); // Create enums relationMultiplicityEnumEEnum = createEEnum(RELATION_MULTIPLICITY_ENUM); @@ -1609,6 +1620,7 @@ public class OseeDslPackageImpl extends EPackageImpl implements OseeDslPackage initEClass(relationTypeRestrictionEClass, RelationTypeRestriction.class, "RelationTypeRestriction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getRelationTypeRestriction_RelationTypeRef(), this.getXRelationType(), null, "relationTypeRef", null, 0, 1, RelationTypeRestriction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getRelationTypeRestriction_RestrictedToSide(), this.getXRelationSideEnum(), "restrictedToSide", null, 0, 1, RelationTypeRestriction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getRelationTypeRestriction_ArtifactMatcherRef(), this.getXArtifactMatcher(), null, "artifactMatcherRef", null, 0, 1, RelationTypeRestriction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); // Initialize enums and add enum literals initEEnum(relationMultiplicityEnumEEnum, RelationMultiplicityEnum.class, "RelationMultiplicityEnum"); diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/impl/RelationTypeRestrictionImpl.java b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/impl/RelationTypeRestrictionImpl.java index 557f725..bf27fa6 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/impl/RelationTypeRestrictionImpl.java +++ b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/oseeDsl/impl/RelationTypeRestrictionImpl.java @@ -15,6 +15,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDslPackage; 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.XRelationSideEnum; import org.eclipse.osee.framework.core.dsl.oseeDsl.XRelationType; @@ -27,6 +28,7 @@ import org.eclipse.osee.framework.core.dsl.oseeDsl.XRelationType; * <ul> * <li>{@link org.eclipse.osee.framework.core.dsl.oseeDsl.impl.RelationTypeRestrictionImpl#getRelationTypeRef <em>Relation Type Ref</em>}</li> * <li>{@link org.eclipse.osee.framework.core.dsl.oseeDsl.impl.RelationTypeRestrictionImpl#getRestrictedToSide <em>Restricted To Side</em>}</li> + * <li>{@link org.eclipse.osee.framework.core.dsl.oseeDsl.impl.RelationTypeRestrictionImpl#getArtifactMatcherRef <em>Artifact Matcher Ref</em>}</li> * </ul> * </p> * @@ -65,6 +67,16 @@ public class RelationTypeRestrictionImpl extends ObjectRestrictionImpl implement protected XRelationSideEnum restrictedToSide = RESTRICTED_TO_SIDE_EDEFAULT; /** + * The cached value of the '{@link #getArtifactMatcherRef() <em>Artifact Matcher Ref</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getArtifactMatcherRef() + * @generated + * @ordered + */ + protected XArtifactMatcher artifactMatcherRef; + + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated @@ -156,6 +168,49 @@ public class RelationTypeRestrictionImpl extends ObjectRestrictionImpl implement * <!-- end-user-doc --> * @generated */ + public XArtifactMatcher getArtifactMatcherRef() + { + if (artifactMatcherRef != null && artifactMatcherRef.eIsProxy()) + { + InternalEObject oldArtifactMatcherRef = (InternalEObject)artifactMatcherRef; + artifactMatcherRef = (XArtifactMatcher)eResolveProxy(oldArtifactMatcherRef); + if (artifactMatcherRef != oldArtifactMatcherRef) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, OseeDslPackage.RELATION_TYPE_RESTRICTION__ARTIFACT_MATCHER_REF, oldArtifactMatcherRef, artifactMatcherRef)); + } + } + return artifactMatcherRef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public XArtifactMatcher basicGetArtifactMatcherRef() + { + return artifactMatcherRef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setArtifactMatcherRef(XArtifactMatcher newArtifactMatcherRef) + { + XArtifactMatcher oldArtifactMatcherRef = artifactMatcherRef; + artifactMatcherRef = newArtifactMatcherRef; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, OseeDslPackage.RELATION_TYPE_RESTRICTION__ARTIFACT_MATCHER_REF, oldArtifactMatcherRef, artifactMatcherRef)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { @@ -166,6 +221,9 @@ public class RelationTypeRestrictionImpl extends ObjectRestrictionImpl implement return basicGetRelationTypeRef(); case OseeDslPackage.RELATION_TYPE_RESTRICTION__RESTRICTED_TO_SIDE: return getRestrictedToSide(); + case OseeDslPackage.RELATION_TYPE_RESTRICTION__ARTIFACT_MATCHER_REF: + if (resolve) return getArtifactMatcherRef(); + return basicGetArtifactMatcherRef(); } return super.eGet(featureID, resolve, coreType); } @@ -186,6 +244,9 @@ public class RelationTypeRestrictionImpl extends ObjectRestrictionImpl implement case OseeDslPackage.RELATION_TYPE_RESTRICTION__RESTRICTED_TO_SIDE: setRestrictedToSide((XRelationSideEnum)newValue); return; + case OseeDslPackage.RELATION_TYPE_RESTRICTION__ARTIFACT_MATCHER_REF: + setArtifactMatcherRef((XArtifactMatcher)newValue); + return; } super.eSet(featureID, newValue); } @@ -206,6 +267,9 @@ public class RelationTypeRestrictionImpl extends ObjectRestrictionImpl implement case OseeDslPackage.RELATION_TYPE_RESTRICTION__RESTRICTED_TO_SIDE: setRestrictedToSide(RESTRICTED_TO_SIDE_EDEFAULT); return; + case OseeDslPackage.RELATION_TYPE_RESTRICTION__ARTIFACT_MATCHER_REF: + setArtifactMatcherRef((XArtifactMatcher)null); + return; } super.eUnset(featureID); } @@ -224,6 +288,8 @@ public class RelationTypeRestrictionImpl extends ObjectRestrictionImpl implement return relationTypeRef != null; case OseeDslPackage.RELATION_TYPE_RESTRICTION__RESTRICTED_TO_SIDE: return restrictedToSide != RESTRICTED_TO_SIDE_EDEFAULT; + case OseeDslPackage.RELATION_TYPE_RESTRICTION__ARTIFACT_MATCHER_REF: + return artifactMatcherRef != null; } return super.eIsSet(featureID); } diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parseTreeConstruction/OseeDslParsetreeConstructor.java b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parseTreeConstruction/OseeDslParsetreeConstructor.java index eab9a7d..cf1a26d 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parseTreeConstruction/OseeDslParsetreeConstructor.java +++ b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parseTreeConstruction/OseeDslParsetreeConstructor.java @@ -4951,15 +4951,13 @@ protected class XArtifactMatcher_SemicolonKeyword_5 extends KeywordToken { * // OSEE ACCESS MODEL // * /////////////////////////////////////// * AccessContext: - * "accessContext" name=STRING ("extends" superAccessContexts+=[AccessContext|STRING] ("," - * superAccessContexts+=[AccessContext|STRING])*)? "{" "guid" guid=STRING ";" (accessRules+=ObjectRestriction | - * hierarchyRestrictions+=HierarchyRestriction)+ "}"; + * "accessContext" name=STRING ("extends" superAccessContexts+=[AccessContext|STRING])? "{" "guid" guid=STRING ";" + * (accessRules+=ObjectRestriction | hierarchyRestrictions+=HierarchyRestriction)+ "}"; * **/ -// "accessContext" name=STRING ("extends" superAccessContexts+=[AccessContext|STRING] ("," -// superAccessContexts+=[AccessContext|STRING])*)? "{" "guid" guid=STRING ";" (accessRules+=ObjectRestriction | -// hierarchyRestrictions+=HierarchyRestriction)+ "}" +// "accessContext" name=STRING ("extends" superAccessContexts+=[AccessContext|STRING])? "{" "guid" guid=STRING ";" +// (accessRules+=ObjectRestriction | hierarchyRestrictions+=HierarchyRestriction)+ "}" protected class AccessContext_Group extends GroupToken { public AccessContext_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { @@ -5043,7 +5041,7 @@ protected class AccessContext_NameAssignment_1 extends AssignmentToken { } -// ("extends" superAccessContexts+=[AccessContext|STRING] ("," superAccessContexts+=[AccessContext|STRING])*)? +// ("extends" superAccessContexts+=[AccessContext|STRING])? protected class AccessContext_Group_2 extends GroupToken { public AccessContext_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { @@ -5058,8 +5056,7 @@ protected class AccessContext_Group_2 extends GroupToken { @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { - case 0: return new AccessContext_Group_2_2(lastRuleCallOrigin, this, 0, inst); - case 1: return new AccessContext_SuperAccessContextsAssignment_2_1(lastRuleCallOrigin, this, 1, inst); + case 0: return new AccessContext_SuperAccessContextsAssignment_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @@ -5110,7 +5107,7 @@ protected class AccessContext_SuperAccessContextsAssignment_2_1 extends Assignme @Override public IEObjectConsumer tryConsume() { - if((value = eObjectConsumer.getConsumable("superAccessContexts",true)) == null) return null; + if((value = eObjectConsumer.getConsumable("superAccessContexts",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("superAccessContexts"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); @@ -5125,89 +5122,6 @@ protected class AccessContext_SuperAccessContextsAssignment_2_1 extends Assignme } -// ("," superAccessContexts+=[AccessContext|STRING])* -protected class AccessContext_Group_2_2 extends GroupToken { - - public AccessContext_Group_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { - super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); - } - - @Override - public Group getGrammarElement() { - return grammarAccess.getAccessContextAccess().getGroup_2_2(); - } - - @Override - public AbstractToken createFollower(int index, IEObjectConsumer inst) { - switch(index) { - case 0: return new AccessContext_SuperAccessContextsAssignment_2_2_1(lastRuleCallOrigin, this, 0, inst); - default: return null; - } - } - -} - -// "," -protected class AccessContext_CommaKeyword_2_2_0 extends KeywordToken { - - public AccessContext_CommaKeyword_2_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { - super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); - } - - @Override - public Keyword getGrammarElement() { - return grammarAccess.getAccessContextAccess().getCommaKeyword_2_2_0(); - } - - @Override - public AbstractToken createFollower(int index, IEObjectConsumer inst) { - switch(index) { - case 0: return new AccessContext_Group_2_2(lastRuleCallOrigin, this, 0, inst); - case 1: return new AccessContext_SuperAccessContextsAssignment_2_1(lastRuleCallOrigin, this, 1, inst); - default: return null; - } - } - -} - -// superAccessContexts+=[AccessContext|STRING] -protected class AccessContext_SuperAccessContextsAssignment_2_2_1 extends AssignmentToken { - - public AccessContext_SuperAccessContextsAssignment_2_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { - super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); - } - - @Override - public Assignment getGrammarElement() { - return grammarAccess.getAccessContextAccess().getSuperAccessContextsAssignment_2_2_1(); - } - - @Override - public AbstractToken createFollower(int index, IEObjectConsumer inst) { - switch(index) { - case 0: return new AccessContext_CommaKeyword_2_2_0(lastRuleCallOrigin, this, 0, inst); - default: return null; - } - } - - @Override - public IEObjectConsumer tryConsume() { - if((value = eObjectConsumer.getConsumable("superAccessContexts",false)) == null) return null; - IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("superAccessContexts"); - if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl - IEObjectConsumer param = createEObjectConsumer((EObject)value); - if(param.isInstanceOf(grammarAccess.getAccessContextAccess().getSuperAccessContextsAccessContextCrossReference_2_2_1_0().getType().getClassifier())) { - type = AssignmentType.CROSS_REFERENCE; - element = grammarAccess.getAccessContextAccess().getSuperAccessContextsAccessContextCrossReference_2_2_1_0(); - return obj; - } - } - return null; - } - -} - - // "{" protected class AccessContext_LeftCurlyBracketKeyword_3 extends KeywordToken { @@ -6472,12 +6386,12 @@ protected class AttributeTypeRestriction_SemicolonKeyword_5 extends KeywordToken * * RelationTypeRestriction: * permission=AccessPermissionEnum "edit" "relationType" relationTypeRef=[XRelationType|STRING] - * restrictedToSide=XRelationSideEnum ";"; + * restrictedToSide=XRelationSideEnum ("artifact" artifactMatcherRef=[XArtifactMatcher|STRING])? ";"; * **/ // permission=AccessPermissionEnum "edit" "relationType" relationTypeRef=[XRelationType|STRING] -// restrictedToSide=XRelationSideEnum ";" +// restrictedToSide=XRelationSideEnum ("artifact" artifactMatcherRef=[XArtifactMatcher|STRING])? ";" protected class RelationTypeRestriction_Group extends GroupToken { public RelationTypeRestriction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { @@ -6492,7 +6406,7 @@ protected class RelationTypeRestriction_Group extends GroupToken { @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { - case 0: return new RelationTypeRestriction_SemicolonKeyword_5(lastRuleCallOrigin, this, 0, inst); + case 0: return new RelationTypeRestriction_SemicolonKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } @@ -6654,16 +6568,38 @@ protected class RelationTypeRestriction_RestrictedToSideAssignment_4 extends Ass } -// ";" -protected class RelationTypeRestriction_SemicolonKeyword_5 extends KeywordToken { +// ("artifact" artifactMatcherRef=[XArtifactMatcher|STRING])? +protected class RelationTypeRestriction_Group_5 extends GroupToken { + + public RelationTypeRestriction_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRelationTypeRestrictionAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RelationTypeRestriction_ArtifactMatcherRefAssignment_5_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "artifact" +protected class RelationTypeRestriction_ArtifactKeyword_5_0 extends KeywordToken { - public RelationTypeRestriction_SemicolonKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + public RelationTypeRestriction_ArtifactKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { - return grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_5(); + return grammarAccess.getRelationTypeRestrictionAccess().getArtifactKeyword_5_0(); } @Override @@ -6676,6 +6612,67 @@ protected class RelationTypeRestriction_SemicolonKeyword_5 extends KeywordToken } +// artifactMatcherRef=[XArtifactMatcher|STRING] +protected class RelationTypeRestriction_ArtifactMatcherRefAssignment_5_1 extends AssignmentToken { + + public RelationTypeRestriction_ArtifactMatcherRefAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefAssignment_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RelationTypeRestriction_ArtifactKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("artifactMatcherRef",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("artifactMatcherRef"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefXArtifactMatcherCrossReference_5_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefXArtifactMatcherCrossReference_5_1_0(); + return obj; + } + } + return null; + } + +} + + +// ";" +protected class RelationTypeRestriction_SemicolonKeyword_6 extends KeywordToken { + + public RelationTypeRestriction_SemicolonKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RelationTypeRestriction_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new RelationTypeRestriction_RestrictedToSideAssignment_4(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + /************ end Rule RelationTypeRestriction ****************/ diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g index e0befbd..84a49fa 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g +++ b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g @@ -2030,36 +2030,19 @@ ruleAccessContext returns [EObject current=null] } ) -)( otherlv_4=',' +))? otherlv_4='{' { - newLeafNode(otherlv_4, grammarAccess.getAccessContextAccess().getCommaKeyword_2_2_0()); + newLeafNode(otherlv_4, grammarAccess.getAccessContextAccess().getLeftCurlyBracketKeyword_3()); } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getAccessContextRule()); - } - } - otherlv_5=RULE_STRING - { - newLeafNode(otherlv_5, grammarAccess.getAccessContextAccess().getSuperAccessContextsAccessContextCrossReference_2_2_1_0()); - } - -) -))*)? otherlv_6='{' - { - newLeafNode(otherlv_6, grammarAccess.getAccessContextAccess().getLeftCurlyBracketKeyword_3()); - } - otherlv_7='guid' + otherlv_5='guid' { - newLeafNode(otherlv_7, grammarAccess.getAccessContextAccess().getGuidKeyword_4()); + newLeafNode(otherlv_5, grammarAccess.getAccessContextAccess().getGuidKeyword_4()); } ( ( - lv_guid_8_0=RULE_STRING + lv_guid_6_0=RULE_STRING { - newLeafNode(lv_guid_8_0, grammarAccess.getAccessContextAccess().getGuidSTRINGTerminalRuleCall_5_0()); + newLeafNode(lv_guid_6_0, grammarAccess.getAccessContextAccess().getGuidSTRINGTerminalRuleCall_5_0()); } { if ($current==null) { @@ -2068,28 +2051,28 @@ ruleAccessContext returns [EObject current=null] setWithLastConsumed( $current, "guid", - lv_guid_8_0, + lv_guid_6_0, "STRING"); } ) -) otherlv_9=';' +) otherlv_7=';' { - newLeafNode(otherlv_9, grammarAccess.getAccessContextAccess().getSemicolonKeyword_6()); + newLeafNode(otherlv_7, grammarAccess.getAccessContextAccess().getSemicolonKeyword_6()); } (( ( { newCompositeNode(grammarAccess.getAccessContextAccess().getAccessRulesObjectRestrictionParserRuleCall_7_0_0()); } - lv_accessRules_10_0=ruleObjectRestriction { + lv_accessRules_8_0=ruleObjectRestriction { if ($current==null) { $current = createModelElementForParent(grammarAccess.getAccessContextRule()); } add( $current, "accessRules", - lv_accessRules_10_0, + lv_accessRules_8_0, "ObjectRestriction"); afterParserOrEnumRuleCall(); } @@ -2101,22 +2084,22 @@ ruleAccessContext returns [EObject current=null] { newCompositeNode(grammarAccess.getAccessContextAccess().getHierarchyRestrictionsHierarchyRestrictionParserRuleCall_7_1_0()); } - lv_hierarchyRestrictions_11_0=ruleHierarchyRestriction { + lv_hierarchyRestrictions_9_0=ruleHierarchyRestriction { if ($current==null) { $current = createModelElementForParent(grammarAccess.getAccessContextRule()); } add( $current, "hierarchyRestrictions", - lv_hierarchyRestrictions_11_0, + lv_hierarchyRestrictions_9_0, "HierarchyRestriction"); afterParserOrEnumRuleCall(); } ) -))+ otherlv_12='}' +))+ otherlv_10='}' { - newLeafNode(otherlv_12, grammarAccess.getAccessContextAccess().getRightCurlyBracketKeyword_8()); + newLeafNode(otherlv_10, grammarAccess.getAccessContextAccess().getRightCurlyBracketKeyword_8()); } ) ; @@ -2533,9 +2516,26 @@ ruleRelationTypeRestriction returns [EObject current=null] } ) -) otherlv_5=';' +)( otherlv_5='artifact' + { + newLeafNode(otherlv_5, grammarAccess.getRelationTypeRestrictionAccess().getArtifactKeyword_5_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRelationTypeRestrictionRule()); + } + } + otherlv_6=RULE_STRING + { + newLeafNode(otherlv_6, grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefXArtifactMatcherCrossReference_5_1_0()); + } + +) +))? otherlv_7=';' { - newLeafNode(otherlv_5, grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_5()); + newLeafNode(otherlv_7, grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_6()); } ) ; diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDslParser.java b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDslParser.java index ce8b0a6..df3e4ae 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDslParser.java +++ b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDslParser.java @@ -4717,7 +4717,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAccessContext" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:1990:1: ruleAccessContext returns [EObject current=null] : (otherlv_0= 'accessContext' ( (lv_name_1_0= RULE_STRING ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= ',' ( (otherlv_5= RULE_STRING ) ) )* )? otherlv_6= '{' otherlv_7= 'guid' ( (lv_guid_8_0= RULE_STRING ) ) otherlv_9= ';' ( ( (lv_accessRules_10_0= ruleObjectRestriction ) ) | ( (lv_hierarchyRestrictions_11_0= ruleHierarchyRestriction ) ) )+ otherlv_12= '}' ) ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:1990:1: ruleAccessContext returns [EObject current=null] : (otherlv_0= 'accessContext' ( (lv_name_1_0= RULE_STRING ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) )? otherlv_4= '{' otherlv_5= 'guid' ( (lv_guid_6_0= RULE_STRING ) ) otherlv_7= ';' ( ( (lv_accessRules_8_0= ruleObjectRestriction ) ) | ( (lv_hierarchyRestrictions_9_0= ruleHierarchyRestriction ) ) )+ otherlv_10= '}' ) ; public final EObject ruleAccessContext() throws RecognitionException { EObject current = null; @@ -4727,24 +4727,22 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { Token otherlv_3=null; Token otherlv_4=null; Token otherlv_5=null; - Token otherlv_6=null; + Token lv_guid_6_0=null; Token otherlv_7=null; - Token lv_guid_8_0=null; - Token otherlv_9=null; - Token otherlv_12=null; - EObject lv_accessRules_10_0 = null; + Token otherlv_10=null; + EObject lv_accessRules_8_0 = null; - EObject lv_hierarchyRestrictions_11_0 = null; + EObject lv_hierarchyRestrictions_9_0 = null; enterRule(); try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:1993:28: ( (otherlv_0= 'accessContext' ( (lv_name_1_0= RULE_STRING ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= ',' ( (otherlv_5= RULE_STRING ) ) )* )? otherlv_6= '{' otherlv_7= 'guid' ( (lv_guid_8_0= RULE_STRING ) ) otherlv_9= ';' ( ( (lv_accessRules_10_0= ruleObjectRestriction ) ) | ( (lv_hierarchyRestrictions_11_0= ruleHierarchyRestriction ) ) )+ otherlv_12= '}' ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:1994:1: (otherlv_0= 'accessContext' ( (lv_name_1_0= RULE_STRING ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= ',' ( (otherlv_5= RULE_STRING ) ) )* )? otherlv_6= '{' otherlv_7= 'guid' ( (lv_guid_8_0= RULE_STRING ) ) otherlv_9= ';' ( ( (lv_accessRules_10_0= ruleObjectRestriction ) ) | ( (lv_hierarchyRestrictions_11_0= ruleHierarchyRestriction ) ) )+ otherlv_12= '}' ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:1993:28: ( (otherlv_0= 'accessContext' ( (lv_name_1_0= RULE_STRING ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) )? otherlv_4= '{' otherlv_5= 'guid' ( (lv_guid_6_0= RULE_STRING ) ) otherlv_7= ';' ( ( (lv_accessRules_8_0= ruleObjectRestriction ) ) | ( (lv_hierarchyRestrictions_9_0= ruleHierarchyRestriction ) ) )+ otherlv_10= '}' ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:1994:1: (otherlv_0= 'accessContext' ( (lv_name_1_0= RULE_STRING ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) )? otherlv_4= '{' otherlv_5= 'guid' ( (lv_guid_6_0= RULE_STRING ) ) otherlv_7= ';' ( ( (lv_accessRules_8_0= ruleObjectRestriction ) ) | ( (lv_hierarchyRestrictions_9_0= ruleHierarchyRestriction ) ) )+ otherlv_10= '}' ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:1994:1: (otherlv_0= 'accessContext' ( (lv_name_1_0= RULE_STRING ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= ',' ( (otherlv_5= RULE_STRING ) ) )* )? otherlv_6= '{' otherlv_7= 'guid' ( (lv_guid_8_0= RULE_STRING ) ) otherlv_9= ';' ( ( (lv_accessRules_10_0= ruleObjectRestriction ) ) | ( (lv_hierarchyRestrictions_11_0= ruleHierarchyRestriction ) ) )+ otherlv_12= '}' ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:1994:3: otherlv_0= 'accessContext' ( (lv_name_1_0= RULE_STRING ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= ',' ( (otherlv_5= RULE_STRING ) ) )* )? otherlv_6= '{' otherlv_7= 'guid' ( (lv_guid_8_0= RULE_STRING ) ) otherlv_9= ';' ( ( (lv_accessRules_10_0= ruleObjectRestriction ) ) | ( (lv_hierarchyRestrictions_11_0= ruleHierarchyRestriction ) ) )+ otherlv_12= '}' + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:1994:1: (otherlv_0= 'accessContext' ( (lv_name_1_0= RULE_STRING ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) )? otherlv_4= '{' otherlv_5= 'guid' ( (lv_guid_6_0= RULE_STRING ) ) otherlv_7= ';' ( ( (lv_accessRules_8_0= ruleObjectRestriction ) ) | ( (lv_hierarchyRestrictions_9_0= ruleHierarchyRestriction ) ) )+ otherlv_10= '}' ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:1994:3: otherlv_0= 'accessContext' ( (lv_name_1_0= RULE_STRING ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) )? otherlv_4= '{' otherlv_5= 'guid' ( (lv_guid_6_0= RULE_STRING ) ) otherlv_7= ';' ( ( (lv_accessRules_8_0= ruleObjectRestriction ) ) | ( (lv_hierarchyRestrictions_9_0= ruleHierarchyRestriction ) ) )+ otherlv_10= '}' { otherlv_0=(Token)match(input,68,FOLLOW_68_in_ruleAccessContext4198); @@ -4776,16 +4774,16 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2016:2: (otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= ',' ( (otherlv_5= RULE_STRING ) ) )* )? - int alt35=2; - int LA35_0 = input.LA(1); + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2016:2: (otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) )? + int alt34=2; + int LA34_0 = input.LA(1); - if ( (LA35_0==16) ) { - alt35=1; + if ( (LA34_0==16) ) { + alt34=1; } - switch (alt35) { + switch (alt34) { case 1 : - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2016:4: otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= ',' ( (otherlv_5= RULE_STRING ) ) )* + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2016:4: otherlv_2= 'extends' ( (otherlv_3= RULE_STRING ) ) { otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleAccessContext4233); @@ -4812,78 +4810,29 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2033:2: (otherlv_4= ',' ( (otherlv_5= RULE_STRING ) ) )* - loop34: - do { - int alt34=2; - int LA34_0 = input.LA(1); - - if ( (LA34_0==17) ) { - alt34=1; - } - - - switch (alt34) { - case 1 : - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2033:4: otherlv_4= ',' ( (otherlv_5= RULE_STRING ) ) - { - otherlv_4=(Token)match(input,17,FOLLOW_17_in_ruleAccessContext4266); - - newLeafNode(otherlv_4, grammarAccess.getAccessContextAccess().getCommaKeyword_2_2_0()); - - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2037:1: ( (otherlv_5= RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2038:1: (otherlv_5= RULE_STRING ) - { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2038:1: (otherlv_5= RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2039:3: otherlv_5= RULE_STRING - { - - if (current==null) { - current = createModelElement(grammarAccess.getAccessContextRule()); - } - - otherlv_5=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleAccessContext4286); - - newLeafNode(otherlv_5, grammarAccess.getAccessContextAccess().getSuperAccessContextsAccessContextCrossReference_2_2_1_0()); - - - } - - - } - - - } - break; - - default : - break loop34; - } - } while (true); - } break; } - otherlv_6=(Token)match(input,18,FOLLOW_18_in_ruleAccessContext4302); + otherlv_4=(Token)match(input,18,FOLLOW_18_in_ruleAccessContext4267); - newLeafNode(otherlv_6, grammarAccess.getAccessContextAccess().getLeftCurlyBracketKeyword_3()); + newLeafNode(otherlv_4, grammarAccess.getAccessContextAccess().getLeftCurlyBracketKeyword_3()); - otherlv_7=(Token)match(input,19,FOLLOW_19_in_ruleAccessContext4314); + otherlv_5=(Token)match(input,19,FOLLOW_19_in_ruleAccessContext4279); - newLeafNode(otherlv_7, grammarAccess.getAccessContextAccess().getGuidKeyword_4()); + newLeafNode(otherlv_5, grammarAccess.getAccessContextAccess().getGuidKeyword_4()); - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2058:1: ( (lv_guid_8_0= RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2059:1: (lv_guid_8_0= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2041:1: ( (lv_guid_6_0= RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2042:1: (lv_guid_6_0= RULE_STRING ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2059:1: (lv_guid_8_0= RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2060:3: lv_guid_8_0= RULE_STRING + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2042:1: (lv_guid_6_0= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2043:3: lv_guid_6_0= RULE_STRING { - lv_guid_8_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleAccessContext4331); + lv_guid_6_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleAccessContext4296); - newLeafNode(lv_guid_8_0, grammarAccess.getAccessContextAccess().getGuidSTRINGTerminalRuleCall_5_0()); + newLeafNode(lv_guid_6_0, grammarAccess.getAccessContextAccess().getGuidSTRINGTerminalRuleCall_5_0()); if (current==null) { @@ -4892,7 +4841,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { setWithLastConsumed( current, "guid", - lv_guid_8_0, + lv_guid_6_0, "STRING"); @@ -4901,40 +4850,40 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - otherlv_9=(Token)match(input,67,FOLLOW_67_in_ruleAccessContext4348); + otherlv_7=(Token)match(input,67,FOLLOW_67_in_ruleAccessContext4313); - newLeafNode(otherlv_9, grammarAccess.getAccessContextAccess().getSemicolonKeyword_6()); + newLeafNode(otherlv_7, grammarAccess.getAccessContextAccess().getSemicolonKeyword_6()); - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2080:1: ( ( (lv_accessRules_10_0= ruleObjectRestriction ) ) | ( (lv_hierarchyRestrictions_11_0= ruleHierarchyRestriction ) ) )+ - int cnt36=0; - loop36: + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2063:1: ( ( (lv_accessRules_8_0= ruleObjectRestriction ) ) | ( (lv_hierarchyRestrictions_9_0= ruleHierarchyRestriction ) ) )+ + int cnt35=0; + loop35: do { - int alt36=3; - int LA36_0 = input.LA(1); + int alt35=3; + int LA35_0 = input.LA(1); - if ( ((LA36_0>=84 && LA36_0<=85)) ) { - alt36=1; + if ( ((LA35_0>=84 && LA35_0<=85)) ) { + alt35=1; } - else if ( (LA36_0==69) ) { - alt36=2; + else if ( (LA35_0==69) ) { + alt35=2; } - switch (alt36) { + switch (alt35) { case 1 : - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2080:2: ( (lv_accessRules_10_0= ruleObjectRestriction ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2063:2: ( (lv_accessRules_8_0= ruleObjectRestriction ) ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2080:2: ( (lv_accessRules_10_0= ruleObjectRestriction ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2081:1: (lv_accessRules_10_0= ruleObjectRestriction ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2063:2: ( (lv_accessRules_8_0= ruleObjectRestriction ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2064:1: (lv_accessRules_8_0= ruleObjectRestriction ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2081:1: (lv_accessRules_10_0= ruleObjectRestriction ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2082:3: lv_accessRules_10_0= ruleObjectRestriction + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2064:1: (lv_accessRules_8_0= ruleObjectRestriction ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2065:3: lv_accessRules_8_0= ruleObjectRestriction { newCompositeNode(grammarAccess.getAccessContextAccess().getAccessRulesObjectRestrictionParserRuleCall_7_0_0()); - pushFollow(FOLLOW_ruleObjectRestriction_in_ruleAccessContext4370); - lv_accessRules_10_0=ruleObjectRestriction(); + pushFollow(FOLLOW_ruleObjectRestriction_in_ruleAccessContext4335); + lv_accessRules_8_0=ruleObjectRestriction(); state._fsp--; @@ -4945,7 +4894,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { add( current, "accessRules", - lv_accessRules_10_0, + lv_accessRules_8_0, "ObjectRestriction"); afterParserOrEnumRuleCall(); @@ -4959,19 +4908,19 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } break; case 2 : - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2099:6: ( (lv_hierarchyRestrictions_11_0= ruleHierarchyRestriction ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2082:6: ( (lv_hierarchyRestrictions_9_0= ruleHierarchyRestriction ) ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2099:6: ( (lv_hierarchyRestrictions_11_0= ruleHierarchyRestriction ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2100:1: (lv_hierarchyRestrictions_11_0= ruleHierarchyRestriction ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2082:6: ( (lv_hierarchyRestrictions_9_0= ruleHierarchyRestriction ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2083:1: (lv_hierarchyRestrictions_9_0= ruleHierarchyRestriction ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2100:1: (lv_hierarchyRestrictions_11_0= ruleHierarchyRestriction ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2101:3: lv_hierarchyRestrictions_11_0= ruleHierarchyRestriction + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2083:1: (lv_hierarchyRestrictions_9_0= ruleHierarchyRestriction ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2084:3: lv_hierarchyRestrictions_9_0= ruleHierarchyRestriction { newCompositeNode(grammarAccess.getAccessContextAccess().getHierarchyRestrictionsHierarchyRestrictionParserRuleCall_7_1_0()); - pushFollow(FOLLOW_ruleHierarchyRestriction_in_ruleAccessContext4397); - lv_hierarchyRestrictions_11_0=ruleHierarchyRestriction(); + pushFollow(FOLLOW_ruleHierarchyRestriction_in_ruleAccessContext4362); + lv_hierarchyRestrictions_9_0=ruleHierarchyRestriction(); state._fsp--; @@ -4982,7 +4931,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { add( current, "hierarchyRestrictions", - lv_hierarchyRestrictions_11_0, + lv_hierarchyRestrictions_9_0, "HierarchyRestriction"); afterParserOrEnumRuleCall(); @@ -4997,17 +4946,17 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { break; default : - if ( cnt36 >= 1 ) break loop36; + if ( cnt35 >= 1 ) break loop35; EarlyExitException eee = - new EarlyExitException(36, input); + new EarlyExitException(35, input); throw eee; } - cnt36++; + cnt35++; } while (true); - otherlv_12=(Token)match(input,20,FOLLOW_20_in_ruleAccessContext4411); + otherlv_10=(Token)match(input,20,FOLLOW_20_in_ruleAccessContext4376); - newLeafNode(otherlv_12, grammarAccess.getAccessContextAccess().getRightCurlyBracketKeyword_8()); + newLeafNode(otherlv_10, grammarAccess.getAccessContextAccess().getRightCurlyBracketKeyword_8()); } @@ -5030,7 +4979,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleHierarchyRestriction" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2129:1: entryRuleHierarchyRestriction returns [EObject current=null] : iv_ruleHierarchyRestriction= ruleHierarchyRestriction EOF ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2112:1: entryRuleHierarchyRestriction returns [EObject current=null] : iv_ruleHierarchyRestriction= ruleHierarchyRestriction EOF ; public final EObject entryRuleHierarchyRestriction() throws RecognitionException { EObject current = null; @@ -5038,17 +4987,17 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2130:2: (iv_ruleHierarchyRestriction= ruleHierarchyRestriction EOF ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2131:2: iv_ruleHierarchyRestriction= ruleHierarchyRestriction EOF + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2113:2: (iv_ruleHierarchyRestriction= ruleHierarchyRestriction EOF ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2114:2: iv_ruleHierarchyRestriction= ruleHierarchyRestriction EOF { newCompositeNode(grammarAccess.getHierarchyRestrictionRule()); - pushFollow(FOLLOW_ruleHierarchyRestriction_in_entryRuleHierarchyRestriction4447); + pushFollow(FOLLOW_ruleHierarchyRestriction_in_entryRuleHierarchyRestriction4412); iv_ruleHierarchyRestriction=ruleHierarchyRestriction(); state._fsp--; current =iv_ruleHierarchyRestriction; - match(input,EOF,FOLLOW_EOF_in_entryRuleHierarchyRestriction4457); + match(input,EOF,FOLLOW_EOF_in_entryRuleHierarchyRestriction4422); } @@ -5066,7 +5015,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleHierarchyRestriction" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2138:1: ruleHierarchyRestriction returns [EObject current=null] : (otherlv_0= 'childrenOf' ( (otherlv_1= RULE_STRING ) ) otherlv_2= '{' ( (lv_accessRules_3_0= ruleObjectRestriction ) )+ otherlv_4= '}' ) ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2121:1: ruleHierarchyRestriction returns [EObject current=null] : (otherlv_0= 'childrenOf' ( (otherlv_1= RULE_STRING ) ) otherlv_2= '{' ( (lv_accessRules_3_0= ruleObjectRestriction ) )+ otherlv_4= '}' ) ; public final EObject ruleHierarchyRestriction() throws RecognitionException { EObject current = null; @@ -5080,28 +5029,28 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { enterRule(); try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2141:28: ( (otherlv_0= 'childrenOf' ( (otherlv_1= RULE_STRING ) ) otherlv_2= '{' ( (lv_accessRules_3_0= ruleObjectRestriction ) )+ otherlv_4= '}' ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2142:1: (otherlv_0= 'childrenOf' ( (otherlv_1= RULE_STRING ) ) otherlv_2= '{' ( (lv_accessRules_3_0= ruleObjectRestriction ) )+ otherlv_4= '}' ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2124:28: ( (otherlv_0= 'childrenOf' ( (otherlv_1= RULE_STRING ) ) otherlv_2= '{' ( (lv_accessRules_3_0= ruleObjectRestriction ) )+ otherlv_4= '}' ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2125:1: (otherlv_0= 'childrenOf' ( (otherlv_1= RULE_STRING ) ) otherlv_2= '{' ( (lv_accessRules_3_0= ruleObjectRestriction ) )+ otherlv_4= '}' ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2142:1: (otherlv_0= 'childrenOf' ( (otherlv_1= RULE_STRING ) ) otherlv_2= '{' ( (lv_accessRules_3_0= ruleObjectRestriction ) )+ otherlv_4= '}' ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2142:3: otherlv_0= 'childrenOf' ( (otherlv_1= RULE_STRING ) ) otherlv_2= '{' ( (lv_accessRules_3_0= ruleObjectRestriction ) )+ otherlv_4= '}' + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2125:1: (otherlv_0= 'childrenOf' ( (otherlv_1= RULE_STRING ) ) otherlv_2= '{' ( (lv_accessRules_3_0= ruleObjectRestriction ) )+ otherlv_4= '}' ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2125:3: otherlv_0= 'childrenOf' ( (otherlv_1= RULE_STRING ) ) otherlv_2= '{' ( (lv_accessRules_3_0= ruleObjectRestriction ) )+ otherlv_4= '}' { - otherlv_0=(Token)match(input,69,FOLLOW_69_in_ruleHierarchyRestriction4494); + otherlv_0=(Token)match(input,69,FOLLOW_69_in_ruleHierarchyRestriction4459); newLeafNode(otherlv_0, grammarAccess.getHierarchyRestrictionAccess().getChildrenOfKeyword_0()); - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2146:1: ( (otherlv_1= RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2147:1: (otherlv_1= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2129:1: ( (otherlv_1= RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2130:1: (otherlv_1= RULE_STRING ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2147:1: (otherlv_1= RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2148:3: otherlv_1= RULE_STRING + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2130:1: (otherlv_1= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2131:3: otherlv_1= RULE_STRING { if (current==null) { current = createModelElement(grammarAccess.getHierarchyRestrictionRule()); } - otherlv_1=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleHierarchyRestriction4514); + otherlv_1=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleHierarchyRestriction4479); newLeafNode(otherlv_1, grammarAccess.getHierarchyRestrictionAccess().getArtifactMatcherRefXArtifactMatcherCrossReference_1_0()); @@ -5111,33 +5060,33 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,18,FOLLOW_18_in_ruleHierarchyRestriction4526); + otherlv_2=(Token)match(input,18,FOLLOW_18_in_ruleHierarchyRestriction4491); newLeafNode(otherlv_2, grammarAccess.getHierarchyRestrictionAccess().getLeftCurlyBracketKeyword_2()); - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2163:1: ( (lv_accessRules_3_0= ruleObjectRestriction ) )+ - int cnt37=0; - loop37: + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2146:1: ( (lv_accessRules_3_0= ruleObjectRestriction ) )+ + int cnt36=0; + loop36: do { - int alt37=2; - int LA37_0 = input.LA(1); + int alt36=2; + int LA36_0 = input.LA(1); - if ( ((LA37_0>=84 && LA37_0<=85)) ) { - alt37=1; + if ( ((LA36_0>=84 && LA36_0<=85)) ) { + alt36=1; } - switch (alt37) { + switch (alt36) { case 1 : - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2164:1: (lv_accessRules_3_0= ruleObjectRestriction ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2147:1: (lv_accessRules_3_0= ruleObjectRestriction ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2164:1: (lv_accessRules_3_0= ruleObjectRestriction ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2165:3: lv_accessRules_3_0= ruleObjectRestriction + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2147:1: (lv_accessRules_3_0= ruleObjectRestriction ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2148:3: lv_accessRules_3_0= ruleObjectRestriction { newCompositeNode(grammarAccess.getHierarchyRestrictionAccess().getAccessRulesObjectRestrictionParserRuleCall_3_0()); - pushFollow(FOLLOW_ruleObjectRestriction_in_ruleHierarchyRestriction4547); + pushFollow(FOLLOW_ruleObjectRestriction_in_ruleHierarchyRestriction4512); lv_accessRules_3_0=ruleObjectRestriction(); state._fsp--; @@ -5161,15 +5110,15 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { break; default : - if ( cnt37 >= 1 ) break loop37; + if ( cnt36 >= 1 ) break loop36; EarlyExitException eee = - new EarlyExitException(37, input); + new EarlyExitException(36, input); throw eee; } - cnt37++; + cnt36++; } while (true); - otherlv_4=(Token)match(input,20,FOLLOW_20_in_ruleHierarchyRestriction4560); + otherlv_4=(Token)match(input,20,FOLLOW_20_in_ruleHierarchyRestriction4525); newLeafNode(otherlv_4, grammarAccess.getHierarchyRestrictionAccess().getRightCurlyBracketKeyword_4()); @@ -5194,7 +5143,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleObjectRestriction" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2193:1: entryRuleObjectRestriction returns [EObject current=null] : iv_ruleObjectRestriction= ruleObjectRestriction EOF ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2176:1: entryRuleObjectRestriction returns [EObject current=null] : iv_ruleObjectRestriction= ruleObjectRestriction EOF ; public final EObject entryRuleObjectRestriction() throws RecognitionException { EObject current = null; @@ -5202,17 +5151,17 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2194:2: (iv_ruleObjectRestriction= ruleObjectRestriction EOF ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2195:2: iv_ruleObjectRestriction= ruleObjectRestriction EOF + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2177:2: (iv_ruleObjectRestriction= ruleObjectRestriction EOF ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2178:2: iv_ruleObjectRestriction= ruleObjectRestriction EOF { newCompositeNode(grammarAccess.getObjectRestrictionRule()); - pushFollow(FOLLOW_ruleObjectRestriction_in_entryRuleObjectRestriction4596); + pushFollow(FOLLOW_ruleObjectRestriction_in_entryRuleObjectRestriction4561); iv_ruleObjectRestriction=ruleObjectRestriction(); state._fsp--; current =iv_ruleObjectRestriction; - match(input,EOF,FOLLOW_EOF_in_entryRuleObjectRestriction4606); + match(input,EOF,FOLLOW_EOF_in_entryRuleObjectRestriction4571); } @@ -5230,7 +5179,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleObjectRestriction" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2202:1: ruleObjectRestriction returns [EObject current=null] : (this_ArtifactMatchRestriction_0= ruleArtifactMatchRestriction | this_ArtifactTypeRestriction_1= ruleArtifactTypeRestriction | this_RelationTypeRestriction_2= ruleRelationTypeRestriction | this_AttributeTypeRestriction_3= ruleAttributeTypeRestriction ) ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2185:1: ruleObjectRestriction returns [EObject current=null] : (this_ArtifactMatchRestriction_0= ruleArtifactMatchRestriction | this_ArtifactTypeRestriction_1= ruleArtifactTypeRestriction | this_RelationTypeRestriction_2= ruleRelationTypeRestriction | this_AttributeTypeRestriction_3= ruleAttributeTypeRestriction ) ; public final EObject ruleObjectRestriction() throws RecognitionException { EObject current = null; @@ -5246,41 +5195,41 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { enterRule(); try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2205:28: ( (this_ArtifactMatchRestriction_0= ruleArtifactMatchRestriction | this_ArtifactTypeRestriction_1= ruleArtifactTypeRestriction | this_RelationTypeRestriction_2= ruleRelationTypeRestriction | this_AttributeTypeRestriction_3= ruleAttributeTypeRestriction ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2206:1: (this_ArtifactMatchRestriction_0= ruleArtifactMatchRestriction | this_ArtifactTypeRestriction_1= ruleArtifactTypeRestriction | this_RelationTypeRestriction_2= ruleRelationTypeRestriction | this_AttributeTypeRestriction_3= ruleAttributeTypeRestriction ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2188:28: ( (this_ArtifactMatchRestriction_0= ruleArtifactMatchRestriction | this_ArtifactTypeRestriction_1= ruleArtifactTypeRestriction | this_RelationTypeRestriction_2= ruleRelationTypeRestriction | this_AttributeTypeRestriction_3= ruleAttributeTypeRestriction ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2189:1: (this_ArtifactMatchRestriction_0= ruleArtifactMatchRestriction | this_ArtifactTypeRestriction_1= ruleArtifactTypeRestriction | this_RelationTypeRestriction_2= ruleRelationTypeRestriction | this_AttributeTypeRestriction_3= ruleAttributeTypeRestriction ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2206:1: (this_ArtifactMatchRestriction_0= ruleArtifactMatchRestriction | this_ArtifactTypeRestriction_1= ruleArtifactTypeRestriction | this_RelationTypeRestriction_2= ruleRelationTypeRestriction | this_AttributeTypeRestriction_3= ruleAttributeTypeRestriction ) - int alt38=4; - int LA38_0 = input.LA(1); + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2189:1: (this_ArtifactMatchRestriction_0= ruleArtifactMatchRestriction | this_ArtifactTypeRestriction_1= ruleArtifactTypeRestriction | this_RelationTypeRestriction_2= ruleRelationTypeRestriction | this_AttributeTypeRestriction_3= ruleAttributeTypeRestriction ) + int alt37=4; + int LA37_0 = input.LA(1); - if ( (LA38_0==84) ) { - int LA38_1 = input.LA(2); + if ( (LA37_0==84) ) { + int LA37_1 = input.LA(2); - if ( (LA38_1==70) ) { + if ( (LA37_1==70) ) { switch ( input.LA(3) ) { case 23: { - alt38=4; + alt37=4; } break; case 53: { - alt38=3; + alt37=3; } break; - case 15: + case 71: { - alt38=2; + alt37=1; } break; - case 71: + case 15: { - alt38=1; + alt37=2; } break; default: NoViableAltException nvae = - new NoViableAltException("", 38, 3, input); + new NoViableAltException("", 37, 3, input); throw nvae; } @@ -5288,39 +5237,39 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } else { NoViableAltException nvae = - new NoViableAltException("", 38, 1, input); + new NoViableAltException("", 37, 1, input); throw nvae; } } - else if ( (LA38_0==85) ) { - int LA38_2 = input.LA(2); + else if ( (LA37_0==85) ) { + int LA37_2 = input.LA(2); - if ( (LA38_2==70) ) { + if ( (LA37_2==70) ) { switch ( input.LA(3) ) { case 23: { - alt38=4; + alt37=4; } break; case 53: { - alt38=3; + alt37=3; } break; - case 15: + case 71: { - alt38=2; + alt37=1; } break; - case 71: + case 15: { - alt38=1; + alt37=2; } break; default: NoViableAltException nvae = - new NoViableAltException("", 38, 3, input); + new NoViableAltException("", 37, 3, input); throw nvae; } @@ -5328,25 +5277,25 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } else { NoViableAltException nvae = - new NoViableAltException("", 38, 2, input); + new NoViableAltException("", 37, 2, input); throw nvae; } } else { NoViableAltException nvae = - new NoViableAltException("", 38, 0, input); + new NoViableAltException("", 37, 0, input); throw nvae; } - switch (alt38) { + switch (alt37) { case 1 : - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2207:5: this_ArtifactMatchRestriction_0= ruleArtifactMatchRestriction + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2190:5: this_ArtifactMatchRestriction_0= ruleArtifactMatchRestriction { newCompositeNode(grammarAccess.getObjectRestrictionAccess().getArtifactMatchRestrictionParserRuleCall_0()); - pushFollow(FOLLOW_ruleArtifactMatchRestriction_in_ruleObjectRestriction4653); + pushFollow(FOLLOW_ruleArtifactMatchRestriction_in_ruleObjectRestriction4618); this_ArtifactMatchRestriction_0=ruleArtifactMatchRestriction(); state._fsp--; @@ -5359,12 +5308,12 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } break; case 2 : - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2217:5: this_ArtifactTypeRestriction_1= ruleArtifactTypeRestriction + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2200:5: this_ArtifactTypeRestriction_1= ruleArtifactTypeRestriction { newCompositeNode(grammarAccess.getObjectRestrictionAccess().getArtifactTypeRestrictionParserRuleCall_1()); - pushFollow(FOLLOW_ruleArtifactTypeRestriction_in_ruleObjectRestriction4680); + pushFollow(FOLLOW_ruleArtifactTypeRestriction_in_ruleObjectRestriction4645); this_ArtifactTypeRestriction_1=ruleArtifactTypeRestriction(); state._fsp--; @@ -5377,12 +5326,12 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } break; case 3 : - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2227:5: this_RelationTypeRestriction_2= ruleRelationTypeRestriction + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2210:5: this_RelationTypeRestriction_2= ruleRelationTypeRestriction { newCompositeNode(grammarAccess.getObjectRestrictionAccess().getRelationTypeRestrictionParserRuleCall_2()); - pushFollow(FOLLOW_ruleRelationTypeRestriction_in_ruleObjectRestriction4707); + pushFollow(FOLLOW_ruleRelationTypeRestriction_in_ruleObjectRestriction4672); this_RelationTypeRestriction_2=ruleRelationTypeRestriction(); state._fsp--; @@ -5395,12 +5344,12 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } break; case 4 : - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2237:5: this_AttributeTypeRestriction_3= ruleAttributeTypeRestriction + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2220:5: this_AttributeTypeRestriction_3= ruleAttributeTypeRestriction { newCompositeNode(grammarAccess.getObjectRestrictionAccess().getAttributeTypeRestrictionParserRuleCall_3()); - pushFollow(FOLLOW_ruleAttributeTypeRestriction_in_ruleObjectRestriction4734); + pushFollow(FOLLOW_ruleAttributeTypeRestriction_in_ruleObjectRestriction4699); this_AttributeTypeRestriction_3=ruleAttributeTypeRestriction(); state._fsp--; @@ -5433,7 +5382,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleArtifactMatchRestriction" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2253:1: entryRuleArtifactMatchRestriction returns [EObject current=null] : iv_ruleArtifactMatchRestriction= ruleArtifactMatchRestriction EOF ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2236:1: entryRuleArtifactMatchRestriction returns [EObject current=null] : iv_ruleArtifactMatchRestriction= ruleArtifactMatchRestriction EOF ; public final EObject entryRuleArtifactMatchRestriction() throws RecognitionException { EObject current = null; @@ -5441,17 +5390,17 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2254:2: (iv_ruleArtifactMatchRestriction= ruleArtifactMatchRestriction EOF ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2255:2: iv_ruleArtifactMatchRestriction= ruleArtifactMatchRestriction EOF + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2237:2: (iv_ruleArtifactMatchRestriction= ruleArtifactMatchRestriction EOF ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2238:2: iv_ruleArtifactMatchRestriction= ruleArtifactMatchRestriction EOF { newCompositeNode(grammarAccess.getArtifactMatchRestrictionRule()); - pushFollow(FOLLOW_ruleArtifactMatchRestriction_in_entryRuleArtifactMatchRestriction4769); + pushFollow(FOLLOW_ruleArtifactMatchRestriction_in_entryRuleArtifactMatchRestriction4734); iv_ruleArtifactMatchRestriction=ruleArtifactMatchRestriction(); state._fsp--; current =iv_ruleArtifactMatchRestriction; - match(input,EOF,FOLLOW_EOF_in_entryRuleArtifactMatchRestriction4779); + match(input,EOF,FOLLOW_EOF_in_entryRuleArtifactMatchRestriction4744); } @@ -5469,7 +5418,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleArtifactMatchRestriction" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2262:1: ruleArtifactMatchRestriction returns [EObject current=null] : ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifact' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2245:1: ruleArtifactMatchRestriction returns [EObject current=null] : ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifact' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) ; public final EObject ruleArtifactMatchRestriction() throws RecognitionException { EObject current = null; @@ -5483,22 +5432,22 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { enterRule(); try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2265:28: ( ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifact' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2266:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifact' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2248:28: ( ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifact' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2249:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifact' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2266:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifact' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2266:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifact' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2249:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifact' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2249:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifact' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2266:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2267:1: (lv_permission_0_0= ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2249:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2250:1: (lv_permission_0_0= ruleAccessPermissionEnum ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2267:1: (lv_permission_0_0= ruleAccessPermissionEnum ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2268:3: lv_permission_0_0= ruleAccessPermissionEnum + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2250:1: (lv_permission_0_0= ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2251:3: lv_permission_0_0= ruleAccessPermissionEnum { newCompositeNode(grammarAccess.getArtifactMatchRestrictionAccess().getPermissionAccessPermissionEnumEnumRuleCall_0_0()); - pushFollow(FOLLOW_ruleAccessPermissionEnum_in_ruleArtifactMatchRestriction4825); + pushFollow(FOLLOW_ruleAccessPermissionEnum_in_ruleArtifactMatchRestriction4790); lv_permission_0_0=ruleAccessPermissionEnum(); state._fsp--; @@ -5520,26 +5469,26 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,70,FOLLOW_70_in_ruleArtifactMatchRestriction4837); + otherlv_1=(Token)match(input,70,FOLLOW_70_in_ruleArtifactMatchRestriction4802); newLeafNode(otherlv_1, grammarAccess.getArtifactMatchRestrictionAccess().getEditKeyword_1()); - otherlv_2=(Token)match(input,71,FOLLOW_71_in_ruleArtifactMatchRestriction4849); + otherlv_2=(Token)match(input,71,FOLLOW_71_in_ruleArtifactMatchRestriction4814); newLeafNode(otherlv_2, grammarAccess.getArtifactMatchRestrictionAccess().getArtifactKeyword_2()); - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2292:1: ( (otherlv_3= RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2293:1: (otherlv_3= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2275:1: ( (otherlv_3= RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2276:1: (otherlv_3= RULE_STRING ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2293:1: (otherlv_3= RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2294:3: otherlv_3= RULE_STRING + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2276:1: (otherlv_3= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2277:3: otherlv_3= RULE_STRING { if (current==null) { current = createModelElement(grammarAccess.getArtifactMatchRestrictionRule()); } - otherlv_3=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleArtifactMatchRestriction4869); + otherlv_3=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleArtifactMatchRestriction4834); newLeafNode(otherlv_3, grammarAccess.getArtifactMatchRestrictionAccess().getArtifactMatcherRefXArtifactMatcherCrossReference_3_0()); @@ -5549,7 +5498,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - otherlv_4=(Token)match(input,67,FOLLOW_67_in_ruleArtifactMatchRestriction4881); + otherlv_4=(Token)match(input,67,FOLLOW_67_in_ruleArtifactMatchRestriction4846); newLeafNode(otherlv_4, grammarAccess.getArtifactMatchRestrictionAccess().getSemicolonKeyword_4()); @@ -5574,7 +5523,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleArtifactTypeRestriction" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2317:1: entryRuleArtifactTypeRestriction returns [EObject current=null] : iv_ruleArtifactTypeRestriction= ruleArtifactTypeRestriction EOF ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2300:1: entryRuleArtifactTypeRestriction returns [EObject current=null] : iv_ruleArtifactTypeRestriction= ruleArtifactTypeRestriction EOF ; public final EObject entryRuleArtifactTypeRestriction() throws RecognitionException { EObject current = null; @@ -5582,17 +5531,17 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2318:2: (iv_ruleArtifactTypeRestriction= ruleArtifactTypeRestriction EOF ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2319:2: iv_ruleArtifactTypeRestriction= ruleArtifactTypeRestriction EOF + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2301:2: (iv_ruleArtifactTypeRestriction= ruleArtifactTypeRestriction EOF ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2302:2: iv_ruleArtifactTypeRestriction= ruleArtifactTypeRestriction EOF { newCompositeNode(grammarAccess.getArtifactTypeRestrictionRule()); - pushFollow(FOLLOW_ruleArtifactTypeRestriction_in_entryRuleArtifactTypeRestriction4917); + pushFollow(FOLLOW_ruleArtifactTypeRestriction_in_entryRuleArtifactTypeRestriction4882); iv_ruleArtifactTypeRestriction=ruleArtifactTypeRestriction(); state._fsp--; current =iv_ruleArtifactTypeRestriction; - match(input,EOF,FOLLOW_EOF_in_entryRuleArtifactTypeRestriction4927); + match(input,EOF,FOLLOW_EOF_in_entryRuleArtifactTypeRestriction4892); } @@ -5610,7 +5559,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleArtifactTypeRestriction" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2326:1: ruleArtifactTypeRestriction returns [EObject current=null] : ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifactType' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2309:1: ruleArtifactTypeRestriction returns [EObject current=null] : ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifactType' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) ; public final EObject ruleArtifactTypeRestriction() throws RecognitionException { EObject current = null; @@ -5624,22 +5573,22 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { enterRule(); try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2329:28: ( ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifactType' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2330:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifactType' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2312:28: ( ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifactType' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2313:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifactType' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2330:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifactType' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2330:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifactType' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2313:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifactType' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2313:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'artifactType' ( (otherlv_3= RULE_STRING ) ) otherlv_4= ';' { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2330:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2331:1: (lv_permission_0_0= ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2313:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2314:1: (lv_permission_0_0= ruleAccessPermissionEnum ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2331:1: (lv_permission_0_0= ruleAccessPermissionEnum ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2332:3: lv_permission_0_0= ruleAccessPermissionEnum + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2314:1: (lv_permission_0_0= ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2315:3: lv_permission_0_0= ruleAccessPermissionEnum { newCompositeNode(grammarAccess.getArtifactTypeRestrictionAccess().getPermissionAccessPermissionEnumEnumRuleCall_0_0()); - pushFollow(FOLLOW_ruleAccessPermissionEnum_in_ruleArtifactTypeRestriction4973); + pushFollow(FOLLOW_ruleAccessPermissionEnum_in_ruleArtifactTypeRestriction4938); lv_permission_0_0=ruleAccessPermissionEnum(); state._fsp--; @@ -5661,26 +5610,26 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,70,FOLLOW_70_in_ruleArtifactTypeRestriction4985); + otherlv_1=(Token)match(input,70,FOLLOW_70_in_ruleArtifactTypeRestriction4950); newLeafNode(otherlv_1, grammarAccess.getArtifactTypeRestrictionAccess().getEditKeyword_1()); - otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleArtifactTypeRestriction4997); + otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleArtifactTypeRestriction4962); newLeafNode(otherlv_2, grammarAccess.getArtifactTypeRestrictionAccess().getArtifactTypeKeyword_2()); - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2356:1: ( (otherlv_3= RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2357:1: (otherlv_3= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2339:1: ( (otherlv_3= RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2340:1: (otherlv_3= RULE_STRING ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2357:1: (otherlv_3= RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2358:3: otherlv_3= RULE_STRING + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2340:1: (otherlv_3= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2341:3: otherlv_3= RULE_STRING { if (current==null) { current = createModelElement(grammarAccess.getArtifactTypeRestrictionRule()); } - otherlv_3=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleArtifactTypeRestriction5017); + otherlv_3=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleArtifactTypeRestriction4982); newLeafNode(otherlv_3, grammarAccess.getArtifactTypeRestrictionAccess().getArtifactTypeRefXArtifactTypeCrossReference_3_0()); @@ -5690,7 +5639,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - otherlv_4=(Token)match(input,67,FOLLOW_67_in_ruleArtifactTypeRestriction5029); + otherlv_4=(Token)match(input,67,FOLLOW_67_in_ruleArtifactTypeRestriction4994); newLeafNode(otherlv_4, grammarAccess.getArtifactTypeRestrictionAccess().getSemicolonKeyword_4()); @@ -5715,7 +5664,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleAttributeTypeRestriction" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2381:1: entryRuleAttributeTypeRestriction returns [EObject current=null] : iv_ruleAttributeTypeRestriction= ruleAttributeTypeRestriction EOF ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2364:1: entryRuleAttributeTypeRestriction returns [EObject current=null] : iv_ruleAttributeTypeRestriction= ruleAttributeTypeRestriction EOF ; public final EObject entryRuleAttributeTypeRestriction() throws RecognitionException { EObject current = null; @@ -5723,17 +5672,17 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2382:2: (iv_ruleAttributeTypeRestriction= ruleAttributeTypeRestriction EOF ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2383:2: iv_ruleAttributeTypeRestriction= ruleAttributeTypeRestriction EOF + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2365:2: (iv_ruleAttributeTypeRestriction= ruleAttributeTypeRestriction EOF ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2366:2: iv_ruleAttributeTypeRestriction= ruleAttributeTypeRestriction EOF { newCompositeNode(grammarAccess.getAttributeTypeRestrictionRule()); - pushFollow(FOLLOW_ruleAttributeTypeRestriction_in_entryRuleAttributeTypeRestriction5065); + pushFollow(FOLLOW_ruleAttributeTypeRestriction_in_entryRuleAttributeTypeRestriction5030); iv_ruleAttributeTypeRestriction=ruleAttributeTypeRestriction(); state._fsp--; current =iv_ruleAttributeTypeRestriction; - match(input,EOF,FOLLOW_EOF_in_entryRuleAttributeTypeRestriction5075); + match(input,EOF,FOLLOW_EOF_in_entryRuleAttributeTypeRestriction5040); } @@ -5751,7 +5700,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAttributeTypeRestriction" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2390:1: ruleAttributeTypeRestriction returns [EObject current=null] : ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'attributeType' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' ) ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2373:1: ruleAttributeTypeRestriction returns [EObject current=null] : ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'attributeType' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' ) ; public final EObject ruleAttributeTypeRestriction() throws RecognitionException { EObject current = null; @@ -5768,22 +5717,22 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { enterRule(); try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2393:28: ( ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'attributeType' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2394:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'attributeType' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2376:28: ( ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'attributeType' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2377:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'attributeType' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2394:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'attributeType' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2394:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'attributeType' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2377:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'attributeType' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2377:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'attributeType' ( (otherlv_3= RULE_STRING ) ) (otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2394:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2395:1: (lv_permission_0_0= ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2377:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2378:1: (lv_permission_0_0= ruleAccessPermissionEnum ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2395:1: (lv_permission_0_0= ruleAccessPermissionEnum ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2396:3: lv_permission_0_0= ruleAccessPermissionEnum + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2378:1: (lv_permission_0_0= ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2379:3: lv_permission_0_0= ruleAccessPermissionEnum { newCompositeNode(grammarAccess.getAttributeTypeRestrictionAccess().getPermissionAccessPermissionEnumEnumRuleCall_0_0()); - pushFollow(FOLLOW_ruleAccessPermissionEnum_in_ruleAttributeTypeRestriction5121); + pushFollow(FOLLOW_ruleAccessPermissionEnum_in_ruleAttributeTypeRestriction5086); lv_permission_0_0=ruleAccessPermissionEnum(); state._fsp--; @@ -5805,26 +5754,26 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,70,FOLLOW_70_in_ruleAttributeTypeRestriction5133); + otherlv_1=(Token)match(input,70,FOLLOW_70_in_ruleAttributeTypeRestriction5098); newLeafNode(otherlv_1, grammarAccess.getAttributeTypeRestrictionAccess().getEditKeyword_1()); - otherlv_2=(Token)match(input,23,FOLLOW_23_in_ruleAttributeTypeRestriction5145); + otherlv_2=(Token)match(input,23,FOLLOW_23_in_ruleAttributeTypeRestriction5110); newLeafNode(otherlv_2, grammarAccess.getAttributeTypeRestrictionAccess().getAttributeTypeKeyword_2()); - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2420:1: ( (otherlv_3= RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2421:1: (otherlv_3= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2403:1: ( (otherlv_3= RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2404:1: (otherlv_3= RULE_STRING ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2421:1: (otherlv_3= RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2422:3: otherlv_3= RULE_STRING + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2404:1: (otherlv_3= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2405:3: otherlv_3= RULE_STRING { if (current==null) { current = createModelElement(grammarAccess.getAttributeTypeRestrictionRule()); } - otherlv_3=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleAttributeTypeRestriction5165); + otherlv_3=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleAttributeTypeRestriction5130); newLeafNode(otherlv_3, grammarAccess.getAttributeTypeRestrictionAccess().getAttributeTypeRefXAttributeTypeCrossReference_3_0()); @@ -5834,37 +5783,37 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2433:2: (otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) )? - int alt39=2; - int LA39_0 = input.LA(1); + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2416:2: (otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) )? + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA39_0==72) ) { - alt39=1; + if ( (LA38_0==72) ) { + alt38=1; } - switch (alt39) { + switch (alt38) { case 1 : - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2433:4: otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2416:4: otherlv_4= 'of' otherlv_5= 'artifactType' ( (otherlv_6= RULE_STRING ) ) { - otherlv_4=(Token)match(input,72,FOLLOW_72_in_ruleAttributeTypeRestriction5178); + otherlv_4=(Token)match(input,72,FOLLOW_72_in_ruleAttributeTypeRestriction5143); newLeafNode(otherlv_4, grammarAccess.getAttributeTypeRestrictionAccess().getOfKeyword_4_0()); - otherlv_5=(Token)match(input,15,FOLLOW_15_in_ruleAttributeTypeRestriction5190); + otherlv_5=(Token)match(input,15,FOLLOW_15_in_ruleAttributeTypeRestriction5155); newLeafNode(otherlv_5, grammarAccess.getAttributeTypeRestrictionAccess().getArtifactTypeKeyword_4_1()); - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2441:1: ( (otherlv_6= RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2442:1: (otherlv_6= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2424:1: ( (otherlv_6= RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2425:1: (otherlv_6= RULE_STRING ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2442:1: (otherlv_6= RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2443:3: otherlv_6= RULE_STRING + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2425:1: (otherlv_6= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2426:3: otherlv_6= RULE_STRING { if (current==null) { current = createModelElement(grammarAccess.getAttributeTypeRestrictionRule()); } - otherlv_6=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleAttributeTypeRestriction5210); + otherlv_6=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleAttributeTypeRestriction5175); newLeafNode(otherlv_6, grammarAccess.getAttributeTypeRestrictionAccess().getArtifactTypeRefXArtifactTypeCrossReference_4_2_0()); @@ -5880,7 +5829,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - otherlv_7=(Token)match(input,67,FOLLOW_67_in_ruleAttributeTypeRestriction5224); + otherlv_7=(Token)match(input,67,FOLLOW_67_in_ruleAttributeTypeRestriction5189); newLeafNode(otherlv_7, grammarAccess.getAttributeTypeRestrictionAccess().getSemicolonKeyword_5()); @@ -5905,7 +5854,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleRelationTypeRestriction" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2466:1: entryRuleRelationTypeRestriction returns [EObject current=null] : iv_ruleRelationTypeRestriction= ruleRelationTypeRestriction EOF ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2449:1: entryRuleRelationTypeRestriction returns [EObject current=null] : iv_ruleRelationTypeRestriction= ruleRelationTypeRestriction EOF ; public final EObject entryRuleRelationTypeRestriction() throws RecognitionException { EObject current = null; @@ -5913,17 +5862,17 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2467:2: (iv_ruleRelationTypeRestriction= ruleRelationTypeRestriction EOF ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2468:2: iv_ruleRelationTypeRestriction= ruleRelationTypeRestriction EOF + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2450:2: (iv_ruleRelationTypeRestriction= ruleRelationTypeRestriction EOF ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2451:2: iv_ruleRelationTypeRestriction= ruleRelationTypeRestriction EOF { newCompositeNode(grammarAccess.getRelationTypeRestrictionRule()); - pushFollow(FOLLOW_ruleRelationTypeRestriction_in_entryRuleRelationTypeRestriction5260); + pushFollow(FOLLOW_ruleRelationTypeRestriction_in_entryRuleRelationTypeRestriction5225); iv_ruleRelationTypeRestriction=ruleRelationTypeRestriction(); state._fsp--; current =iv_ruleRelationTypeRestriction; - match(input,EOF,FOLLOW_EOF_in_entryRuleRelationTypeRestriction5270); + match(input,EOF,FOLLOW_EOF_in_entryRuleRelationTypeRestriction5235); } @@ -5941,7 +5890,7 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleRelationTypeRestriction" - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2475:1: ruleRelationTypeRestriction returns [EObject current=null] : ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'relationType' ( (otherlv_3= RULE_STRING ) ) ( (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) ) otherlv_5= ';' ) ; + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2458:1: ruleRelationTypeRestriction returns [EObject current=null] : ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'relationType' ( (otherlv_3= RULE_STRING ) ) ( (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) ) (otherlv_5= 'artifact' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' ) ; public final EObject ruleRelationTypeRestriction() throws RecognitionException { EObject current = null; @@ -5949,6 +5898,8 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { Token otherlv_2=null; Token otherlv_3=null; Token otherlv_5=null; + Token otherlv_6=null; + Token otherlv_7=null; Enumerator lv_permission_0_0 = null; Enumerator lv_restrictedToSide_4_0 = null; @@ -5957,22 +5908,22 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { enterRule(); try { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2478:28: ( ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'relationType' ( (otherlv_3= RULE_STRING ) ) ( (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) ) otherlv_5= ';' ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2479:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'relationType' ( (otherlv_3= RULE_STRING ) ) ( (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) ) otherlv_5= ';' ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2461:28: ( ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'relationType' ( (otherlv_3= RULE_STRING ) ) ( (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) ) (otherlv_5= 'artifact' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2462:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'relationType' ( (otherlv_3= RULE_STRING ) ) ( (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) ) (otherlv_5= 'artifact' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2479:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'relationType' ( (otherlv_3= RULE_STRING ) ) ( (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) ) otherlv_5= ';' ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2479:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'relationType' ( (otherlv_3= RULE_STRING ) ) ( (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) ) otherlv_5= ';' + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2462:1: ( ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'relationType' ( (otherlv_3= RULE_STRING ) ) ( (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) ) (otherlv_5= 'artifact' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2462:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) otherlv_1= 'edit' otherlv_2= 'relationType' ( (otherlv_3= RULE_STRING ) ) ( (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) ) (otherlv_5= 'artifact' ( (otherlv_6= RULE_STRING ) ) )? otherlv_7= ';' { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2479:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2480:1: (lv_permission_0_0= ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2462:2: ( (lv_permission_0_0= ruleAccessPermissionEnum ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2463:1: (lv_permission_0_0= ruleAccessPermissionEnum ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2480:1: (lv_permission_0_0= ruleAccessPermissionEnum ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2481:3: lv_permission_0_0= ruleAccessPermissionEnum + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2463:1: (lv_permission_0_0= ruleAccessPermissionEnum ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2464:3: lv_permission_0_0= ruleAccessPermissionEnum { newCompositeNode(grammarAccess.getRelationTypeRestrictionAccess().getPermissionAccessPermissionEnumEnumRuleCall_0_0()); - pushFollow(FOLLOW_ruleAccessPermissionEnum_in_ruleRelationTypeRestriction5316); + pushFollow(FOLLOW_ruleAccessPermissionEnum_in_ruleRelationTypeRestriction5281); lv_permission_0_0=ruleAccessPermissionEnum(); state._fsp--; @@ -5994,26 +5945,26 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,70,FOLLOW_70_in_ruleRelationTypeRestriction5328); + otherlv_1=(Token)match(input,70,FOLLOW_70_in_ruleRelationTypeRestriction5293); newLeafNode(otherlv_1, grammarAccess.getRelationTypeRestrictionAccess().getEditKeyword_1()); - otherlv_2=(Token)match(input,53,FOLLOW_53_in_ruleRelationTypeRestriction5340); + otherlv_2=(Token)match(input,53,FOLLOW_53_in_ruleRelationTypeRestriction5305); newLeafNode(otherlv_2, grammarAccess.getRelationTypeRestrictionAccess().getRelationTypeKeyword_2()); - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2505:1: ( (otherlv_3= RULE_STRING ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2506:1: (otherlv_3= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2488:1: ( (otherlv_3= RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2489:1: (otherlv_3= RULE_STRING ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2506:1: (otherlv_3= RULE_STRING ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2507:3: otherlv_3= RULE_STRING + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2489:1: (otherlv_3= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2490:3: otherlv_3= RULE_STRING { if (current==null) { current = createModelElement(grammarAccess.getRelationTypeRestrictionRule()); } - otherlv_3=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleRelationTypeRestriction5360); + otherlv_3=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleRelationTypeRestriction5325); newLeafNode(otherlv_3, grammarAccess.getRelationTypeRestrictionAccess().getRelationTypeRefXRelationTypeCrossReference_3_0()); @@ -6023,16 +5974,16 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2518:2: ( (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2519:1: (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2501:2: ( (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2502:1: (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) { - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2519:1: (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) - // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2520:3: lv_restrictedToSide_4_0= ruleXRelationSideEnum + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2502:1: (lv_restrictedToSide_4_0= ruleXRelationSideEnum ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2503:3: lv_restrictedToSide_4_0= ruleXRelationSideEnum { newCompositeNode(grammarAccess.getRelationTypeRestrictionAccess().getRestrictedToSideXRelationSideEnumEnumRuleCall_4_0()); - pushFollow(FOLLOW_ruleXRelationSideEnum_in_ruleRelationTypeRestriction5381); + pushFollow(FOLLOW_ruleXRelationSideEnum_in_ruleRelationTypeRestriction5346); lv_restrictedToSide_4_0=ruleXRelationSideEnum(); state._fsp--; @@ -6054,9 +6005,51 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { } - otherlv_5=(Token)match(input,67,FOLLOW_67_in_ruleRelationTypeRestriction5393); + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2519:2: (otherlv_5= 'artifact' ( (otherlv_6= RULE_STRING ) ) )? + int alt39=2; + int LA39_0 = input.LA(1); + + if ( (LA39_0==71) ) { + alt39=1; + } + switch (alt39) { + case 1 : + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2519:4: otherlv_5= 'artifact' ( (otherlv_6= RULE_STRING ) ) + { + otherlv_5=(Token)match(input,71,FOLLOW_71_in_ruleRelationTypeRestriction5359); + + newLeafNode(otherlv_5, grammarAccess.getRelationTypeRestrictionAccess().getArtifactKeyword_5_0()); + + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2523:1: ( (otherlv_6= RULE_STRING ) ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2524:1: (otherlv_6= RULE_STRING ) + { + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2524:1: (otherlv_6= RULE_STRING ) + // ../org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/parser/antlr/internal/InternalOseeDsl.g:2525:3: otherlv_6= RULE_STRING + { + + if (current==null) { + current = createModelElement(grammarAccess.getRelationTypeRestrictionRule()); + } + + otherlv_6=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleRelationTypeRestriction5379); + + newLeafNode(otherlv_6, grammarAccess.getRelationTypeRestrictionAccess().getArtifactMatcherRefXArtifactMatcherCrossReference_5_1_0()); + + + } + + + } + + + } + break; + + } + + otherlv_7=(Token)match(input,67,FOLLOW_67_in_ruleRelationTypeRestriction5393); - newLeafNode(otherlv_5, grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_5()); + newLeafNode(otherlv_7, grammarAccess.getRelationTypeRestrictionAccess().getSemicolonKeyword_6()); } @@ -6897,60 +6890,60 @@ public class InternalOseeDslParser extends AbstractInternalAntlrParser { public static final BitSet FOLLOW_68_in_ruleAccessContext4198 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_STRING_in_ruleAccessContext4215 = new BitSet(new long[]{0x0000000000050000L}); public static final BitSet FOLLOW_16_in_ruleAccessContext4233 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleAccessContext4253 = new BitSet(new long[]{0x0000000000060000L}); - public static final BitSet FOLLOW_17_in_ruleAccessContext4266 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleAccessContext4286 = new BitSet(new long[]{0x0000000000060000L}); - public static final BitSet FOLLOW_18_in_ruleAccessContext4302 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_19_in_ruleAccessContext4314 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleAccessContext4331 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); - public static final BitSet FOLLOW_67_in_ruleAccessContext4348 = new BitSet(new long[]{0x0000000000000000L,0x0000000000300020L}); - public static final BitSet FOLLOW_ruleObjectRestriction_in_ruleAccessContext4370 = new BitSet(new long[]{0x0000000000100000L,0x0000000000300020L}); - public static final BitSet FOLLOW_ruleHierarchyRestriction_in_ruleAccessContext4397 = new BitSet(new long[]{0x0000000000100000L,0x0000000000300020L}); - public static final BitSet FOLLOW_20_in_ruleAccessContext4411 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleHierarchyRestriction_in_entryRuleHierarchyRestriction4447 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleHierarchyRestriction4457 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_69_in_ruleHierarchyRestriction4494 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleHierarchyRestriction4514 = new BitSet(new long[]{0x0000000000040000L}); - public static final BitSet FOLLOW_18_in_ruleHierarchyRestriction4526 = new BitSet(new long[]{0x0000000000000000L,0x0000000000300000L}); - public static final BitSet FOLLOW_ruleObjectRestriction_in_ruleHierarchyRestriction4547 = new BitSet(new long[]{0x0000000000100000L,0x0000000000300000L}); - public static final BitSet FOLLOW_20_in_ruleHierarchyRestriction4560 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleObjectRestriction_in_entryRuleObjectRestriction4596 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleObjectRestriction4606 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleArtifactMatchRestriction_in_ruleObjectRestriction4653 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleArtifactTypeRestriction_in_ruleObjectRestriction4680 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleRelationTypeRestriction_in_ruleObjectRestriction4707 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAttributeTypeRestriction_in_ruleObjectRestriction4734 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleArtifactMatchRestriction_in_entryRuleArtifactMatchRestriction4769 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleArtifactMatchRestriction4779 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_ruleArtifactMatchRestriction4825 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); - public static final BitSet FOLLOW_70_in_ruleArtifactMatchRestriction4837 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); - public static final BitSet FOLLOW_71_in_ruleArtifactMatchRestriction4849 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleArtifactMatchRestriction4869 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); - public static final BitSet FOLLOW_67_in_ruleArtifactMatchRestriction4881 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleArtifactTypeRestriction_in_entryRuleArtifactTypeRestriction4917 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleArtifactTypeRestriction4927 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_ruleArtifactTypeRestriction4973 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); - public static final BitSet FOLLOW_70_in_ruleArtifactTypeRestriction4985 = new BitSet(new long[]{0x0000000000008000L}); - public static final BitSet FOLLOW_15_in_ruleArtifactTypeRestriction4997 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleArtifactTypeRestriction5017 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); - public static final BitSet FOLLOW_67_in_ruleArtifactTypeRestriction5029 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAttributeTypeRestriction_in_entryRuleAttributeTypeRestriction5065 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleAttributeTypeRestriction5075 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_ruleAttributeTypeRestriction5121 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); - public static final BitSet FOLLOW_70_in_ruleAttributeTypeRestriction5133 = new BitSet(new long[]{0x0000000000800000L}); - public static final BitSet FOLLOW_23_in_ruleAttributeTypeRestriction5145 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleAttributeTypeRestriction5165 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000108L}); - public static final BitSet FOLLOW_72_in_ruleAttributeTypeRestriction5178 = new BitSet(new long[]{0x0000000000008000L}); - public static final BitSet FOLLOW_15_in_ruleAttributeTypeRestriction5190 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleAttributeTypeRestriction5210 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); - public static final BitSet FOLLOW_67_in_ruleAttributeTypeRestriction5224 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleRelationTypeRestriction_in_entryRuleRelationTypeRestriction5260 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleRelationTypeRestriction5270 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_ruleRelationTypeRestriction5316 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); - public static final BitSet FOLLOW_70_in_ruleRelationTypeRestriction5328 = new BitSet(new long[]{0x0020000000000000L}); - public static final BitSet FOLLOW_53_in_ruleRelationTypeRestriction5340 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleRelationTypeRestriction5360 = new BitSet(new long[]{0x0000000000000000L,0x0000000001C00000L}); - public static final BitSet FOLLOW_ruleXRelationSideEnum_in_ruleRelationTypeRestriction5381 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleAccessContext4253 = new BitSet(new long[]{0x0000000000040000L}); + public static final BitSet FOLLOW_18_in_ruleAccessContext4267 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_19_in_ruleAccessContext4279 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleAccessContext4296 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_67_in_ruleAccessContext4313 = new BitSet(new long[]{0x0000000000000000L,0x0000000000300020L}); + public static final BitSet FOLLOW_ruleObjectRestriction_in_ruleAccessContext4335 = new BitSet(new long[]{0x0000000000100000L,0x0000000000300020L}); + public static final BitSet FOLLOW_ruleHierarchyRestriction_in_ruleAccessContext4362 = new BitSet(new long[]{0x0000000000100000L,0x0000000000300020L}); + public static final BitSet FOLLOW_20_in_ruleAccessContext4376 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleHierarchyRestriction_in_entryRuleHierarchyRestriction4412 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleHierarchyRestriction4422 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_69_in_ruleHierarchyRestriction4459 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleHierarchyRestriction4479 = new BitSet(new long[]{0x0000000000040000L}); + public static final BitSet FOLLOW_18_in_ruleHierarchyRestriction4491 = new BitSet(new long[]{0x0000000000000000L,0x0000000000300000L}); + public static final BitSet FOLLOW_ruleObjectRestriction_in_ruleHierarchyRestriction4512 = new BitSet(new long[]{0x0000000000100000L,0x0000000000300000L}); + public static final BitSet FOLLOW_20_in_ruleHierarchyRestriction4525 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleObjectRestriction_in_entryRuleObjectRestriction4561 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleObjectRestriction4571 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleArtifactMatchRestriction_in_ruleObjectRestriction4618 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleArtifactTypeRestriction_in_ruleObjectRestriction4645 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRelationTypeRestriction_in_ruleObjectRestriction4672 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAttributeTypeRestriction_in_ruleObjectRestriction4699 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleArtifactMatchRestriction_in_entryRuleArtifactMatchRestriction4734 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleArtifactMatchRestriction4744 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_ruleArtifactMatchRestriction4790 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_70_in_ruleArtifactMatchRestriction4802 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); + public static final BitSet FOLLOW_71_in_ruleArtifactMatchRestriction4814 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleArtifactMatchRestriction4834 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_67_in_ruleArtifactMatchRestriction4846 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleArtifactTypeRestriction_in_entryRuleArtifactTypeRestriction4882 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleArtifactTypeRestriction4892 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_ruleArtifactTypeRestriction4938 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_70_in_ruleArtifactTypeRestriction4950 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_15_in_ruleArtifactTypeRestriction4962 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleArtifactTypeRestriction4982 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_67_in_ruleArtifactTypeRestriction4994 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAttributeTypeRestriction_in_entryRuleAttributeTypeRestriction5030 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAttributeTypeRestriction5040 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_ruleAttributeTypeRestriction5086 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_70_in_ruleAttributeTypeRestriction5098 = new BitSet(new long[]{0x0000000000800000L}); + public static final BitSet FOLLOW_23_in_ruleAttributeTypeRestriction5110 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleAttributeTypeRestriction5130 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000108L}); + public static final BitSet FOLLOW_72_in_ruleAttributeTypeRestriction5143 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_15_in_ruleAttributeTypeRestriction5155 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleAttributeTypeRestriction5175 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_67_in_ruleAttributeTypeRestriction5189 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRelationTypeRestriction_in_entryRuleRelationTypeRestriction5225 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleRelationTypeRestriction5235 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAccessPermissionEnum_in_ruleRelationTypeRestriction5281 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_70_in_ruleRelationTypeRestriction5293 = new BitSet(new long[]{0x0020000000000000L}); + public static final BitSet FOLLOW_53_in_ruleRelationTypeRestriction5305 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleRelationTypeRestriction5325 = new BitSet(new long[]{0x0000000000000000L,0x0000000001C00000L}); + public static final BitSet FOLLOW_ruleXRelationSideEnum_in_ruleRelationTypeRestriction5346 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000088L}); + public static final BitSet FOLLOW_71_in_ruleRelationTypeRestriction5359 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleRelationTypeRestriction5379 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); public static final BitSet FOLLOW_67_in_ruleRelationTypeRestriction5393 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_73_in_ruleRelationMultiplicityEnum5443 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_74_in_ruleRelationMultiplicityEnum5460 = new BitSet(new long[]{0x0000000000000002L}); diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/services/OseeDslGrammarAccess.java b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/services/OseeDslGrammarAccess.java index 04114e6..acd642d 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/services/OseeDslGrammarAccess.java +++ b/plugins/org.eclipse.osee.framework.core.dsl/src-gen/org/eclipse/osee/framework/core/dsl/services/OseeDslGrammarAccess.java @@ -1246,11 +1246,6 @@ public class OseeDslGrammarAccess extends AbstractGrammarElementFinder { private final Assignment cSuperAccessContextsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final CrossReference cSuperAccessContextsAccessContextCrossReference_2_1_0 = (CrossReference)cSuperAccessContextsAssignment_2_1.eContents().get(0); private final RuleCall cSuperAccessContextsAccessContextSTRINGTerminalRuleCall_2_1_0_1 = (RuleCall)cSuperAccessContextsAccessContextCrossReference_2_1_0.eContents().get(1); - private final Group cGroup_2_2 = (Group)cGroup_2.eContents().get(2); - private final Keyword cCommaKeyword_2_2_0 = (Keyword)cGroup_2_2.eContents().get(0); - private final Assignment cSuperAccessContextsAssignment_2_2_1 = (Assignment)cGroup_2_2.eContents().get(1); - private final CrossReference cSuperAccessContextsAccessContextCrossReference_2_2_1_0 = (CrossReference)cSuperAccessContextsAssignment_2_2_1.eContents().get(0); - private final RuleCall cSuperAccessContextsAccessContextSTRINGTerminalRuleCall_2_2_1_0_1 = (RuleCall)cSuperAccessContextsAccessContextCrossReference_2_2_1_0.eContents().get(1); private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Keyword cGuidKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cGuidAssignment_5 = (Assignment)cGroup.eContents().get(5); @@ -1267,14 +1262,12 @@ public class OseeDslGrammarAccess extends AbstractGrammarElementFinder { //// OSEE ACCESS MODEL // ///////////////////////////////////////// //AccessContext: - // "accessContext" name=STRING ("extends" superAccessContexts+=[AccessContext|STRING] ("," - // superAccessContexts+=[AccessContext|STRING])*)? "{" "guid" guid=STRING ";" (accessRules+=ObjectRestriction | - // hierarchyRestrictions+=HierarchyRestriction)+ "}"; + // "accessContext" name=STRING ("extends" superAccessContexts+=[AccessContext|STRING])? "{" "guid" guid=STRING ";" + // (accessRules+=ObjectRestriction | hierarchyRestrictions+=HierarchyRestriction)+ "}"; public ParserRule getRule() { return rule; } - //"accessContext" name=STRING ("extends" superAccessContexts+=[AccessContext|STRING] ("," - //superAccessContexts+=[AccessContext|STRING])*)? "{" "guid" guid=STRING ";" (accessRules+=ObjectRestriction | - //hierarchyRestrictions+=HierarchyRestriction)+ "}" + //"accessContext" name=STRING ("extends" superAccessContexts+=[AccessContext|STRING])? "{" "guid" guid=STRING ";" + //(accessRules+=ObjectRestriction | hierarchyRestrictions+=HierarchyRestriction)+ "}" public Group getGroup() { return cGroup; } //"accessContext" @@ -1286,7 +1279,7 @@ public class OseeDslGrammarAccess extends AbstractGrammarElementFinder { //STRING public RuleCall getNameSTRINGTerminalRuleCall_1_0() { return cNameSTRINGTerminalRuleCall_1_0; } - //("extends" superAccessContexts+=[AccessContext|STRING] ("," superAccessContexts+=[AccessContext|STRING])*)? + //("extends" superAccessContexts+=[AccessContext|STRING])? public Group getGroup_2() { return cGroup_2; } //"extends" @@ -1301,21 +1294,6 @@ public class OseeDslGrammarAccess extends AbstractGrammarElementFinder { //STRING public RuleCall getSuperAccessContextsAccessContextSTRINGTerminalRuleCall_2_1_0_1() { return cSuperAccessContextsAccessContextSTRINGTerminalRuleCall_2_1_0_1; } - //("," superAccessContexts+=[AccessContext|STRING])* - public Group getGroup_2_2() { return cGroup_2_2; } - - //"," - public Keyword getCommaKeyword_2_2_0() { return cCommaKeyword_2_2_0; } - - //superAccessContexts+=[AccessContext|STRING] - public Assignment getSuperAccessContextsAssignment_2_2_1() { return cSuperAccessContextsAssignment_2_2_1; } - - //[AccessContext|STRING] - public CrossReference getSuperAccessContextsAccessContextCrossReference_2_2_1_0() { return cSuperAccessContextsAccessContextCrossReference_2_2_1_0; } - - //STRING - public RuleCall getSuperAccessContextsAccessContextSTRINGTerminalRuleCall_2_2_1_0_1() { return cSuperAccessContextsAccessContextSTRINGTerminalRuleCall_2_2_1_0_1; } - //"{" public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } @@ -1592,15 +1570,20 @@ public class OseeDslGrammarAccess extends AbstractGrammarElementFinder { private final RuleCall cRelationTypeRefXRelationTypeSTRINGTerminalRuleCall_3_0_1 = (RuleCall)cRelationTypeRefXRelationTypeCrossReference_3_0.eContents().get(1); private final Assignment cRestrictedToSideAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cRestrictedToSideXRelationSideEnumEnumRuleCall_4_0 = (RuleCall)cRestrictedToSideAssignment_4.eContents().get(0); - private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cArtifactKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Assignment cArtifactMatcherRefAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); + private final CrossReference cArtifactMatcherRefXArtifactMatcherCrossReference_5_1_0 = (CrossReference)cArtifactMatcherRefAssignment_5_1.eContents().get(0); + private final RuleCall cArtifactMatcherRefXArtifactMatcherSTRINGTerminalRuleCall_5_1_0_1 = (RuleCall)cArtifactMatcherRefXArtifactMatcherCrossReference_5_1_0.eContents().get(1); + private final Keyword cSemicolonKeyword_6 = (Keyword)cGroup.eContents().get(6); //RelationTypeRestriction: // permission=AccessPermissionEnum "edit" "relationType" relationTypeRef=[XRelationType|STRING] - // restrictedToSide=XRelationSideEnum ";"; + // restrictedToSide=XRelationSideEnum ("artifact" artifactMatcherRef=[XArtifactMatcher|STRING])? ";"; public ParserRule getRule() { return rule; } //permission=AccessPermissionEnum "edit" "relationType" relationTypeRef=[XRelationType|STRING] - //restrictedToSide=XRelationSideEnum ";" + //restrictedToSide=XRelationSideEnum ("artifact" artifactMatcherRef=[XArtifactMatcher|STRING])? ";" public Group getGroup() { return cGroup; } //permission=AccessPermissionEnum @@ -1630,8 +1613,23 @@ public class OseeDslGrammarAccess extends AbstractGrammarElementFinder { //XRelationSideEnum public RuleCall getRestrictedToSideXRelationSideEnumEnumRuleCall_4_0() { return cRestrictedToSideXRelationSideEnumEnumRuleCall_4_0; } + //("artifact" artifactMatcherRef=[XArtifactMatcher|STRING])? + public Group getGroup_5() { return cGroup_5; } + + //"artifact" + public Keyword getArtifactKeyword_5_0() { return cArtifactKeyword_5_0; } + + //artifactMatcherRef=[XArtifactMatcher|STRING] + public Assignment getArtifactMatcherRefAssignment_5_1() { return cArtifactMatcherRefAssignment_5_1; } + + //[XArtifactMatcher|STRING] + public CrossReference getArtifactMatcherRefXArtifactMatcherCrossReference_5_1_0() { return cArtifactMatcherRefXArtifactMatcherCrossReference_5_1_0; } + + //STRING + public RuleCall getArtifactMatcherRefXArtifactMatcherSTRINGTerminalRuleCall_5_1_0_1() { return cArtifactMatcherRefXArtifactMatcherSTRINGTerminalRuleCall_5_1_0_1; } + //";" - public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; } + public Keyword getSemicolonKeyword_6() { return cSemicolonKeyword_6; } } @@ -2200,9 +2198,8 @@ public class OseeDslGrammarAccess extends AbstractGrammarElementFinder { //// OSEE ACCESS MODEL // ///////////////////////////////////////// //AccessContext: - // "accessContext" name=STRING ("extends" superAccessContexts+=[AccessContext|STRING] ("," - // superAccessContexts+=[AccessContext|STRING])*)? "{" "guid" guid=STRING ";" (accessRules+=ObjectRestriction | - // hierarchyRestrictions+=HierarchyRestriction)+ "}"; + // "accessContext" name=STRING ("extends" superAccessContexts+=[AccessContext|STRING])? "{" "guid" guid=STRING ";" + // (accessRules+=ObjectRestriction | hierarchyRestrictions+=HierarchyRestriction)+ "}"; public AccessContextElements getAccessContextAccess() { return (pAccessContext != null) ? pAccessContext : (pAccessContext = new AccessContextElements()); } @@ -2274,7 +2271,7 @@ public class OseeDslGrammarAccess extends AbstractGrammarElementFinder { //RelationTypeRestriction: // permission=AccessPermissionEnum "edit" "relationType" relationTypeRef=[XRelationType|STRING] - // restrictedToSide=XRelationSideEnum ";"; + // restrictedToSide=XRelationSideEnum ("artifact" artifactMatcherRef=[XArtifactMatcher|STRING])? ";"; public RelationTypeRestrictionElements getRelationTypeRestrictionAccess() { return (pRelationTypeRestriction != null) ? pRelationTypeRestriction : (pRelationTypeRestriction = new RelationTypeRestrictionElements()); } diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/OseeDsl.xtext b/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/OseeDsl.xtext index 7fef670..9efb713 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/OseeDsl.xtext +++ b/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/OseeDsl.xtext @@ -116,8 +116,7 @@ XArtifactMatcher: /////////////////////////////////////// AccessContext: 'accessContext' name=STRING ('extends' - superAccessContexts+=[AccessContext|STRING] (',' - superAccessContexts+=[AccessContext|STRING])*)? '{' 'guid' guid=STRING ';' + superAccessContexts+=[AccessContext|STRING])? '{' 'guid' guid=STRING ';' (accessRules+=ObjectRestriction | hierarchyRestrictions+=HierarchyRestriction)+ '}'; HierarchyRestriction: @@ -143,7 +142,8 @@ AttributeTypeRestriction: RelationTypeRestriction: permission=AccessPermissionEnum 'edit' 'relationType' relationTypeRef=[XRelationType|STRING] - restrictedToSide=XRelationSideEnum ';'; + restrictedToSide=XRelationSideEnum ('artifact' artifactMatcherRef=[XArtifactMatcher|STRING])? ';'; + enum XRelationSideEnum: SIDE_A | SIDE_B | BOTH; diff --git a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessDataQueryTest.java b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessDataQueryTest.java index f57c1be..ea11a90 100644 --- a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessDataQueryTest.java +++ b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessDataQueryTest.java @@ -10,10 +10,10 @@ *******************************************************************************/ package org.eclipse.osee.framework.core.model.test.access; -import org.junit.Assert; import org.eclipse.osee.framework.core.data.IArtifactType; import org.eclipse.osee.framework.core.data.IAttributeType; import org.eclipse.osee.framework.core.data.IOseeBranch; +import org.eclipse.osee.framework.core.data.TokenFactory; import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; import org.eclipse.osee.framework.core.enums.CoreBranches; @@ -24,8 +24,11 @@ import org.eclipse.osee.framework.core.model.access.AccessData; import org.eclipse.osee.framework.core.model.access.AccessDataQuery; import org.eclipse.osee.framework.core.model.access.AccessDetail; import org.eclipse.osee.framework.core.model.access.PermissionStatus; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.core.model.test.mocks.MockArtifact; +import org.eclipse.osee.framework.core.model.test.mocks.MockDataFactory; import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.junit.Assert; import org.junit.Test; /** @@ -90,8 +93,8 @@ public class AccessDataQueryTest { IAttributeType attributeType = CoreAttributeTypes.ParagraphNumber; IAttributeType wordAttributeType = CoreAttributeTypes.WordTemplateContent; - data.add(artifactToCheck, new AccessDetail<IAttributeType>(attributeType, PermissionEnum.WRITE)); - data.add(artifactToCheck, new AccessDetail<IAttributeType>(wordAttributeType, PermissionEnum.READ)); + data.add(artifactToCheck, new AccessDetail<IAttributeType>(attributeType, PermissionEnum.WRITE, new Scope())); + data.add(artifactToCheck, new AccessDetail<IAttributeType>(wordAttributeType, PermissionEnum.READ, new Scope())); AccessDataQuery query = new AccessDataQuery(data); PermissionStatus status = new PermissionStatus(); @@ -120,8 +123,8 @@ public class AccessDataQueryTest { IBasicArtifact<?> artifact1 = new MockArtifact("1", "one", branch, artifactType, 1); IBasicArtifact<?> artifact2 = new MockArtifact("2", "two", branch, artifactType, 2); - data.add(artifact1, new AccessDetail<IBasicArtifact<?>>(artifact1, PermissionEnum.READ)); - data.add(artifact2, new AccessDetail<IBasicArtifact<?>>(artifact2, PermissionEnum.WRITE)); + data.add(artifact1, new AccessDetail<IBasicArtifact<?>>(artifact1, PermissionEnum.READ, new Scope())); + data.add(artifact2, new AccessDetail<IBasicArtifact<?>>(artifact2, PermissionEnum.WRITE, new Scope())); AccessDataQuery query = new AccessDataQuery(data); @@ -135,8 +138,8 @@ public class AccessDataQueryTest { IOseeBranch common = CoreBranches.COMMON; IOseeBranch branch = CoreBranches.SYSTEM_ROOT; - data.add(common, new AccessDetail<IOseeBranch>(common, PermissionEnum.READ)); - data.add(branch, new AccessDetail<IOseeBranch>(branch, PermissionEnum.WRITE)); + data.add(common, new AccessDetail<IOseeBranch>(common, PermissionEnum.READ, new Scope())); + data.add(branch, new AccessDetail<IOseeBranch>(branch, PermissionEnum.WRITE, new Scope())); AccessDataQuery query = new AccessDataQuery(data); @@ -144,15 +147,53 @@ public class AccessDataQueryTest { Assert.assertFalse(query.matchesAll(PermissionEnum.WRITE)); } + @Test + public void testArtifactMatches() throws OseeCoreException { + IOseeBranch branch = CoreBranches.COMMON; + IBasicArtifact<?> accessArtifact = new MockArtifact(GUID.create(), "test1", branch, CoreArtifactTypes.Folder, 45); + IBasicArtifact<?> typeAccessArtifact = + new MockArtifact(GUID.create(), "test2", branch, CoreArtifactTypes.Folder, 46); + IBasicArtifact<?> noAccessArtifact = + new MockArtifact(GUID.create(), "test3", branch, CoreArtifactTypes.Folder, 47); + IArtifactType artType = TokenFactory.createArtifactType("AAMFDg_wmiYHHY5swJwA", "Folder"); + + AccessDetail<?> specificArtDetail = + MockDataFactory.createAccessDetails(accessArtifact, PermissionEnum.DENY, "", + new Scope().add("very").add("specific")); + AccessDetail<?> legacyArtDetail = + MockDataFactory.createAccessDetails(accessArtifact, PermissionEnum.FULLACCESS, "", Scope.createLegacyScope()); + AccessDetail<?> typeDetail = + MockDataFactory.createAccessDetails(artType, PermissionEnum.WRITE, "", new Scope().add("very")); + + AccessData data = new AccessData(); + data.add(accessArtifact, specificArtDetail); + data.add(accessArtifact, legacyArtDetail); + data.add(accessArtifact, typeDetail); + data.add(typeAccessArtifact, typeDetail); + + AccessDataQuery query = new AccessDataQuery(data); + PermissionStatus ps = new PermissionStatus(); + query.artifactMatches(PermissionEnum.WRITE, accessArtifact, ps); + Assert.assertFalse(ps.matched()); + + ps = new PermissionStatus(); + query.artifactMatches(PermissionEnum.WRITE, typeAccessArtifact, ps); + Assert.assertTrue(ps.matched()); + + ps = new PermissionStatus(); + query.artifactMatches(PermissionEnum.WRITE, noAccessArtifact, ps); + Assert.assertTrue(ps.matched()); + } + private TestObject getTestData() throws OseeCoreException { IOseeBranch branchToCheck = CoreBranches.SYSTEM_ROOT; IArtifactType artifactType = CoreArtifactTypes.AbstractSoftwareRequirement; IBasicArtifact<?> artifactToCheck = new MockArtifact(GUID.create(), "Hello", branchToCheck, artifactType, 12); AccessData data = new AccessData(); - data.add(branchToCheck, new AccessDetail<IOseeBranch>(branchToCheck, PermissionEnum.WRITE)); - data.add(artifactToCheck, new AccessDetail<IBasicArtifact<?>>(artifactToCheck, PermissionEnum.WRITE)); - data.add(artifactToCheck, new AccessDetail<IArtifactType>(artifactType, PermissionEnum.WRITE)); + data.add(branchToCheck, new AccessDetail<IOseeBranch>(branchToCheck, PermissionEnum.WRITE, new Scope())); + data.add(artifactToCheck, new AccessDetail<IBasicArtifact<?>>(artifactToCheck, PermissionEnum.WRITE, new Scope())); + data.add(artifactToCheck, new AccessDetail<IArtifactType>(artifactType, PermissionEnum.WRITE, new Scope())); return new TestObject(artifactToCheck, data); } diff --git a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessDataTest.java b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessDataTest.java index 48c9001..2df0d86 100644 --- a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessDataTest.java +++ b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessDataTest.java @@ -14,7 +14,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Set; -import org.junit.Assert; import org.eclipse.osee.framework.core.data.IArtifactType; import org.eclipse.osee.framework.core.data.IAttributeType; import org.eclipse.osee.framework.core.data.IOseeBranch; @@ -30,11 +29,13 @@ import org.eclipse.osee.framework.core.model.IBasicArtifact; import org.eclipse.osee.framework.core.model.RelationTypeSide; import org.eclipse.osee.framework.core.model.access.AccessData; import org.eclipse.osee.framework.core.model.access.AccessDetail; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.core.model.test.mocks.MockDataFactory; import org.eclipse.osee.framework.core.model.test.mocks.ModelAsserts; import org.eclipse.osee.framework.core.model.type.RelationType; import org.eclipse.osee.framework.jdk.core.util.Compare; import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -132,9 +133,12 @@ public class AccessDataTest { public void testAccessDetailMerge() throws OseeCoreException { AccessData data = new AccessData(); - AccessDetail<?> detail1 = MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.DENY, "item 1 - deny"); + AccessDetail<?> detail1 = + MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.DENY, "item 1 - deny", + new Scope().add("same_scope")); AccessDetail<?> detail2 = - MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.WRITE, "item 2 - write"); + MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.WRITE, "item 2 - write", + new Scope().add("same_scope")); data.add(artifactToCheck, detail1); data.add(artifactToCheck, detail2); @@ -145,14 +149,18 @@ public class AccessDataTest { Assert.assertEquals(detail2.getAccessObject(), actualDetail.getAccessObject()); Assert.assertEquals(PermissionEnum.DENY, actualDetail.getPermission()); - Assert.assertEquals("item 1 - deny", actualDetail.getReason()); + Assert.assertEquals("item 1 - deny, item 2 - write", actualDetail.getReason()); + Assert.assertEquals("/same_scope", actualDetail.getScope().getPath()); } @Test public void testAccessDetailMultipleKeys() throws OseeCoreException { - AccessDetail<?> detail1 = MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.DENY, "item 1 - deny"); + AccessDetail<?> detail1 = + MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.DENY, "item 1 - deny", + new Scope().add("same_scope")); AccessDetail<?> detail2 = - MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.WRITE, "item 2 - write"); + MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.WRITE, "item 2 - write", + new Scope().add("same_scope")); AccessData data = new AccessData(); data.add(branchToCheck1, detail1); @@ -172,13 +180,62 @@ public class AccessDataTest { Assert.assertTrue(details.size() == 1); actualDetail = details.iterator().next(); Assert.assertEquals(detail2, actualDetail); + Assert.assertEquals("/same_scope", actualDetail.getScope().getPath()); + } + + @Test + public void testAccessDetailMultipleScopeLevels() throws OseeCoreException { + AccessDetail<?> detail1 = + MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.DENY, "item 1 - deny", + new Scope().add("more").add("specific").add("scope")); + AccessDetail<?> detail2 = + MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.WRITE, "item 2 - write", + new Scope().add("less").add("specific")); + + AccessData data = new AccessData(); + data.add(branchToCheck1, detail1); + data.add(branchToCheck1, detail2); + + Collection<AccessDetail<?>> details = data.getAccess(branchToCheck1); + Assert.assertTrue(details.size() == 1); + AccessDetail<?> actualDetail = details.iterator().next(); + Assert.assertEquals(detail1, actualDetail); + Assert.assertEquals("/more/specific/scope", actualDetail.getScope().getPath()); + } + + @Test + public void testAccessDetailLegacyScope() throws OseeCoreException { + AccessDetail<?> specificDetail = + MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.DENY, "item 1 - deny", + new Scope().add("more").add("specific").add("scope")); + AccessDetail<?> lessSpecificDetail = + MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.WRITE, "item 2 - write", + new Scope().add("less").add("specific")); + AccessDetail<?> legacyDetail = + MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.WRITE, "item 2 - write", + Scope.createLegacyScope()); + + AccessData data = new AccessData(); + data.add(branchToCheck1, specificDetail); + data.add(branchToCheck1, legacyDetail); + data.add(branchToCheck1, lessSpecificDetail); + + Collection<AccessDetail<?>> details = data.getAccess(branchToCheck1); + Assert.assertTrue(details.size() == 1); + AccessDetail<?> actualDetail = details.iterator().next(); + Assert.assertEquals(specificDetail, actualDetail); + Assert.assertEquals("/more/specific/scope", actualDetail.getScope().getPath()); + Assert.assertEquals(PermissionEnum.DENY, actualDetail.getPermission()); } @Test public void testToString() throws OseeCoreException { - AccessDetail<?> detail1 = MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.DENY, "item 1 - deny"); + AccessDetail<?> detail1 = + MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.DENY, "item 1 - deny", + new Scope().add("scope 1")); AccessDetail<?> detail2 = - MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.WRITE, "item 2 - write"); + MockDataFactory.createAccessDetails(relTypeSide1, PermissionEnum.WRITE, "item 2 - write", + new Scope().add("scope 2")); AccessData data = new AccessData(); Assert.assertEquals("accessData []", data.toString()); @@ -187,8 +244,8 @@ public class AccessDataTest { String message = "accessData [\n" + // - "\tCommon - accessDetail [ object=[RelationTypeSide [type=[sideA_2]<-[relType_2]->[sideB_2], side=SIDE_A]] permission=[WRITE] reason=[item 2 - write]],\n" + // - "\tSystem Root Branch - accessDetail [ object=[RelationTypeSide [type=[sideA_2]<-[relType_2]->[sideB_2], side=SIDE_A]] permission=[DENY] reason=[item 1 - deny]],\n" + // + "\tCommon - AccessDetail [permission=WRITE, scope=/scope_2, accessObject=RelationTypeSide [type=[sideA_2]<-[relType_2]->[sideB_2], side=SIDE_A], reason=item 2 - write],\n" + // + "\tSystem Root Branch - AccessDetail [permission=DENY, scope=/scope_1, accessObject=RelationTypeSide [type=[sideA_2]<-[relType_2]->[sideB_2], side=SIDE_A], reason=item 1 - deny],\n" + // "]"; Assert.assertEquals(message, data.toString()); } @@ -206,7 +263,8 @@ public class AccessDataTest { private static AccessDetail<?> createDetail(int index, Object expAccessObject) { PermissionEnum expPermission = PermissionEnum.values()[Math.abs(index % PermissionEnum.values().length)]; - return MockDataFactory.createAccessDetails(expAccessObject, expPermission, "reason: " + index); + return MockDataFactory.createAccessDetails(expAccessObject, expPermission, "reason: " + index, + new Scope().add("scope: " + index)); } private static void createTestObjects(Collection<AccessDetail<?>> expectedDetails, Object... objects) { diff --git a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessDetailTest.java b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessDetailTest.java index 35e8192..a1ca22c 100644 --- a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessDetailTest.java +++ b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessDetailTest.java @@ -12,12 +12,13 @@ package org.eclipse.osee.framework.core.model.test.access; import java.util.ArrayList; import java.util.Collection; -import org.junit.Assert; import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.access.AccessDetail; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.core.model.test.mocks.MockDataFactory; import org.eclipse.osee.framework.jdk.core.util.Strings; +import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -35,17 +36,19 @@ public class AccessDetailTest { private final PermissionEnum expPermission; private final String expReason; private final AccessDetail<?> target; + private final Scope scope; - public AccessDetailTest(AccessDetail<?> target, Object expAccessObject, PermissionEnum expPermission, String expReason) { + public AccessDetailTest(AccessDetail<?> target, Object expAccessObject, PermissionEnum expPermission, String expReason, Scope scope) { this.target = target; this.expAccessObject = expAccessObject; this.expPermission = expPermission; this.expReason = expReason; + this.scope = scope; } @Test public void testGetReason() { - Assert.assertEquals(expReason, target.getReason()); + Assert.assertEquals(Strings.isValid(expReason) ? expReason : scope.getPath(), target.getReason()); } @Test @@ -75,11 +78,13 @@ public class AccessDetailTest { Assert.assertTrue(target.equals(target)); Assert.assertTrue(target.hashCode() == target.hashCode()); - AccessDetail<?> other = MockDataFactory.createAccessDetails(expAccessObject, PermissionEnum.NONE, null); + AccessDetail<?> other = + MockDataFactory.createAccessDetails(expAccessObject, PermissionEnum.NONE, null, new Scope().add("other")); Assert.assertTrue(target.equals(other)); Assert.assertTrue(target.hashCode() == other.hashCode()); - AccessDetail<?> nulled = MockDataFactory.createAccessDetails(null, PermissionEnum.NONE, null); + AccessDetail<?> nulled = + MockDataFactory.createAccessDetails(null, PermissionEnum.NONE, null, new Scope().add("nulled")); Assert.assertFalse(target.equals(nulled)); Assert.assertTrue(target.hashCode() != nulled.hashCode()); @@ -94,27 +99,27 @@ public class AccessDetailTest { @Test public void testToString() { String expected = - "accessDetail [ object=[" + expAccessObject + "] permission=[" + expPermission + "] reason=[" + expReason + "]]"; + "AccessDetail [permission=" + expPermission + ", scope=" + scope + ", accessObject=" + expAccessObject + ", reason=" + (Strings.isValid(expReason) ? expReason : scope) + "]"; Assert.assertEquals(expected, target.toString()); } @Parameters public static Collection<Object[]> getData() throws OseeCoreException { Collection<Object[]> data = new ArrayList<Object[]>(); - addTest(data, "Hello", PermissionEnum.DENY, "A reason"); - addTest(data, 456, PermissionEnum.WRITE, null); - addTest(data, MockDataFactory.createArtifactType(4), PermissionEnum.FULLACCESS, "reason3"); - addTest(data, MockDataFactory.createAttributeType(), PermissionEnum.READ, "xx"); + addTest(data, "Hello", PermissionEnum.DENY, "A reason", new Scope().add("hello_scope")); + addTest(data, 456, PermissionEnum.WRITE, null, new Scope().add("456_scope")); + addTest(data, MockDataFactory.createArtifactType(4), PermissionEnum.FULLACCESS, "reason3", new Scope()); + addTest(data, MockDataFactory.createAttributeType(), PermissionEnum.READ, "xx", new Scope().add("xx")); return data; } - private static <T> void addTest(Collection<Object[]> data, T expAccessObject, PermissionEnum expPermission, String expReason) { + private static <T> void addTest(Collection<Object[]> data, T expAccessObject, PermissionEnum expPermission, String expReason, Scope scope) { String reasonToCheck = expReason; if (expReason == null) { reasonToCheck = Strings.emptyString(); } - AccessDetail<T> target = MockDataFactory.createAccessDetails(expAccessObject, expPermission, expReason); - data.add(new Object[] {target, expAccessObject, expPermission, reasonToCheck}); + AccessDetail<T> target = MockDataFactory.createAccessDetails(expAccessObject, expPermission, expReason, scope); + data.add(new Object[] {target, expAccessObject, expPermission, reasonToCheck, scope}); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessTestSuite.java b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessTestSuite.java index e619464..2524f92 100644 --- a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessTestSuite.java +++ b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/AccessTestSuite.java @@ -19,6 +19,7 @@ AccessDataTest.class, // AccessDataQueryTest.class, // AccessDetailTest.class, // PermissionStatusTest.class, // + ScopeTest.class, // }) /** * @author Roberto E. Escobar diff --git a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/ScopeTest.java b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/ScopeTest.java new file mode 100644 index 0000000..8e49252 --- a/dev/null +++ b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/access/ScopeTest.java @@ -0,0 +1,80 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.framework.core.model.test.access; + +import junit.framework.Assert; +import org.eclipse.osee.framework.core.model.access.Scope; +import org.junit.Test; + +/** + * @author John Misinco + */ +public class ScopeTest { + + @Test + public void testGetPath() { + Scope scope = new Scope(); + scope.add("foo"); + scope.add("bar bar"); + scope.addSubPath("baz"); + String expectedPath = "/foo/bar_bar#baz"; + Assert.assertEquals(expectedPath, scope.getPath()); + } + + @Test + public void testEquals() { + Scope legacyScopeA = Scope.createLegacyScope(); + Scope legacyScopeB = Scope.createLegacyScope(); + legacyScopeA.add("foo"); + legacyScopeB.addSubPath("bar"); + Assert.assertTrue(legacyScopeA.equals(legacyScopeB)); + + Scope scopeA = new Scope(); + Scope scopeB = new Scope(); + scopeA.add("foo"); + scopeA.addSubPath("bar"); + scopeA.add("baz"); + scopeB.add("foo"); + scopeB.addSubPath("bar"); + scopeB.add("baz"); + Assert.assertTrue(scopeA.equals(scopeB)); + + Scope scopeC = new Scope(); + Assert.assertFalse(legacyScopeA.equals(scopeA)); + Assert.assertFalse(legacyScopeA.equals(scopeC)); + } + + @Test + public void testIsLegacy() { + Scope legacyScope = Scope.createLegacyScope(); + Scope scope = new Scope(); + legacyScope.add("foo"); + legacyScope.addSubPath("bar"); + String expectedScope = "##"; + Assert.assertEquals(expectedScope, legacyScope.getPath()); + Assert.assertTrue(legacyScope.isLegacy()); + Assert.assertFalse(scope.isLegacy()); + } + + @Test + public void testClone() { + Scope scope = new Scope(); + Scope legacyScope = Scope.createLegacyScope(); + + scope.add("foo").add("bar").addSubPath("baz").addSubPath("baz"); + Scope scopeClone = scope.clone(); + Assert.assertEquals(scope, scopeClone); + + scopeClone = legacyScope.clone(); + Assert.assertTrue(legacyScope.equals(scopeClone)); + } + +} diff --git a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/mocks/MockDataFactory.java b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/mocks/MockDataFactory.java index 4662219..2e9b2ab 100644 --- a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/mocks/MockDataFactory.java +++ b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/test/mocks/MockDataFactory.java @@ -11,7 +11,6 @@ package org.eclipse.osee.framework.core.model.test.mocks; import java.util.Date; -import org.junit.Assert; import org.eclipse.osee.framework.core.data.IAccessContextId; import org.eclipse.osee.framework.core.data.IArtifactType; import org.eclipse.osee.framework.core.data.TokenFactory; @@ -30,6 +29,7 @@ import org.eclipse.osee.framework.core.model.OseeCachingService; import org.eclipse.osee.framework.core.model.OseeEnumEntry; import org.eclipse.osee.framework.core.model.TransactionRecord; import org.eclipse.osee.framework.core.model.access.AccessDetail; +import org.eclipse.osee.framework.core.model.access.Scope; import org.eclipse.osee.framework.core.model.cache.ArtifactTypeCache; import org.eclipse.osee.framework.core.model.cache.AttributeTypeCache; import org.eclipse.osee.framework.core.model.cache.BranchCache; @@ -44,6 +44,7 @@ import org.eclipse.osee.framework.core.model.type.RelationType; import org.eclipse.osee.framework.core.services.IOseeCachingService; import org.eclipse.osee.framework.core.services.IOseeCachingServiceProvider; import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.junit.Assert; /** * @author Roberto E. Escobar @@ -61,12 +62,12 @@ public final class MockDataFactory { return cxt; } - public static <T> AccessDetail<T> createAccessDetails(T expAccessObject, PermissionEnum expPermission, String expReason) { + public static <T> AccessDetail<T> createAccessDetails(T expAccessObject, PermissionEnum expPermission, String expReason, Scope scope) { AccessDetail<T> target; if (expReason != null) { - target = new AccessDetail<T>(expAccessObject, expPermission, expReason); + target = new AccessDetail<T>(expAccessObject, expPermission, scope, expReason); } else { - target = new AccessDetail<T>(expAccessObject, expPermission); + target = new AccessDetail<T>(expAccessObject, expPermission, scope); } return target; } diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessData.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessData.java index 6118a54..22a0e8c 100644 --- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessData.java +++ b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessData.java @@ -13,7 +13,6 @@ package org.eclipse.osee.framework.core.model.access; import java.util.Collection; import java.util.HashSet; import java.util.Set; -import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.util.Conditions; import org.eclipse.osee.framework.jdk.core.type.CompositeKeyHashMap; @@ -56,15 +55,10 @@ public final class AccessData { Conditions.checkNotNull(key, "access key"); Conditions.checkNotNull(data, "access data"); - AccessDetail<?> access = accessMap.get(key, data.getAccessObject()); - if (access == null) { - accessMap.put(key, data.getAccessObject(), data); - } else { - PermissionEnum original = access.getPermission(); - PermissionEnum newPermission = data.getPermission(); - PermissionEnum netPermission = PermissionEnum.getMostRestrictive(original, newPermission); - access.setPermission(netPermission); - } + AccessDetail<?> original = accessMap.get(key, data.getAccessObject()); + + AccessDetail<?> resolvedAccess = AccessDetail.resolveAccess(original, data); + accessMap.put(key, data.getAccessObject(), resolvedAccess); } public Collection<AccessDetail<?>> getAccess(Object key) throws OseeCoreException { diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessDataQuery.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessDataQuery.java index 4891252..837befe 100644 --- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessDataQuery.java +++ b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessDataQuery.java @@ -39,14 +39,14 @@ public class AccessDataQuery { public void branchMatches(PermissionEnum permissionToMatch, IOseeBranch branchToMatch, PermissionStatus permissionStatus) throws OseeCoreException { Collection<AccessDetail<?>> branchAccessDetails = accessData.getAccess(branchToMatch); - checkAccess(branchAccessDetails, branchToMatch, permissionToMatch, permissionStatus); + setTypePermissionStatus(permissionStatus, permissionToMatch, branchAccessDetails, branchToMatch); } public void branchArtifactTypeMatches(PermissionEnum permissionToMatch, IOseeBranch branchToMatch, IArtifactType artifactType, PermissionStatus permissionStatus) throws OseeCoreException { branchMatches(permissionToMatch, branchToMatch, permissionStatus); if (permissionStatus.matched()) { Collection<AccessDetail<?>> branchAccessDetails = accessData.getAccess(branchToMatch); - checkAccess(branchAccessDetails, artifactType, permissionToMatch, permissionStatus); + setTypePermissionStatus(permissionStatus, permissionToMatch, branchAccessDetails, artifactType); } } @@ -54,7 +54,7 @@ public class AccessDataQuery { branchMatches(permissionToMatch, branchToMatch, permissionStatus); if (permissionStatus.matched()) { Collection<AccessDetail<?>> branchAccessDetails = accessData.getAccess(branchToMatch); - checkAccess(branchAccessDetails, attributeType, permissionToMatch, permissionStatus); + setTypePermissionStatus(permissionStatus, permissionToMatch, branchAccessDetails, attributeType); } } @@ -62,7 +62,7 @@ public class AccessDataQuery { branchMatches(permissionToMatch, branchToMatch, permissionStatus); if (permissionStatus.matched()) { Collection<AccessDetail<?>> branchAccessDetails = accessData.getAccess(branchToMatch); - checkAccess(branchAccessDetails, relationType, permissionToMatch, permissionStatus); + setTypePermissionStatus(permissionStatus, permissionToMatch, branchAccessDetails, relationType); } } @@ -72,35 +72,76 @@ public class AccessDataQuery { branchArtifactTypeMatches(permissionToMatch, branchToMatch, typeToMatch, permissionStatus); if (permissionStatus.matched()) { Collection<AccessDetail<?>> artifactAccessDetails = accessData.getAccess(artifact); - checkAccess(artifactAccessDetails, typeToMatch, permissionToMatch, permissionStatus); + setTypePermissionStatus(permissionStatus, permissionToMatch, artifactAccessDetails, artifact); } } - public void artifactMatches(PermissionEnum permissionToMatch, IBasicArtifact<?> artifact, PermissionStatus permissionStatus) throws OseeCoreException { - artifactTypeMatches(permissionToMatch, artifact, permissionStatus); - if (permissionStatus.matched()) { - Collection<AccessDetail<?>> artifactAccessDetails = accessData.getAccess(artifact); - checkAccess(artifactAccessDetails, artifact, permissionToMatch, permissionStatus); + public void artifactMatches(PermissionEnum permissionToMatch, final IBasicArtifact<?> artifact, PermissionStatus permissionStatus) throws OseeCoreException { + Collection<AccessDetail<?>> mainList = accessData.getAccess(artifact); + AccessDetail<?> mostSpecific = getNetAccess(mainList, new AccessFilter() { + + @Override + public boolean accept(AccessDetail<?> access) { + return access.getAccessObject().equals(artifact) || access.getAccessObject().equals( + artifact.getArtifactType()); + } + }); + + setPermissionStatus(permissionStatus, permissionToMatch, mostSpecific); + } + + private class ObjectFilter implements AccessFilter { + Object toFilter; + + ObjectFilter(Object toFilter) { + this.toFilter = toFilter; + } + + @Override + public boolean accept(AccessDetail<?> access) { + return access.getAccessObject().equals(toFilter); } } - public void attributeTypeMatches(PermissionEnum permissionToMatch, IBasicArtifact<?> artifact, IAttributeType attributeType, PermissionStatus permissionStatus) throws OseeCoreException { + private class RelationTypeSideFilter implements AccessFilter { + IRelationTypeSide toFilter; + + RelationTypeSideFilter(IRelationTypeSide toFilter) { + this.toFilter = toFilter; + } + + @Override + public boolean accept(AccessDetail<?> access) { + if (access.getAccessObject() instanceof IRelationTypeSide) { + IRelationTypeSide toCheck = (IRelationTypeSide) access.getAccessObject(); + return (toCheck.getSide().equals(toFilter.getSide())) && (toCheck.getGuid().equals(toFilter.getGuid())); + } + return false; + } + } + + public void attributeTypeMatches(PermissionEnum permissionToMatch, IBasicArtifact<?> artifact, final IAttributeType attributeType, PermissionStatus permissionStatus) throws OseeCoreException { artifactMatches(permissionToMatch, artifact, permissionStatus); if (permissionStatus.matched()) { Collection<AccessDetail<?>> branchAccessDetails = accessData.getAccess(artifact.getBranch()); - checkAccess(branchAccessDetails, attributeType, permissionToMatch, permissionStatus); + AccessFilter filter = new ObjectFilter(attributeType); + AccessDetail<?> branchPermission = getNetAccess(branchAccessDetails, filter); + setPermissionStatus(permissionStatus, permissionToMatch, branchPermission); if (permissionStatus.matched()) { Collection<AccessDetail<?>> artifactAccessDetails = accessData.getAccess(artifact); - checkAccess(artifactAccessDetails, attributeType, permissionToMatch, permissionStatus); + AccessDetail<?> attributePermission = getNetAccess(artifactAccessDetails, filter); + setPermissionStatus(permissionStatus, permissionToMatch, attributePermission); } } } - public void relationTypeMatches(PermissionEnum permissionToMatch, IRelationTypeSide relationTypeSide, PermissionStatus permissionStatus) throws OseeCoreException { - Collection<AccessDetail<?>> relationAccessDetails = accessData.getAccess(relationTypeSide); - checkAccess(relationAccessDetails, relationTypeSide, permissionToMatch, permissionStatus); + public void relationTypeMatches(PermissionEnum permissionToMatch, IBasicArtifact<?> artifact, IRelationTypeSide relationTypeSide, PermissionStatus permissionStatus) throws OseeCoreException { + Collection<AccessDetail<?>> relationAccessDetails = accessData.getAccess(artifact); + AccessFilter filter = new RelationTypeSideFilter(relationTypeSide); + AccessDetail<?> relationDetail = getNetAccess(relationAccessDetails, filter); + setPermissionStatus(permissionStatus, permissionToMatch, relationDetail); } public boolean matchesAll(PermissionEnum permissionToMatch) throws OseeCoreException { @@ -118,22 +159,40 @@ public class AccessDataQuery { return permissionStatus.matched(); } - private <T> void checkAccess(Collection<AccessDetail<?>> accessList, T itemToMatch, PermissionEnum permissionToMatch, PermissionStatus status) { - for (AccessDetail<?> data : accessList) { - Object object = data.getAccessObject(); - if (itemToMatch.equals(object)) { - if (data.getPermission() == null) { - status.setMatches(false); - status.setReason("null permission"); - } else { - boolean matches = data.getPermission().matches(permissionToMatch); - if (!matches) { - status.setReason(data.getReason()); - } - status.setMatches(matches); - } - break; + private <T> void setTypePermissionStatus(PermissionStatus permissionStatus, PermissionEnum permissionToMatch, Collection<AccessDetail<?>> accessDetails, T toMatch) { + AccessFilter filter = new ObjectFilter(toMatch); + AccessDetail<?> accessDetail = getNetAccess(accessDetails, filter); + setPermissionStatus(permissionStatus, permissionToMatch, accessDetail); + } + + private void setPermissionStatus(PermissionStatus status, PermissionEnum permissionToMatch, AccessDetail<?> mostSpecific) { + if (mostSpecific == null) { + return; + } + if (mostSpecific.getPermission() == null) { + status.setMatches(false); + } else { + boolean matches = mostSpecific.getPermission().matches(permissionToMatch); + if (!matches) { + status.setReason(mostSpecific.getReason()); + } + status.setMatches(matches); + } + } + + private interface AccessFilter { + + public boolean accept(AccessDetail<?> access); + + } + + private AccessDetail<?> getNetAccess(Collection<AccessDetail<?>> toFilter, AccessFilter filter) { + AccessDetail<?> mostSpecific = null; + for (AccessDetail<?> entry : toFilter) { + if (filter.accept(entry)) { + mostSpecific = AccessDetail.resolveAccess(mostSpecific, entry); } } + return mostSpecific; } } diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessDetail.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessDetail.java index 954f971..9e641c2 100644 --- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessDetail.java +++ b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessDetail.java @@ -13,31 +13,44 @@ package org.eclipse.osee.framework.core.model.access; import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.jdk.core.util.Strings; -public class AccessDetail<T> { - private PermissionEnum permission; +public class AccessDetail<T> { //implements Comparable<AccessDetail<?>> { + private final T accessObject; - private final String reason; + private PermissionEnum permission; + private Scope scope; + private String reason; - public AccessDetail(T accessObject, PermissionEnum permission) { - this.accessObject = accessObject; - this.permission = permission; - this.reason = Strings.emptyString(); + public AccessDetail(T accessObject, PermissionEnum permission, Scope scope) { + this(accessObject, permission, scope, Strings.emptyString()); } - public AccessDetail(T accessObject, PermissionEnum permission, String reason) { + public AccessDetail(T accessObject, PermissionEnum permission, Scope scope, String reason) { this.accessObject = accessObject; this.permission = permission; this.reason = reason; + this.scope = scope; } public String getReason() { - return reason; + return Strings.isValid(reason) ? reason : scope.getPath(); + } + + public void setReason(String reason) { + this.reason = reason; } public PermissionEnum getPermission() { return permission; } + public Scope getScope() { + return scope; + } + + public void setScope(Scope scope) { + this.scope = scope; + } + public T getAccessObject() { return accessObject; } @@ -71,7 +84,52 @@ public class AccessDetail<T> { @Override public String toString() { - return String.format("accessDetail [ object=[%s] permission=[%s] reason=[%s]]", getAccessObject(), - getPermission(), getReason()); + return "AccessDetail [permission=" + getPermission() + ", scope=" + getScope() + ", accessObject=" + getAccessObject() + ", reason=" + getReason() + "]"; + } + + public static AccessDetail<?> resolveAccess(AccessDetail<?> original, AccessDetail<?> data) { + AccessDetail<?> toReturn = data; + if (original != null) { + Scope origScope = original.getScope(); + Scope dataScope = data.getScope(); + + if (origScope.isLegacy() || dataScope.isLegacy() || origScope.getPath().equals(dataScope.getPath())) { + toReturn = getMostRestrictive(original, data); + } else { + if (dataScope.getScopeDepth() > origScope.getScopeDepth()) { + toReturn = data; + } else { + toReturn = original; + } + } + + } + return toReturn; + } + + private static AccessDetail<?> getMostRestrictive(AccessDetail<?> original, AccessDetail<?> data) { + PermissionEnum origPermission = original.getPermission(); + PermissionEnum newPermission = data.getPermission(); + PermissionEnum netPermission = PermissionEnum.getMostRestrictive(origPermission, newPermission); + + AccessDetail<?> toReturn; + if (netPermission.equals(origPermission)) { + toReturn = original; + String netReason = merge(toReturn.getReason(), data.getReason()); + toReturn.setReason(netReason); + } else { + toReturn = data; + } + return toReturn; + } + + public static String merge(String reason1, String reason2) { + StringBuilder builder = new StringBuilder(); + builder.append(reason1); + if (!reason1.equals(reason2)) { + builder.append(", "); + builder.append(reason2); + } + return builder.toString(); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/Scope.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/Scope.java new file mode 100644 index 0000000..c9362c0 --- a/dev/null +++ b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/Scope.java @@ -0,0 +1,132 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.framework.core.model.access; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Roberto E. Escobar + * @author John Misinco + */ +public class Scope implements Cloneable { + + private static final String LEGACY_SCOPE = "##"; + + private final List<String> scopePath = new ArrayList<String>(); + + public Scope() { + // Do nothing + } + + public int getScopeDepth() { + return scopePath.size(); + } + + public Scope add(String value) { + scopePath.add(normalize(value)); + return this; + } + + public String getPath() { + StringBuilder builder = new StringBuilder(); + for (String entry : scopePath) { + if (!entry.startsWith("#")) { + builder.append("/"); + } + builder.append(entry); + } + return builder.toString(); + } + + private String normalize(String value) { + return value.replaceAll(" ", "_"); + } + + public Scope addSubPath(String value) { + scopePath.add("#" + normalize(value)); + return this; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((scopePath == null) ? 0 : scopePath.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + Scope other = (Scope) obj; + if (scopePath == null) { + if (other.scopePath != null) { + return false; + } + } else if (!scopePath.equals(other.scopePath)) { + return false; + } + return true; + } + + public boolean isLegacy() { + return this instanceof LegacyScope; + } + + @Override + public String toString() { + return getPath(); + } + + @Override + public Scope clone() { + Scope scope = new Scope(); + for (String value : this.scopePath) { + scope.add(value); + } + return scope; + } + + public static Scope createLegacyScope() { + return new LegacyScope(); + } + + private static final class LegacyScope extends Scope { + @Override + public Scope add(String path) { + return this; + } + + @Override + public Scope addSubPath(String path) { + return this; + } + + @Override + public String getPath() { + return LEGACY_SCOPE; + } + + @Override + public Scope clone() { + return Scope.createLegacyScope(); + } + } +} diff --git a/plugins/org.eclipse.osee.framework.skynet.core/.project b/plugins/org.eclipse.osee.framework.skynet.core/.project index 3f1dd25..40a6f2e 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/.project +++ b/plugins/org.eclipse.osee.framework.skynet.core/.project @@ -30,6 +30,11 @@ <arguments> </arguments> </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ds.core.builder</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> <nature>org.eclipse.pde.PluginNature</nature> diff --git a/plugins/org.eclipse.osee.framework.skynet.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.skynet.core/META-INF/MANIFEST.MF index c2ee9da..cc548fe 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.framework.skynet.core/META-INF/MANIFEST.MF @@ -76,3 +76,4 @@ Import-Package: org.apache.commons.lang;version="2.4.0", org.eclipse.osee.framework.plugin.core.util Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy +Service-Component: OSGI-INF/access.policy.service.xml diff --git a/plugins/org.eclipse.osee.framework.skynet.core/OSGI-INF/access.policy.service.xml b/plugins/org.eclipse.osee.framework.skynet.core/OSGI-INF/access.policy.service.xml new file mode 100644 index 0000000..bef9f3b --- a/dev/null +++ b/plugins/org.eclipse.osee.framework.skynet.core/OSGI-INF/access.policy.service.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.eclipse.osee.framework.skynet.core.internal.AccessPolicyImpl"> + <implementation class="org.eclipse.osee.framework.skynet.core.internal.AccessPolicyImpl"/> + <service> + <provide interface="org.eclipse.osee.framework.skynet.core.AccessPolicy"/> + </service> + <reference bind="setAccessControlService" cardinality="1..1" interface="org.eclipse.osee.framework.core.services.IAccessControlService" name="IAccessControlService" policy="static"/> +</scr:component> diff --git a/plugins/org.eclipse.osee.framework.skynet.core/build.properties b/plugins/org.eclipse.osee.framework.skynet.core/build.properties index 09af1dd..7f4e0a1 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/build.properties +++ b/plugins/org.eclipse.osee.framework.skynet.core/build.properties @@ -1,7 +1,8 @@ -source.. = src/ output.. = bin/ bin.includes = META-INF/,\ plugin.xml,\ support/,\ .,\ - schema/ + schema/,\ + OSGI-INF/access.policy.service.xml +source.. = src/ diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/IAccessPolicyHandlerService.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/AccessPolicy.java index bb088d1..21de16e 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/IAccessPolicyHandlerService.java +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/AccessPolicy.java @@ -8,7 +8,7 @@ * Contributors: * Boeing - initial API and implementation *******************************************************************************/ -package org.eclipse.osee.framework.ui.skynet.artifact; +package org.eclipse.osee.framework.skynet.core; import java.util.Collection; import java.util.logging.Level; @@ -20,18 +20,22 @@ import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.IBasicArtifact; import org.eclipse.osee.framework.core.model.access.PermissionStatus; -import org.eclipse.osee.framework.core.services.IAccessControlService; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -public interface IAccessPolicyHandlerService { - PermissionStatus hasAttributeTypePermission(Collection<? extends IBasicArtifact<?>> artifacts, IAttributeType attributeType, PermissionEnum permission, Level level) throws OseeCoreException; +public interface AccessPolicy { + + boolean isReadOnly(Artifact artifact); + + void removePermissions(IOseeBranch branch) throws OseeCoreException; - PermissionStatus hasRelationSidePermission(Collection<? extends IRelationTypeSide> relationTypeSides, PermissionEnum permission, Level level) throws OseeCoreException; + PermissionStatus hasBranchPermission(IOseeBranch branch, PermissionEnum permission, Level level) throws OseeCoreException; + + PermissionStatus hasAttributeTypePermission(Collection<? extends IBasicArtifact<?>> artifacts, IAttributeType attributeType, PermissionEnum permission, Level level) throws OseeCoreException; PermissionStatus hasArtifactTypePermission(IOseeBranch branch, Collection<? extends IArtifactType> artifactTypes, PermissionEnum permission, Level level) throws OseeCoreException; PermissionStatus hasArtifactPermission(Collection<? extends IBasicArtifact<?>> artifacts, PermissionEnum permission, Level level) throws OseeCoreException; - PermissionStatus hasArtifactRelatablePermission(Collection<? extends IBasicArtifact<?>> artifacts, Collection<? extends IRelationTypeSide> relationTypeSides, PermissionEnum permission, Level level) throws OseeCoreException; + PermissionStatus canRelationBeModified(IBasicArtifact<?> subject, Collection<? extends IBasicArtifact<?>> toBeRelated, IRelationTypeSide relationTypeSide, Level level) throws OseeCoreException; - IAccessControlService getAccessService(); } diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java index b7b5fc5..e250559 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java @@ -37,7 +37,6 @@ import org.eclipse.osee.framework.core.enums.CoreRelationTypes; import org.eclipse.osee.framework.core.enums.DeletionFlag; import org.eclipse.osee.framework.core.enums.EditState; import org.eclipse.osee.framework.core.enums.ModificationType; -import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.enums.RelationOrderBaseTypes; import org.eclipse.osee.framework.core.enums.RelationSide; import org.eclipse.osee.framework.core.enums.SystemUser; @@ -60,7 +59,6 @@ import org.eclipse.osee.framework.core.model.type.ArtifactType; import org.eclipse.osee.framework.core.model.type.AttributeType; import org.eclipse.osee.framework.core.model.type.RelationType; import org.eclipse.osee.framework.core.operation.Operations; -import org.eclipse.osee.framework.core.services.IAccessControlService; import org.eclipse.osee.framework.jdk.core.type.HashCollection; import org.eclipse.osee.framework.jdk.core.type.Pair; import org.eclipse.osee.framework.jdk.core.util.Collections; @@ -69,6 +67,7 @@ import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.messaging.event.res.AttributeEventModificationType; import org.eclipse.osee.framework.messaging.event.skynet.event.SkynetAttributeChange; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts; import org.eclipse.osee.framework.skynet.core.User; import org.eclipse.osee.framework.skynet.core.UserManager; @@ -974,18 +973,13 @@ public class Artifact extends NamedIdentity implements IArtifact, IAdaptable, IB return hasDirtyAttributes() || hasDirtyRelations() || hasDirtyArtifactType(); } - private IAccessControlService getAccessControlService() { - return Activator.getInstance().getAccessControlService(); - } - public final boolean isReadOnly() { - try { - return isDeleted() || isHistorical() || !getBranch().isEditable() || !getAccessControlService().hasPermission( - this, PermissionEnum.WRITE); - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - return true; + boolean result = true; + AccessPolicy service = Activator.getInstance().getAccessPolicy(); + if (service != null) { + result = service.isReadOnly(this); } + return result; } public final void revert() { diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/httpRequests/CommitBranchHttpRequestOperation.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/httpRequests/CommitBranchHttpRequestOperation.java index 3bd6295..2e88c01 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/httpRequests/CommitBranchHttpRequestOperation.java +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/httpRequests/CommitBranchHttpRequestOperation.java @@ -78,7 +78,7 @@ public final class CommitBranchHttpRequestOperation extends AbstractOperation { private void handleResponse(BranchCommitResponse response, Branch sourceBranch) throws OseeCoreException { TransactionRecord newTransaction = response.getTransaction(); - Activator.getInstance().getAccessControlService().removePermissions(sourceBranch); + Activator.getInstance().getAccessPolicy().removePermissions(sourceBranch); // Update commit artifact cache with new information if (sourceBranch.getAssociatedArtifactId() > 0) { TransactionManager.cacheCommittedArtifactTransaction(BranchManager.getAssociatedArtifact(sourceBranch), diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/AccessPolicyImpl.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/AccessPolicyImpl.java new file mode 100644 index 0000000..e8a6443 --- a/dev/null +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/AccessPolicyImpl.java @@ -0,0 +1,201 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.framework.skynet.core.internal; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.logging.Level; +import org.eclipse.osee.framework.core.data.IArtifactType; +import org.eclipse.osee.framework.core.data.IAttributeType; +import org.eclipse.osee.framework.core.data.IOseeBranch; +import org.eclipse.osee.framework.core.data.IRelationTypeSide; +import org.eclipse.osee.framework.core.enums.PermissionEnum; +import org.eclipse.osee.framework.core.enums.RelationSide; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.model.IBasicArtifact; +import org.eclipse.osee.framework.core.model.RelationTypeSide; +import org.eclipse.osee.framework.core.model.access.AccessDataQuery; +import org.eclipse.osee.framework.core.model.access.PermissionStatus; +import org.eclipse.osee.framework.core.services.IAccessControlService; +import org.eclipse.osee.framework.jdk.core.util.Strings; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; +import org.eclipse.osee.framework.skynet.core.User; +import org.eclipse.osee.framework.skynet.core.UserManager; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; + +/** + * @author Roberto E. Escobar + */ +public class AccessPolicyImpl implements AccessPolicy { + + public IAccessControlService service; + + public AccessPolicyImpl() { + super(); + } + + public void setAccessControlService(IAccessControlService service) { + this.service = service; + } + + private User getCurrentUser() throws OseeCoreException { + return UserManager.getUser(); + } + + private IAccessControlService getAccessService() { + return service; + } + + private boolean printErrorMessage(User user, Collection<?> objects, PermissionStatus permissionStatus, Level level) { + boolean notMatched = !permissionStatus.matched(); + + if (notMatched) { + OseeLog.log(Activator.class, level, String.format( + "Access Denied - [%s] does not have valid permission to edit item(s) : [%s]%s", user, + org.eclipse.osee.framework.jdk.core.util.Collections.toString("; ", objects), + (Strings.isValid(permissionStatus.getReason()) ? "\n reason:[%s]" : ""))); + } + return notMatched; + } + + @Override + public void removePermissions(IOseeBranch branch) throws OseeCoreException { + getAccessService().removePermissions(branch); + } + + @Override + public boolean isReadOnly(Artifact artifact) { + try { + return artifact.isDeleted() || artifact.isHistorical() || !artifact.getBranch().isEditable() || !getAccessService().hasPermission( + this, PermissionEnum.WRITE); + } catch (OseeCoreException ex) { + OseeLog.log(Activator.class, Level.SEVERE, ex); + return true; + } + } + + @Override + public PermissionStatus hasBranchPermission(IOseeBranch branch, PermissionEnum permission, Level level) throws OseeCoreException { + User currentUser = getCurrentUser(); + AccessDataQuery query = getAccessService().getAccessData(currentUser, java.util.Collections.singleton(branch)); + PermissionStatus permissionStatus = new PermissionStatus(); + query.branchMatches(permission, branch, permissionStatus); + printErrorMessage(currentUser, java.util.Collections.singleton(branch), permissionStatus, level); + return permissionStatus; + } + + /** + * @param level - A level of OseeLevel.SEVERE_POPUP will cause an error dialog to be displayed to the user. All + * others will write to the log. + */ + @Override + public PermissionStatus hasAttributeTypePermission(Collection<? extends IBasicArtifact<?>> artifacts, IAttributeType attributeType, PermissionEnum permission, Level level) throws OseeCoreException { + User currentUser = getCurrentUser(); + AccessDataQuery query = getAccessService().getAccessData(currentUser, artifacts); + PermissionStatus permissionStatus = new PermissionStatus(); + + if (artifacts != null) { + for (IBasicArtifact<?> artifact : artifacts) { + query.attributeTypeMatches(permission, artifact, attributeType, permissionStatus); + + if (printErrorMessage(currentUser, artifacts, permissionStatus, level)) { + break; + } + } + } + return permissionStatus; + } + + @Override + public PermissionStatus hasArtifactPermission(Collection<? extends IBasicArtifact<?>> artifacts, PermissionEnum permission, Level level) throws OseeCoreException { + User currentUser = getCurrentUser(); + AccessDataQuery query = getAccessService().getAccessData(currentUser, artifacts); + PermissionStatus permissionStatus = new PermissionStatus(); + if (artifacts != null) { + for (IBasicArtifact<?> artifact : artifacts) { + if (artifact instanceof Artifact) { + Artifact fullArtifact = ((Artifact) artifact).getFullArtifact(); + if (fullArtifact.isInDb()) { + query.artifactMatches(permission, artifact, permissionStatus); + } + } + if (printErrorMessage(currentUser, artifacts, permissionStatus, level)) { + break; + } + } + } + return permissionStatus; + } + + @Override + public PermissionStatus hasArtifactTypePermission(IOseeBranch branch, Collection<? extends IArtifactType> artifactTypes, PermissionEnum permission, Level level) throws OseeCoreException { + User currentUser = getCurrentUser(); + AccessDataQuery query = getAccessService().getAccessData(currentUser, java.util.Collections.singleton(branch)); + PermissionStatus permissionStatus = new PermissionStatus(); + + if (artifactTypes != null) { + for (IArtifactType artifactType : artifactTypes) { + query.branchArtifactTypeMatches(permission, branch, artifactType, permissionStatus); + + if (printErrorMessage(currentUser, artifactTypes, permissionStatus, level)) { + break; + } + } + } + return permissionStatus; + } + + @Override + public PermissionStatus canRelationBeModified(IBasicArtifact<?> subject, Collection<? extends IBasicArtifact<?>> toBeRelated, IRelationTypeSide relationTypeSide, Level level) throws OseeCoreException { + PermissionStatus subjectPermission = canRelationBeModifiedHelper(subject, null, relationTypeSide, level); + if (subjectPermission.matched() && toBeRelated != null && !toBeRelated.isEmpty()) { + for (IBasicArtifact<?> art : toBeRelated) { + RelationSide otherSide = relationTypeSide.getSide().oppositeSide(); + PermissionStatus toBeRelatedPermission = + canRelationBeModifiedHelper(art, null, new RelationTypeSide(relationTypeSide, otherSide), level); + if (!toBeRelatedPermission.matched()) { + return toBeRelatedPermission; + } + } + } + return subjectPermission; + } + + private PermissionStatus canRelationBeModifiedHelper(IBasicArtifact<?> subject, Collection<? extends IBasicArtifact<?>> toBeRelated, IRelationTypeSide relationTypeSide, Level level) throws OseeCoreException { + PermissionStatus status = + hasArtifactRelationPermission(java.util.Collections.singleton(subject), + java.util.Collections.singleton(relationTypeSide), PermissionEnum.WRITE, level); + + if (!status.matched()) { + ArrayList<IBasicArtifact<?>> artifacts = new ArrayList<IBasicArtifact<?>>(); + artifacts.add(subject); + if (toBeRelated != null) { + artifacts.addAll(toBeRelated); + } + status = hasArtifactPermission(artifacts, PermissionEnum.WRITE, level); + } + return status; + } + + private PermissionStatus hasArtifactRelationPermission(Collection<? extends IBasicArtifact<?>> artifacts, Collection<? extends IRelationTypeSide> relationTypeSides, PermissionEnum permission, Level level) throws OseeCoreException { + AccessDataQuery query = getAccessService().getAccessData(getCurrentUser(), artifacts); + + PermissionStatus status = new PermissionStatus(); + for (IBasicArtifact<?> artifact : artifacts) { + for (IRelationTypeSide relationTypeSide : relationTypeSides) { + query.relationTypeMatches(permission, artifact, relationTypeSide, status); + } + } + + return status; + } +} diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/Activator.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/Activator.java index 116d284..daac36f 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/Activator.java +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/Activator.java @@ -19,7 +19,6 @@ import org.eclipse.core.runtime.Platform; import org.eclipse.osee.framework.core.client.ClientSessionManager; import org.eclipse.osee.framework.core.enums.OseeServiceTrackerId; import org.eclipse.osee.framework.core.model.TransactionRecordFactory; -import org.eclipse.osee.framework.core.services.IAccessControlService; import org.eclipse.osee.framework.core.services.IOseeCachingService; import org.eclipse.osee.framework.core.services.IOseeModelFactoryService; import org.eclipse.osee.framework.core.translation.IDataTranslationService; @@ -29,6 +28,7 @@ import org.eclipse.osee.framework.database.IOseeDatabaseServiceProvider; import org.eclipse.osee.framework.lifecycle.ILifecycleService; import org.eclipse.osee.framework.lifecycle.ILifecycleServiceProvider; import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.event.OseeEventManager; import org.eclipse.osee.framework.skynet.core.event.systems.EventManagerData; import org.osgi.framework.Bundle; @@ -69,7 +69,7 @@ public class Activator implements BundleActivator, IOseeDatabaseServiceProvider, createServiceTracker(context, IOseeModelFactoryService.class, OseeServiceTrackerId.OSEE_FACTORY_SERVICE); createServiceTracker(context, IOseeDatabaseService.class, OseeServiceTrackerId.OSEE_DATABASE_SERVICE); createServiceTracker(context, ILifecycleService.class, OseeServiceTrackerId.LIFECYCLE_SERVER); - createServiceTracker(context, IAccessControlService.class, OseeServiceTrackerId.OSEE_ACCESS_CONTROL_SERVICE); + createServiceTracker(context, AccessPolicy.class, OseeServiceTrackerId.OSEE_ACCESS_CONTROL_SERVICE); for (ServiceDependencyTracker dependencyTracker : trackers) { dependencyTracker.open(); @@ -131,7 +131,7 @@ public class Activator implements BundleActivator, IOseeDatabaseServiceProvider, return clazz.cast(service); } - public IAccessControlService getAccessControlService() { + public AccessPolicy getAccessPolicy() { try { Bundle bundle = Platform.getBundle("org.eclipse.osee.framework.access"); if (bundle.getState() != Bundle.ACTIVE) { @@ -140,6 +140,6 @@ public class Activator implements BundleActivator, IOseeDatabaseServiceProvider, } catch (BundleException ex) { OseeLog.log(Activator.class, Level.SEVERE, ex); } - return getTracker(OseeServiceTrackerId.OSEE_ACCESS_CONTROL_SERVICE, IAccessControlService.class); + return getTracker(OseeServiceTrackerId.OSEE_ACCESS_CONTROL_SERVICE, AccessPolicy.class); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationTypeSideSorter.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationTypeSideSorter.java index 5bd2ccb..0324008 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationTypeSideSorter.java +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationTypeSideSorter.java @@ -62,8 +62,9 @@ public class RelationTypeSideSorter extends RelationTypeSide { } else { return getIArtifact().equals(arg.getIArtifact()) && super.equals(arg); } + } else { + return super.equals(arg0); } - return false; } @Override diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java index 2be134c..f14cc37 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java @@ -11,22 +11,29 @@ package org.eclipse.osee.framework.skynet.core.transaction; import java.util.Collection; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.logging.Level; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.IOseeBranch; import org.eclipse.osee.framework.core.enums.DeletionFlag; import org.eclipse.osee.framework.core.enums.ModificationType; +import org.eclipse.osee.framework.core.enums.PermissionEnum; +import org.eclipse.osee.framework.core.enums.RelationSide; import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeStateException; import org.eclipse.osee.framework.core.model.Branch; +import org.eclipse.osee.framework.core.model.RelationTypeSide; import org.eclipse.osee.framework.core.model.TransactionRecord; +import org.eclipse.osee.framework.core.model.access.PermissionStatus; import org.eclipse.osee.framework.core.operation.AbstractOperation; import org.eclipse.osee.framework.core.operation.IOperation; import org.eclipse.osee.framework.core.operation.Operations; -import org.eclipse.osee.framework.core.services.IAccessControlService; import org.eclipse.osee.framework.database.core.ConnectionHandler; import org.eclipse.osee.framework.jdk.core.type.CompositeKeyHashMap; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.User; import org.eclipse.osee.framework.skynet.core.UserManager; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; @@ -39,6 +46,7 @@ import org.eclipse.osee.framework.skynet.core.internal.Activator; import org.eclipse.osee.framework.skynet.core.relation.RelationEventType; import org.eclipse.osee.framework.skynet.core.relation.RelationLink; import org.eclipse.osee.framework.skynet.core.relation.RelationTransactionData; +import org.eclipse.osee.framework.skynet.core.types.IArtifact; /** * @author Robert A. Fisher @@ -63,7 +71,7 @@ public final class SkynetTransaction extends AbstractOperation { private final String comment; private User user; private final TransactionMonitor txMonitor = new TransactionMonitor(); - private SkynetTransactionAccess access; + private AccessPolicy access; public SkynetTransaction(Branch branch, String comment) { super(comment, Activator.PLUGIN_ID); @@ -91,10 +99,75 @@ public final class SkynetTransaction extends AbstractOperation { return user; } - private SkynetTransactionAccess getAccess() throws OseeCoreException { + private void checkAccess(Artifact artifact) throws OseeCoreException { + Branch txBranch = getBranch(); + if (!artifact.getBranch().equals(txBranch)) { + String msg = + String.format("The artifact [%s] is on branch [%s] but this transaction is for branch [%s]", + artifact.getGuid(), artifact.getBranch(), txBranch); + throw new OseeStateException(msg); + } + + checkBranch(artifact); + checkNotHistorical(artifact); + getAccess().hasArtifactPermission(Collections.singleton(artifact), PermissionEnum.WRITE, Level.FINE); + } + + private void checkBranch(IArtifact artifact) throws OseeCoreException { + if (!isBranchWritable(artifact.getBranch())) { + throw new OseeStateException("The artifact [%s] is on a non-editable branch [%s] ", artifact, + artifact.getBranch()); + } + } + + private void checkBranch(RelationLink link) throws OseeCoreException { + if (!isBranchWritable(link.getBranch())) { + throw new OseeStateException("The relation link [%s] is on a non-editable branch [%s] ", link, + link.getBranch()); + } + } + + private void checkNotHistorical(Artifact artifact) throws OseeCoreException { + if (artifact.isHistorical()) { + throw new OseeStateException("The artifact [%s] must be at the head of the branch to be edited.", + artifact.getGuid()); + } + } + + private boolean isBranchWritable(Branch branch) throws OseeCoreException { + boolean toReturn = true; + if (!UserManager.duringMainUserCreation()) { + toReturn = + getAccess().hasBranchPermission(branch, PermissionEnum.WRITE, Level.FINE).matched() && branch.isEditable(); + } + return toReturn; + } + + private void checkAccess(Artifact artifact, RelationLink link) throws OseeCoreException { + checkBranch(link); + Branch txBranch = getBranch(); + if (!link.getBranch().equals(txBranch)) { + String msg = + String.format("The relation link [%s] is on branch [%s] but this transaction is for branch [%s]", + link.getId(), link.getBranch(), txBranch); + throw new OseeStateException(msg); + } + + RelationSide sideToCheck = link.getSide(artifact).oppositeSide(); + PermissionStatus status = + getAccess().canRelationBeModified(artifact, null, new RelationTypeSide(link.getRelationType(), sideToCheck), + Level.FINE); + + if (!status.matched()) { + throw new OseeCoreException( + "Access Denied - [%s] does not have valid permission to edit this relation\n itemsToPersist:[%s]\n reason:[%s]", + getAuthor(), link, status.getReason()); + } + } + + private AccessPolicy getAccess() { if (access == null) { - IAccessControlService service = Activator.getInstance().getAccessControlService(); - access = new SkynetTransactionAccess(service, getAuthor(), getBranch()); + access = Activator.getInstance().getAccessPolicy(); } return access; } @@ -152,10 +225,7 @@ public final class SkynetTransaction extends AbstractOperation { } private void addArtifactAndAttributes(Artifact artifact) throws OseeCoreException { - getAccess().checkAccess(artifact); - if (artifact.hasDirtyAttributes() || artifact.hasDirtyArtifactType()) { - if (artifact.isDeleted() && !artifact.isInDb()) { for (Attribute<?> attribute : artifact.internalGetAttributes()) { if (attribute.isDirty()) { @@ -164,6 +234,7 @@ public final class SkynetTransaction extends AbstractOperation { } return; } + checkAccess(artifact); madeChanges = true; if (!artifact.isInDb() || artifact.hasDirtyArtifactType() || artifact.getModType().isDeleted()) { @@ -208,13 +279,13 @@ public final class SkynetTransaction extends AbstractOperation { for (RelationLink relation : links) { if (relation.isDirty()) { - addRelation(relation); + addRelation(artifact, relation); } } } - private void addRelation(RelationLink link) throws OseeCoreException { - getAccess().checkAccess(link); + private void addRelation(Artifact artifact, RelationLink link) throws OseeCoreException { + checkAccess(artifact, link); madeChanges = true; link.setNotDirty(); diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransactionAccess.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransactionAccess.java index e137736..c9f33f7 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransactionAccess.java +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransactionAccess.java @@ -22,7 +22,6 @@ import org.eclipse.osee.framework.skynet.core.User; import org.eclipse.osee.framework.skynet.core.UserManager; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.relation.RelationLink; -import org.eclipse.osee.framework.skynet.core.utility.DbUtil; /** * @author Roberto E. Escobar @@ -63,19 +62,17 @@ public class SkynetTransactionAccess { } public void checkAccessControl(Artifact artifact) throws OseeCoreException { - if (!DbUtil.isDbInit()) { - Collection<?> items = Collections.singleton(artifact); - try { - AccessDataQuery accessContext = getService().getAccessData(getUserArtifact(), items); - if (!accessContext.matchesAll(PermissionEnum.WRITE)) { - throw new OseeCoreException( - String.format( - "Access Denied - [%s] does not have valid permission to edit this artifact\n itemsToPersist:[%s]\n accessContext:[%s]", - getUserArtifact(), items, accessContext)); - } - } catch (OseeCoreException ex) { - throw new OseeCoreException("Error during access check", ex); + Collection<?> items = Collections.singleton(artifact); + try { + AccessDataQuery accessContext = getService().getAccessData(getUserArtifact(), items); + if (!accessContext.matchesAll(PermissionEnum.WRITE)) { + throw new OseeCoreException( + String.format( + "Access Denied - [%s] does not have valid permission to edit this artifact\n itemsToPersist:[%s]\n accessContext:[%s]", + getUserArtifact(), items, accessContext)); } + } catch (OseeCoreException ex) { + throw new OseeCoreException("Error during access check", ex); } } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/test/artifact/ArtifactPromptChangeTest.java b/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/test/artifact/ArtifactPromptChangeTest.java index 12835b7..9edcff0 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/test/artifact/ArtifactPromptChangeTest.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/test/artifact/ArtifactPromptChangeTest.java @@ -24,10 +24,9 @@ import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.IBasicArtifact; import org.eclipse.osee.framework.core.model.access.PermissionStatus; -import org.eclipse.osee.framework.core.services.IAccessControlService; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactPromptChange; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; import org.eclipse.osee.framework.ui.skynet.artifact.prompt.IHandlePromptChange; import org.eclipse.osee.framework.ui.skynet.artifact.prompt.IPromptFactory; import org.eclipse.osee.framework.ui.skynet.internal.ArtifactPromptService; @@ -48,7 +47,7 @@ public class ArtifactPromptChangeTest { List<Artifact> artifacts = new ArrayList<Artifact>(); MockPromptFactory MockPromptFactory = new MockPromptFactory(); - IAccessPolicyHandlerService policyHandler = new MockAccessPolicyHandler(); + AccessPolicy policyHandler = new MockAccessPolicyHandler(); MockPromptFactory.createPrompt(CoreAttributeTypes.Annotation, "", artifacts, persist, false); ArtifactPromptService artifactPromptChange = new ArtifactPromptService(MockPromptFactory, policyHandler); @@ -58,21 +57,25 @@ public class ArtifactPromptChangeTest { Assert.assertTrue(artifactPromptChange.promptChangeAttribute(TEST_ATTRIBUTE_TYPE, artifacts, persist, false)); } - private static class MockAccessPolicyHandler implements IAccessPolicyHandlerService { + private static class MockAccessPolicyHandler implements AccessPolicy { - @SuppressWarnings("unused") @Override - public PermissionStatus hasAttributeTypePermission(Collection<? extends IBasicArtifact<?>> artifacts, IAttributeType attributeType, PermissionEnum permission, Level level) throws OseeCoreException { + public PermissionStatus hasArtifactTypePermission(IOseeBranch branch, Collection<? extends IArtifactType> artifactTypes, PermissionEnum permission, Level level) throws OseeCoreException { return new PermissionStatus(); } @Override - public PermissionStatus hasRelationSidePermission(Collection<? extends IRelationTypeSide> relationTypeSides, PermissionEnum permission, Level level) throws OseeCoreException { + public boolean isReadOnly(Artifact artifact) { + return false; + } + + @Override + public PermissionStatus hasBranchPermission(IOseeBranch branch, PermissionEnum permission, Level level) throws OseeCoreException { return new PermissionStatus(); } @Override - public PermissionStatus hasArtifactTypePermission(IOseeBranch branch, Collection<? extends IArtifactType> artifactTypes, PermissionEnum permission, Level level) throws OseeCoreException { + public PermissionStatus hasAttributeTypePermission(Collection<? extends IBasicArtifact<?>> artifacts, IAttributeType attributeType, PermissionEnum permission, Level level) throws OseeCoreException { return new PermissionStatus(); } @@ -82,13 +85,12 @@ public class ArtifactPromptChangeTest { } @Override - public IAccessControlService getAccessService() { - return null; + public PermissionStatus canRelationBeModified(IBasicArtifact<?> subject, Collection<? extends IBasicArtifact<?>> toBeRelated, IRelationTypeSide relationTypeSide, Level level) throws OseeCoreException { + return new PermissionStatus(); } @Override - public PermissionStatus hasArtifactRelatablePermission(Collection<? extends IBasicArtifact<?>> artifacts, Collection<? extends IRelationTypeSide> relationTypeSides, PermissionEnum permission, Level level) throws OseeCoreException { - return new PermissionStatus(); + public void removePermissions(IOseeBranch branch) throws OseeCoreException { } } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java index 21fa2f3..cd0c213 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java @@ -48,7 +48,6 @@ import org.eclipse.osee.framework.core.data.IOseeBranch; import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; import org.eclipse.osee.framework.core.enums.CoreRelationTypes; import org.eclipse.osee.framework.core.enums.DeletionFlag; -import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.exception.OseeStateException; import org.eclipse.osee.framework.core.model.Branch; @@ -66,6 +65,7 @@ import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.plugin.core.IActionable; import org.eclipse.osee.framework.plugin.core.util.Jobs; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts; import org.eclipse.osee.framework.skynet.core.UserManager; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; @@ -89,11 +89,9 @@ import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; import org.eclipse.osee.framework.ui.plugin.util.HelpUtil; import org.eclipse.osee.framework.ui.plugin.util.SelectionCountChangeListener; import org.eclipse.osee.framework.ui.skynet.access.PolicyDialog; -import org.eclipse.osee.framework.ui.skynet.accessProviders.ArtifactAccessProvider; import org.eclipse.osee.framework.ui.skynet.action.OpenAssociatedArtifactFromBranchProvider; import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactNameConflictHandler; import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactPasteOperation; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; import org.eclipse.osee.framework.ui.skynet.branch.BranchSelectionDialog; import org.eclipse.osee.framework.ui.skynet.change.ChangeUiUtil; import org.eclipse.osee.framework.ui.skynet.dialogs.ArtifactPasteSpecialDialog; @@ -617,12 +615,11 @@ public class ArtifactExplorer extends ViewPart implements IArtifactExplorerEvent try { Artifact parent = getParent(); - IAccessPolicyHandlerService policy = SkynetGuiPlugin.getInstance().getPolicyHandlerService(); + AccessPolicy policy = SkynetGuiPlugin.getInstance().getAccessPolicy(); PermissionStatus status = - policy.hasArtifactRelatablePermission(Collections.singleton(parent), - java.util.Collections.singleton(CoreRelationTypes.Default_Hierarchical__Child), - PermissionEnum.WRITE, Level.FINE); + policy.canRelationBeModified(parent, null, CoreRelationTypes.Default_Hierarchical__Child, Level.FINE); + if (status.matched()) { ArtifactTypeFilteredTreeEntryDialog dialog = getDialog(); if (dialog.open() == Window.OK) { @@ -1008,8 +1005,8 @@ public class ArtifactExplorer extends ViewPart implements IArtifactExplorerEvent artifactTransferData.add(artifact); } } - artifactClipboard.setArtifactsToClipboard(new ArtifactAccessProvider(), - SkynetGuiPlugin.getInstance().getPolicyHandlerService(), artifactTransferData); + artifactClipboard.setArtifactsToClipboard(SkynetGuiPlugin.getInstance().getAccessPolicy(), + artifactTransferData); } } @@ -1240,25 +1237,30 @@ public class ArtifactExplorer extends ViewPart implements IArtifactExplorerEvent // Use this menu listener until all menu items can be moved to // GlobaMenu try { + IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); + Object obj = selection.getFirstElement(); + boolean canModifyDH = false; + if (obj instanceof Artifact) { + Artifact art = (Artifact) obj; + AccessPolicy service = SkynetGuiPlugin.getInstance().getAccessPolicy(); + canModifyDH = + service.canRelationBeModified(art, null, CoreRelationTypes.Default_Hierarchical__Child, Level.FINE).matched(); + } + GlobalMenuPermissions permiss = new GlobalMenuPermissions(globalMenuHelper); lockMenuItem.setText((permiss.isLocked() ? "Unlock: (" + permiss.getSubjectFromLockedObjectName() + ")" : "Lock")); lockMenuItem.setEnabled(permiss.isWritePermission() && (!permiss.isLocked() || permiss.isAccessToRemoveLock())); - IAccessPolicyHandlerService service = SkynetGuiPlugin.getInstance().getPolicyHandlerService(); - PermissionStatus status = - service.hasRelationSidePermission( - java.util.Collections.singleton(CoreRelationTypes.Default_Hierarchical__Child), PermissionEnum.WRITE, - Level.FINE); - - createMenuItem.setEnabled(permiss.isWritePermission() || status.matched()); + createMenuItem.setEnabled(permiss.isWritePermission() || canModifyDH); goIntoMenuItem.setEnabled(permiss.isReadPermission()); copyMenuItem.setEnabled(permiss.isReadPermission()); + boolean clipboardEmpty = artifactClipboard.isEmpty(); - pasteMenuItem.setEnabled(permiss.isWritePermission() && !clipboardEmpty); - pasteSpecialMenuItem.setEnabled(permiss.isWritePermission() && !clipboardEmpty); + pasteMenuItem.setEnabled(canModifyDH && !clipboardEmpty); + pasteSpecialMenuItem.setEnabled(canModifyDH && !clipboardEmpty); renameArtifactMenuItem.setEnabled(permiss.isWritePermission()); } catch (Exception ex) { diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorerDragAndDrop.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorerDragAndDrop.java index b6a7dd0..9a6f5a3 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorerDragAndDrop.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorerDragAndDrop.java @@ -11,18 +11,17 @@ package org.eclipse.osee.framework.ui.skynet; import java.io.File; -import java.util.Collections; +import java.util.Arrays; import java.util.logging.Level; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.osee.framework.core.enums.CoreRelationTypes; -import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.enums.RelationOrderBaseTypes; import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.model.access.PermissionStatus; import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.ArtifactData; import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; @@ -30,7 +29,6 @@ import org.eclipse.osee.framework.ui.plugin.util.Wizards; import org.eclipse.osee.framework.ui.skynet.Import.ArtifactImportWizard; import org.eclipse.osee.framework.ui.skynet.Import.ArtifactImporter; import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactTransfer; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; import org.eclipse.osee.framework.ui.skynet.update.InterArtifactExplorerDropHandler; import org.eclipse.osee.framework.ui.skynet.util.SkynetDragAndDrop; import org.eclipse.swt.dnd.DND; @@ -82,38 +80,35 @@ public class ArtifactExplorerDragAndDrop extends SkynetDragAndDrop { } } - private boolean checkArtifactPermissions(Artifact toCheck) { - boolean toReturn = false; - try { - IAccessPolicyHandlerService policy = SkynetGuiPlugin.getInstance().getPolicyHandlerService(); - PermissionStatus status = - policy.hasArtifactRelatablePermission(Collections.singleton(toCheck), - Collections.singleton(CoreRelationTypes.Default_Hierarchical__Child), PermissionEnum.WRITE, Level.FINE); - toReturn = status.matched(); - } catch (OseeCoreException ex) { - OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex); - } - return toReturn; - } - private boolean isValidForArtifactDrop(DropTargetEvent event) { boolean valid = false; if (ArtifactTransfer.getInstance().isSupportedType(event.currentDataType)) { - Artifact parentArtifact = getSelectedArtifact(event); - ArtifactData artData = ArtifactTransfer.getInstance().nativeToJava(event.currentDataType); - if (parentArtifact != null && artData.getSource().equals(viewId)) { - valid = checkArtifactPermissions(parentArtifact); - - // if valid, check artifacts that are moving - if (valid) { - Artifact[] toCheck = artData.getArtifacts(); - for (Artifact art : toCheck) { - valid = (art.equals(parentArtifact) ? false : checkArtifactPermissions(art)); - if (!valid) { - break; + Artifact dropTarget = getSelectedArtifact(event); + ArtifactData toBeDropped = ArtifactTransfer.getInstance().nativeToJava(event.currentDataType); + if (dropTarget != null && toBeDropped.getSource().equals(viewId)) { + try { + AccessPolicy policy = SkynetGuiPlugin.getInstance().getAccessPolicy(); + valid = + policy.canRelationBeModified(dropTarget, Arrays.asList(toBeDropped.getArtifacts()), + CoreRelationTypes.Default_Hierarchical__Child, Level.FINE).matched(); + + // if we are deparenting ourself, make sure our parent's child side can be modified + if (valid) { + for (Artifact art : toBeDropped.getArtifacts()) { + if (art.hasParent()) { + valid = + policy.canRelationBeModified(art.getParent(), null, + CoreRelationTypes.Default_Hierarchical__Child, Level.FINE).matched(); + } + if (!valid) { + break; + } } } + } catch (OseeCoreException ex) { + OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex); + valid = false; } } } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationLabelProvider.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationLabelProvider.java index 243de15..442cfb3 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationLabelProvider.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationLabelProvider.java @@ -10,12 +10,10 @@ *******************************************************************************/ package org.eclipse.osee.framework.ui.skynet; -import java.util.Collections; import java.util.logging.Level; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.enums.RelationSide; import org.eclipse.osee.framework.core.enums.RelationTypeMultiplicity; import org.eclipse.osee.framework.core.exception.OseeCoreException; @@ -23,11 +21,11 @@ import org.eclipse.osee.framework.core.model.RelationTypeSide; import org.eclipse.osee.framework.core.model.access.PermissionStatus; import org.eclipse.osee.framework.core.model.type.RelationType; import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.relation.RelationLink; import org.eclipse.osee.framework.skynet.core.relation.RelationManager; import org.eclipse.osee.framework.skynet.core.relation.RelationTypeManager; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; import org.eclipse.osee.framework.ui.swt.ImageManager; import org.eclipse.swt.graphics.Image; @@ -63,12 +61,11 @@ public class RelationLabelProvider implements ITableLabelProvider, ILabelProvide private boolean isLocked(RelationTypeSide relationTypeSide) { boolean isLocked = true; - IAccessPolicyHandlerService policyHandlerService; + AccessPolicy policyHandlerService; try { - policyHandlerService = SkynetGuiPlugin.getInstance().getPolicyHandlerService(); + policyHandlerService = SkynetGuiPlugin.getInstance().getAccessPolicy(); PermissionStatus permissionStatus = - policyHandlerService.hasRelationSidePermission(Collections.singleton(relationTypeSide), - PermissionEnum.WRITE, Level.FINE); + policyHandlerService.canRelationBeModified(artifact, null, relationTypeSide, Level.FINE); isLocked = !permissionStatus.matched(); } catch (OseeCoreException ex) { OseeLog.log(SkynetGuiPlugin.class, Level.SEVERE, ex); diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationsComposite.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationsComposite.java index 97c7cad..bed3001 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationsComposite.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationsComposite.java @@ -30,6 +30,7 @@ import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.TextCellEditor; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.osee.framework.core.data.IRelationSorterId; +import org.eclipse.osee.framework.core.data.IRelationType; import org.eclipse.osee.framework.core.data.IRelationTypeSide; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.RelationTypeSide; @@ -38,16 +39,16 @@ import org.eclipse.osee.framework.help.ui.OseeHelpContext; import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.ArtifactData; import org.eclipse.osee.framework.skynet.core.artifact.ISelectedArtifact; import org.eclipse.osee.framework.skynet.core.relation.RelationManager; import org.eclipse.osee.framework.skynet.core.relation.RelationTypeSideSorter; import org.eclipse.osee.framework.ui.plugin.util.HelpUtil; -import org.eclipse.osee.framework.ui.skynet.accessProviders.RelationTypeAccessProvider; import org.eclipse.osee.framework.ui.skynet.RelationOrderContributionItem.SelectionListener; -import org.eclipse.osee.framework.ui.skynet.accessProviders.RelationTypeAccessProvider; import org.eclipse.osee.framework.ui.skynet.action.RevealInExplorerAction; +import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactTransfer; import org.eclipse.osee.framework.ui.skynet.artifact.massEditor.MassArtifactEditor; import org.eclipse.osee.framework.ui.skynet.relation.explorer.RelationExplorerWindow; import org.eclipse.osee.framework.ui.skynet.render.PresentationType; @@ -75,6 +76,7 @@ import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.ToolBar; +import org.eclipse.swt.widgets.ToolTip; import org.eclipse.swt.widgets.Tree; import org.eclipse.swt.widgets.TreeColumn; import org.eclipse.swt.widgets.TreeItem; @@ -480,9 +482,25 @@ public class RelationsComposite extends Composite implements ISelectedArtifact { public void menuShown(MenuEvent e) { IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); boolean valid = selection.getFirstElement() instanceof WrapperForRelationLink; + if (selection.getFirstElement() instanceof WrapperForRelationLink) { + WrapperForRelationLink data = (WrapperForRelationLink) selection.getFirstElement(); + AccessPolicy policyHandlerService; + try { + policyHandlerService = SkynetGuiPlugin.getInstance().getAccessPolicy(); + + RelationTypeSide rts = new RelationTypeSide(data.getRelationType(), data.getRelationSide()); + valid = + policyHandlerService.canRelationBeModified( + artifact, + java.util.Collections.singleton(data.getArtifactA().equals(artifact) ? data.getArtifactB() : data.getArtifactA()), + rts, Level.INFO).matched(); + } catch (OseeCoreException ex) { + OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex); + } + } for (MenuItem item : accessControlitems) { - item.setEnabled(valid && !checkLinksReadOnly()); + item.setEnabled(valid); } for (MenuItem item : artEnabledOnlyitems) { @@ -540,14 +558,6 @@ public class RelationsComposite extends Composite implements ISelectedArtifact { * Performs the deletion functionality */ private void performDeleteRelation(IStructuredSelection selection) { - if (checkLinksReadOnly()) { - MessageDialog.openError( - Displays.getActiveShell(), - "Delete Relation Error", - "Access control has restricted this action. The current user does not have sufficient permission to delete objects on this artifact."); - return; - } - Object[] objects = selection.toArray(); for (Object object : objects) { if (hasWriteRelationTypePermission(object)) { @@ -617,10 +627,6 @@ public class RelationsComposite extends Composite implements ISelectedArtifact { refresh(); } - private boolean checkLinksReadOnly() { - return artifact.isReadOnly(); - } - private class RelationSkynetDragAndDrop extends SkynetDragAndDrop { boolean isFeedbackAfter = false; @@ -645,6 +651,15 @@ public class RelationsComposite extends Composite implements ISelectedArtifact { return artifacts; } + private boolean ensureRelationCanBeAdded(IRelationType relationType, Artifact artifactA, Artifact artifactB) { + try { + RelationManager.ensureRelationCanBeAdded(relationType, artifactA, artifactB); + } catch (OseeCoreException ex) { + return false; + } + return true; + } + @Override public void performDragOver(DropTargetEvent event) { Tree tree = treeViewer.getTree(); @@ -654,31 +669,76 @@ public class RelationsComposite extends Composite implements ISelectedArtifact { event.detail = DND.DROP_NONE; if (selected != null && selected.getData() instanceof RelationTypeSideSorter) { - if (checkLinksReadOnly()) { - event.detail = DND.DROP_NONE; - - MessageDialog.openError( - Displays.getActiveShell(), - "Create Relation Error", - "Access control has restricted this action. The current user does not have sufficient permission to create relations on this artifact."); - return; - } else { - event.detail = DND.DROP_COPY; - tree.setInsertMark(null, false); + try { + RelationTypeSideSorter data = (RelationTypeSideSorter) selected.getData(); + ArtifactData artData = ArtifactTransfer.getInstance().nativeToJava(event.currentDataType); + Artifact[] selectedArtifacts = artData.getArtifacts(); + String toolTipText = ""; + + boolean canRelate = false; + for (Artifact i : selectedArtifacts) { + canRelate = ensureRelationCanBeAdded(data.getRelationType(), data.getArtifact(), i); + if (!canRelate) { + toolTipText += + String.format("Relation: Relation [%s] cannot be added between [%s] and [%s]\n", + data.getRelationType().getName(), data.getArtifact().getName(), i.getName()); + + } + } + + AccessPolicy policyHandlerService = + SkynetGuiPlugin.getInstance().getAccessPolicy(); + + boolean matched = + policyHandlerService.canRelationBeModified(artifact, Arrays.asList(selectedArtifacts), data, + Level.INFO).matched(); + + if (matched) { + event.detail = DND.DROP_COPY; + tree.setInsertMark(null, false); + } else { + toolTipText += (toolTipText.length() == 0 ? "" : " \n"); + toolTipText += "Access: Access Control has prevented this relation"; + + } + if (!matched || !canRelate) { + ToolTip tt = new ToolTip(Displays.getActiveShell(), SWT.ICON_ERROR); + tt.setText("RELATION ERROR"); + tt.setMessage(toolTipText); + tt.setVisible(true); + } + + } catch (OseeCoreException ex) { + OseeLog.log(SkynetGuiPlugin.class, Level.SEVERE, ex); } + } else if (selected != null && selected.getData() instanceof WrapperForRelationLink) { WrapperForRelationLink targetLink = (WrapperForRelationLink) selected.getData(); IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); Object obj = selection.getFirstElement(); if (obj instanceof WrapperForRelationLink) { WrapperForRelationLink dropTarget = (WrapperForRelationLink) obj; - - if (checkLinksReadOnly()) { + boolean matched = false; + try { + AccessPolicy policyHandlerService = + SkynetGuiPlugin.getInstance().getAccessPolicy(); + RelationTypeSide rts = + new RelationTypeSide(dropTarget.getRelationType(), dropTarget.getRelationSide()); + + matched = + policyHandlerService.canRelationBeModified( + artifact, + Arrays.asList(artifact.equals(dropTarget.getArtifactA()) ? dropTarget.getArtifactB() : dropTarget.getArtifactA()), + rts, Level.INFO).matched(); + } catch (OseeCoreException ex) { + OseeLog.log(SkynetGuiPlugin.class, Level.SEVERE, ex); + } + if (!matched) { event.detail = DND.DROP_NONE; - MessageDialog.openError( - Displays.getActiveShell(), - "Create Relation Error", - "Access control has restricted this action. The current user does not have sufficient permission to create relations on this artifact."); + ToolTip tt = new ToolTip(Displays.getActiveShell(), SWT.ICON_ERROR); + tt.setText("MOVE ERROR"); + tt.setMessage("Access Control has restricted this action."); + tt.setVisible(true); return; } // the links must be in the same group @@ -728,7 +788,7 @@ public class RelationsComposite extends Composite implements ISelectedArtifact { WrapperForRelationLink targetLink = (WrapperForRelationLink) object; Artifact[] artifactsToMove = ((ArtifactData) event.data).getArtifacts(); for (Artifact artifactToMove : artifactsToMove) { - IRelationTypeSide typeSide = + IRelationTypeSide typeSide = new RelationTypeSide(targetLink.getRelationType(), targetLink.getRelationSide()); artifact.setRelationOrder(typeSide, targetLink.getOther(), isFeedbackAfter, artifactToMove); } @@ -758,18 +818,22 @@ public class RelationsComposite extends Composite implements ISelectedArtifact { boolean hasPermission = false; try { RelationTypeSide relationTypeSide = null; + ArrayList<Artifact> artifacts = new ArrayList<Artifact>(); if (object instanceof WrapperForRelationLink) {//used for ordering WrapperForRelationLink targetLink = (WrapperForRelationLink) object; relationTypeSide = new RelationTypeSide(targetLink.getRelationType(), targetLink.getRelationSide()); + artifacts.add(artifact.equals(targetLink.getArtifactA()) ? targetLink.getArtifactB() : targetLink.getArtifactA()); } else if (object instanceof RelationTypeSideSorter) { RelationTypeSideSorter group = (RelationTypeSideSorter) object; relationTypeSide = new RelationTypeSide(group.getRelationType(), group.getSide()); + artifacts.add(group.getArtifact()); } - RelationTypeAccessProvider relationTypeAccessProvider = new RelationTypeAccessProvider(); + AccessPolicy policyHandlerService = SkynetGuiPlugin.getInstance().getAccessPolicy(); + hasPermission = - relationTypeAccessProvider.relationTypeHasPermission( - SkynetGuiPlugin.getInstance().getPolicyHandlerService(), Arrays.asList(relationTypeSide)); + policyHandlerService.canRelationBeModified(artifact, artifacts, relationTypeSide, Level.INFO).matched(); + } catch (OseeCoreException ex) { OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex); } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/SkynetGuiPlugin.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/SkynetGuiPlugin.java index fe93d95..79b8890 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/SkynetGuiPlugin.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/SkynetGuiPlugin.java @@ -24,6 +24,7 @@ import org.eclipse.osee.framework.database.IOseeDatabaseServiceProvider; import org.eclipse.osee.framework.jdk.core.util.Lib; import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.UserManager; import org.eclipse.osee.framework.skynet.core.event.OseeEventManager; import org.eclipse.osee.framework.skynet.core.event.listener.IBroadcastEventListener; @@ -33,10 +34,8 @@ import org.eclipse.osee.framework.skynet.core.event.model.Sender; import org.eclipse.osee.framework.skynet.core.utility.DbUtil; import org.eclipse.osee.framework.ui.plugin.OseeFormActivator; import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactSaveNotificationHandler; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; import org.eclipse.osee.framework.ui.skynet.blam.operation.SetWorkbenchOverrideIconBlam; import org.eclipse.osee.framework.ui.skynet.cm.IOseeCmService; -import org.eclipse.osee.framework.ui.skynet.internal.AccessPolicyServiceRegHandler; import org.eclipse.osee.framework.ui.skynet.internal.ArtifactPromptService; import org.eclipse.osee.framework.ui.skynet.internal.ArtifactPromptServiceRegHandler; import org.eclipse.osee.framework.ui.swt.Displays; @@ -61,6 +60,7 @@ public class SkynetGuiPlugin extends OseeFormActivator implements IBroadcastEven private ServiceTracker cacheServiceTracker; private ServiceTracker databaseServiceTracker; private ServiceTracker cmServiceTracker; + private ServiceTracker accessServiceTracker; private final Map<String, ServiceDependencyTracker> trackers = new HashMap<String, ServiceDependencyTracker>(); @@ -76,6 +76,7 @@ public class SkynetGuiPlugin extends OseeFormActivator implements IBroadcastEven cacheServiceTracker.close(); databaseServiceTracker.close(); cmServiceTracker.close(); + accessServiceTracker.close(); for (ServiceDependencyTracker tracker : trackers.values()) { Lib.close(tracker); @@ -98,8 +99,8 @@ public class SkynetGuiPlugin extends OseeFormActivator implements IBroadcastEven cmServiceTracker = new ServiceTracker(context, IOseeCmService.class.getName(), null); cmServiceTracker.open(); - trackers.put(IAccessPolicyHandlerService.class.getName(), new ServiceDependencyTracker(context, - new AccessPolicyServiceRegHandler())); + accessServiceTracker = new ServiceTracker(context, AccessPolicy.class.getName(), null); + accessServiceTracker.open(); trackers.put(ArtifactPromptService.class.getName(), new ServiceDependencyTracker(context, new ArtifactPromptServiceRegHandler())); @@ -167,8 +168,8 @@ public class SkynetGuiPlugin extends OseeFormActivator implements IBroadcastEven return (IOseeCmService) cmServiceTracker.getService(); } - public IAccessPolicyHandlerService getPolicyHandlerService() throws OseeCoreException { - return ((AccessPolicyServiceRegHandler) trackers.get(IAccessPolicyHandlerService.class.getName()).getHandler()).getService(); + public AccessPolicy getAccessPolicy() { + return (AccessPolicy) accessServiceTracker.getService(); } public ArtifactPromptService getArtifactPromptService() throws OseeCoreException { diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/accessProviders/ArtifactAccessProvider.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/accessProviders/ArtifactAccessProvider.java deleted file mode 100644 index be8075d..0000000 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/accessProviders/ArtifactAccessProvider.java +++ b/dev/null @@ -1,40 +0,0 @@ -/* - * Created on Sep 16, 2010 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.framework.ui.skynet.accessProviders; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.logging.Level; -import org.eclipse.osee.framework.core.enums.PermissionEnum; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; - -/** - * @author Jeff C. Phillips - */ -public class ArtifactAccessProvider { - - public ArtifactAccessProvider() { - super(); - } - - public List<Artifact> getArtifactsWithPermission(IAccessPolicyHandlerService accessService, PermissionEnum permission, List<Artifact> artifacts) throws OseeCoreException { - ArrayList<Artifact> toReturn = new ArrayList<Artifact>(artifacts); - Iterator<Artifact> artIterator = toReturn.iterator(); - - // Remove Artifact that do not have write permission. - while (artIterator.hasNext()) { - Artifact cur = artIterator.next(); - if (!accessService.hasArtifactPermission(Collections.singleton(cur), permission, Level.WARNING).matched()) { - artIterator.remove(); - } - } - return toReturn; - } -} diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/accessProviders/RelationTypeAccessProvider.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/accessProviders/RelationTypeAccessProvider.java deleted file mode 100644 index 60f362d..0000000 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/accessProviders/RelationTypeAccessProvider.java +++ b/dev/null @@ -1,26 +0,0 @@ -/* - * Created on Sep 20, 2010 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.framework.ui.skynet.accessProviders; - -import java.util.Collection; -import java.util.logging.Level; -import org.eclipse.osee.framework.core.enums.PermissionEnum; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.model.RelationTypeSide; -import org.eclipse.osee.framework.core.model.access.PermissionStatus; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; - -/** - * @author Jeff C. Phillips - */ -public class RelationTypeAccessProvider { - - public boolean relationTypeHasPermission(IAccessPolicyHandlerService accessService, Collection<RelationTypeSide> relationTypeSides) throws OseeCoreException { - PermissionStatus permissionStatus = - accessService.hasRelationSidePermission(relationTypeSides, PermissionEnum.WRITE, Level.WARNING); - return permissionStatus.matched(); - } -} diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditor.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditor.java index e17486d..cca79b9 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditor.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditor.java @@ -104,7 +104,7 @@ public class ArtifactEditor extends AbstractEventArtifactEditor { firePropertyChange(PROP_DIRTY); } catch (OseeCoreException ex) { onDirtied(); - OseeLog.log(SkynetGuiPlugin.class, Level.SEVERE, ex); + OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex); } } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/parts/AttributeFormPart.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/parts/AttributeFormPart.java index a1c29bc..298730f 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/parts/AttributeFormPart.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/parts/AttributeFormPart.java @@ -23,6 +23,7 @@ import org.eclipse.osee.framework.core.util.Result; import org.eclipse.osee.framework.help.ui.OseeHelpContext; import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.attribute.AttributeTypeManager; import org.eclipse.osee.framework.skynet.core.attribute.WordAttribute; @@ -81,9 +82,9 @@ public class AttributeFormPart extends AbstractFormPart { public AttributeFormPart(ArtifactEditor editor) { this.editor = editor; try { - decorator.addProvider(new XWidgetAccessDecorationProvider( - SkynetGuiPlugin.getInstance().getPolicyHandlerService())); - } catch (OseeCoreException ex) { + AccessPolicy policy = SkynetGuiPlugin.getInstance().getAccessPolicy(); + decorator.addProvider(new XWidgetAccessDecorationProvider(policy)); + } catch (Exception ex) { OseeLog.log(SkynetGuiPlugin.class, Level.SEVERE, ex.toString(), ex); } } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/CopyHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/CopyHandler.java index b3dd6be..e79cb05 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/CopyHandler.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/CopyHandler.java @@ -24,7 +24,6 @@ import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.Branch; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin; -import org.eclipse.osee.framework.ui.skynet.accessProviders.ArtifactAccessProvider; import org.eclipse.osee.framework.ui.skynet.util.ArtifactClipboard; import org.eclipse.search.ui.text.Match; import org.eclipse.ui.IWorkbenchPartSite; @@ -77,8 +76,7 @@ public class CopyHandler extends AbstractHandler { clipboard.setTextToClipboard(names); } else if (!names.isEmpty() && !artifacts.isEmpty()) { try { - clipboard.setArtifactsToClipboard(new ArtifactAccessProvider(), - SkynetGuiPlugin.getInstance().getPolicyHandlerService(), artifacts); + clipboard.setArtifactsToClipboard(SkynetGuiPlugin.getInstance().getAccessPolicy(), artifacts); } catch (OseeCoreException ex) { throw new ExecutionException(ex.getLocalizedMessage()); } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/AccessPolicyHandlerServiceImpl.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/AccessPolicyHandlerServiceImpl.java deleted file mode 100644 index 8289084..0000000 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/AccessPolicyHandlerServiceImpl.java +++ b/dev/null @@ -1,140 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.framework.ui.skynet.internal; - -import java.util.Collection; -import java.util.logging.Level; -import org.eclipse.osee.framework.core.data.IArtifactType; -import org.eclipse.osee.framework.core.data.IAttributeType; -import org.eclipse.osee.framework.core.data.IOseeBranch; -import org.eclipse.osee.framework.core.data.IRelationTypeSide; -import org.eclipse.osee.framework.core.enums.PermissionEnum; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.model.IBasicArtifact; -import org.eclipse.osee.framework.core.model.access.AccessDataQuery; -import org.eclipse.osee.framework.core.model.access.PermissionStatus; -import org.eclipse.osee.framework.core.services.IAccessControlService; -import org.eclipse.osee.framework.jdk.core.util.Collections; -import org.eclipse.osee.framework.jdk.core.util.Strings; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; - -/** - * @author Jeff C. Phillips - */ -public class AccessPolicyHandlerServiceImpl implements IAccessPolicyHandlerService { - private final IBasicArtifact<?> user; - private final IAccessControlService accessControlService; - - public AccessPolicyHandlerServiceImpl(IBasicArtifact<?> user, IAccessControlService accessControlService) { - super(); - this.user = user; - this.accessControlService = accessControlService; - } - - /** - * @param level - A level of OseeLevel.SEVERE_POPUP will cause an error dialog to be displayed to the user. All - * others will write to the log. - */ - @Override - public PermissionStatus hasAttributeTypePermission(Collection<? extends IBasicArtifact<?>> artifacts, IAttributeType attributeType, PermissionEnum permission, Level level) throws OseeCoreException { - AccessDataQuery query = accessControlService.getAccessData(user, artifacts); - PermissionStatus permissionStatus = new PermissionStatus(); - - if (artifacts != null) { - for (IBasicArtifact<?> artifact : artifacts) { - query.attributeTypeMatches(permission, artifact, attributeType, permissionStatus); - - if (printErrorMessage(artifacts, permissionStatus, level)) { - break; - } - } - } - return permissionStatus; - } - - @Override - public PermissionStatus hasArtifactPermission(Collection<? extends IBasicArtifact<?>> artifacts, PermissionEnum permission, Level level) throws OseeCoreException { - AccessDataQuery query = accessControlService.getAccessData(user, artifacts); - PermissionStatus permissionStatus = new PermissionStatus(); - - if (artifacts != null) { - for (IBasicArtifact<?> artifact : artifacts) { - query.artifactMatches(PermissionEnum.WRITE, artifact, permissionStatus); - - if (printErrorMessage(artifacts, permissionStatus, level)) { - break; - } - } - } - return permissionStatus; - } - - @Override - public PermissionStatus hasRelationSidePermission(Collection<? extends IRelationTypeSide> relationTypeSides, PermissionEnum permission, Level level) throws OseeCoreException { - AccessDataQuery query = accessControlService.getAccessData(user, relationTypeSides); - PermissionStatus permissionStatus = new PermissionStatus(); - - if (relationTypeSides != null) { - for (IRelationTypeSide relationTypeSide : relationTypeSides) { - query.relationTypeMatches(permission, relationTypeSide, permissionStatus); - if (printErrorMessage(relationTypeSides, permissionStatus, level)) { - break; - } - } - } - return permissionStatus; - } - - private boolean printErrorMessage(Collection<?> objects, PermissionStatus permissionStatus, Level level) { - boolean notMatched = !permissionStatus.matched(); - - if (notMatched) { - OseeLog.log(SkynetGuiPlugin.class, level, String.format( - "Access Denied - [%s] does not have valid permission to edit item(s) : [%s]%s", user, - Collections.toString("; ", objects), - (Strings.isValid(permissionStatus.getReason()) ? "\n reason:[%s]" : ""))); - } - return notMatched; - } - - @Override - public PermissionStatus hasArtifactTypePermission(IOseeBranch branch, Collection<? extends IArtifactType> artifactTypes, PermissionEnum permission, Level level) throws OseeCoreException { - AccessDataQuery query = accessControlService.getAccessData(user, java.util.Collections.singleton(branch)); - PermissionStatus permissionStatus = new PermissionStatus(); - - if (artifactTypes != null) { - for (IArtifactType artifactType : artifactTypes) { - query.branchArtifactTypeMatches(permission, branch, artifactType, permissionStatus); - - if (printErrorMessage(artifactTypes, permissionStatus, level)) { - break; - } - } - } - return permissionStatus; - } - - @Override - public IAccessControlService getAccessService() { - return accessControlService; - } - - @Override - public PermissionStatus hasArtifactRelatablePermission(Collection<? extends IBasicArtifact<?>> artifacts, Collection<? extends IRelationTypeSide> relationTypeSides, PermissionEnum permission, Level level) throws OseeCoreException { - PermissionStatus status = hasRelationSidePermission(relationTypeSides, permission, level); - if (status.matched()) { - status = hasArtifactPermission(artifacts, permission, level); - } - return status; - } -} diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/AccessPolicyServiceRegHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/AccessPolicyServiceRegHandler.java deleted file mode 100644 index 7d05523..0000000 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/AccessPolicyServiceRegHandler.java +++ b/dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.framework.ui.skynet.internal; - -import java.util.Map; -import java.util.logging.Level; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.model.IBasicArtifact; -import org.eclipse.osee.framework.core.services.IAccessControlService; -import org.eclipse.osee.framework.core.util.AbstractTrackingHandler; -import org.eclipse.osee.framework.core.util.Conditions; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.skynet.core.UserManager; -import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceRegistration; - -public class AccessPolicyServiceRegHandler extends AbstractTrackingHandler { - private IAccessPolicyHandlerService service; - - //@formatter:off - private static final Class<?>[] SERVICE_DEPENDENCY = new Class<?>[] { - IAccessControlService.class, - }; - //@formatter:on - - private ServiceRegistration serviceRegistration; - - @Override - public Class<?>[] getDependencies() { - return SERVICE_DEPENDENCY; - } - - @Override - public void onActivate(BundleContext context, Map<Class<?>, Object> services) { - IAccessControlService accessService = getService(IAccessControlService.class, services); - try { - IBasicArtifact<?> workbenchUser = UserManager.getUser(); - service = new AccessPolicyHandlerServiceImpl(workbenchUser, accessService); - serviceRegistration = context.registerService(IAccessPolicyHandlerService.class.getName(), service, null); - } catch (OseeCoreException ex) { - OseeLog.log(SkynetGuiPlugin.class, Level.SEVERE, ex); - } - } - - @Override - public void onDeActivate() { - if (serviceRegistration != null) { - serviceRegistration.unregister(); - } - } - - public IAccessPolicyHandlerService getService() throws OseeCoreException { - Conditions.checkNotNull(service, "IAccessPolicyHandlerService", - "IAccessPolicyHandlerService has not been registered"); - return service; - } - -} diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/ArtifactPromptService.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/ArtifactPromptService.java index 6d91eee..88a9ce9 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/ArtifactPromptService.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/ArtifactPromptService.java @@ -16,8 +16,8 @@ import org.eclipse.osee.framework.core.data.IAttributeType; import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.logging.OseeLevel; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; import org.eclipse.osee.framework.ui.skynet.artifact.prompt.IHandlePromptChange; import org.eclipse.osee.framework.ui.skynet.artifact.prompt.IPromptFactory; @@ -28,9 +28,9 @@ import org.eclipse.osee.framework.ui.skynet.artifact.prompt.IPromptFactory; public final class ArtifactPromptService { private final IPromptFactory promptFactory; - private final IAccessPolicyHandlerService policyHandler; + private final AccessPolicy policyHandler; - public ArtifactPromptService(IPromptFactory promptFactory, IAccessPolicyHandlerService policyHandler) { + public ArtifactPromptService(IPromptFactory promptFactory, AccessPolicy policyHandler) { this.promptFactory = promptFactory; this.policyHandler = policyHandler; } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/ArtifactPromptServiceRegHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/ArtifactPromptServiceRegHandler.java index d08d07a..3d73f7f 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/ArtifactPromptServiceRegHandler.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/ArtifactPromptServiceRegHandler.java @@ -14,7 +14,7 @@ import java.util.Map; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.util.AbstractTrackingHandler; import org.eclipse.osee.framework.core.util.Conditions; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.ui.skynet.artifact.prompt.IPromptFactory; import org.eclipse.osee.framework.ui.skynet.artifact.prompt.PromptFactory; import org.osgi.framework.BundleContext; @@ -24,7 +24,7 @@ public class ArtifactPromptServiceRegHandler extends AbstractTrackingHandler { //@formatter:off private static final Class<?>[] SERVICE_DEPENDENCY = new Class<?>[] { - IAccessPolicyHandlerService.class, + AccessPolicy.class, }; //@formatter:on @@ -38,7 +38,7 @@ public class ArtifactPromptServiceRegHandler extends AbstractTrackingHandler { @Override public void onActivate(BundleContext context, Map<Class<?>, Object> services) { - IAccessPolicyHandlerService policyHandlerService = getService(IAccessPolicyHandlerService.class, services); + AccessPolicy policyHandlerService = getService(AccessPolicy.class, services); IPromptFactory promptFactory = new PromptFactory(); service = new ArtifactPromptService(promptFactory, policyHandlerService); diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/menu/GlobalMenu.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/menu/GlobalMenu.java index cd4a29a..1c7bd4f 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/menu/GlobalMenu.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/menu/GlobalMenu.java @@ -56,7 +56,6 @@ public class GlobalMenu { private MenuItem deleteMenuItem; private MenuItem purgeMenuItem; - private MenuItem tagMenuItem; public static enum GlobalMenuItem { DeleteArtifacts, PurgeArtifacts; @@ -105,14 +104,11 @@ public class GlobalMenu { try { GlobalMenuPermissions permiss = new GlobalMenuPermissions(globalMenuHelper); if (deleteMenuItem != null) { - deleteMenuItem.setEnabled(permiss.isFullAccess()); + deleteMenuItem.setEnabled(permiss.isWritePermission()); } if (purgeMenuItem != null) { purgeMenuItem.setEnabled(permiss.isHasArtifacts() && AccessControlManager.isOseeAdmin()); } - if (tagMenuItem != null) { - tagMenuItem.setEnabled(permiss.isHasArtifacts() && permiss.isFullAccess()); - } } catch (Exception ex) { OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex); } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/ArtifactClipboard.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/ArtifactClipboard.java index 71e7b70..8e197bb 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/ArtifactClipboard.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/ArtifactClipboard.java @@ -13,17 +13,18 @@ package org.eclipse.osee.framework.ui.skynet.util; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Iterator; import java.util.List; +import java.util.logging.Level; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.jdk.core.util.Collections; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.ArtifactData; import org.eclipse.osee.framework.ui.skynet.HTMLTransferFormatter; -import org.eclipse.osee.framework.ui.skynet.accessProviders.ArtifactAccessProvider; import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactTransfer; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; import org.eclipse.osee.framework.ui.swt.Displays; import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.dnd.HTMLTransfer; @@ -43,7 +44,21 @@ public class ArtifactClipboard { this.viewId = viewId; } - public void setArtifactsToClipboard(ArtifactAccessProvider artifactAccessProvider, IAccessPolicyHandlerService policyHandlerService, List<Artifact> artifactTransferData) throws OseeCoreException { + private List<Artifact> getArtifactsWithPermission(AccessPolicy accessService, PermissionEnum permission, List<Artifact> artifacts) throws OseeCoreException { + ArrayList<Artifact> toReturn = new ArrayList<Artifact>(artifacts); + Iterator<Artifact> artIterator = toReturn.iterator(); + + // Remove Artifact that do not have write permission. + while (artIterator.hasNext()) { + Artifact cur = artIterator.next(); + if (!accessService.hasArtifactPermission(java.util.Collections.singleton(cur), permission, Level.WARNING).matched()) { + artIterator.remove(); + } + } + return toReturn; + } + + public void setArtifactsToClipboard(AccessPolicy policyHandlerService, List<Artifact> artifactTransferData) throws OseeCoreException { if (artifactTransferData == null) { throw new IllegalArgumentException("Artifacts can not be null for artifact copy."); } @@ -53,8 +68,7 @@ public class ArtifactClipboard { List<Artifact> authFailedList = new ArrayList<Artifact>(artifactTransferData); List<Artifact> authorizedArtifacts = - artifactAccessProvider.getArtifactsWithPermission(policyHandlerService, PermissionEnum.READ, - artifactTransferData); + getArtifactsWithPermission(policyHandlerService, PermissionEnum.READ, artifactTransferData); authFailedList.removeAll(authorizedArtifacts); diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XWidgetAccessDecorationProvider.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XWidgetAccessDecorationProvider.java index fe4b25b..d0320a8 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XWidgetAccessDecorationProvider.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XWidgetAccessDecorationProvider.java @@ -17,10 +17,10 @@ import org.eclipse.osee.framework.core.enums.PermissionEnum; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.access.PermissionStatus; import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.AccessPolicy; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin; -import org.eclipse.osee.framework.ui.skynet.artifact.IAccessPolicyHandlerService; import org.eclipse.osee.framework.ui.skynet.widgets.XWidgetDecorator.Decorator; import org.eclipse.osee.framework.ui.swt.ImageManager; import org.eclipse.osee.framework.ui.swt.Widgets; @@ -32,9 +32,9 @@ public class XWidgetAccessDecorationProvider implements XWidgetDecorator.Decorat private static final Image LOCK_IMAGE = ImageManager.getImage(FrameworkImage.LOCK_OVERLAY); - private final IAccessPolicyHandlerService policyHandlerService; + private final AccessPolicy policyHandlerService; - public XWidgetAccessDecorationProvider(IAccessPolicyHandlerService policyHandlerService) { + public XWidgetAccessDecorationProvider(AccessPolicy policyHandlerService) { this.policyHandlerService = policyHandlerService; } |

