| diff --git a/features/org.eclipse.osee.core.server.external.feature/feature.xml b/features/org.eclipse.osee.core.server.external.feature/feature.xml |
| index 0eb95c6d0c..683b9d4a63 100644 |
| --- a/features/org.eclipse.osee.core.server.external.feature/feature.xml |
| +++ b/features/org.eclipse.osee.core.server.external.feature/feature.xml |
| @@ -1076,20 +1076,6 @@ |
| version="0.0.0" |
| unpack="false"/> |
| |
| - <plugin |
| - id="org.eclipse.osee.framework.core.dsl" |
| - download-size="0" |
| - install-size="0" |
| - version="0.0.0" |
| - unpack="false"/> |
| - |
| - <plugin |
| - id="org.eclipse.osee.framework.core.dsl.integration" |
| - download-size="0" |
| - install-size="0" |
| - version="0.0.0" |
| - unpack="false"/> |
| - |
| <plugin |
| id="org.eclipse.osee.framework.resource.management" |
| download-size="0" |
| diff --git a/features/org.eclipse.osee.core.server.feature/feature.xml b/features/org.eclipse.osee.core.server.feature/feature.xml |
| index 56e23e30f1..f072155677 100644 |
| --- a/features/org.eclipse.osee.core.server.feature/feature.xml |
| +++ b/features/org.eclipse.osee.core.server.feature/feature.xml |
| @@ -552,20 +552,6 @@ |
| version="0.0.0" |
| unpack="false"/> |
| |
| - <plugin |
| - id="org.eclipse.osee.framework.core.dsl" |
| - download-size="0" |
| - install-size="0" |
| - version="0.0.0" |
| - unpack="false"/> |
| - |
| - <plugin |
| - id="org.eclipse.osee.framework.core.dsl.integration" |
| - download-size="0" |
| - install-size="0" |
| - version="0.0.0" |
| - unpack="false"/> |
| - |
| <plugin |
| id="org.eclipse.osee.framework.core.model" |
| download-size="0" |
| diff --git a/features/org.eclipse.osee.framework.feature/feature.xml b/features/org.eclipse.osee.framework.feature/feature.xml |
| index 834bf6f182..2d6a2585bd 100644 |
| --- a/features/org.eclipse.osee.framework.feature/feature.xml |
| +++ b/features/org.eclipse.osee.framework.feature/feature.xml |
| @@ -239,34 +239,6 @@ |
| version="0.0.0" |
| unpack="false"/> |
| |
| - <plugin |
| - id="org.eclipse.osee.framework.access" |
| - download-size="0" |
| - install-size="0" |
| - version="0.0.0" |
| - unpack="false"/> |
| - |
| - <plugin |
| - id="org.eclipse.osee.framework.access.provider" |
| - download-size="0" |
| - install-size="0" |
| - version="0.0.0" |
| - unpack="false"/> |
| - |
| - <plugin |
| - id="org.eclipse.osee.framework.core.dsl.integration" |
| - download-size="0" |
| - install-size="0" |
| - version="0.0.0" |
| - unpack="false"/> |
| - |
| - <plugin |
| - id="org.eclipse.osee.framework.core.dsl" |
| - download-size="0" |
| - install-size="0" |
| - version="0.0.0" |
| - unpack="false"/> |
| - |
| <plugin |
| id="org.eclipse.osee.framework.branch.gantt" |
| download-size="0" |
| diff --git a/features/org.eclipse.osee.framework.ui.feature/feature.xml b/features/org.eclipse.osee.framework.ui.feature/feature.xml |
| index 3d717212ae..f07e988c3e 100644 |
| --- a/features/org.eclipse.osee.framework.ui.feature/feature.xml |
| +++ b/features/org.eclipse.osee.framework.ui.feature/feature.xml |
| @@ -31,7 +31,6 @@ |
| <import plugin="org.eclipse.osee.framework.jdk.core"/> |
| <import plugin="org.eclipse.osee.framework.logging"/> |
| <import plugin="org.eclipse.osee.framework.plugin.core"/> |
| - <import plugin="org.eclipse.osee.framework.access"/> |
| <import plugin="org.eclipse.osee.framework.ui.plugin"/> |
| <import plugin="org.eclipse.osee.framework.ui.swt"/> |
| <import plugin="org.eclipse.ui.intro"/> |
| @@ -58,7 +57,6 @@ |
| <import plugin="org.eclipse.zest.layouts"/> |
| <import plugin="org.eclipse.gef"/> |
| <import plugin="org.eclipse.osee.ote.define"/> |
| - <import plugin="org.eclipse.osee.framework.core.dsl"/> |
| <import plugin="org.eclipse.xtext.ui"/> |
| <import plugin="org.eclipse.ui.editors" version="3.5.0" match="greaterOrEqual"/> |
| <import plugin="org.eclipse.xtext.ui.shared"/> |
| @@ -70,7 +68,6 @@ |
| <import plugin="org.eclipse.xtext"/> |
| <import plugin="org.eclipse.core.commands"/> |
| <import plugin="org.eclipse.core.jobs"/> |
| - <import plugin="org.eclipse.osee.framework.core.dsl.integration"/> |
| <import plugin="org.eclipse.swt"/> |
| <import plugin="org.eclipse.osgi"/> |
| <import plugin="org.eclipse.jdt.core"/> |
| @@ -140,18 +137,4 @@ |
| version="0.0.0" |
| unpack="false"/> |
| |
| - <plugin |
| - id="org.eclipse.osee.framework.core.dsl.ui" |
| - download-size="0" |
| - install-size="0" |
| - version="0.0.0" |
| - unpack="false"/> |
| - |
| - <plugin |
| - id="org.eclipse.osee.framework.core.dsl.ui.integration" |
| - download-size="0" |
| - install-size="0" |
| - version="0.0.0" |
| - unpack="false"/> |
| - |
| </feature> |
| diff --git a/plugins/org.eclipse.osee.ats.api/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.api/META-INF/MANIFEST.MF |
| index 1875dc5b13..4a5c885fc2 100644 |
| --- a/plugins/org.eclipse.osee.ats.api/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.ats.api/META-INF/MANIFEST.MF |
| @@ -66,11 +66,14 @@ Import-Package: com.fasterxml.jackson.annotation, |
| org.eclipse.nebula.widgets.xviewer.core.model, |
| org.eclipse.osee.activity.api, |
| org.eclipse.osee.framework.core, |
| + org.eclipse.osee.framework.core.access, |
| + org.eclipse.osee.framework.core.access.context, |
| org.eclipse.osee.framework.core.data, |
| org.eclipse.osee.framework.core.enums, |
| org.eclipse.osee.framework.core.enums.token, |
| org.eclipse.osee.framework.core.event, |
| org.eclipse.osee.framework.core.model, |
| + org.eclipse.osee.framework.core.model.access, |
| org.eclipse.osee.framework.core.model.change, |
| org.eclipse.osee.framework.core.util, |
| org.eclipse.osee.framework.core.util.result, |
| diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/AtsApi.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/AtsApi.java |
| index 5cb4cdfd1b..f1cd52214c 100644 |
| --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/AtsApi.java |
| +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/AtsApi.java |
| @@ -15,6 +15,7 @@ package org.eclipse.osee.ats.api; |
| |
| import java.util.Collection; |
| import java.util.List; |
| +import org.eclipse.osee.ats.api.access.IAtsAccessService; |
| import org.eclipse.osee.ats.api.agile.IAgileService; |
| import org.eclipse.osee.ats.api.agile.IAgileSprintHtmlOperation; |
| import org.eclipse.osee.ats.api.ai.IAtsActionableItemService; |
| @@ -56,6 +57,7 @@ import org.eclipse.osee.ats.api.workflow.log.IAtsLogFactory; |
| import org.eclipse.osee.ats.api.workflow.state.IAtsStateFactory; |
| import org.eclipse.osee.ats.api.workflow.state.IAtsWorkStateFactory; |
| import org.eclipse.osee.framework.core.OseeApi; |
| +import org.eclipse.osee.framework.core.access.IAccessControlService; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| @@ -200,6 +202,11 @@ public interface AtsApi extends OseeApi, IAtsEarnedValueServiceProvider, IAtsWor |
| |
| IAtsServerEndpointProvider getServerEndpoints(); |
| |
| + IAtsAccessService getAtsAccessService(); |
| + |
| + @Override |
| + IAccessControlService getAccessControlService(); |
| + |
| default void reloadServerAndClientCaches() { |
| getServerEndpoints().getConfigEndpoint().getWithPend(); |
| getConfigService().getConfigurationsWithPend(); |
| diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/access/AtsAccessContextTokens.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/access/AtsAccessContextTokens.java |
| index 9ea5544367..598b2b9962 100644 |
| --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/access/AtsAccessContextTokens.java |
| +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/access/AtsAccessContextTokens.java |
| @@ -20,8 +20,8 @@ import org.eclipse.osee.framework.core.data.AccessContextToken; |
| */ |
| public final class AtsAccessContextTokens { |
| |
| - public static final AccessContextToken DENY_CONTEXT = |
| - AccessContextToken.valueOf(4870045005030602805L, "ats.branchobject.deny"); |
| + public static final AccessContextToken ATS_BRANCH_READ = |
| + AccessContextToken.valueOf(4870045005030602805L, "ats.branch.read"); |
| |
| private AtsAccessContextTokens() { |
| // Branch Object Contexts; |
| diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/config/tx/IAtsConfigTxActionableItem.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/config/tx/IAtsConfigTxActionableItem.java |
| index 8ed5867c63..94151a1d4c 100644 |
| --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/config/tx/IAtsConfigTxActionableItem.java |
| +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/config/tx/IAtsConfigTxActionableItem.java |
| @@ -16,6 +16,7 @@ package org.eclipse.osee.ats.api.config.tx; |
| import org.eclipse.osee.ats.api.ai.IAtsActionableItem; |
| import org.eclipse.osee.ats.api.config.Csci; |
| import org.eclipse.osee.ats.api.config.WorkType; |
| +import org.eclipse.osee.framework.core.data.AccessContextToken; |
| import org.eclipse.osee.framework.core.data.AttributeTypeToken; |
| import org.eclipse.osee.framework.core.data.AccessContextToken; |
| |
| diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/config/tx/IAtsConfigTxTeamDef.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/config/tx/IAtsConfigTxTeamDef.java |
| index 7c0430c899..228dd6fe43 100644 |
| --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/config/tx/IAtsConfigTxTeamDef.java |
| +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/config/tx/IAtsConfigTxTeamDef.java |
| @@ -20,6 +20,7 @@ import org.eclipse.osee.ats.api.query.NextRelease; |
| import org.eclipse.osee.ats.api.query.ReleasedOption; |
| import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; |
| import org.eclipse.osee.ats.api.version.IAtsVersion; |
| +import org.eclipse.osee.framework.core.data.AccessContextToken; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.data.AttributeTypeToken; |
| import org.eclipse.osee.framework.core.data.AccessContextToken; |
| diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/data/AtsUserGroups.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/data/AtsUserGroups.java |
| index 477883d8ed..b69ccc26f3 100644 |
| --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/data/AtsUserGroups.java |
| +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/data/AtsUserGroups.java |
| @@ -22,8 +22,8 @@ import org.eclipse.osee.framework.core.data.UserGroupArtifactToken; |
| public class AtsUserGroups { |
| |
| public static IUserGroupArtifactToken AtsAddAttrColumns = |
| - UserGroupArtifactToken.valueOf(10847751L, "AtsAddAttrColumns"); |
| - public static IUserGroupArtifactToken AtsAdmin = UserGroupArtifactToken.valueOf(136750L, "AtsAdmin"); |
| - public static IUserGroupArtifactToken AtsTempAdmin = UserGroupArtifactToken.valueOf(5367074L, "AtsTempAdmin"); |
| + UserGroupArtifactToken.valueOf(10847751L, "Ats Add Attr Columns"); |
| + public static IUserGroupArtifactToken AtsAdmin = UserGroupArtifactToken.valueOf(136750L, "Ats Admin"); |
| + public static IUserGroupArtifactToken AtsTempAdmin = UserGroupArtifactToken.valueOf(5367074L, "AtsTemp Admin"); |
| |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/demo/DemoArtifactToken.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/demo/DemoArtifactToken.java |
| index e590012b0a..8b7e88dd22 100644 |
| --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/demo/DemoArtifactToken.java |
| +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/demo/DemoArtifactToken.java |
| @@ -43,6 +43,17 @@ public final class DemoArtifactToken { |
| public static final ArtifactToken SystemReqArtifact = ArtifactToken.valueOf(45454545, "System Req Artifact", DemoBranches.SAW_Bld_1, CoreArtifactTypes.SystemRequirementMsWord); |
| public static final ArtifactToken EventsSwReq = ArtifactToken.valueOf(200090, "Events", DemoBranches.SAW_Bld_1, CoreArtifactTypes.SoftwareRequirementMsWord); |
| |
| + ////////////////////////////////// |
| + // Software Requirements |
| + ////////////////////////////////// |
| + public static final ArtifactToken CollaborativeRobotEvents = ArtifactToken.valueOf(200092, "Collaborative robot events", DemoBranches.SAW_Bld_2); |
| + public static final ArtifactToken VirtualFixes = ArtifactToken.valueOf(200095, "VirtualFixes", DemoBranches.SAW_PL_Access_Baseline_Test); |
| + |
| + ////////////////////////////////// |
| + // System Requirements |
| + ////////////////////////////////// |
| + public static final ArtifactToken PerformanceRequirements = ArtifactToken.valueOf(200112, "Performance Requirements", DemoBranches.SAW_Bld_2); |
| + |
| ////////////////////////////////// |
| // Impl Details Configuration |
| ////////////////////////////////// |
| @@ -154,6 +165,10 @@ public final class DemoArtifactToken { |
| public static final ArtifactToken SAW_NoBranch_Req_TeamWf = ArtifactToken.valueOf(5564873, DemoWorkflowTitles.SAW_NO_BRANCH_REQT_CHANGES_FOR_DIAGRAM_VIEW, COMMON, AtsDemoOseeTypes.DemoReqTeamWorkflow); |
| public static final ArtifactToken SAW_NoBranch_Test_TeamWf = ArtifactToken.valueOf(11548766, DemoWorkflowTitles.SAW_NO_BRANCH_REQT_CHANGES_FOR_DIAGRAM_VIEW, COMMON, AtsDemoOseeTypes.DemoTestTeamWorkflow); |
| |
| + public static final ArtifactToken SAW_Access_Control_Req_TeamWf = ArtifactToken.valueOf(32482, "SAW Access Ctrl Test - Req", AtsDemoOseeTypes.DemoReqTeamWorkflow); |
| + public static final ArtifactToken SAW_Access_Control_Code_TeamWf = ArtifactToken.valueOf(32483, "SAW Access Ctrl Test - Code", AtsDemoOseeTypes.DemoCodeTeamWorkflow); |
| + public static final ArtifactToken SAW_Access_Control_Test_TeamWf = ArtifactToken.valueOf(32484, "SAW Access Ctrl Test - Test", AtsDemoOseeTypes.DemoTestTeamWorkflow); |
| + |
| ////////////////////////////////// |
| // RD Agile Configuration |
| ////////////////////////////////// |
| diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/workdef/IRelationResolver.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/workdef/IRelationResolver.java |
| index d8f64f4ff0..0756cd4007 100644 |
| --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/workdef/IRelationResolver.java |
| +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/workdef/IRelationResolver.java |
| @@ -17,6 +17,7 @@ import java.util.Collection; |
| import org.eclipse.jdt.annotation.Nullable; |
| import org.eclipse.osee.ats.api.IAtsObject; |
| import org.eclipse.osee.ats.api.IAtsWorkItem; |
| +import org.eclipse.osee.framework.core.access.context.IParentProvider; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| @@ -27,7 +28,7 @@ import org.eclipse.osee.framework.core.enums.DeletionFlag; |
| /** |
| * @author Donald G. Dunne |
| */ |
| -public interface IRelationResolver { |
| +public interface IRelationResolver extends IParentProvider { |
| |
| Collection<ArtifactToken> getRelated(ArtifactId artifact, RelationTypeSide relationType); |
| |
| @@ -68,8 +69,6 @@ public interface IRelationResolver { |
| |
| Collection<ArtifactToken> getChildren(ArtifactId artifact); |
| |
| - ArtifactToken getParent(ArtifactId artifact); |
| - |
| int getRelatedCount(ArtifactToken artifact, RelationTypeSide relationTypeSide); |
| |
| Collection<Long> getRelatedIds(ArtifactId artifact, RelationTypeSide relationTypeSide); |
| diff --git a/plugins/org.eclipse.osee.ats.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.core/META-INF/MANIFEST.MF |
| index 9c7b174179..88b8532604 100644 |
| --- a/plugins/org.eclipse.osee.ats.core/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.ats.core/META-INF/MANIFEST.MF |
| @@ -39,6 +39,7 @@ Import-Package: com.fasterxml.jackson.annotation, |
| org.osgi.service.event |
| Bundle-Vendor: Eclipse Open System Engineering Environment |
| Export-Package: org.eclipse.osee.ats.core.access, |
| + org.eclipse.osee.ats.core.access.demo, |
| org.eclipse.osee.ats.core.agile, |
| org.eclipse.osee.ats.core.agile.operations, |
| org.eclipse.osee.ats.core.ai, |
| diff --git a/plugins/org.eclipse.osee.ats.core/OSGI-INF/artifact.check.provider.task.autogen.xml b/plugins/org.eclipse.osee.ats.core/OSGI-INF/artifact.check.provider.task.autogen.xml |
| deleted file mode 100644 |
| index b299df7545..0000000000 |
| --- a/plugins/org.eclipse.osee.ats.core/OSGI-INF/artifact.check.provider.task.autogen.xml |
| +++ /dev/null |
| @@ -1,7 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true"> |
| - <implementation class="org.eclipse.osee.ats.core.task.TaskAutoGenArtifactChecks"/> |
| - <service> |
| - <provide interface="org.eclipse.osee.framework.core.access.IArtifactCheck"/> |
| - </service> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.ats.core/OSGI-INF/artifact.check.provider.xml b/plugins/org.eclipse.osee.ats.core/OSGI-INF/artifact.check.provider.xml |
| deleted file mode 100644 |
| index 726d59dea4..0000000000 |
| --- a/plugins/org.eclipse.osee.ats.core/OSGI-INF/artifact.check.provider.xml |
| +++ /dev/null |
| @@ -1,7 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true"> |
| - <implementation class="org.eclipse.osee.ats.core.access.AtsArtifactChecks"/> |
| - <service> |
| - <provide interface="org.eclipse.osee.framework.core.access.IArtifactCheck"/> |
| - </service> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/tx/AtsConfigTxTeamDef.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/tx/AtsConfigTxTeamDef.java |
| index 60b66ba11b..0e8a922487 100644 |
| --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/tx/AtsConfigTxTeamDef.java |
| +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/tx/AtsConfigTxTeamDef.java |
| @@ -35,6 +35,7 @@ import org.eclipse.osee.ats.api.query.ReleasedOption; |
| import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; |
| import org.eclipse.osee.ats.api.util.IAtsChangeSet; |
| import org.eclipse.osee.ats.api.version.IAtsVersion; |
| +import org.eclipse.osee.framework.core.data.AccessContextToken; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.data.AccessContextToken; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/AbstractAtsChangeSet.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/AbstractAtsChangeSet.java |
| index 67af55270a..5fb1a5a78d 100644 |
| --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/AbstractAtsChangeSet.java |
| +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/AbstractAtsChangeSet.java |
| @@ -32,6 +32,7 @@ import org.eclipse.osee.ats.api.workflow.IAtsTeamWorkflow; |
| import org.eclipse.osee.ats.core.util.AtsRelationChange.RelationOperation; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| +import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.data.AttributeTypeGeneric; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| @@ -180,6 +181,11 @@ public abstract class AbstractAtsChangeSet implements IAtsChangeSet { |
| |
| @Override |
| public ArtifactToken createArtifact(ArtifactToken token) { |
| + ArtifactTypeToken typeToken = token.getArtifactType(); |
| + if (typeToken.isInvalid()) { |
| + throw new OseeArgumentException("Artifact Type Token %s is invalid for artifact creation", |
| + typeToken.toStringWithId()); |
| + } |
| return createArtifact(token.getArtifactType(), token.getName(), token.getId()); |
| } |
| |
| diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/AtsApiImpl.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/AtsApiImpl.java |
| index bfb1b6b0bd..b8435ba257 100644 |
| --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/AtsApiImpl.java |
| +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/AtsApiImpl.java |
| @@ -20,6 +20,7 @@ import java.util.List; |
| import java.util.logging.Level; |
| import org.eclipse.osee.ats.api.AtsApi; |
| import org.eclipse.osee.ats.api.IAtsObject; |
| +import org.eclipse.osee.ats.api.access.IAtsAccessService; |
| import org.eclipse.osee.ats.api.agile.IAgileSprintHtmlOperation; |
| import org.eclipse.osee.ats.api.ai.IAtsActionableItemService; |
| import org.eclipse.osee.ats.api.column.IAtsColumnService; |
| @@ -59,6 +60,7 @@ import org.eclipse.osee.ats.api.workflow.ITeamWorkflowProvidersLazy; |
| import org.eclipse.osee.ats.api.workflow.log.IAtsLogFactory; |
| import org.eclipse.osee.ats.api.workflow.state.IAtsStateFactory; |
| import org.eclipse.osee.ats.api.workflow.state.IAtsWorkStateFactory; |
| +import org.eclipse.osee.ats.core.access.AtsAccessService; |
| import org.eclipse.osee.ats.core.config.TeamDefinitionServiceImpl; |
| import org.eclipse.osee.ats.core.internal.column.ev.AtsColumnService; |
| import org.eclipse.osee.ats.core.internal.log.AtsLogFactory; |
| @@ -131,6 +133,7 @@ public abstract class AtsApiImpl extends OseeApiBase implements AtsApi { |
| protected IAtsTaskSetDefinitionProviderService taskSetDefinitionProviderService; |
| protected IAtsNotificationService notificationService; |
| protected List<INewActionPageAttributeFactoryProvider> attributeFactoryProviders = new LinkedList<>(); |
| + protected IAtsAccessService atsAccessService; |
| |
| Collection<IAgileSprintHtmlOperation> agileSprintHtmlReportOperations = new LinkedList<>(); |
| |
| @@ -588,4 +591,12 @@ public abstract class AtsApiImpl extends OseeApiBase implements AtsApi { |
| return notificationService; |
| } |
| |
| + @Override |
| + public IAtsAccessService getAtsAccessService() { |
| + if (atsAccessService == null) { |
| + atsAccessService = new AtsAccessService(this); |
| + } |
| + return atsAccessService; |
| + } |
| + |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide.demo/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.ide.demo/META-INF/MANIFEST.MF |
| index 9bfbad256c..abaefc8b42 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.demo/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.ats.ide.demo/META-INF/MANIFEST.MF |
| @@ -13,6 +13,8 @@ Require-Bundle: org.eclipse.ui, |
| Import-Package: javax.ws.rs.core, |
| org.eclipse.core.filesystem, |
| org.eclipse.osee.ats.api, |
| + org.eclipse.osee.ats.core.access, |
| + org.eclipse.osee.ats.core.access.demo, |
| org.eclipse.osee.ats.core.config, |
| org.eclipse.osee.ats.core.model, |
| org.eclipse.osee.ats.core.model.impl, |
| @@ -43,13 +45,16 @@ Import-Package: javax.ws.rs.core, |
| org.eclipse.osee.client.demo, |
| org.eclipse.osee.define.ide.traceability, |
| org.eclipse.osee.define.ide.traceability.data, |
| - org.eclipse.osee.framework.access, |
| + org.eclipse.osee.framework.core, |
| + org.eclipse.osee.framework.core.access, |
| + org.eclipse.osee.framework.core.access.context, |
| org.eclipse.osee.framework.core.client, |
| org.eclipse.osee.framework.core.data, |
| org.eclipse.osee.framework.core.enums, |
| org.eclipse.osee.framework.core.enums.token, |
| org.eclipse.osee.framework.core.exception, |
| org.eclipse.osee.framework.core.model, |
| + org.eclipse.osee.framework.core.model.access, |
| org.eclipse.osee.framework.core.model.type, |
| org.eclipse.osee.framework.core.operation, |
| org.eclipse.osee.framework.core.util, |
| diff --git a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/artifact/DemoTeamWorkflows.java b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/artifact/DemoTeamWorkflows.java |
| index da49ec6343..43015ff8ac 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/artifact/DemoTeamWorkflows.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/artifact/DemoTeamWorkflows.java |
| @@ -45,8 +45,8 @@ public class DemoTeamWorkflows implements ITeamWorkflowProvider { |
| @Override |
| public String getBranchName(IAtsTeamWorkflow teamWf, String defaultBranchName) { |
| try { |
| - if (teamWf.getTeamDefinition().getName().contains("SAW Test")) { |
| - return "SAW Test - " + defaultBranchName; |
| + if (teamWf.getTeamDefinition().getName().contains("SAW Code")) { |
| + return "SAW Code - " + defaultBranchName; |
| } |
| } catch (OseeCoreException ex) { |
| OseeLog.log(Activator.class, Level.SEVERE, ex); |
| diff --git a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/populate/Pdd10SetupAndImportReqs.java b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/populate/Pdd10SetupAndImportReqs.java |
| index 1d3935e452..edf741ed24 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/populate/Pdd10SetupAndImportReqs.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/populate/Pdd10SetupAndImportReqs.java |
| @@ -21,12 +21,13 @@ import java.util.Collection; |
| import java.util.HashSet; |
| import java.util.Set; |
| import java.util.logging.Level; |
| +import org.eclipse.osee.ats.api.data.AtsArtifactToken; |
| import org.eclipse.osee.ats.api.demo.DemoArtifactToken; |
| import org.eclipse.osee.ats.ide.demo.config.DemoDbUtil; |
| import org.eclipse.osee.ats.ide.demo.internal.Activator; |
| import org.eclipse.osee.ats.ide.demo.internal.AtsApiService; |
| +import org.eclipse.osee.ats.ide.demo.internal.OseeApiService; |
| import org.eclipse.osee.ats.ide.util.AtsUtilClient; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| @@ -37,6 +38,8 @@ import org.eclipse.osee.framework.core.enums.CoreArtifactTokens; |
| import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| import org.eclipse.osee.framework.core.enums.CoreRelationTypes; |
| +import org.eclipse.osee.framework.core.enums.CoreUserGroups; |
| +import org.eclipse.osee.framework.core.enums.DemoBranches; |
| import org.eclipse.osee.framework.core.enums.DemoUsers; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.operation.IOperation; |
| @@ -99,12 +102,35 @@ public class Pdd10SetupAndImportReqs implements IPopulateDemoDatabase { |
| demoDbTraceabilityTx(demoDbTraceability, SAW_Bld_1); |
| demoDbTraceability.execute(); |
| |
| + // Note: SAW_Bld_1 is created during orcs dbinit in CreateDemoBranches |
| + BranchManager.setAssociatedArtifactId(SAW_Bld_1, AtsArtifactToken.AtsCmBranch); |
| + |
| createNewBaselineBranch(SAW_Bld_1, SAW_Bld_2); |
| + BranchManager.setAssociatedArtifactId(SAW_Bld_2, AtsArtifactToken.AtsCmBranch); |
| createNewBaselineBranch(SAW_Bld_2, SAW_Bld_3); |
| + BranchManager.setAssociatedArtifactId(SAW_Bld_3, AtsArtifactToken.AtsCmBranch); |
| + |
| + // Note: CIS_Bld_1 is created during orcs dbinit in CreateDemoBranches |
| + BranchManager.setAssociatedArtifactId(DemoBranches.CIS_Bld_1, AtsArtifactToken.AtsCmBranch); |
| + |
| + // Note: PL branches are created in CreateDemoBranches |
| + BranchManager.setAssociatedArtifactId(DemoBranches.SAW_PL, AtsArtifactToken.AtsCmBranch); |
| + setBaselineAccessControl(DemoBranches.SAW_PL); |
| + |
| + BranchManager.setAssociatedArtifactId(DemoBranches.SAW_PL_Hardening_Branch, AtsArtifactToken.AtsCmBranch); |
| + setBaselineAccessControl(DemoBranches.SAW_PL_Hardening_Branch); |
| |
| configureRequirementsForImplDetails(); |
| } |
| |
| + private void setBaselineAccessControl(BranchToken branch) { |
| + OseeApiService.get().getAccessControlService().removePermissions(branch); |
| + ArtifactToken kayJones = UserManager.getUserByArtId(DemoUsers.Kay_Jones); |
| + OseeApiService.get().getAccessControlService().setPermission(kayJones, branch, PermissionEnum.FULLACCESS); |
| + OseeApiService.get().getAccessControlService().setPermission(CoreUserGroups.Everyone, branch, |
| + PermissionEnum.READ); |
| + } |
| + |
| private void configureRequirementsForImplDetails() { |
| |
| SkynetTransaction transaction = |
| @@ -196,8 +222,8 @@ public class Pdd10SetupAndImportReqs implements IPopulateDemoDatabase { |
| try { |
| childBranch = BranchManager.createBaselineBranch(srcBranch, destBranch); |
| |
| - AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), childBranch, |
| - PermissionEnum.FULLACCESS); |
| + AtsApiService.get().getAccessControlService().setPermission(UserManager.getUser(DemoUsers.Joe_Smith), |
| + childBranch, PermissionEnum.FULLACCESS); |
| |
| // need to update the branch type; |
| ConnectionHandler.runPreparedUpdate(UPDATE_BRANCH_TYPE, BranchType.BASELINE, childBranch); |
| diff --git a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/populate/Pdd95CreateDemoEVConfigAndWorkPackages.java b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/populate/Pdd95CreateDemoEVConfigAndWorkPackages.java |
| index 99403ebb12..d0f8b52b27 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/populate/Pdd95CreateDemoEVConfigAndWorkPackages.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/populate/Pdd95CreateDemoEVConfigAndWorkPackages.java |
| @@ -182,7 +182,7 @@ public class Pdd95CreateDemoEVConfigAndWorkPackages { |
| // create country |
| createCountry(countryEp, country); |
| |
| - // create and relate programs |
| + // create and relate programs; these calls ensure that the static tokens are loaded and thus related to proper parents |
| DemoInsertion.getInsertions(); |
| DemoInsertionActivity.getActivities(); |
| for (DemoProgram program : country.getPrograms()) { |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.ide.integration.tests/META-INF/MANIFEST.MF |
| index 52f3464345..9913462a03 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/META-INF/MANIFEST.MF |
| @@ -29,6 +29,7 @@ Import-Package: com.fasterxml.jackson.core, |
| org.eclipse.nebula.widgets.xviewer.util, |
| org.eclipse.osee.account.rest.model, |
| org.eclipse.osee.ats.core.access, |
| + org.eclipse.osee.ats.core.access.demo, |
| org.eclipse.osee.ats.core.column, |
| org.eclipse.osee.ats.core.config, |
| org.eclipse.osee.ats.core.query, |
| @@ -47,7 +48,6 @@ Import-Package: com.fasterxml.jackson.core, |
| org.eclipse.osee.ats.core.workflow.transition, |
| org.eclipse.osee.ats.core.workflow.util, |
| org.eclipse.osee.ats.ide, |
| - org.eclipse.osee.ats.ide.access, |
| org.eclipse.osee.ats.ide.actions, |
| org.eclipse.osee.ats.ide.actions.wizard, |
| org.eclipse.osee.ats.ide.branch, |
| @@ -91,8 +91,8 @@ Import-Package: com.fasterxml.jackson.core, |
| org.eclipse.osee.ats.ide.world.search, |
| org.eclipse.osee.client.test.framework, |
| org.eclipse.osee.define.api, |
| - org.eclipse.osee.framework.access, |
| org.eclipse.osee.framework.core, |
| + org.eclipse.osee.framework.core.access, |
| org.eclipse.osee.framework.core.client, |
| org.eclipse.osee.framework.core.client.server, |
| org.eclipse.osee.framework.core.data, |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/OSGI-INF/ats.api.ide.ref.xml b/plugins/org.eclipse.osee.ats.ide.integration.tests/OSGI-INF/ats.api.ide.ref.xml |
| deleted file mode 100644 |
| index d55db6c17a..0000000000 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/OSGI-INF/ats.api.ide.ref.xml |
| +++ /dev/null |
| @@ -1,5 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0"> |
| - <implementation class="org.eclipse.osee.ats.ide.integration.tests.AtsApiService"/> |
| - <reference bind="setAtsApiIde" cardinality="1..1" interface="org.eclipse.osee.ats.ide.util.AtsApiIde" name="AtsApiIde" policy="static"/> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/AtsIdeIntegrationTestSuite.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/AtsIdeIntegrationTestSuite.java |
| index 22d61eb048..239c96015f 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/AtsIdeIntegrationTestSuite.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/AtsIdeIntegrationTestSuite.java |
| @@ -16,6 +16,7 @@ package org.eclipse.osee.ats.ide.integration; |
| import org.eclipse.osee.ats.ide.integration.tests.AtsTest_AllAts_Suite; |
| import org.eclipse.osee.ats.ide.integration.tests.DemoDbPopulateSuite; |
| import org.eclipse.osee.ats.ide.integration.tests.DirtyArtifactCacheTest; |
| +import org.eclipse.osee.ats.ide.integration.tests.framework.access.FrameworkAccess_Suite; |
| import org.eclipse.osee.ats.ide.integration.tests.framework.skynet.core.artifact.SkyentCoreArtifact_Suite; |
| import org.eclipse.osee.ats.ide.integration.tests.framework.ui.skynet.FrameworkUiSkynetTest_Suite; |
| import org.eclipse.osee.ats.ide.integration.tests.framework.ui.skynet.dialog.FrameworkUiSkynetTest_Dialog_Suite; |
| @@ -36,6 +37,7 @@ import org.junit.runners.Suite; |
| @Suite.SuiteClasses({ |
| DbInitTest.class, |
| DemoDbPopulateSuite.class, |
| + FrameworkAccess_Suite.class, |
| SkyentCoreArtifact_Suite.class, |
| AtsTest_AllAts_Suite.class, |
| FrameworkUiSkynetTest_Suite.class, |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/access/AtsBranchAccessManagerTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/access/AtsBranchAccessManagerTest.java |
| index 410e18014d..26e64990b6 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/access/AtsBranchAccessManagerTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/access/AtsBranchAccessManagerTest.java |
| @@ -14,24 +14,26 @@ |
| package org.eclipse.osee.ats.ide.integration.tests.ats.access; |
| |
| import static org.eclipse.osee.framework.core.enums.DemoBranches.SAW_Bld_1; |
| -import java.util.Arrays; |
| import java.util.Collection; |
| -import org.eclipse.osee.ats.api.data.AtsRelationTypes; |
| -import org.eclipse.osee.ats.api.demo.DemoActionableItems; |
| +import org.eclipse.osee.ats.api.access.AtsAccessContextTokens; |
| +import org.eclipse.osee.ats.api.access.IAtsAccessService; |
| +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; |
| +import org.eclipse.osee.ats.api.demo.DemoArtifactToken; |
| import org.eclipse.osee.ats.api.demo.DemoWorkType; |
| -import org.eclipse.osee.ats.ide.access.AtsBranchAccessManager; |
| +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; |
| +import org.eclipse.osee.ats.api.util.IAtsChangeSet; |
| +import org.eclipse.osee.ats.api.version.IAtsVersion; |
| +import org.eclipse.osee.ats.core.access.AtsAccessService; |
| +import org.eclipse.osee.ats.core.access.demo.DemoAtsAccessContextTokens; |
| +import org.eclipse.osee.ats.ide.demo.DemoUtil; |
| import org.eclipse.osee.ats.ide.integration.tests.AtsApiService; |
| import org.eclipse.osee.ats.ide.integration.tests.util.DemoTestUtil; |
| import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.AccessContextToken; |
| +import org.eclipse.osee.framework.core.data.ArtifactId; |
| +import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; |
| -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; |
| -import org.junit.After; |
| import org.junit.Assert; |
| -import org.junit.Before; |
| import org.junit.Test; |
| |
| /** |
| @@ -41,7 +43,7 @@ public class AtsBranchAccessManagerTest { |
| |
| @Test |
| public void testIsApplicable() { |
| - AtsBranchAccessManager mgr = new AtsBranchAccessManager(); |
| + AtsAccessService mgr = new AtsAccessService(AtsApiService.get()); |
| Assert.assertFalse(mgr.isApplicable(AtsApiService.get().getAtsBranch())); |
| Assert.assertFalse(mgr.isApplicable(SAW_Bld_1)); |
| |
| @@ -55,94 +57,63 @@ public class AtsBranchAccessManagerTest { |
| Assert.assertTrue(mgr.isApplicable(branch)); |
| } |
| |
| - @Before |
| - @After |
| - public void cleanup() { |
| - TeamWorkFlowArtifact teamArt = |
| - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); |
| - SkynetTransaction transaction = TransactionManager.createTransaction(AtsApiService.get().getAtsBranch(), |
| - "testGetContextIdArtifact cleanup"); |
| - Artifact teamDefArt = AtsApiService.get().getQueryServiceIde().getArtifact(teamArt.getTeamDefinition()); |
| - teamDefArt.deleteAttributes(CoreAttributeTypes.AccessContextId); |
| - teamDefArt.persist(transaction); |
| - for (Artifact art : teamDefArt.getRelatedArtifacts(AtsRelationTypes.TeamActionableItem_ActionableItem)) { |
| - art.deleteAttributes(CoreAttributeTypes.AccessContextId); |
| - art.persist(transaction); |
| - } |
| - teamArt.deleteAttributes(CoreAttributeTypes.AccessContextId); |
| - teamArt.persist(transaction); |
| - transaction.execute(); |
| - } |
| - |
| - /** |
| - * Test method for |
| - * {@link org.eclipse.osee.ats.ide.access.AtsBranchAccessManager#getContextId(org.eclipse.osee.framework.skynet.core.artifact.Artifact)} |
| - * {@link org.eclipse.osee.ats.ide.access.AtsBranchAccessManager#getEventFilters()}. |
| - * {@link org.eclipse.osee.ats.ide.access.AtsBranchAccessManager#handleArtifactEvent(org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent, org.eclipse.osee.framework.skynet.core.event.model.Sender)} |
| - */ |
| @Test |
| - public void testGetContextIdBranch() throws Exception { |
| - AtsBranchAccessManager mgr = new AtsBranchAccessManager(); |
| - TeamWorkFlowArtifact teamArt = |
| - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); |
| - |
| - // confirm that no context id returned |
| - Assert.assertEquals(0, mgr.getContextId(teamArt.getWorkingBranch(), false).size()); |
| - |
| - String teamDefContextId1 = "1234"; |
| - String teamDefContextId2 = "2345"; |
| - Artifact teamDefArt = AtsApiService.get().getQueryServiceIde().getArtifact(teamArt.getTeamDefinition()); |
| - teamDefArt.setAttributeValues(CoreAttributeTypes.AccessContextId, |
| - Arrays.asList(teamDefContextId1, teamDefContextId2)); |
| - teamDefArt.persist(getClass().getSimpleName()); |
| - |
| - Assert.assertEquals(2, mgr.getContextId(teamArt.getWorkingBranch(), false).size()); |
| - |
| - String aiContextId = "6789"; |
| - Artifact aiArt = AtsApiService.get().getQueryServiceIde().getArtifact( |
| - AtsApiService.get().getActionableItemService().getActionableItems( |
| - Arrays.asList(DemoActionableItems.SAW_Requirements.getName())).iterator().next()); |
| - aiArt.setAttributeValues(CoreAttributeTypes.AccessContextId, Arrays.asList(aiContextId)); |
| - aiArt.persist(getClass().getSimpleName()); |
| + public void testGetContextIds() throws Exception { |
| + IAtsAccessService accessService = AtsApiService.get().getAtsAccessService(); |
| + TeamWorkFlowArtifact teamArt = DemoUtil.getButtonWDoesntWorkOnSituationPageWf(); |
| + IAtsTeamDefinition teamDef = teamArt.getTeamDefinition(); |
| + IAtsActionableItem ai = teamArt.getActionableItems().iterator().next(); |
| + |
| + // confirm that deny context id is returned cause no branch |
| + Collection<AccessContextToken> contextIds = accessService.getContextIds(teamArt.getWorkingBranch(), false); |
| + Assert.assertEquals(1, contextIds.size()); |
| + Assert.assertTrue(contextIds.contains(AtsAccessContextTokens.ATS_BRANCH_READ)); |
| + |
| + // create branch |
| + IAtsChangeSet changes = AtsApiService.get().createChangeSet(getClass().getSimpleName() + " - set target ver"); |
| + IAtsVersion ver = AtsApiService.get().getVersionService().getVersionById(DemoArtifactToken.CIS_Bld_1); |
| + AtsApiService.get().getVersionService().setTargetedVersion(teamArt, ver, changes); |
| + changes.execute(); |
| + AtsApiService.get().getBranchServiceIde().createWorkingBranch_Create(teamArt, true); |
| + |
| + // confirm 0 contexts |
| + contextIds = accessService.getContextIds(teamArt.getWorkingBranch(), false); |
| + Assert.assertEquals(0, contextIds.size()); |
| + |
| + // set 2 on team def |
| + AtsApiService.get().getAtsAccessService().setContextIds(teamDef, DemoAtsAccessContextTokens.DEMO_CODE_CONTEXT, |
| + DemoAtsAccessContextTokens.DEMO_TEST_CONTEXT); |
| + |
| + // 2 returned |
| + contextIds = accessService.getContextIds(teamArt.getWorkingBranch(), false); |
| + Assert.assertEquals(2, contextIds.size()); |
| + Assert.assertTrue(contextIds.contains(DemoAtsAccessContextTokens.DEMO_CODE_CONTEXT)); |
| + Assert.assertTrue(contextIds.contains(DemoAtsAccessContextTokens.DEMO_TEST_CONTEXT)); |
| + |
| + // set 1 on ai |
| + AtsApiService.get().getAtsAccessService().setContextIds(ai, DemoAtsAccessContextTokens.DEMO_SYSTEMS_CONTEXT); |
| + |
| + // only 1 cause AI overrides Team Def |
| + contextIds = accessService.getContextIds(teamArt.getWorkingBranch(), false); |
| + Assert.assertEquals(1, contextIds.size()); |
| + Assert.assertTrue(contextIds.contains(DemoAtsAccessContextTokens.DEMO_SYSTEMS_CONTEXT)); |
| |
| - Assert.assertEquals(1, mgr.getContextId(teamArt.getWorkingBranch(), false).size()); |
| + // set 1 on workflow |
| + AtsApiService.get().getAtsAccessService().setContextIds(teamArt, |
| + DemoAtsAccessContextTokens.DEMO_REQUIREMENT_CONTEXT); |
| |
| - String teamContextId1 = "1234"; |
| - String teamContextId2 = "2345"; |
| - String teamContextId3 = "3456"; |
| - teamArt.setAttributeValues(CoreAttributeTypes.AccessContextId, |
| - Arrays.asList(teamContextId1, teamContextId2, teamContextId3)); |
| - teamArt.persist(getClass().getSimpleName()); |
| + // only 1 cause workflow overrides AI and Team Def |
| + contextIds = accessService.getContextIds(teamArt.getWorkingBranch(), false); |
| + Assert.assertEquals(1, contextIds.size()); |
| + Assert.assertTrue(contextIds.contains(DemoAtsAccessContextTokens.DEMO_REQUIREMENT_CONTEXT)); |
| |
| - AtsApiService.get().clearCaches(); |
| + // cleanup |
| + changes = AtsApiService.get().createChangeSet(getClass().getSimpleName() + " - cleanup"); |
| + changes.deleteAttributes((ArtifactId) teamArt, CoreAttributeTypes.AccessContextId); |
| + changes.deleteAttributes(teamDef, CoreAttributeTypes.AccessContextId); |
| + changes.deleteAttributes(ai, CoreAttributeTypes.AccessContextId); |
| + changes.execute(); |
| |
| - Assert.assertEquals(3, mgr.getContextId(teamArt.getWorkingBranch(), false).size()); |
| } |
| |
| - /** |
| - * Test method for { |
| - * |
| - * @param useCache TODO@link org.eclipse.osee.ats.ide.access.AtsBranchAccessManager#convertAccessAttributeToGuid |
| - */ |
| - @Test |
| - public void testConvertAccessAttributeToGuid() throws Exception { |
| - AtsBranchAccessManager mgr = new AtsBranchAccessManager(); |
| - TeamWorkFlowArtifact teamArt = |
| - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); |
| - |
| - // confirm that no context id returned |
| - Assert.assertEquals(0, mgr.getContextId(teamArt.getWorkingBranch()).size()); |
| - |
| - String teamDefContextId1 = "16546, this is the name"; |
| - Artifact teamDefArt = AtsApiService.get().getQueryServiceIde().getArtifact(teamArt.getTeamDefinition()); |
| - teamDefArt.setAttributeValues(CoreAttributeTypes.AccessContextId, Arrays.asList(teamDefContextId1)); |
| - teamDefArt.persist(getClass().getSimpleName()); |
| - |
| - mgr.clearCache(); |
| - |
| - Collection<AccessContextToken> contextIds = mgr.getContextId(teamArt.getWorkingBranch()); |
| - Assert.assertEquals(1, contextIds.size()); |
| - AccessContextToken contextId = contextIds.iterator().next(); |
| - Assert.assertEquals(Long.valueOf(16546), contextId.getId()); |
| - } |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/access/UserGroupImplTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/access/UserGroupImplTest.java |
| index 3d530e383e..e46a689d96 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/access/UserGroupImplTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/access/UserGroupImplTest.java |
| @@ -27,7 +27,7 @@ public class UserGroupImplTest { |
| |
| @Test |
| public void test() { |
| - // Joe Smith is no admin by default, but is temp admin |
| + // Joe Smith is not admin by default, but is temp admin |
| Assert.assertFalse(UserGroupService.get(AtsUserGroups.AtsAdmin).isCurrentUserMember()); |
| Assert.assertTrue(UserGroupService.get(AtsUserGroups.AtsTempAdmin).isCurrentUserMember()); |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/config/ActionableItemResourceTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/config/ActionableItemResourceTest.java |
| index 1f1b041ec4..4dec693a37 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/config/ActionableItemResourceTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/config/ActionableItemResourceTest.java |
| @@ -33,12 +33,12 @@ public class ActionableItemResourceTest extends AbstractRestTest { |
| |
| @Test |
| public void testAtsAisRestCall() { |
| - testActionableItemUrl("/ats/ai", 68, false); |
| + testActionableItemUrl("/ats/ai", 70, false); |
| } |
| |
| @Test |
| public void testAtsAisDetailsRestCall() { |
| - testActionableItemUrl("/ats/ai/details", 68, true); |
| + testActionableItemUrl("/ats/ai/details", 70, true); |
| } |
| |
| @Test |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/config/TeamResourceTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/config/TeamResourceTest.java |
| index f1b20480f7..53fe7c96fa 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/config/TeamResourceTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/config/TeamResourceTest.java |
| @@ -33,13 +33,13 @@ public class TeamResourceTest extends AbstractRestTest { |
| |
| @Test |
| public void testAtsTeamsRestCall() { |
| - JsonNode team = testTeamUrl("/ats/team", 25, false); |
| + JsonNode team = testTeamUrl("/ats/team", 27, false); |
| Assert.assertFalse(team.has("version")); |
| } |
| |
| @Test |
| public void testAtsTeamsDetailsRestCall() { |
| - JsonNode team = testTeamUrl("/ats/team/details", 25, true); |
| + JsonNode team = testTeamUrl("/ats/team/details", 27, true); |
| Assert.assertEquals(3, team.get("version").size()); |
| } |
| |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/resource/AtsActionEndpointImplTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/resource/AtsActionEndpointImplTest.java |
| index ee827d37aa..b738594cae 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/resource/AtsActionEndpointImplTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/resource/AtsActionEndpointImplTest.java |
| @@ -93,7 +93,7 @@ public class AtsActionEndpointImplTest extends AbstractRestTest { |
| "Title", "SAW"// |
| ); |
| |
| - getFirstAndCount(target, 3); |
| + getFirstAndCount(target, 4); |
| } |
| |
| @Test |
| @@ -113,7 +113,7 @@ public class AtsActionEndpointImplTest extends AbstractRestTest { |
| "Team", codeWfId, // |
| "StateType", StateType.Working.name()// |
| ); |
| - getAndCountWorkItems(target, 4); |
| + getAndCountWorkItems(target, 5); |
| } |
| |
| @Test |
| @@ -122,7 +122,7 @@ public class AtsActionEndpointImplTest extends AbstractRestTest { |
| "Team", codeWfId, // |
| "Assignee", "4444", // |
| "Assignee", "3333"); |
| - getAndCountWorkItems(target, 4); |
| + getAndCountWorkItems(target, 5); |
| } |
| |
| @Test |
| @@ -131,13 +131,13 @@ public class AtsActionEndpointImplTest extends AbstractRestTest { |
| "Team", codeWfId, // |
| "Originator", "3333" // |
| ); |
| - getAndCountWorkItems(target, 4); |
| + getAndCountWorkItems(target, 5); |
| } |
| |
| @Test |
| public void testQueryTeam() { |
| WebTarget target = createWebTarget("Team", codeWfId); |
| - getFirstAndCount(target, 4); |
| + getFirstAndCount(target, 5); |
| } |
| |
| @Test |
| @@ -148,7 +148,7 @@ public class AtsActionEndpointImplTest extends AbstractRestTest { |
| "Priority", "3", // |
| "StateType", StateType.Working.name() // |
| ); |
| - getFirstAndCount(target, 2); |
| + getFirstAndCount(target, 3); |
| } |
| |
| public TeamWorkFlowArtifact getCodeWorkflow() { |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/resource/AtsProductLineEndpointTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/resource/AtsProductLineEndpointTest.java |
| index c5ec9ae52d..edc3a93b5d 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/resource/AtsProductLineEndpointTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/resource/AtsProductLineEndpointTest.java |
| @@ -34,7 +34,7 @@ public class AtsProductLineEndpointTest extends AbstractRestTest { |
| String path = "ats/ple/branches/"; |
| WebTarget target = jaxRsApi.newTargetQuery(path + "/baseline"); |
| |
| - testActionRestCall(target, 1); |
| + testActionRestCall(target, 2); |
| } |
| |
| private JsonNode testActionRestCall(WebTarget target, int size) { |
| @@ -43,4 +43,4 @@ public class AtsProductLineEndpointTest extends AbstractRestTest { |
| Assert.assertEquals(size, arrayNode.size()); |
| return arrayNode.get(0); |
| } |
| -} |
| \ No newline at end of file |
| +} |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/util/AtsProgramServiceTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/util/AtsProgramServiceTest.java |
| index 735070718c..7570f2896d 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/util/AtsProgramServiceTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/util/AtsProgramServiceTest.java |
| @@ -138,7 +138,7 @@ public class AtsProgramServiceTest { |
| public void testGetTeamDefinition() { |
| assertEquals("SAW SW", programService.getTeamDefinition(sawProgram).getName()); |
| |
| - assertEquals(6, programService.getTeamDefs(sawProgram).size()); |
| + assertEquals(8, programService.getTeamDefs(sawProgram).size()); |
| |
| assertEquals(1, programService.getTeamDefs(sawProgram, WorkType.Code).size()); |
| |
| @@ -147,7 +147,7 @@ public class AtsProgramServiceTest { |
| |
| @Test |
| public void testGetAIs() { |
| - assertEquals(6, programService.getAis(sawProgram).size()); |
| + assertEquals(8, programService.getAis(sawProgram).size()); |
| |
| assertEquals(1, programService.getAis(sawProgram, WorkType.Code).size()); |
| |
| @@ -157,7 +157,7 @@ public class AtsProgramServiceTest { |
| @Test |
| public void testGetWorkType() { |
| Collection<IAtsTeamWorkflow> workflows = programService.getWorkflows(sawProgram, WorkType.Code); |
| - assertEquals(4, workflows.size()); |
| + assertEquals(5, workflows.size()); |
| IAtsTeamWorkflow codeTeamWf = workflows.iterator().next(); |
| |
| assertEquals(WorkType.Code, programService.getWorkType(codeTeamWf)); |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/util/CreateActionUsingAllActionableItemsTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/util/CreateActionUsingAllActionableItemsTest.java |
| index 4088f9a80e..92f9eecfcd 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/util/CreateActionUsingAllActionableItemsTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/util/CreateActionUsingAllActionableItemsTest.java |
| @@ -50,7 +50,7 @@ public class CreateActionUsingAllActionableItemsTest { |
| SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); |
| ActionResult action = CreateActionUsingAllActionableItems.createActionWithAllAis(); |
| if (TestUtil.isDemoDb()) { |
| - Assert.assertEquals("Should be 21 workflows created", 21, action.getTeams().size()); |
| + Assert.assertEquals("Should be 23 workflows created", 23, action.getTeams().size()); |
| } else { |
| Assert.assertEquals("Should be 34 workflows created", 34, action.getTeams().size()); |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/workflow/transition/TransitionManagerTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/workflow/transition/TransitionManagerTest.java |
| index d485434b92..4eca2998dd 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/workflow/transition/TransitionManagerTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/workflow/transition/TransitionManagerTest.java |
| @@ -97,11 +97,10 @@ public class TransitionManagerTest { |
| @org.junit.Test |
| public void testHandleTransitionValidation__NoAwas() { |
| AtsTestUtil.cleanupAndReset("TransitionManagerTest-A"); |
| - TransitionHelper helper = |
| - new TransitionHelper(getClass().getSimpleName(), EMPTY_AWAS, AtsTestUtil.getImplementStateDef().getName(), |
| - Arrays.asList(AtsApiService.get().getUserService().getCurrentUser()), null, |
| - AtsApiService.get().createChangeSet(getClass().getSimpleName()), AtsApiService.get(), |
| - TransitionOption.None); |
| + TransitionHelper helper = new TransitionHelper(getClass().getSimpleName(), EMPTY_AWAS, |
| + AtsTestUtil.getImplementStateDef().getName(), |
| + Arrays.asList(AtsApiService.get().getUserService().getCurrentUser()), null, |
| + AtsApiService.get().createChangeSet(getClass().getSimpleName()), AtsApiService.get(), TransitionOption.None); |
| TransitionManager transMgr = new TransitionManager(helper); |
| TransitionResults results = new TransitionResults(); |
| transMgr.handleTransitionValidation(results); |
| @@ -112,8 +111,7 @@ public class TransitionManagerTest { |
| public void testHandleTransitionValidation__ToStateNotNull() { |
| TransitionHelper helper = new TransitionHelper(getClass().getSimpleName(), Arrays.asList(AtsTestUtil.getTeamWf()), |
| null, Arrays.asList(AtsApiService.get().getUserService().getCurrentUser()), null, |
| - AtsApiService.get().createChangeSet(getClass().getSimpleName()), AtsApiService.get(), |
| - TransitionOption.None); |
| + AtsApiService.get().createChangeSet(getClass().getSimpleName()), AtsApiService.get(), TransitionOption.None); |
| TransitionManager transMgr = new TransitionManager(helper); |
| TransitionResults results = new TransitionResults(); |
| transMgr.handleTransitionValidation(results); |
| @@ -124,8 +122,7 @@ public class TransitionManagerTest { |
| public void testHandleTransitionValidation__InvalidToState() { |
| TransitionHelper helper = new TransitionHelper(getClass().getSimpleName(), Arrays.asList(AtsTestUtil.getTeamWf()), |
| "InvalidStateName", Arrays.asList(AtsApiService.get().getUserService().getCurrentUser()), null, |
| - AtsApiService.get().createChangeSet(getClass().getSimpleName()), AtsApiService.get(), |
| - TransitionOption.None); |
| + AtsApiService.get().createChangeSet(getClass().getSimpleName()), AtsApiService.get(), TransitionOption.None); |
| TransitionManager transMgr = new TransitionManager(helper); |
| TransitionResults results = new TransitionResults(); |
| transMgr.handleTransitionValidation(results); |
| @@ -143,8 +140,7 @@ public class TransitionManagerTest { |
| TransitionHelper helper = new TransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), |
| AtsTestUtil.getImplementStateDef().getName(), |
| Arrays.asList(AtsApiService.get().getUserService().getCurrentUser()), null, |
| - AtsApiService.get().createChangeSet(getClass().getSimpleName()), AtsApiService.get(), |
| - TransitionOption.None); |
| + AtsApiService.get().createChangeSet(getClass().getSimpleName()), AtsApiService.get(), TransitionOption.None); |
| helper.setExecuteChanges(true); |
| TransitionManager transMgr = new TransitionManager(helper); |
| TransitionResults results = new TransitionResults(); |
| @@ -156,8 +152,7 @@ public class TransitionManagerTest { |
| // Un-Assign Joe Smith |
| results.clear(); |
| Assert.assertFalse(helper.isOverrideAssigneeCheck()); |
| - teamArt.getStateMgr().setAssignee( |
| - AtsApiService.get().getUserService().getUserByToken(DemoUsers.Alex_Kay)); |
| + teamArt.getStateMgr().setAssignee(AtsApiService.get().getUserService().getUserByToken(DemoUsers.Alex_Kay)); |
| transMgr.handleTransitionValidation(results); |
| Assert.assertTrue(results.contains(AtsTestUtil.getTeamWf(), TransitionResult.MUST_BE_ASSIGNED)); |
| |
| @@ -165,8 +160,7 @@ public class TransitionManagerTest { |
| results.clear(); |
| helper.addTransitionOption(TransitionOption.OverrideAssigneeCheck); |
| Assert.assertTrue(helper.isOverrideAssigneeCheck()); |
| - teamArt.getStateMgr().setAssignee( |
| - AtsApiService.get().getUserService().getUserByToken(DemoUsers.Alex_Kay)); |
| + teamArt.getStateMgr().setAssignee(AtsApiService.get().getUserService().getUserByToken(DemoUsers.Alex_Kay)); |
| transMgr.handleTransitionValidation(results); |
| Assert.assertTrue(results.isEmpty()); |
| |
| @@ -174,14 +168,12 @@ public class TransitionManagerTest { |
| results.clear(); |
| helper.removeTransitionOption(TransitionOption.OverrideAssigneeCheck); |
| Assert.assertFalse(helper.isOverrideAssigneeCheck()); |
| - teamArt.getStateMgr().setAssignee( |
| - AtsApiService.get().getUserService().getUserByToken(SystemUser.UnAssigned)); |
| + teamArt.getStateMgr().setAssignee(AtsApiService.get().getUserService().getUserByToken(SystemUser.UnAssigned)); |
| transMgr.handleTransitionValidation(results); |
| Assert.assertTrue(getResultsAndDebug(results, teamArt, helper), results.isEmpty()); |
| |
| // cleanup test |
| - teamArt.getStateMgr().setAssignee( |
| - AtsApiService.get().getUserService().getUserByToken(SystemUser.UnAssigned)); |
| + teamArt.getStateMgr().setAssignee(AtsApiService.get().getUserService().getUserByToken(SystemUser.UnAssigned)); |
| } |
| |
| private String getResultsAndDebug(TransitionResults results, TeamWorkFlowArtifact teamArt, TransitionHelper helper) { |
| @@ -365,6 +357,7 @@ public class TransitionManagerTest { |
| |
| TransitionResults results = new TransitionResults(); |
| when(teamWf.isTeamWorkflow()).thenReturn(true); |
| + when(teamWf.getId()).thenReturn(4353454L); |
| |
| // validate that if rule exists and is working, then transition with tasks is ok |
| when(teamWf.getStateDefinition()).thenReturn(toStateDef); |
| @@ -512,8 +505,8 @@ public class TransitionManagerTest { |
| |
| // validate that can transition cause review completed |
| changes = AtsApiService.get().createChangeSet(getClass().getSimpleName()); |
| - Result result = AtsApiService.get().getReviewService().transitionDecisionTo(decArt, |
| - DecisionReviewState.Completed, AtsApiService.get().getUserService().getCurrentUser(), false, changes); |
| + Result result = AtsApiService.get().getReviewService().transitionDecisionTo(decArt, DecisionReviewState.Completed, |
| + AtsApiService.get().getUserService().getCurrentUser(), false, changes); |
| Assert.assertTrue(result.getText(), result.isTrue()); |
| changes.execute(); |
| results.clear(); |
| @@ -674,9 +667,9 @@ public class TransitionManagerTest { |
| |
| // transition workflow to cancelled - peer review not cancelled |
| changes.clear(); |
| - TransitionHelper transHelper = new TransitionHelper("Transition Team Workflow Review", Arrays.asList(teamArt), |
| - "Cancelled", new ArrayList<AtsUser>(), "", changes, AtsApiService.get(), |
| - TransitionOption.OverrideAssigneeCheck); |
| + TransitionHelper transHelper = |
| + new TransitionHelper("Transition Team Workflow Review", Arrays.asList(teamArt), "Cancelled", |
| + new ArrayList<AtsUser>(), "", changes, AtsApiService.get(), TransitionOption.OverrideAssigneeCheck); |
| transHelper.setTransitionUser(AtsApiService.get().getUserService().getCurrentUser()); |
| TransitionManager mgr = new TransitionManager(transHelper); |
| results = mgr.handleAll(); |
| @@ -687,8 +680,7 @@ public class TransitionManagerTest { |
| results.clear(); |
| changes.clear(); |
| transHelper = new TransitionHelper("Transition Team Workflow Review", Arrays.asList(peerReview), "Cancelled", |
| - new ArrayList<AtsUser>(), "", changes, AtsApiService.get(), |
| - TransitionOption.OverrideAssigneeCheck); |
| + new ArrayList<AtsUser>(), "", changes, AtsApiService.get(), TransitionOption.OverrideAssigneeCheck); |
| transHelper.setTransitionUser(AtsApiService.get().getUserService().getCurrentUser()); |
| mgr = new TransitionManager(transHelper); |
| results = mgr.handleAll(); |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/AtsConfigQueryImplTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/AtsConfigQueryImplTest.java |
| index 1007a83cda..f2e88de4aa 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/AtsConfigQueryImplTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/AtsConfigQueryImplTest.java |
| @@ -58,10 +58,10 @@ public class AtsConfigQueryImplTest { |
| public void test() { |
| IAtsConfigQuery query = queryService.createQuery(AtsArtifactTypes.TeamDefinition); |
| ResultSet<IAtsTeamDefinition> teamDefs = query.getConfigObjectResultSet(); |
| - assertEquals(25, teamDefs.size()); |
| + assertEquals(27, teamDefs.size()); |
| |
| Collection<ArtifactToken> resultArtifacts = query.getArtifacts(); |
| - assertEquals(25, resultArtifacts.size()); |
| + assertEquals(27, resultArtifacts.size()); |
| |
| query.andAttr(CoreAttributeTypes.Name, DemoArtifactToken.SAW_Code.getName()); |
| IAtsTeamDefinition teamDef = |
| @@ -73,7 +73,7 @@ public class AtsConfigQueryImplTest { |
| query = queryService.createQuery(AtsArtifactTypes.ActionableItem); |
| ResultSet<IAtsActionableItem> ais = query.getConfigObjectResultSet(); |
| |
| - assertEquals(68, ais.size()); |
| + assertEquals(70, ais.size()); |
| } |
| |
| @Test |
| @@ -105,7 +105,7 @@ public class AtsConfigQueryImplTest { |
| IAtsConfigQuery query = |
| queryService.createQuery(AtsArtifactTypes.TeamDefinition).andProgram(DemoArtifactToken.SAW_Program.getId()); |
| ResultSet<IAtsTeamDefinition> teamDefs = query.getConfigObjectResultSet(); |
| - assertEquals(6, teamDefs.size()); |
| + assertEquals(8, teamDefs.size()); |
| |
| } |
| |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/AtsQueryImplTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/AtsQueryImplTest.java |
| index b41602821b..7f912bd98d 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/AtsQueryImplTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/AtsQueryImplTest.java |
| @@ -60,7 +60,7 @@ public class AtsQueryImplTest { |
| |
| // test by type |
| IAtsQuery query = queryService.createQuery(WorkItemType.TeamWorkflow); |
| - assertEquals(28, query.getResults().size()); |
| + assertEquals(31, query.getResults().size()); |
| |
| query = queryService.createQuery(WorkItemType.Task); |
| assertEquals(50, query.getResults().size()); |
| @@ -68,18 +68,18 @@ public class AtsQueryImplTest { |
| // assignee |
| query = queryService.createQuery(WorkItemType.TeamWorkflow); |
| query.andAssignee(atsApi.getUserService().getUserByUserId("3333")); |
| - assertEquals(8, query.getResults().size()); |
| + assertEquals(10, query.getResults().size()); |
| |
| // team |
| query = queryService.createQuery(WorkItemType.TeamWorkflow); |
| query.andTeam(Arrays.asList(30013695L)); |
| - assertEquals(4, query.getResults().size()); |
| + assertEquals(5, query.getResults().size()); |
| |
| // ai |
| query = queryService.createQuery(WorkItemType.TeamWorkflow); |
| ArtifactId ai = atsApi.getQueryService().getArtifactByName(AtsArtifactTypes.ActionableItem, "SAW Requirements"); |
| query.andActionableItem(Arrays.asList(ai.getId())); |
| - assertEquals(5, query.getResults().size()); |
| + assertEquals(6, query.getResults().size()); |
| |
| // by ids (hijack two workflows from previous search) |
| List<Long> ids = new LinkedList<>(); |
| @@ -100,11 +100,11 @@ public class AtsQueryImplTest { |
| // by state type |
| query = queryService.createQuery(WorkItemType.WorkItem); |
| query.andStateType(StateType.Working); |
| - assertEquals(92, query.getResults().size()); |
| + assertEquals(95, query.getResults().size()); |
| |
| query = queryService.createQuery(WorkItemType.TeamWorkflow); |
| query.andStateType(StateType.Working); |
| - assertEquals(24, query.getResults().size()); |
| + assertEquals(27, query.getResults().size()); |
| |
| query = queryService.createQuery(WorkItemType.TeamWorkflow); |
| query.andStateType(StateType.Completed); |
| @@ -112,23 +112,23 @@ public class AtsQueryImplTest { |
| |
| query = queryService.createQuery(WorkItemType.TeamWorkflow); |
| query.andStateType(StateType.Completed, StateType.Working); |
| - assertEquals(28, query.getResults().size()); |
| + assertEquals(31, query.getResults().size()); |
| |
| // by version |
| query = queryService.createQuery(WorkItemType.TeamWorkflow); |
| ArtifactId version = atsApi.getQueryService().getArtifactByName(AtsArtifactTypes.Version, "SAW_Bld_2"); |
| query.andVersion(version.getId()); |
| - assertEquals(17, query.getResults().size()); |
| + assertEquals(20, query.getResults().size()); |
| |
| // by assignee |
| query = queryService.createQuery(WorkItemType.TeamWorkflow); |
| query.andAssignee(joeSmith); |
| - assertEquals(8, query.getResults().size()); |
| + assertEquals(10, query.getResults().size()); |
| |
| // by originator |
| query = queryService.createQuery(WorkItemType.TeamWorkflow); |
| query.andOriginator(joeSmith); |
| - assertEquals(28, query.getResults().size()); |
| + assertEquals(31, query.getResults().size()); |
| |
| // by favorite |
| query = queryService.createQuery(WorkItemType.TeamWorkflow); |
| @@ -152,8 +152,8 @@ public class AtsQueryImplTest { |
| IAtsInsertion insertion = programService.getInsertion(activity); // COMM |
| IAtsProgram program = programService.getProgram(insertion); // SAW Program |
| |
| - IAtsTeamWorkflow codeWf = AtsApiService.get().getWorkItemService().getTeamWf( |
| - DemoTestUtil.getCommittedActionWorkflow(DemoWorkType.Code)); |
| + IAtsTeamWorkflow codeWf = |
| + AtsApiService.get().getWorkItemService().getTeamWf(DemoTestUtil.getCommittedActionWorkflow(DemoWorkType.Code)); |
| IAtsTask codeTask = (IAtsTask) AtsApiService.get().getQueryService().createQuery(WorkItemType.Task).andAttr( |
| CoreAttributeTypes.Name, "Create test plan").getItems().iterator().next(); |
| |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/MyWorldSearchItemTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/MyWorldSearchItemTest.java |
| index 9ba6ff0de2..bc64ea7fa0 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/MyWorldSearchItemTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/MyWorldSearchItemTest.java |
| @@ -38,15 +38,15 @@ public class MyWorldSearchItemTest { |
| AtsUser currentUser = AtsApiService.get().getUserService().getCurrentUser(); |
| MyWorldSearchItem search = new MyWorldSearchItem("Search", currentUser); |
| Collection<Artifact> results = search.performSearchGetResults(); |
| - DemoTestUtil.assertTypes(results, 12, IAtsWorkItem.class); |
| - DemoTestUtil.assertTypes(results, 8, IAtsTeamWorkflow.class); |
| + DemoTestUtil.assertTypes(results, 14, IAtsWorkItem.class); |
| + DemoTestUtil.assertTypes(results, 10, IAtsTeamWorkflow.class); |
| DemoTestUtil.assertTypes(results, 2, IAtsDecisionReview.class); |
| DemoTestUtil.assertTypes(results, 2, IAtsPeerToPeerReview.class); |
| |
| search = new MyWorldSearchItem("Search", |
| AtsApiService.get().getUserService().getUserByUserId(DemoUsers.Kay_Jones.getUserId())); |
| results = search.performSearchGetResults(); |
| - DemoTestUtil.assertTypes(results, 13, IAtsWorkItem.class); |
| + DemoTestUtil.assertTypes(results, 14, IAtsWorkItem.class); |
| DemoTestUtil.assertTypes(results, 1, IAtsPeerToPeerReview.class); |
| } |
| |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/NextVersionSearchItemTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/NextVersionSearchItemTest.java |
| index b6e49d4255..3b5fd8ba0a 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/NextVersionSearchItemTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/NextVersionSearchItemTest.java |
| @@ -33,11 +33,11 @@ public class NextVersionSearchItemTest { |
| |
| @Test |
| public void testByTeam() { |
| - IAtsTeamDefinition teamDef = AtsApiService.get().getTeamDefinitionService().getTeamDefinitions( |
| - Arrays.asList("SAW SW")).iterator().next(); |
| + IAtsTeamDefinition teamDef = |
| + AtsApiService.get().getTeamDefinitionService().getTeamDefinitions(Arrays.asList("SAW SW")).iterator().next(); |
| NextVersionSearchItem search = new NextVersionSearchItem(teamDef, LoadView.WorldEditor); |
| Collection<Artifact> results = search.performSearchGetResults(); |
| - DemoTestUtil.assertTypes(results, 17, IAtsTeamWorkflow.class); |
| + DemoTestUtil.assertTypes(results, 20, IAtsTeamWorkflow.class); |
| } |
| |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/VersionTargetedForTeamSearchItemTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/VersionTargetedForTeamSearchItemTest.java |
| index 680899bdb4..ee55467f8c 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/VersionTargetedForTeamSearchItemTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/VersionTargetedForTeamSearchItemTest.java |
| @@ -37,7 +37,7 @@ public class VersionTargetedForTeamSearchItemTest { |
| VersionTargetedForTeamSearchItem search = |
| new VersionTargetedForTeamSearchItem(null, version, false, LoadView.WorldEditor); |
| Collection<Artifact> results = search.performSearchGetResults(); |
| - DemoTestUtil.assertTypes(results, 17, IAtsTeamWorkflow.class); |
| + DemoTestUtil.assertTypes(results, 20, IAtsTeamWorkflow.class); |
| } |
| |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/WorldSearchItemTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/WorldSearchItemTest.java |
| index 7409eeef00..824d9f5959 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/WorldSearchItemTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/WorldSearchItemTest.java |
| @@ -66,7 +66,7 @@ public class WorldSearchItemTest { |
| data.setTeamDefIds(Arrays.asList(DemoArtifactToken.SAW_Code.getId())); |
| WorldSearchItem search = new WorldSearchItem(data); |
| Collection<Artifact> results = search.performSearch(SearchType.Search); |
| - Assert.assertEquals(4, results.size()); |
| + Assert.assertEquals(5, results.size()); |
| } |
| |
| @Test |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/framework/ui/skynet/FrameworkUiSkynetTest_Suite.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/framework/ui/skynet/FrameworkUiSkynetTest_Suite.java |
| index 20eaf228b8..4295d8585b 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/framework/ui/skynet/FrameworkUiSkynetTest_Suite.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/framework/ui/skynet/FrameworkUiSkynetTest_Suite.java |
| @@ -23,8 +23,8 @@ import org.junit.runners.Suite; |
| */ |
| @RunWith(Suite.class) |
| @Suite.SuiteClasses({ // |
| - OpenBlamsTest.class, // |
| LinkUtilTest.class, // |
| + OpenBlamsTest.class, // |
| WordTemplateProcessorTest.class // |
| }) |
| public class FrameworkUiSkynetTest_Suite { |
| diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/util/DbInitTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/util/DbInitTest.java |
| index 66aac55362..b96379bd9d 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/util/DbInitTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/util/DbInitTest.java |
| @@ -81,7 +81,7 @@ public class DbInitTest { |
| UserManager.setSetting(UserManager.DOUBLE_CLICK_SETTING_KEY_EDIT, "false"); |
| UserManager.getUser().saveSettings(); |
| |
| - UserGroupService.get(CoreUserGroups.DefaultArtifactEditor).addMember(UserManager.getUser()); |
| + UserGroupService.get(CoreUserGroups.DefaultArtifactEditor).addMember(UserManager.getUser(), true); |
| |
| } |
| |
| diff --git a/plugins/org.eclipse.osee.ats.ide/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.ide/META-INF/MANIFEST.MF |
| index e52095a4c0..a5f56ffeb2 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.ats.ide/META-INF/MANIFEST.MF |
| @@ -23,7 +23,6 @@ Require-Bundle: org.eclipse.gef, |
| org.junit, |
| org.apache.commons.httpclient |
| Export-Package: org.eclipse.osee.ats.ide, |
| - org.eclipse.osee.ats.ide.access, |
| org.eclipse.osee.ats.ide.actions, |
| org.eclipse.osee.ats.ide.actions.wizard, |
| org.eclipse.osee.ats.ide.branch, |
| @@ -136,16 +135,12 @@ Import-Package: com.fasterxml.jackson.annotation, |
| org.eclipse.osee.ats.ide.search, |
| org.eclipse.osee.define.ide.traceability, |
| org.eclipse.osee.define.ide.traceability.report, |
| - org.eclipse.osee.framework.access, |
| org.eclipse.osee.framework.core, |
| org.eclipse.osee.framework.core.access, |
| + org.eclipse.osee.framework.core.access.event, |
| org.eclipse.osee.framework.core.client, |
| org.eclipse.osee.framework.core.client.server, |
| org.eclipse.osee.framework.core.data, |
| - org.eclipse.osee.framework.core.dsl.integration, |
| - org.eclipse.osee.framework.core.dsl.integration.util, |
| - org.eclipse.osee.framework.core.dsl.oseeDsl, |
| - org.eclipse.osee.framework.core.dsl.ui.integration.operations, |
| org.eclipse.osee.framework.core.enums, |
| org.eclipse.osee.framework.core.enums.token, |
| org.eclipse.osee.framework.core.event, |
| diff --git a/plugins/org.eclipse.osee.ats.ide/OSGI-INF/ats.cm.access.xml b/plugins/org.eclipse.osee.ats.ide/OSGI-INF/ats.cm.access.xml |
| deleted file mode 100644 |
| index 25c93e9bb1..0000000000 |
| --- a/plugins/org.eclipse.osee.ats.ide/OSGI-INF/ats.cm.access.xml |
| +++ /dev/null |
| @@ -1,11 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop"> |
| - <implementation class="org.eclipse.osee.ats.ide.access.internal.AtsCmAccessControlProxy"/> |
| - <service> |
| - <provide interface="org.eclipse.osee.framework.core.services.CmAccessControl"/> |
| - <provide interface="org.eclipse.osee.framework.core.model.access.HasAccessModel"/> |
| - </service> |
| - <reference bind="setAccessModelInterpreter" cardinality="1..1" interface="org.eclipse.osee.framework.core.dsl.integration.AccessModelInterpreter" name="AccessModelInterpreter" policy="static"/> |
| - <reference bind="setEventService" cardinality="1..1" interface="org.eclipse.osee.framework.skynet.core.event.OseeEventService" name="OseeEventService" policy="static"/> |
| - <reference cardinality="1..1" interface="org.eclipse.core.resources.IWorkspace" name="IWorkspace" policy="static"/> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/AtsBranchAccessManager.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/AtsBranchAccessManager.java |
| deleted file mode 100644 |
| index 9461ecc8cd..0000000000 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/AtsBranchAccessManager.java |
| +++ /dev/null |
| @@ -1,281 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.ats.ide.access; |
| - |
| -import java.util.ArrayList; |
| -import java.util.Arrays; |
| -import java.util.Collection; |
| -import java.util.Date; |
| -import java.util.HashMap; |
| -import java.util.HashSet; |
| -import java.util.List; |
| -import java.util.Map; |
| -import java.util.Set; |
| -import java.util.logging.Level; |
| -import org.eclipse.osee.ats.api.access.AtsAccessContextTokens; |
| -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; |
| -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; |
| -import org.eclipse.osee.ats.api.workflow.IAtsTeamWorkflow; |
| -import org.eclipse.osee.ats.ide.internal.Activator; |
| -import org.eclipse.osee.ats.ide.internal.AtsApiService; |
| -import org.eclipse.osee.ats.ide.util.AtsUtilClient; |
| -import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.dsl.integration.RoleContextProvider; |
| -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| -import org.eclipse.osee.framework.jdk.core.util.GUID; |
| -import org.eclipse.osee.framework.jdk.core.util.Strings; |
| -import org.eclipse.osee.framework.logging.OseeLog; |
| -import org.eclipse.osee.framework.skynet.core.UserManager; |
| -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCache; |
| -import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| -import org.eclipse.osee.framework.skynet.core.event.filter.ArtifactTypeEventFilter; |
| -import org.eclipse.osee.framework.skynet.core.event.filter.IEventFilter; |
| -import org.eclipse.osee.framework.skynet.core.event.listener.IArtifactEventListener; |
| -import org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent; |
| -import org.eclipse.osee.framework.skynet.core.event.model.EventBasicGuidArtifact; |
| -import org.eclipse.osee.framework.skynet.core.event.model.Sender; |
| -import org.osgi.service.event.Event; |
| -import org.osgi.service.event.EventHandler; |
| - |
| -/** |
| - * This class will return access context ids related to editing artifacts stored on a team workflow's working branch. |
| - * <br> |
| - * <br> |
| - * Access control can be called frequently, thus a cache is used. Events will clear cache as necessary.<br> |
| - * <br> |
| - * Access is determined from "Access Context Id" value stored on Team Workflow, if not there, then Actionable Items, if |
| - * not there, then Team Defs. |
| - * |
| - * @author Donald G. Dunne |
| - */ |
| -public class AtsBranchAccessManager implements IArtifactEventListener, EventHandler { |
| - |
| - // Cache to store branch id to context id list so don't have to re-compute |
| - private static final Map<BranchId, Collection<AccessContextToken>> branchIdToContextIdCache = new HashMap<>(50); |
| - |
| - private final RoleContextProvider roleContextProvider; |
| - private volatile long cacheUpdated = 0; |
| - |
| - public AtsBranchAccessManager() { |
| - // Available for osgi instantiation |
| - this(null); |
| - } |
| - |
| - public AtsBranchAccessManager(RoleContextProvider roleContextProvider) { |
| - this.roleContextProvider = roleContextProvider; |
| - } |
| - |
| - /** |
| - * True if not common branch and branch's associated artifact is a Team Workflow artifact |
| - */ |
| - public boolean isApplicable(BranchId objectBranch) { |
| - boolean result = false; |
| - try { |
| - if (AtsApiService.get().getAtsBranch().notEqual(objectBranch)) { |
| - Artifact associatedArtifact = BranchManager.getAssociatedArtifact(objectBranch); |
| - if (associatedArtifact.isValid()) { |
| - result = associatedArtifact.isOfType(AtsArtifactTypes.AtsArtifact); |
| - } |
| - } |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(Activator.class, Level.INFO, "Error determining access applicibility", ex); |
| - } |
| - return result; |
| - } |
| - |
| - public Collection<AccessContextToken> getContextId(BranchId branch) { |
| - return getContextId(branch, true); |
| - } |
| - |
| - public Collection<AccessContextToken> getContextId(BranchId branch, boolean useCache) { |
| - if (useCache && branchIdToContextIdCache.containsKey(branch)) { |
| - return branchIdToContextIdCache.get(branch); |
| - } |
| - Collection<AccessContextToken> contextIds = new ArrayList<>(); |
| - |
| - if (branch.isInvalid()) { |
| - contextIds.add(AtsAccessContextTokens.DENY_CONTEXT); |
| - |
| - return contextIds; |
| - } |
| - |
| - branchIdToContextIdCache.put(branch, contextIds); |
| - try { |
| - // don't access control common branch artifacts...yet |
| - if (AtsApiService.get().getAtsBranch().notEqual(branch)) { |
| - // do this check first since role will supersede others |
| - if (roleContextProvider != null) { |
| - contextIds.addAll(roleContextProvider.getContextId(UserManager.getUser())); |
| - } |
| - |
| - if (contextIds.isEmpty()) { |
| - // Else, get from associated artifact |
| - Artifact assocArtifact = BranchManager.getAssociatedArtifact(branch); |
| - if (assocArtifact.isOfType(AtsArtifactTypes.TeamWorkflow)) { |
| - contextIds.addAll(internalGetFromWorkflow((TeamWorkFlowArtifact) assocArtifact)); |
| - } else { |
| - contextIds.add(AtsAccessContextTokens.DENY_CONTEXT); |
| - } |
| - } |
| - } |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, "Exception obtaining Branch Access Context Id; Deny returned", ex); |
| - contextIds.add(AtsAccessContextTokens.DENY_CONTEXT); |
| - } |
| - return contextIds; |
| - } |
| - |
| - /** |
| - * Provided for testing purposes only. |
| - */ |
| - public Collection<AccessContextToken> internalGetFromWorkflow(IAtsTeamWorkflow teamWf) { |
| - Set<AccessContextToken> contextIds = new HashSet<>(); |
| - try { |
| - contextIds.addAll(getFromArtifact(AtsApiService.get().getQueryServiceIde().getArtifact(teamWf))); |
| - if (contextIds.isEmpty()) { |
| - for (IAtsActionableItem aia : AtsApiService.get().getActionableItemService().getActionableItems( |
| - teamWf)) { |
| - Artifact artifact = AtsApiService.get().getQueryServiceIde().getArtifact(aia); |
| - if (artifact != null) { |
| - contextIds.addAll(getFromArtifact(artifact)); |
| - } |
| - if (!contextIds.isEmpty()) { |
| - return contextIds; |
| - } |
| - } |
| - if (contextIds.isEmpty()) { |
| - Artifact artifact = |
| - AtsApiService.get().getQueryServiceIde().getArtifact(teamWf.getTeamDefinition()); |
| - if (artifact != null) { |
| - contextIds.addAll(getFromArtifact(artifact)); |
| - } |
| - } |
| - } |
| - } catch (Exception ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, "Exception obtaining Branch Access Context Id; Deny returned", ex); |
| - return Arrays.asList(AtsAccessContextTokens.DENY_CONTEXT); |
| - } |
| - return contextIds; |
| - } |
| - |
| - /** |
| - * Recursively check artifact and all default hierarchy parents |
| - */ |
| - private Collection<AccessContextToken> getFromArtifact(Artifact artifact) { |
| - Set<AccessContextToken> contextIds = new HashSet<>(); |
| - try { |
| - for (String id : artifact.getAttributesToStringList(CoreAttributeTypes.AccessContextId)) { |
| - // Do not use getOrCreateId here cause name represents where context ids came from |
| - // Cache above will take care of this not being created on each access request call. |
| - contextIds.add(AccessContextToken.valueOf(convertAccessAttributeToContextId(id, artifact), |
| - "From [" + artifact.getArtifactTypeName() + "]" + artifact.toStringWithId() + " as [" + id + "]")); |
| - } |
| - if (contextIds.isEmpty() && artifact.getParent() != null) { |
| - contextIds.addAll(getFromArtifact(artifact.getParent())); |
| - } |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex); |
| - } |
| - return contextIds; |
| - } |
| - |
| - /** |
| - * ATS "Access Context Id" attribute value can be stored as "id" or "id,name" for easy reading. This method strips |
| - * ,name out so only id is returned. |
| - */ |
| - private Long convertAccessAttributeToContextId(String value, Artifact art) { |
| - String idStr = value.split(",")[0]; |
| - if (Strings.isNumeric(idStr)) { |
| - return Long.valueOf(idStr); |
| - } else if (GUID.isValid(idStr)) { |
| - return roleContextProvider.getContextGuidToIdMap().get(idStr); |
| - } |
| - throw new OseeArgumentException("Invalid access value [%s] on artifact %s", value, art.toStringWithId()); |
| - } |
| - |
| - /** |
| - * Need to process artifact events for Common branch Team Workflows, Actionable Items and Team Definitions in case |
| - * Access Context Id attribute is edited. |
| - */ |
| - @Override |
| - public List<? extends IEventFilter> getEventFilters() { |
| - return getAtsObjectEventFilters(); |
| - } |
| - |
| - private static final List<IEventFilter> atsObjectEventFilter = new ArrayList<>(2); |
| - private static final ArtifactTypeEventFilter atsArtifactTypesFilter = new ArtifactTypeEventFilter( |
| - AtsArtifactTypes.TeamWorkflow, AtsArtifactTypes.TeamDefinition, AtsArtifactTypes.ActionableItem); |
| - |
| - private synchronized static List<IEventFilter> getAtsObjectEventFilters() { |
| - try { |
| - if (atsObjectEventFilter.isEmpty()) { |
| - atsObjectEventFilter.add(AtsUtilClient.getAtsBranchFilter()); |
| - atsObjectEventFilter.add(atsArtifactTypesFilter); |
| - } |
| - } catch (Exception ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex); |
| - } |
| - return atsObjectEventFilter; |
| - } |
| - |
| - /** |
| - * Since multiple events of same artifact type can come through, only clear cache every one second |
| - */ |
| - public synchronized void clearCache() { |
| - long now = new Date().getTime(); |
| - if (now - cacheUpdated > 1000) { |
| - branchIdToContextIdCache.clear(); |
| - } |
| - } |
| - |
| - @Override |
| - public void handleArtifactEvent(ArtifactEvent artifactEvent, Sender sender) { |
| - for (EventBasicGuidArtifact guidArt : artifactEvent.getArtifacts()) { |
| - if (guidArt.getArtifactType().matches(AtsArtifactTypes.ActionableItem, AtsArtifactTypes.TeamDefinition)) { |
| - clearCache(); |
| - return; |
| - } |
| - try { |
| - if (guidArt.getArtifactType().inheritsFrom(AtsArtifactTypes.TeamWorkflow)) { |
| - TeamWorkFlowArtifact teamArt = (TeamWorkFlowArtifact) ArtifactCache.getActive(guidArt); |
| - if (teamArt != null && teamArt.getWorkingBranch().isValid()) { |
| - branchIdToContextIdCache.remove(teamArt.getWorkingBranch()); |
| - } |
| - } |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex); |
| - } |
| - } |
| - } |
| - |
| - @Override |
| - public void handleEvent(Event event) { |
| - try { |
| - clearCache(); |
| - } catch (Exception ex) { |
| - OseeLog.log(AccessControlManager.class, Level.SEVERE, ex); |
| - } |
| - } |
| - |
| - public static void clearCaches() { |
| - branchIdToContextIdCache.clear(); |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/internal/AtsAccessOseeDslProvider.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/internal/AtsAccessOseeDslProvider.java |
| deleted file mode 100644 |
| index e34d5b0f1c..0000000000 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/internal/AtsAccessOseeDslProvider.java |
| +++ /dev/null |
| @@ -1,60 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.ats.ide.access.internal; |
| - |
| -import org.eclipse.osee.ats.api.data.AtsArtifactToken; |
| -import org.eclipse.osee.framework.core.dsl.ui.integration.operations.AbstractOseeDslProvider; |
| -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| -import org.eclipse.osee.framework.jdk.core.util.Strings; |
| -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class AtsAccessOseeDslProvider extends AbstractOseeDslProvider { |
| - |
| - public AtsAccessOseeDslProvider(String locationUri) { |
| - super(locationUri); |
| - } |
| - |
| - private Artifact getStorageArtifact() { |
| - try { |
| - return ArtifactQuery.getArtifactFromToken(AtsArtifactToken.AtsCmAccessControl); |
| - } catch (OseeCoreException ex) { |
| - return null; |
| - } |
| - } |
| - |
| - @Override |
| - protected String getModelFromStorage() { |
| - Artifact storageArtifact = getStorageArtifact(); |
| - if (storageArtifact != null) { |
| - return storageArtifact.getSoleAttributeValue(CoreAttributeTypes.GeneralStringData); |
| - } else { |
| - return Strings.EMPTY_STRING; |
| - } |
| - } |
| - |
| - @Override |
| - protected void saveModelToStorage(String model) { |
| - Artifact artifact = getStorageArtifact(); |
| - if (artifact != null) { |
| - artifact.setSoleAttributeFromString(CoreAttributeTypes.GeneralStringData, model); |
| - artifact.persist(getClass().getSimpleName()); |
| - } |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/internal/AtsCmAccessControl.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/internal/AtsCmAccessControl.java |
| deleted file mode 100644 |
| index b03d7c097e..0000000000 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/internal/AtsCmAccessControl.java |
| +++ /dev/null |
| @@ -1,70 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.ats.ide.access.internal; |
| - |
| -import java.util.Collection; |
| -import java.util.Collections; |
| -import org.eclipse.osee.ats.ide.access.AtsBranchAccessManager; |
| -import org.eclipse.osee.ats.ide.internal.AtsApiService; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.services.CmAccessControl; |
| -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| - |
| -/** |
| - * ATS currently only provides access control for artifacts on a Team Workflow's working branch. |
| - * |
| - * @author Roberto E. Escobar |
| - * @author Donald G. Dunne |
| - */ |
| -public class AtsCmAccessControl implements CmAccessControl { |
| - |
| - private final AtsBranchAccessManager atsBranchAccessManager; |
| - |
| - public AtsCmAccessControl(AtsBranchAccessManager atsBranchObjectManager) { |
| - this.atsBranchAccessManager = atsBranchObjectManager; |
| - } |
| - |
| - @Override |
| - public boolean isApplicable(ArtifactToken user, Object object) { |
| - boolean result = false; |
| - if (object != null) { |
| - if (object instanceof Artifact && !AtsApiService.get().getQueryServiceIde().getArtifact( |
| - object).isOnBranch(AtsApiService.get().getAtsBranch())) { |
| - result = atsBranchAccessManager.isApplicable( |
| - AtsApiService.get().getQueryServiceIde().getArtifact(object).getBranch()); |
| - } |
| - if (object instanceof BranchId) { |
| - result = atsBranchAccessManager.isApplicable((BranchId) object); |
| - } |
| - } |
| - return result; |
| - } |
| - |
| - @Override |
| - public Collection<? extends AccessContextToken> getContextId(ArtifactToken user, Object object) { |
| - if (object != null) { |
| - if (object instanceof Artifact && !AtsApiService.get().getQueryServiceIde().getArtifact( |
| - object).isOnBranch(AtsApiService.get().getAtsBranch())) { |
| - return atsBranchAccessManager.getContextId( |
| - AtsApiService.get().getQueryServiceIde().getArtifact(object).getBranch()); |
| - } |
| - if (object instanceof BranchId) { |
| - return atsBranchAccessManager.getContextId((BranchId) object); |
| - } |
| - } |
| - return Collections.emptyList(); |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/internal/AtsCmAccessControlProxy.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/internal/AtsCmAccessControlProxy.java |
| deleted file mode 100644 |
| index e8e1150a1b..0000000000 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/internal/AtsCmAccessControlProxy.java |
| +++ /dev/null |
| @@ -1,117 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.ats.ide.access.internal; |
| - |
| -import java.util.Collection; |
| -import org.eclipse.osee.ats.ide.access.AtsBranchAccessManager; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -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.OseeDslProvider; |
| -import org.eclipse.osee.framework.core.dsl.integration.RoleContextProvider; |
| -import org.eclipse.osee.framework.core.dsl.ui.integration.operations.OseeDslRoleContextProvider; |
| -import org.eclipse.osee.framework.core.model.access.AccessModel; |
| -import org.eclipse.osee.framework.core.model.access.HasAccessModel; |
| -import org.eclipse.osee.framework.core.services.CmAccessControl; |
| -import org.eclipse.osee.framework.skynet.core.event.OseeEventService; |
| -import org.eclipse.osee.framework.skynet.core.event.listener.EventQosType; |
| -import org.eclipse.osee.framework.skynet.core.event.listener.IEventListener; |
| -import org.osgi.framework.BundleContext; |
| -import org.osgi.framework.ServiceReference; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class AtsCmAccessControlProxy implements CmAccessControl, HasAccessModel { |
| - |
| - private IEventListener listener; |
| - private AtsBranchAccessManager atsBranchObjectManager; |
| - private ServiceReference<AccessModelInterpreter> reference; |
| - private CmAccessControl cmService; |
| - private AccessModel accessModel; |
| - private OseeEventService eventService; |
| - private BundleContext bundleContext; |
| - |
| - private volatile boolean isInitialized = false; |
| - |
| - public void setAccessModelInterpreter(ServiceReference<AccessModelInterpreter> reference) { |
| - this.reference = reference; |
| - } |
| - |
| - public void setEventService(OseeEventService eventService) { |
| - this.eventService = eventService; |
| - } |
| - |
| - public void start(BundleContext bundleContext) { |
| - this.bundleContext = bundleContext; |
| - } |
| - |
| - public void stop() { |
| - if (listener != null) { |
| - eventService.removeListener(EventQosType.NORMAL, listener); |
| - listener = null; |
| - } |
| - |
| - if (atsBranchObjectManager != null) { |
| - atsBranchObjectManager = null; |
| - } |
| - cmService = null; |
| - accessModel = null; |
| - bundleContext = null; |
| - isInitialized = false; |
| - } |
| - |
| - private boolean isReady() { |
| - return reference != null && eventService != null && bundleContext != null; |
| - } |
| - |
| - private synchronized void ensureInitialized() { |
| - if (isReady() && !isInitialized) { |
| - AccessModelInterpreter interpreter = bundleContext.getService(reference); |
| - OseeDslProvider dslProvider = new AtsAccessOseeDslProvider("ats:/xtext/cm.access.osee"); |
| - accessModel = new OseeDslAccessModel(interpreter, dslProvider); |
| - RoleContextProvider roleAccessProvider = new OseeDslRoleContextProvider(dslProvider); |
| - |
| - atsBranchObjectManager = new AtsBranchAccessManager(roleAccessProvider); |
| - cmService = new AtsCmAccessControl(atsBranchObjectManager); |
| - |
| - listener = new AtsDslProviderUpdateListener(dslProvider); |
| - eventService.addListener(EventQosType.NORMAL, listener); |
| - isInitialized = true; |
| - } |
| - } |
| - |
| - private CmAccessControl getProxiedService() { |
| - ensureInitialized(); |
| - return cmService; |
| - } |
| - |
| - @Override |
| - public boolean isApplicable(ArtifactToken user, Object object) { |
| - return getProxiedService().isApplicable(user, object); |
| - } |
| - |
| - @Override |
| - public Collection<? extends AccessContextToken> getContextId(ArtifactToken user, Object object) { |
| - return getProxiedService().getContextId(user, object); |
| - } |
| - |
| - @Override |
| - public AccessModel getAccessModel() { |
| - ensureInitialized(); |
| - return accessModel; |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/internal/AtsDslProviderUpdateListener.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/internal/AtsDslProviderUpdateListener.java |
| deleted file mode 100644 |
| index d20c7d8762..0000000000 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/access/internal/AtsDslProviderUpdateListener.java |
| +++ /dev/null |
| @@ -1,64 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.ats.ide.access.internal; |
| - |
| -import java.util.Arrays; |
| -import java.util.List; |
| -import java.util.logging.Level; |
| -import org.eclipse.osee.ats.ide.internal.Activator; |
| -import org.eclipse.osee.ats.ide.internal.AtsApiService; |
| -import org.eclipse.osee.framework.core.dsl.integration.OseeDslProvider; |
| -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| -import org.eclipse.osee.framework.logging.OseeLog; |
| -import org.eclipse.osee.framework.skynet.core.event.filter.ArtifactTypeEventFilter; |
| -import org.eclipse.osee.framework.skynet.core.event.filter.BranchIdEventFilter; |
| -import org.eclipse.osee.framework.skynet.core.event.filter.IEventFilter; |
| -import org.eclipse.osee.framework.skynet.core.event.listener.IArtifactEventListener; |
| -import org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent; |
| -import org.eclipse.osee.framework.skynet.core.event.model.Sender; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public final class AtsDslProviderUpdateListener implements IArtifactEventListener { |
| - |
| - //@formatter:off |
| - private final List<? extends IEventFilter> eventFilters = |
| - Arrays.asList( |
| - new ArtifactTypeEventFilter(CoreArtifactTypes.AccessControlModel), |
| - new BranchIdEventFilter(AtsApiService.get().getAtsBranch()) |
| - ); |
| - //@formatter:on |
| - |
| - private final OseeDslProvider dslProvider; |
| - |
| - public AtsDslProviderUpdateListener(OseeDslProvider dslProvider) { |
| - this.dslProvider = dslProvider; |
| - } |
| - |
| - @Override |
| - public List<? extends IEventFilter> getEventFilters() { |
| - return eventFilters; |
| - } |
| - |
| - @Override |
| - public void handleArtifactEvent(ArtifactEvent artifactEvent, Sender sender) { |
| - try { |
| - dslProvider.loadDsl(); |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex); |
| - } |
| - } |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/AccessControlAction.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/AccessControlAction.java |
| index 56adb1f038..b5fe83828f 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/AccessControlAction.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/AccessControlAction.java |
| @@ -37,7 +37,7 @@ public class AccessControlAction extends Action { |
| |
| public PolicyDialog getDialog() { |
| if (dialog == null) { |
| - dialog = new PolicyDialog(Displays.getActiveShell(), sma); |
| + dialog = PolicyDialog.createPolicyDialog(Displays.getActiveShell(), sma); |
| } |
| return dialog; |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/BranchRegressionTest.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/BranchRegressionTest.java |
| index 11baba2208..12da179d53 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/BranchRegressionTest.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/BranchRegressionTest.java |
| @@ -41,7 +41,6 @@ import org.eclipse.osee.ats.ide.internal.AtsApiService; |
| import org.eclipse.osee.ats.ide.util.AtsUtilClient; |
| import org.eclipse.osee.ats.ide.util.widgets.XWorkingBranchEnablement; |
| import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.data.AttributeId; |
| @@ -294,7 +293,8 @@ public abstract class BranchRegressionTest { |
| ArtifactQuery.getArtifactFromAttribute(CoreAttributeTypes.Name, SOFTWARE_REQUIREMENTS, getProgramBranch()); |
| Assert.assertNotNull("Can't get softReqArt", softReqArt); |
| |
| - AccessControlManager.setPermission(UserManager.getUser(), getProgramBranch(), PermissionEnum.FULLACCESS); |
| + AtsApiService.get().getAccessControlService().setPermission(UserManager.getUser(), getProgramBranch(), |
| + PermissionEnum.FULLACCESS); |
| |
| createSoftwareArtifact(CoreArtifactTypes.SoftwareRequirementMsWord, softReqArt, PRE_BRANCH_ARTIFACT_NAME, |
| getPreBranchCscis(), getProgramBranch()); |
| @@ -773,12 +773,18 @@ public abstract class BranchRegressionTest { |
| } |
| |
| protected Artifact createSoftwareArtifact(ArtifactTypeToken artifactType, Artifact parent, String title, String[] partitions, BranchToken branch) { |
| - SkynetTransaction tx = TransactionManager.createTransaction(branch, "Create " + title); |
| - Artifact newArt = ArtifactTypeManager.addArtifact(artifactType, branch, title); |
| - Artifact parentArt = setParent(parent, partitions, newArt, tx); |
| - tx.addArtifact(newArt); |
| - tx.addArtifact(parent); |
| - tx.execute(); |
| + Artifact parentArt = null; |
| + try { |
| + SkynetTransaction.setOverrideAccess(true); |
| + SkynetTransaction tx = TransactionManager.createTransaction(branch, "Create " + title); |
| + Artifact newArt = ArtifactTypeManager.addArtifact(artifactType, branch, title); |
| + parentArt = setParent(parent, partitions, newArt, tx); |
| + tx.addArtifact(newArt); |
| + tx.addArtifact(parent); |
| + tx.execute(); |
| + } finally { |
| + SkynetTransaction.setOverrideAccess(false); |
| + } |
| return parentArt; |
| } |
| |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/WorkflowEditor.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/WorkflowEditor.java |
| index cfdac92e29..69c0e8ceb7 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/WorkflowEditor.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/WorkflowEditor.java |
| @@ -48,6 +48,7 @@ import org.eclipse.osee.ats.ide.editor.tab.workflow.WfeWorkFlowTab; |
| import org.eclipse.osee.ats.ide.editor.tab.workflow.util.WfeOutlinePage; |
| import org.eclipse.osee.ats.ide.internal.Activator; |
| import org.eclipse.osee.ats.ide.internal.AtsApiService; |
| +import org.eclipse.osee.ats.ide.internal.OseeApiService; |
| import org.eclipse.osee.ats.ide.navigate.RecentlyVisitedNavigateItems; |
| import org.eclipse.osee.ats.ide.workflow.AbstractWorkflowArtifact; |
| import org.eclipse.osee.ats.ide.workflow.goal.GoalArtifact; |
| @@ -57,7 +58,6 @@ import org.eclipse.osee.ats.ide.workflow.task.TaskArtifact; |
| import org.eclipse.osee.ats.ide.workflow.task.TaskComposite; |
| import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; |
| import org.eclipse.osee.ats.ide.world.IAtsMetricsProvider; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.enums.PresentationType; |
| @@ -585,7 +585,8 @@ public class WorkflowEditor extends AbstractArtifactEditor implements IDirtyRepo |
| } |
| |
| public boolean isAccessControlWrite() { |
| - return AccessControlManager.hasPermission(workItem, PermissionEnum.WRITE); |
| + return OseeApiService.get().getAccessControlService().hasArtifactPermission(workItem, PermissionEnum.WRITE, |
| + null).isSuccess(); |
| } |
| |
| @Override |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeDragAndDrop.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeDragAndDrop.java |
| index 90ffa9cd5c..484d9044f6 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeDragAndDrop.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeDragAndDrop.java |
| @@ -16,21 +16,24 @@ package org.eclipse.osee.ats.ide.editor.tab.workflow.header; |
| import java.io.File; |
| import java.util.LinkedList; |
| import java.util.List; |
| -import java.util.logging.Level; |
| +import org.eclipse.osee.ats.ide.internal.AtsApiService; |
| import org.eclipse.osee.ats.ide.workflow.AbstractWorkflowArtifact; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.enums.CoreRelationTypes; |
| +import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.logging.OseeLevel; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.plugin.core.util.Jobs; |
| -import org.eclipse.osee.framework.skynet.core.AccessPolicy; |
| +import org.eclipse.osee.framework.skynet.core.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.ArtifactData; |
| +import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactTransfer; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| import org.eclipse.osee.framework.ui.skynet.util.SkynetDragAndDrop; |
| +import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; |
| import org.eclipse.swt.dnd.DND; |
| import org.eclipse.swt.dnd.DropTargetEvent; |
| import org.eclipse.swt.dnd.FileTransfer; |
| @@ -72,18 +75,38 @@ public class WfeDragAndDrop extends SkynetDragAndDrop { |
| ArtifactData toBeDropped = ArtifactTransfer.getInstance().nativeToJava(event.currentDataType); |
| if (dropTarget != null) { |
| try { |
| - AccessPolicy policy = ServiceUtil.getAccessPolicy(); |
| Artifact[] artifactsBeingDropped = toBeDropped.getArtifacts(); |
| List<Artifact> artsOnSameBranchAsDestination = new LinkedList<>(); |
| BranchId destinationBranch = dropTarget.getBranch(); |
| + boolean onSameBranch = true; |
| for (Artifact art : artifactsBeingDropped) { |
| if (art.isOnBranch(destinationBranch)) { |
| artsOnSameBranchAsDestination.add(art); |
| + } else { |
| + onSameBranch = false; |
| + break; |
| } |
| } |
| - valid = policy.canRelationBeModified(dropTarget, artsOnSameBranchAsDestination, |
| - CoreRelationTypes.SupportingInfo_SupportingInfo, Level.FINE).matched(); |
| + if (!onSameBranch) { |
| + AWorkbench.popup("Related Artifact(s) must be on the same branch.\n\nAborting Drop."); |
| + return false; |
| + } |
| + if (artsOnSameBranchAsDestination.isEmpty()) { |
| + AWorkbench.popup("No Artifact(s) to relate.\n\nAborting Drop."); |
| + return false; |
| + } |
| |
| + XResultData rd = AtsApiService.get().getAccessControlService().hasRelationTypePermission(dropTarget, |
| + CoreRelationTypes.SupportingInfo_SupportingInfo, artsOnSameBranchAsDestination, PermissionEnum.WRITE, |
| + AccessControlArtifactUtil.getXResultAccessHeader("Relating Artifacts to Workflow", |
| + artsOnSameBranchAsDestination)); |
| + if (rd.isErrors()) { |
| + XResultDataDialog.open(rd, "Relate Artifact(s) to Workflow", |
| + "Invalid Access for Relation.\n\nAborting Drop."); |
| + valid = false; |
| + } else { |
| + valid = true; |
| + } |
| } catch (OseeCoreException ex) { |
| OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex); |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeRelationsHyperlinkComposite.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeRelationsHyperlinkComposite.java |
| index 56823c98ce..9532cd97ae 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeRelationsHyperlinkComposite.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeRelationsHyperlinkComposite.java |
| @@ -58,11 +58,9 @@ import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| 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.relation.RelationLink; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| import org.eclipse.osee.framework.ui.skynet.render.RendererManager; |
| import org.eclipse.osee.framework.ui.swt.ALayout; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| @@ -322,7 +320,6 @@ public class WfeRelationsHyperlinkComposite extends Composite { |
| delArt = thisArt; |
| } |
| |
| - AccessPolicy policy = ServiceUtil.getAccessPolicy(); |
| Collection<ArtifactToken> related = Arrays.asList(thatArt); |
| if (thatArt instanceof IAtsObject) { |
| if (MessageDialog.openConfirm(Displays.getActiveShell(), "Delete Related", |
| @@ -333,7 +330,8 @@ public class WfeRelationsHyperlinkComposite extends Composite { |
| } |
| return; |
| } |
| - XResultData results = policy.isDeleteable(related, new XResultData()); |
| + XResultData results = |
| + AtsApiService.get().getAccessControlService().isDeleteable(related, new XResultData()); |
| if (results.isErrors()) { |
| AWorkbench.popup(results.toString()); |
| return; |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/section/WfeDetailsSection.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/section/WfeDetailsSection.java |
| index 38044223d9..f78c505c7d 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/section/WfeDetailsSection.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/section/WfeDetailsSection.java |
| @@ -17,20 +17,17 @@ import java.util.Collection; |
| import java.util.Map; |
| import java.util.logging.Level; |
| import org.eclipse.osee.ats.api.IAtsWorkItem; |
| +import org.eclipse.osee.ats.api.access.IAtsAccessService; |
| import org.eclipse.osee.ats.api.data.AtsArtifactTypes; |
| import org.eclipse.osee.ats.api.workflow.IAtsAction; |
| -import org.eclipse.osee.ats.ide.access.AtsBranchAccessManager; |
| import org.eclipse.osee.ats.ide.editor.WorkflowEditor; |
| import org.eclipse.osee.ats.ide.internal.Activator; |
| import org.eclipse.osee.ats.ide.internal.AtsApiService; |
| import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.services.CmAccessControl; |
| +import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.jdk.core.util.Lib; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| -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.utility.Artifacts; |
| import org.eclipse.osee.framework.ui.swt.ALayout; |
| @@ -71,6 +68,7 @@ public class WfeDetailsSection extends SectionPart { |
| Section section = getSection(); |
| section.setText("Details"); |
| section.setLayout(new GridLayout()); |
| + section.setExpanded(false); |
| section.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); |
| |
| // Only load when users selects section |
| @@ -151,36 +149,30 @@ public class WfeDetailsSection extends SectionPart { |
| |
| private String getAccessContextId(TeamWorkFlowArtifact workflow) { |
| String message; |
| - CmAccessControl accessControl = workflow.getAccessControl(); |
| - if (accessControl == null) { |
| - message = "AtsCmAccessControlService not found."; |
| - } else { |
| - BranchId workingBranch = null; |
| + IAtsAccessService accessService = AtsApiService.get().getAtsAccessService(); |
| + BranchId workingBranch = null; |
| + try { |
| + workingBranch = workflow.getWorkingBranch(); |
| + } catch (Exception ex) { |
| + OseeLog.log(Activator.class, Level.SEVERE, ex); |
| + } |
| + Collection<? extends AccessContextToken> ids = null; |
| + if (workingBranch == null) { |
| try { |
| - workingBranch = workflow.getWorkingBranch(); |
| + // get what would be if branch created |
| + ids = accessService.getFromWorkflow(workflow); |
| + message = ids.toString(); |
| } catch (Exception ex) { |
| OseeLog.log(Activator.class, Level.SEVERE, ex); |
| + message = String.format("Error getting context id [%s]", ex.getMessage()); |
| } |
| - Collection<? extends AccessContextToken> ids = null; |
| - if (workingBranch == null) { |
| - try { |
| - // get what would be if branch created |
| - AtsBranchAccessManager accessMgr = new AtsBranchAccessManager(); |
| - ids = accessMgr.internalGetFromWorkflow(workflow); |
| - message = ids.toString(); |
| - } catch (Exception ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex); |
| - message = String.format("Error getting context id [%s]", ex.getMessage()); |
| - } |
| - } else { |
| - try { |
| - User user = UserManager.getUserByArtId(AtsApiService.get().getUserService().getCurrentUser()); |
| - ids = accessControl.getContextId(user, workingBranch); |
| - message = ids.toString(); |
| - } catch (Exception ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex); |
| - message = String.format("Error getting context id [%s]", ex.getMessage()); |
| - } |
| + } else { |
| + try { |
| + ids = accessService.getContextIds(workingBranch); |
| + message = ids.toString(); |
| + } catch (Exception ex) { |
| + OseeLog.log(Activator.class, Level.SEVERE, ex); |
| + message = String.format("Error getting context id [%s]", ex.getMessage()); |
| } |
| } |
| return message; |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/internal/Activator.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/internal/Activator.java |
| index 2965390194..7738321fa7 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/internal/Activator.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/internal/Activator.java |
| @@ -15,11 +15,10 @@ package org.eclipse.osee.ats.ide.internal; |
| |
| import org.eclipse.osee.ats.api.util.AtsTopicEvent; |
| import org.eclipse.osee.ats.api.util.AtsUtil; |
| -import org.eclipse.osee.ats.ide.access.AtsBranchAccessManager; |
| +import org.eclipse.osee.ats.core.access.AtsBranchAccessManager; |
| import org.eclipse.osee.ats.ide.workflow.AtsWorkItemRemoteTopicEventHandler; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEvent; |
| import org.eclipse.osee.framework.plugin.core.OseeActivator; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEvent; |
| -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| import org.osgi.framework.BundleContext; |
| import org.osgi.service.event.EventConstants; |
| import org.osgi.service.event.EventHandler; |
| @@ -38,19 +37,6 @@ public class Activator extends OseeActivator { |
| context.registerService(EventHandler.class.getName(), new AtsBranchAccessManager(), |
| AtsUtil.hashTable(EventConstants.EVENT_TOPIC, AccessTopicEvent.ACCESS_BRANCH_MODIFIED.getTopic())); |
| |
| - // Start loading access control |
| - Thread loadAccessControl = new Thread(new Runnable() { |
| - |
| - @Override |
| - public void run() { |
| - try { |
| - ServiceUtil.getAccessPolicy().ensurePopulated(); |
| - } catch (Exception ex) { |
| - // do nothing |
| - } |
| - } |
| - }, "Load Access Control"); |
| - loadAccessControl.start(); |
| } |
| |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/NavigateViewItems.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/NavigateViewItems.java |
| index 7125e5b11d..8854df971a 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/NavigateViewItems.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/NavigateViewItems.java |
| @@ -155,6 +155,7 @@ public final class NavigateViewItems implements XNavigateViewItems, IXNavigateCo |
| new ClearAtsConfigCache(utilItems); |
| new XNavigateItemBlam(utilItems, new MoveTeamWorkflowsBlam(), AtsImage.TEAM_WORKFLOW); |
| new AtsConfigResultsEditorNavigateItem(utilItems); |
| + new ToggleAccessControlDebug(utilItems); |
| } catch (Exception ex) { |
| OseeLog.log(Activator.class, Level.SEVERE, ex); |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ToggleAtsAdmin.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ToggleAtsAdmin.java |
| index 584444fd55..f9ad11882a 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ToggleAtsAdmin.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ToggleAtsAdmin.java |
| @@ -61,7 +61,7 @@ public class ToggleAtsAdmin extends XNavigateItemAction { |
| if (!isAdmin) { |
| IUserGroup atsAdminGroup = UserGroupService.get(AtsUserGroups.AtsAdmin); |
| if (!atsAdminGroup.isCurrentUserMember()) { |
| - atsAdminGroup.addMember(UserManager.getUser()); |
| + atsAdminGroup.addMember(UserManager.getUser(), true); |
| Conditions.assertTrue(atsAdminGroup.getArtifact() instanceof Artifact, "Must be artifact."); |
| ((Artifact) atsAdminGroup.getArtifact()).persist("Toggle Admin"); |
| } |
| @@ -69,21 +69,21 @@ public class ToggleAtsAdmin extends XNavigateItemAction { |
| IUserGroup oseeAdminGroup = |
| org.eclipse.osee.framework.skynet.core.access.UserGroupService.getOseeAdmin(); |
| if (!oseeAdminGroup.isCurrentUserMember()) { |
| - oseeAdminGroup.addMember(UserManager.getUser()); |
| + oseeAdminGroup.addMember(UserManager.getUser(), true); |
| Conditions.assertTrue(oseeAdminGroup.getArtifact() instanceof Artifact, "Must be artifact."); |
| ((Artifact) oseeAdminGroup.getArtifact()).persist("Toggle Admin"); |
| } |
| } else { |
| IUserGroup atsAdminGroup = UserGroupService.get(AtsUserGroups.AtsAdmin); |
| if (atsAdminGroup.isCurrentUserMember()) { |
| - atsAdminGroup.removeMember(UserManager.getUser()); |
| + atsAdminGroup.removeMember(UserManager.getUser(), true); |
| Conditions.assertTrue(atsAdminGroup.getArtifact() instanceof Artifact, "Must be artifact."); |
| ((Artifact) atsAdminGroup.getArtifact()).persist("Toggle Admin"); |
| } |
| |
| IUserGroup oseeAdminGroup = UserGroupService.get(CoreUserGroups.OseeAdmin); |
| if (oseeAdminGroup.isCurrentUserMember()) { |
| - oseeAdminGroup.removeMember(UserManager.getUser()); |
| + oseeAdminGroup.removeMember(UserManager.getUser(), true); |
| Conditions.assertTrue(oseeAdminGroup.getArtifact() instanceof Artifact, "Must be artifact."); |
| ((Artifact) oseeAdminGroup.getArtifact()).persist("Toggle Admin"); |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ExportChangeReportOperation.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ExportChangeReportOperation.java |
| index 434c71b4a7..b59fd42e5f 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ExportChangeReportOperation.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ExportChangeReportOperation.java |
| @@ -111,7 +111,7 @@ public final class ExportChangeReportOperation extends AbstractOperation { |
| |
| Collection<ArtifactDelta> artifactDeltas = ChangeManager.getCompareArtifacts(changes); |
| |
| - // only allow SoftwareRequirements for HLR |
| + // only allow SoftwareRequirementsFolder for HLR |
| Iterator<ArtifactDelta> it = artifactDeltas.iterator(); |
| while (it.hasNext()) { |
| ArtifactDelta next = it.next(); |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/query/AtsQueryServiceIde.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/query/AtsQueryServiceIde.java |
| index 0215b76661..6517058743 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/query/AtsQueryServiceIde.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/query/AtsQueryServiceIde.java |
| @@ -185,6 +185,9 @@ public class AtsQueryServiceIde { |
| Artifact result = null; |
| if (obj instanceof Artifact) { |
| result = (Artifact) obj; |
| + if (obj instanceof IAtsObject) { |
| + result.setArtifactType(((IAtsObject) obj).getArtifactType()); |
| + } |
| } else if (obj instanceof IAtsObject) { |
| result = getArtifact(((IAtsObject) obj).getStoreObject(), atsApi.getAtsBranch()); |
| } else if (obj instanceof ArtifactId) { |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ExcelAtsActionArtifactExtractor.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ExcelAtsActionArtifactExtractor.java |
| index 509e35381a..dbea453a6e 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ExcelAtsActionArtifactExtractor.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ExcelAtsActionArtifactExtractor.java |
| @@ -485,7 +485,7 @@ public class ExcelAtsActionArtifactExtractor { |
| Assignees("ActionableItems"), |
| Originator("Originator"), |
| Priority("Priority"), |
| - ChangeType("ChangeType"), |
| + ChangeType("AllowDeny"), |
| Version("Version"), |
| EstimatedHours("EstimatedHours"), |
| Goal("Goal"), |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/OpenInAtsLoopbackCmd.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/OpenInAtsLoopbackCmd.java |
| index 438657126e..119a9c9173 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/OpenInAtsLoopbackCmd.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/OpenInAtsLoopbackCmd.java |
| @@ -18,7 +18,7 @@ import java.util.Map; |
| import java.util.logging.Level; |
| import org.eclipse.osee.ats.ide.AtsOpenOption; |
| import org.eclipse.osee.ats.ide.internal.Activator; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| +import org.eclipse.osee.ats.ide.internal.AtsApiService; |
| import org.eclipse.osee.framework.core.client.server.HttpResponse; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.jdk.core.type.MutableBoolean; |
| @@ -44,7 +44,8 @@ public class OpenInAtsLoopbackCmd extends BaseArtifactLoopbackCmd { |
| try { |
| boolean hasPermissionToRead = false; |
| try { |
| - hasPermissionToRead = AccessControlManager.hasPermission(artifact, PermissionEnum.READ); |
| + hasPermissionToRead = AtsApiService.get().getAccessControlService().hasArtifactPermission(artifact, |
| + PermissionEnum.READ, null).isSuccess(); |
| } catch (Exception ex) { |
| OseeLog.log(Activator.class, Level.SEVERE, ex); |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/internal/AtsApiIdeImpl.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/internal/AtsApiIdeImpl.java |
| index eba17935f3..e8a6edab2d 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/internal/AtsApiIdeImpl.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/internal/AtsApiIdeImpl.java |
| @@ -36,12 +36,12 @@ import org.eclipse.osee.ats.api.workflow.IAtsWorkItemService; |
| import org.eclipse.osee.ats.core.agile.AgileService; |
| import org.eclipse.osee.ats.core.ai.ActionableItemServiceImpl; |
| import org.eclipse.osee.ats.core.util.AtsApiImpl; |
| -import org.eclipse.osee.ats.ide.access.AtsBranchAccessManager; |
| import org.eclipse.osee.ats.ide.branch.AtsBranchServiceIde; |
| import org.eclipse.osee.ats.ide.branch.internal.AtsBranchServiceIdeImpl; |
| import org.eclipse.osee.ats.ide.branch.internal.AtsBranchServiceImpl; |
| import org.eclipse.osee.ats.ide.ev.internal.AtsEarnedValueImpl; |
| import org.eclipse.osee.ats.ide.health.AtsHealthServiceImpl; |
| +import org.eclipse.osee.ats.ide.internal.OseeApiService; |
| import org.eclipse.osee.ats.ide.notify.AtsNotificationServiceImpl; |
| import org.eclipse.osee.ats.ide.query.AtsQueryServiceIde; |
| import org.eclipse.osee.ats.ide.search.internal.query.AtsQueryServiceImpl; |
| @@ -58,6 +58,7 @@ import org.eclipse.osee.ats.ide.workflow.sprint.SprintArtifact; |
| import org.eclipse.osee.ats.ide.workflow.task.IAtsTaskServiceIde; |
| import org.eclipse.osee.ats.ide.workflow.task.internal.AtsTaskService; |
| import org.eclipse.osee.ats.ide.workflow.task.related.AtsTaskRelatedService; |
| +import org.eclipse.osee.framework.core.access.IAccessControlService; |
| import org.eclipse.osee.framework.core.client.OseeClientProperties; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.data.IUserGroupService; |
| @@ -131,6 +132,24 @@ public class AtsApiIdeImpl extends AtsApiImpl implements AtsApiIde { |
| agileService = new AgileService(logger, this); |
| notificationService = new AtsNotificationServiceImpl(); |
| |
| + startAccessControlLoading(); |
| + |
| + } |
| + |
| + private void startAccessControlLoading() { |
| + // Start loading access control |
| + Thread loadAccessControl = new Thread(new Runnable() { |
| + |
| + @Override |
| + public void run() { |
| + try { |
| + OseeApiService.get().getAccessControlService().ensurePopulated(); |
| + } catch (Exception ex) { |
| + // do nothing |
| + } |
| + } |
| + }, "Load Access Control"); |
| + loadAccessControl.start(); |
| } |
| |
| public void setAttributeResolverService(IAttributeResolver attributeResolverService) { |
| @@ -152,7 +171,8 @@ public class AtsApiIdeImpl extends AtsApiImpl implements AtsApiIde { |
| sprintItemsCache.invalidate(); |
| } |
| |
| - AtsBranchAccessManager.clearCaches(); |
| + getAccessControlService().clearCaches(); |
| + getAtsAccessService().clearCaches(); |
| } |
| |
| @Override |
| @@ -288,4 +308,8 @@ public class AtsApiIdeImpl extends AtsApiImpl implements AtsApiIde { |
| return branchServiceIde; |
| } |
| |
| + @Override |
| + public IAccessControlService getAccessControlService() { |
| + return OseeApiService.get().getAccessControlService(); |
| + } |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/XWorkingBranchButtonLock.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/XWorkingBranchButtonLock.java |
| index 2a8ecfbd7c..524f86daba 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/XWorkingBranchButtonLock.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/XWorkingBranchButtonLock.java |
| @@ -19,8 +19,10 @@ import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.osee.ats.api.util.AtsUtil; |
| import org.eclipse.osee.ats.ide.internal.Activator; |
| import org.eclipse.osee.ats.ide.internal.AtsApiService; |
| -import org.eclipse.osee.framework.access.AccessControlData; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| +import org.eclipse.osee.ats.ide.internal.OseeApiService; |
| +import org.eclipse.osee.framework.core.access.AccessControlData; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEvent; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEventPayload; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.IUserGroup; |
| import org.eclipse.osee.framework.core.enums.CoreUserGroups; |
| @@ -31,8 +33,6 @@ import org.eclipse.osee.framework.jdk.core.util.Conditions; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.access.UserGroupService; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEvent; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEventPayload; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| import org.eclipse.osee.framework.ui.swt.ImageManager; |
| @@ -85,7 +85,7 @@ public class XWorkingBranchButtonLock extends XWorkingBranchButtonAbstract imple |
| if (branch.isInvalid()) { |
| noBranch = true; |
| } else { |
| - someAccessControlSet = !AccessControlManager.getAccessControlList(branch).isEmpty(); |
| + someAccessControlSet = !OseeApiService.get().getAccessControlService().getAccessControlList(branch).isEmpty(); |
| } |
| button.setImage(ImageManager.getImage( |
| noBranch || someAccessControlSet ? FrameworkImage.LOCK_LOCKED : FrameworkImage.LOCK_UNLOCKED)); |
| @@ -93,7 +93,6 @@ public class XWorkingBranchButtonLock extends XWorkingBranchButtonAbstract imple |
| button.getParent().redraw(); |
| } |
| |
| - @SuppressWarnings("unlikely-arg-type") |
| private void toggleWorkingBranchLock(Button button) { |
| try { |
| BranchId branch = getTeamArt().getWorkingBranch(); |
| @@ -102,7 +101,8 @@ public class XWorkingBranchButtonLock extends XWorkingBranchButtonAbstract imple |
| return; |
| } |
| boolean isLocked = false, manuallyLocked = false; |
| - Collection<AccessControlData> datas = AccessControlManager.getAccessControlList(branch); |
| + Collection<AccessControlData> datas = |
| + AtsApiService.get().getAccessControlService().getAccessControlList(branch); |
| if (datas.size() > 1) { |
| manuallyLocked = true; |
| } else if (datas.isEmpty()) { |
| @@ -125,11 +125,12 @@ public class XWorkingBranchButtonLock extends XWorkingBranchButtonAbstract imple |
| isLocked ? "Locked" : "NOT Locked", isLocked ? "UnLock" : "Lock"); |
| if (MessageDialog.openConfirm(Display.getCurrent().getActiveShell(), "Toggle Branch Lock", message)) { |
| if (isLocked) { |
| - AccessControlManager.removeAccessControlDataIf(true, datas.iterator().next()); |
| + AtsApiService.get().getAccessControlService().removeAccessControlDataIf(true, datas.iterator().next()); |
| } else { |
| IUserGroup everyoneGroup = UserGroupService.get(CoreUserGroups.Everyone); |
| Conditions.assertTrue(everyoneGroup.getArtifact() instanceof Artifact, "Must be Artifact"); |
| - AccessControlManager.setPermission((Artifact) everyoneGroup.getArtifact(), branch, PermissionEnum.READ); |
| + AtsApiService.get().getAccessControlService().setPermission(everyoneGroup.getArtifact(), branch, |
| + PermissionEnum.READ); |
| } |
| AWorkbench.popup(String.format("Branch set to [%s]", !isLocked ? "Locked" : "NOT Locked")); |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AbstractWorkflowArtifact.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AbstractWorkflowArtifact.java |
| index 826345798b..bb07feb17a 100644 |
| --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AbstractWorkflowArtifact.java |
| +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AbstractWorkflowArtifact.java |
| @@ -43,15 +43,11 @@ import org.eclipse.osee.ats.ide.internal.Activator; |
| import org.eclipse.osee.ats.ide.internal.AtsApiService; |
| import org.eclipse.osee.ats.ide.workflow.review.AbstractReviewArtifact; |
| import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.data.TransactionId; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.core.services.CmAccessControl; |
| -import org.eclipse.osee.framework.core.services.HasCmAccessControl; |
| import org.eclipse.osee.framework.core.util.IGroupExplorerProvider; |
| -import org.eclipse.osee.framework.core.util.OsgiUtil; |
| import org.eclipse.osee.framework.core.util.Result; |
| import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| @@ -68,7 +64,7 @@ import org.eclipse.osee.framework.skynet.core.relation.RelationManager; |
| /** |
| * @author Donald G. Dunne |
| */ |
| -public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact implements IAtsWorkItem, HasCmAccessControl, IGroupExplorerProvider { |
| +public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact implements IAtsWorkItem, IGroupExplorerProvider { |
| |
| private Collection<AtsUser> transitionAssignees; |
| protected AbstractWorkflowArtifact parentAwa; |
| @@ -265,7 +261,7 @@ public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact imple |
| } |
| |
| public boolean isAccessControlWrite() { |
| - return AccessControlManager.hasPermission(this, PermissionEnum.WRITE); |
| + return AtsApiService.get().getAccessControlService().hasArtifactPermission(this, PermissionEnum.WRITE, null).isSuccess(); |
| } |
| |
| /** |
| @@ -419,11 +415,6 @@ public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact imple |
| return AtsApiService.get().getStateFactory().getStateManager(this); |
| } |
| |
| - @Override |
| - public CmAccessControl getAccessControl() { |
| - return OsgiUtil.getService(getClass(), CmAccessControl.class); |
| - } |
| - |
| public List<IAtsStateDefinition> getToStatesWithCompleteCancelReturnStates() { |
| List<IAtsStateDefinition> allPages = new ArrayList<>(); |
| IAtsStateDefinition currState = getStateDefinition(); |
| diff --git a/plugins/org.eclipse.osee.ats.rest/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.rest/META-INF/MANIFEST.MF |
| index a7282b210b..e1b9367f2d 100644 |
| --- a/plugins/org.eclipse.osee.ats.rest/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.ats.rest/META-INF/MANIFEST.MF |
| @@ -19,6 +19,7 @@ Import-Package: com.fasterxml.jackson.core, |
| org.eclipse.core.runtime, |
| org.eclipse.define.api.importing, |
| org.eclipse.nebula.widgets.xviewer.core.model, |
| + org.eclipse.osee.ats.core.access.demo, |
| org.eclipse.osee.ats.core.agile, |
| org.eclipse.osee.ats.core.agile.operations, |
| org.eclipse.osee.ats.core.ai, |
| @@ -42,6 +43,7 @@ Import-Package: com.fasterxml.jackson.core, |
| org.eclipse.osee.define.rest.importing.resolvers, |
| org.eclipse.osee.framework.core, |
| org.eclipse.osee.framework.core.access, |
| + org.eclipse.osee.framework.core.access.context, |
| org.eclipse.osee.framework.core.data, |
| org.eclipse.osee.framework.core.enums, |
| org.eclipse.osee.framework.core.enums.token, |
| diff --git a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/AtsApiServerImpl.java b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/AtsApiServerImpl.java |
| index 195e8916d5..74c3f156a5 100644 |
| --- a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/AtsApiServerImpl.java |
| +++ b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/AtsApiServerImpl.java |
| @@ -47,6 +47,7 @@ import org.eclipse.osee.ats.rest.internal.util.AtsRelationResolverServiceImpl; |
| import org.eclipse.osee.ats.rest.internal.util.AtsStoreServiceImpl; |
| import org.eclipse.osee.ats.rest.internal.workitem.AtsActionEndpointImpl; |
| import org.eclipse.osee.ats.rest.internal.workitem.AtsTaskService; |
| +import org.eclipse.osee.framework.core.access.IAccessControlService; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| @@ -288,4 +289,9 @@ public class AtsApiServerImpl extends AtsApiImpl implements AtsApiServer { |
| return orcsApi.getUserGroupService(); |
| } |
| |
| + @Override |
| + public IAccessControlService getAccessControlService() { |
| + return orcsApi.getAccessControlService(); |
| + } |
| + |
| } |
| diff --git a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/config/AtsConfigurationsService.java b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/config/AtsConfigurationsService.java |
| index a7cae9b953..694377ff43 100644 |
| --- a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/config/AtsConfigurationsService.java |
| +++ b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/config/AtsConfigurationsService.java |
| @@ -45,6 +45,7 @@ import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| import org.eclipse.osee.framework.core.enums.CoreBranches; |
| import org.eclipse.osee.framework.core.enums.SystemUser; |
| +import org.eclipse.osee.framework.jdk.core.result.XConsoleLogger; |
| import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.ResultSet; |
| import org.eclipse.osee.framework.jdk.core.util.ElapsedTime; |
| @@ -159,7 +160,7 @@ public class AtsConfigurationsService extends AbstractAtsConfigurationService { |
| } |
| idToArtifact.put(art.getId(), art); |
| } catch (Exception ex) { |
| - System.err.println("Exception " + ex.getLocalizedMessage()); |
| + XConsoleLogger.err("Exception " + ex.getLocalizedMessage()); |
| } |
| } |
| time2.end(); |
| diff --git a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/demo/AtsDbConfigDemoOp.java b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/demo/AtsDbConfigDemoOp.java |
| index 6f109ec7ff..924f034698 100644 |
| --- a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/demo/AtsDbConfigDemoOp.java |
| +++ b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/demo/AtsDbConfigDemoOp.java |
| @@ -14,34 +14,16 @@ |
| package org.eclipse.osee.ats.rest.internal.demo; |
| |
| import org.eclipse.osee.ats.api.AtsApi; |
| -import org.eclipse.osee.ats.api.config.Csci; |
| -import org.eclipse.osee.ats.api.config.WorkType; |
| -import org.eclipse.osee.ats.api.config.tx.IAtsConfigTx; |
| -import org.eclipse.osee.ats.api.config.tx.IAtsConfigTxActionableItem; |
| -import org.eclipse.osee.ats.api.config.tx.IAtsConfigTxTeamDef; |
| import org.eclipse.osee.ats.api.data.AtsArtifactToken; |
| -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; |
| -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; |
| import org.eclipse.osee.ats.api.data.AtsRelationTypes; |
| import org.eclipse.osee.ats.api.data.AtsUserGroups; |
| -import org.eclipse.osee.ats.api.demo.AtsDemoOseeTypes; |
| -import org.eclipse.osee.ats.api.demo.DemoAis; |
| import org.eclipse.osee.ats.api.demo.DemoArtifactToken; |
| -import org.eclipse.osee.ats.api.demo.DemoWorkDefinitions; |
| -import org.eclipse.osee.ats.api.query.NextRelease; |
| -import org.eclipse.osee.ats.api.query.ReleasedOption; |
| -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; |
| -import org.eclipse.osee.ats.api.user.AtsCoreUsers; |
| import org.eclipse.osee.ats.api.util.AtsUtil; |
| import org.eclipse.osee.ats.api.util.IAtsChangeSet; |
| import org.eclipse.osee.ats.api.version.IAtsVersion; |
| -import org.eclipse.osee.ats.api.workdef.AtsWorkDefinitionTokens; |
| import org.eclipse.osee.ats.core.config.OrganizePrograms; |
| -import org.eclipse.osee.ats.core.task.TaskSetDefinitionTokensDemo; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| import org.eclipse.osee.framework.core.enums.CoreRelationTypes; |
| -import org.eclipse.osee.framework.core.enums.DemoBranches; |
| import org.eclipse.osee.framework.core.enums.DemoUsers; |
| import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| |
| @@ -53,7 +35,6 @@ import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| public class AtsDbConfigDemoOp { |
| |
| private final AtsApi atsApi; |
| - private IAtsConfigTx cfgTx; |
| |
| public AtsDbConfigDemoOp(AtsApi atsApi) { |
| this.atsApi = atsApi; |
| @@ -61,7 +42,7 @@ public class AtsDbConfigDemoOp { |
| |
| public XResultData run() { |
| |
| - configTxDemoAisAndTeams(); |
| + (new AtsDbConfigAIsAndTeamsDemoOp(atsApi)).run(); |
| configureForParallelCommit(); |
| |
| IAtsChangeSet changes = atsApi.createChangeSet("Set ATS Admin"); |
| @@ -88,454 +69,6 @@ public class AtsDbConfigDemoOp { |
| changes.execute(); |
| } |
| |
| - private void configTxDemoAisAndTeams() { |
| - |
| - cfgTx = atsApi.getConfigService().createConfigTx("Create Demo Config", AtsCoreUsers.SYSTEM_USER); |
| - IAtsConfigTxTeamDef topTeamDef = |
| - cfgTx.createTeamDef((IAtsTeamDefinition) null, AtsArtifactToken.TopTeamDefinition).andWorkDef( |
| - AtsWorkDefinitionTokens.WorkDef_Team_Default); |
| - IAtsConfigTxActionableItem topAi = |
| - cfgTx.createActionableItem(AtsArtifactToken.TopActionableItem).andActionable(false); |
| - |
| - createSawPlTeamConfig(cfgTx, topTeamDef, topAi); |
| - createSawTeamConfig(cfgTx, topTeamDef, topAi); |
| - createCisTeamConfig(cfgTx, topTeamDef, topAi); |
| - createFacilitiesTeamConfig(cfgTx, topTeamDef, topAi); |
| - createProcessTeamConfig(cfgTx, topTeamDef, topAi); |
| - createToolsTeamConfig(cfgTx, topTeamDef, topAi); |
| - createSystemSafetyTeamConfig(cfgTx, topTeamDef, topAi); |
| - |
| - cfgTx.execute(); |
| - |
| - } |
| - |
| - private void createFacilitiesTeamConfig(IAtsConfigTx cfgTx, IAtsConfigTxTeamDef topTeam, IAtsConfigTxActionableItem topActionableItem) { |
| - |
| - // Facilities Team |
| - IAtsConfigTxTeamDef facilitiesTeamDef = |
| - topTeam.createChildTeamDef(topTeam.getTeamDef(), DemoArtifactToken.Facilities_Team) // |
| - .andLeads(DemoUsers.John_Stevens) // |
| - .andMembers(DemoUsers.John_Stevens, DemoUsers.Steven_Michael, DemoUsers.Michael_John, |
| - DemoUsers.Jason_Stevens) // |
| - .andWorkDef(AtsWorkDefinitionTokens.WorkDef_Team_Simple); |
| - |
| - // IT Team |
| - facilitiesTeamDef.createChildTeamDef(facilitiesTeamDef.getTeamDef(), DemoArtifactToken.Facilities_IT_Team) // |
| - .andLeads(DemoUsers.Kay_Wheeler) // |
| - .andMembers(DemoUsers.Kay_Wheeler, DemoUsers.Jason_Stevens, DemoUsers.Michael_John, DemoUsers.Jason_Stevens) // |
| - .andWorkDef(AtsWorkDefinitionTokens.WorkDef_Team_Simple); |
| - |
| - // Facilities Actionable Items |
| - IAtsConfigTxActionableItem facilitiesAi = |
| - topActionableItem.createChildActionableItem(DemoArtifactToken.Facilities_Ai) // |
| - .andActionable(true) // |
| - .andTeamDef(DemoArtifactToken.Facilities_Team); |
| - |
| - facilitiesAi.createChildActionableItem("Backups") // |
| - .andActionable(true) // |
| - .andTeamDef(DemoArtifactToken.Facilities_IT_Team); |
| - |
| - facilitiesAi.createChildActionableItem("Break Room") // |
| - .andActionable(true); |
| - |
| - facilitiesAi.createChildActionableItem("Computers") // |
| - .andActionable(true) // |
| - .andTeamDef(DemoArtifactToken.Facilities_IT_Team); |
| - |
| - facilitiesAi.createChildActionableItem("Network") // |
| - .andActionable(true) // |
| - .andTeamDef(DemoArtifactToken.Facilities_IT_Team); |
| - |
| - facilitiesAi.createChildActionableItem("Vending Machines") // |
| - .andActionable(true); |
| - |
| - } |
| - |
| - private void createToolsTeamConfig(IAtsConfigTx cfgTx, IAtsConfigTxTeamDef topTeam, IAtsConfigTxActionableItem topActionableItem) { |
| - |
| - // Tools Team |
| - IAtsConfigTxTeamDef toolsTeamDef = topTeam.createChildTeamDef(topTeam.getTeamDef(), DemoArtifactToken.Tools_Team) // |
| - .andLeads(DemoUsers.Jeffery_Kay) // |
| - .andMembers(DemoUsers.Jeffery_Kay, DemoUsers.Roland_Stevens) // |
| - .andWorkDef(AtsWorkDefinitionTokens.WorkDef_Team_Default); |
| - |
| - // Web Team |
| - toolsTeamDef.createChildTeamDef(toolsTeamDef.getTeamDef(), DemoArtifactToken.Website_Team) // |
| - .andLeads(DemoUsers.Karmen_John) // |
| - .andMembers(DemoUsers.Karmen_John, DemoUsers.Jeffery_Kay, DemoUsers.Roland_Stevens) // |
| - .andWorkDef(AtsWorkDefinitionTokens.WorkDef_Team_Simple); |
| - |
| - // Tools Actionable Items |
| - IAtsConfigTxActionableItem toolsAi = topActionableItem.createChildActionableItem(DemoArtifactToken.Tools_Ai) // |
| - .andActionable(true) // |
| - .andTeamDef(DemoArtifactToken.Tools_Team); |
| - |
| - toolsAi.createChildActionableItem(DemoArtifactToken.Reader_AI) // |
| - .andActionable(true); |
| - |
| - toolsAi.createChildActionableItem("Results Reporter") // |
| - .andActionable(true); |
| - |
| - toolsAi.createChildActionableItem(DemoArtifactToken.Timesheet_AI) // |
| - .andActionable(true); |
| - |
| - toolsAi.createChildActionableItem("Website") // |
| - .andActionable(true) // |
| - .andTeamDef(DemoArtifactToken.Website_Team); |
| - |
| - } |
| - |
| - private void createSystemSafetyTeamConfig(IAtsConfigTx cfgTx, IAtsConfigTxTeamDef topTeamDef, IAtsConfigTxActionableItem topAi) { |
| - |
| - // System Safety Team |
| - topTeamDef.createChildTeamDef(topTeamDef.getTeamDef(), DemoArtifactToken.System_Safety_Team) // |
| - .andLeads(DemoUsers.Joe_Smith) // |
| - .andMembers(DemoUsers.Jeffery_Kay) // |
| - .andWorkDef(AtsWorkDefinitionTokens.WorkDef_Team_Default); |
| - |
| - // System Safety Actionable Items |
| - topAi.createChildActionableItem(DemoArtifactToken.System_Safety_Ai) // |
| - .andTeamDef(DemoArtifactToken.System_Safety_Team) // |
| - .andActionable(true); |
| - |
| - } |
| - |
| - private void createProcessTeamConfig(IAtsConfigTx cfgTx, IAtsConfigTxTeamDef topTeamDef, IAtsConfigTxActionableItem topActionableItem) { |
| - |
| - // Process Team |
| - topTeamDef.createChildTeamDef(topTeamDef.getTeamDef(), DemoArtifactToken.Process_Team) // |
| - .andLeads(DemoUsers.Alex_Kay) // |
| - .andMembers(DemoUsers.Keith_Johnson, DemoUsers.Michael_Alex, DemoUsers.Janice_Michael, DemoUsers.Alex_Kay) // |
| - .andWorkDef(AtsWorkDefinitionTokens.WorkDef_Team_Default); |
| - |
| - // Process Actionable Items |
| - IAtsConfigTxActionableItem processesAi = topActionableItem.createChildActionableItem("Processes") // |
| - .andActionable(false) // |
| - .andTeamDef(DemoArtifactToken.Process_Team); |
| - |
| - processesAi.createChildActionableItem("Coding Standards") // |
| - .andActionable(true); |
| - |
| - processesAi.createChildActionableItem("Config Mgmt") // |
| - .andActionable(true); |
| - |
| - processesAi.createChildActionableItem("New Employee Manual") // |
| - .andActionable(true); |
| - |
| - processesAi.createChildActionableItem("Reviews") // |
| - .andActionable(true); |
| - } |
| - |
| - private void createSawPlTeamConfig(IAtsConfigTx cfgTx, IAtsConfigTxTeamDef topTeam, IAtsConfigTxActionableItem topActionableItem) { |
| - |
| - // SAW PL |
| - IAtsConfigTxTeamDef sawPlTeamDef = topTeam.createChildTeamDef(topTeam.getTeamDef(), DemoArtifactToken.SAW_PL_TeamDef) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andLeads(DemoUsers.Kay_Jason) // |
| - .andMembers(DemoUsers.Kay_Jason, DemoUsers.Michael_John, DemoUsers.Steven_Kohn) // |
| - .andWorkDef(AtsWorkDefinitionTokens.WorkDef_Team_Default) // |
| - .andVersion(DemoArtifactToken.SAW_Product_Line, ReleasedOption.UnReleased, DemoBranches.SAW_PL, |
| - NextRelease.Next) // |
| - .andVersion(DemoArtifactToken.SAW_Hardening_Branch, ReleasedOption.UnReleased, |
| - DemoBranches.SAW_PL_Hardening_Branch, NextRelease.Next) // |
| - .andRelatedPeerWorkflowDefinition(AtsWorkDefinitionTokens.WorkDef_Review_PeerToPeer_Demo); |
| - |
| - // SAW PL Team Defs |
| - sawPlTeamDef.createChildTeamDef(sawPlTeamDef.getTeamDef(), DemoArtifactToken.SAW_PL_Code_TeamDef) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andWorkType(WorkType.Code) // |
| - .andLeads(DemoUsers.Joe_Smith) // |
| - .andMembers(DemoUsers.Joe_Smith) // |
| - .andWorkDef(DemoWorkDefinitions.WorkDef_Team_Demo_Code) // |
| - .andTeamWorkflowArtifactType(AtsDemoOseeTypes.DemoCodeTeamWorkflow); |
| - |
| - sawPlTeamDef.createChildTeamDef(sawPlTeamDef.getTeamDef(), DemoArtifactToken.SAW_PL_HW_TeamDef) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andWorkType(WorkType.Hardware) // |
| - .andLeads(DemoUsers.Jason_Michael) // |
| - .andMembers(DemoUsers.Jason_Michael) // |
| - .andWorkDef(AtsWorkDefinitionTokens.WorkDef_Team_Default) // |
| - .andTeamWorkflowArtifactType(AtsDemoOseeTypes.DemoReqTeamWorkflow); |
| - |
| - sawPlTeamDef.createChildTeamDef(sawPlTeamDef.getTeamDef(), DemoArtifactToken.SAW_PL_Requirements_TeamDef) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andWorkType(WorkType.Requirements) // |
| - .andLeads(DemoUsers.Joe_Smith) // |
| - .andMembers(DemoUsers.Joe_Smith) // |
| - .andWorkDef(DemoWorkDefinitions.WorkDef_Team_Demo_Req) // |
| - .andTeamWorkflowArtifactType(AtsDemoOseeTypes.DemoReqTeamWorkflow); |
| - |
| - sawPlTeamDef.createChildTeamDef(sawPlTeamDef.getTeamDef(), DemoArtifactToken.SAW_PL_SW_Design_TeamDef) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andWorkType(WorkType.SW_Design) // |
| - .andLeads(DemoUsers.Kay_Jones) // |
| - .andMembers(DemoUsers.Kay_Jones) // |
| - .andWorkDef(DemoWorkDefinitions.WorkDef_Team_Demo_SwDesign); |
| - |
| - sawPlTeamDef.createChildTeamDef(sawPlTeamDef.getTeamDef(), DemoArtifactToken.SAW_PL_Test_TeamDef) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andWorkType(WorkType.Test) // |
| - .andLeads(DemoUsers.Kay_Jones) // |
| - .andMembers(DemoUsers.Kay_Jones) // |
| - .andWorkDef(DemoWorkDefinitions.WorkDef_Team_Demo_Test) // |
| - .andTeamWorkflowArtifactType(AtsDemoOseeTypes.DemoTestTeamWorkflow); |
| - |
| - sawPlTeamDef.createChildTeamDef(sawPlTeamDef.getTeamDef(), DemoArtifactToken.SAW_PL_ARB_TeamDef) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andWorkType(WorkType.ARB) // |
| - .andLeads(DemoUsers.Joe_Smith) // |
| - .andMembers(DemoUsers.Joe_Smith) // |
| - .andWorkDef(AtsWorkDefinitionTokens.WorkDef_Team_ProductLine) // |
| - .andTeamWorkflowArtifactType(AtsArtifactTypes.TeamWorkflow); |
| - |
| - // SAW SW Actionable Items |
| - IAtsConfigTxActionableItem sawPlSwAi = |
| - topActionableItem.createChildActionableItem(DemoArtifactToken.SAW_PL_CSCI_AI) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andActionable(false); |
| - |
| - sawPlSwAi.createChildActionableItem(DemoArtifactToken.SAW_PL_Code_AI) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andWorkType(WorkType.Code) // |
| - .andTeamDef(DemoArtifactToken.SAW_PL_Code_TeamDef) // |
| - .andActionable(true) // |
| - .andChildAis("COMM", "MSM", "NAV", "Test Page"); |
| - |
| - sawPlSwAi.createChildActionableItem(DemoArtifactToken.SAW_PL_Requirements_AI) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andWorkType(WorkType.Requirements) // |
| - .andTeamDef(DemoArtifactToken.SAW_PL_Requirements_TeamDef) // |
| - .andActionable(true) // |
| - .andChildAis("COMM", "MSM", "NAV") // |
| - .and(CoreAttributeTypes.StaticId, DemoAis.TEST_AI); |
| - |
| - sawPlSwAi.createChildActionableItem(DemoArtifactToken.SAW_PL_Test_AI) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andWorkType(WorkType.Test) // |
| - .andTeamDef(DemoArtifactToken.SAW_PL_Test_TeamDef) // |
| - .andActionable(true) // |
| - .andChildAis("ADT", "COMM", "MSM", "NAV", "RulLists"); |
| - |
| - sawPlSwAi.createChildActionableItem(DemoArtifactToken.SAW_PL_SW_Design_AI) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andWorkType(WorkType.SW_Design) // |
| - .andActionable(true) // |
| - .andTeamDef(DemoArtifactToken.SAW_PL_SW_Design_TeamDef); |
| - |
| - sawPlSwAi.createChildActionableItem(DemoArtifactToken.SAW_PL_HW_AI) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andWorkType(WorkType.Hardware) // |
| - .andTeamDef(DemoArtifactToken.SAW_PL_HW_TeamDef) // |
| - .andActionable(true) // |
| - .andChildAis("Adapter", "Case", "Manual", "Screen"); |
| - |
| - sawPlSwAi.createChildActionableItem(DemoArtifactToken.SAW_PL_ARB_AI) // |
| - .andProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andWorkType(WorkType.ARB) // |
| - .andTeamDef(DemoArtifactToken.SAW_PL_ARB_TeamDef) // |
| - .andActionable(true); |
| - |
| - // SAW PL Program |
| - cfgTx.createProgram(DemoArtifactToken.SAW_PL_Program) // |
| - .andTeamDef(DemoArtifactToken.SAW_PL_TeamDef) // |
| - .and(AtsAttributeTypes.Description, "Program object for SAW PL Program") // |
| - .and(AtsAttributeTypes.Namespace, "org.demo.saw.pl"); |
| - |
| - } |
| - |
| - private void createSawTeamConfig(IAtsConfigTx cfgTx, IAtsConfigTxTeamDef topTeam, IAtsConfigTxActionableItem topActionableItem) { |
| - |
| - // SAW SW |
| - IAtsConfigTxTeamDef sawSwTeamDef = topTeam.createChildTeamDef(topTeam.getTeamDef(), DemoArtifactToken.SAW_SW) // |
| - .andProgram(DemoArtifactToken.SAW_Program) // |
| - .and(CoreAttributeTypes.StaticId, "saw.teamDefHoldingVersions") // |
| - .andLeads(DemoUsers.Kay_Jason) // |
| - .andMembers(DemoUsers.Steven_Kohn, DemoUsers.Michael_John, DemoUsers.Kay_Jason) // |
| - .andWorkDef(AtsWorkDefinitionTokens.WorkDef_Team_Default) // |
| - .andVersion(DemoArtifactToken.SAW_Bld_1, ReleasedOption.Released, DemoBranches.SAW_Bld_1, NextRelease.None) // |
| - .andVersion(DemoArtifactToken.SAW_Bld_2, ReleasedOption.UnReleased, DemoBranches.SAW_Bld_2, NextRelease.Next) // |
| - .andVersion(DemoArtifactToken.SAW_Bld_3, ReleasedOption.UnReleased, DemoBranches.SAW_Bld_3, NextRelease.None) // |
| - .andRelatedPeerWorkflowDefinition(AtsWorkDefinitionTokens.WorkDef_Review_PeerToPeer_Demo); |
| - |
| - /** |
| - * Artifact types used can be declared through Team Definition or Workflow Definition. This will get its artifact |
| - * type through the Workflow Definition. |
| - */ |
| - // SAW SW Team Defs |
| - sawSwTeamDef.createChildTeamDef(sawSwTeamDef.getTeamDef(), DemoArtifactToken.SAW_Code) // |
| - .andProgram(DemoArtifactToken.SAW_Program) // |
| - .andWorkType(WorkType.Code) // |
| - .andCsci(Csci.DP, Csci.SP, Csci.WP) // |
| - .and(CoreAttributeTypes.StaticId, "saw.code") // |
| - .andLeads(DemoUsers.Joe_Smith) // |
| - .andMembers(DemoUsers.Joe_Smith) // |
| - .andWorkDef(DemoWorkDefinitions.WorkDef_Team_Demo_Code); |
| - |
| - /** |
| - * Artifact types used can be declared through Team Definition or Workflow Definition. This is an example of the |
| - * config through Team Definition. |
| - */ |
| - sawSwTeamDef.createChildTeamDef(sawSwTeamDef.getTeamDef(), DemoArtifactToken.SAW_HW) // |
| - .andProgram(DemoArtifactToken.SAW_Program) // |
| - .andWorkType(WorkType.Hardware) // |
| - .andLeads(DemoUsers.Jason_Michael) // |
| - .andMembers(DemoUsers.Jason_Michael) // |
| - .andWorkDef(AtsWorkDefinitionTokens.WorkDef_Team_Default) // |
| - .andTeamWorkflowArtifactType(AtsDemoOseeTypes.DemoReqTeamWorkflow); |
| - |
| - sawSwTeamDef.createChildTeamDef(sawSwTeamDef.getTeamDef(), DemoArtifactToken.SAW_Test) // |
| - .andProgram(DemoArtifactToken.SAW_Program) // |
| - .andWorkType(WorkType.Test) // |
| - .andCsci(Csci.DP, Csci.SP, Csci.WP) // |
| - .and(CoreAttributeTypes.StaticId, "saw.test") // |
| - .andLeads(DemoUsers.Kay_Jones) // |
| - .andMembers(DemoUsers.Kay_Jones) // |
| - .andWorkDef(DemoWorkDefinitions.WorkDef_Team_Demo_Test) // |
| - .andTeamWorkflowArtifactType(AtsDemoOseeTypes.DemoTestTeamWorkflow); |
| - |
| - sawSwTeamDef.createChildTeamDef(sawSwTeamDef.getTeamDef(), DemoArtifactToken.SAW_SW_Design) // |
| - .andProgram(DemoArtifactToken.SAW_Program) // |
| - .andWorkType(WorkType.SW_Design) // |
| - .and(CoreAttributeTypes.StaticId, "saw.sw.design") // |
| - .andLeads(DemoUsers.Kay_Jones) // |
| - .andMembers(DemoUsers.Kay_Jones) // |
| - .andWorkDef(DemoWorkDefinitions.WorkDef_Team_Demo_SwDesign) // |
| - .andRelatedPeerWorkflowDefinition(DemoWorkDefinitions.WorkDef_Review_Demo_Peer_SwDesign) // |
| - .andRelatedTaskWorkflowDefinition(DemoWorkDefinitions.WorkDef_Task_Demo_SwDesign, |
| - AtsWorkDefinitionTokens.WorkDef_Task_Default) // |
| - .andTaskSet(TaskSetDefinitionTokensDemo.SawSwDesignTestingChecklist, |
| - TaskSetDefinitionTokensDemo.SawSwDesignProcessChecklist); |
| - |
| - sawSwTeamDef.createChildTeamDef(sawSwTeamDef.getTeamDef(), DemoArtifactToken.SAW_Requirements) // |
| - .andProgram(DemoArtifactToken.SAW_Program) // |
| - .andWorkType(WorkType.Requirements) // |
| - .andCsci(Csci.DP, Csci.SP, Csci.WP) // |
| - .and(CoreAttributeTypes.StaticId, "saw.reqirements") // |
| - .andLeads(DemoUsers.Joe_Smith) // |
| - .andMembers(DemoUsers.Joe_Smith) // |
| - .andWorkDef(DemoWorkDefinitions.WorkDef_Team_Demo_Req) // |
| - .andTeamWorkflowArtifactType(AtsDemoOseeTypes.DemoReqTeamWorkflow); |
| - |
| - // SAW SW Actionable Items |
| - IAtsConfigTxActionableItem sawSwAi = topActionableItem.createChildActionableItem(DemoArtifactToken.SAW_CSCI_AI) // |
| - .andProgram(DemoArtifactToken.SAW_Program) // |
| - .andCsci(Csci.DP, Csci.SP, Csci.WP) // |
| - .andActionable(false); |
| - |
| - sawSwAi.createChildActionableItem(DemoArtifactToken.SAW_Code_AI) // |
| - .andProgram(DemoArtifactToken.SAW_Program) // |
| - .andWorkType(WorkType.Code) // |
| - .andCsci(Csci.DP, Csci.SP, Csci.WP) // |
| - .andTeamDef(DemoArtifactToken.SAW_Code) // |
| - .andActionable(true) // |
| - .andChildAis("COMM", "MSM", "NAV", "Test Page"); |
| - |
| - sawSwAi.createChildActionableItem(DemoArtifactToken.SAW_HW_AI) // |
| - .andProgram(DemoArtifactToken.SAW_Program) // |
| - .andWorkType(WorkType.Hardware) // |
| - .andTeamDef(DemoArtifactToken.SAW_HW) // |
| - .andChildAis(DemoArtifactToken.Adapter_AI) // |
| - .andActionable(true) // |
| - .andChildAis("Case", "Manual", "Screen"); |
| - |
| - sawSwAi.createChildActionableItem(DemoArtifactToken.SAW_Requirements_AI) // |
| - .andProgram(DemoArtifactToken.SAW_Program) // |
| - .andWorkType(WorkType.Requirements) // |
| - .andCsci(Csci.DP, Csci.SP, Csci.WP) // |
| - .andTeamDef(DemoArtifactToken.SAW_Requirements) // |
| - .andActionable(true) // |
| - .andChildAis("COMM", "MSM", "NAV"); |
| - |
| - sawSwAi.createChildActionableItem(DemoArtifactToken.SAW_Test_AI) // |
| - .andProgram(DemoArtifactToken.SAW_Program) // |
| - .andWorkType(WorkType.Test) // |
| - .andCsci(Csci.DP, Csci.SP, Csci.WP) // |
| - .andTeamDef(DemoArtifactToken.SAW_Test) // |
| - .andActionable(true) // |
| - .andChildAis("ADT", "COMM", "MSM", "NAV", "RunLists"); |
| - |
| - sawSwAi.createChildActionableItem(DemoArtifactToken.SAW_SW_Design_AI) // |
| - .andProgram(DemoArtifactToken.SAW_Program) // |
| - .andWorkType(WorkType.SW_Design) // |
| - .andTeamDef(DemoArtifactToken.SAW_SW_Design) // |
| - .andActionable(true); |
| - |
| - // SAW Program |
| - cfgTx.createProgram(DemoArtifactToken.SAW_Program) // |
| - .andTeamDef(DemoArtifactToken.SAW_SW) // |
| - .andCsci(Csci.DP, Csci.SP, Csci.WP) // |
| - .and(AtsAttributeTypes.Description, "Program object for SAW Program") // |
| - .and(AtsAttributeTypes.Namespace, "org.demo.saw"); |
| - |
| - } |
| - |
| - private void createCisTeamConfig(IAtsConfigTx cfgTx, IAtsConfigTxTeamDef topTeam, IAtsConfigTxActionableItem topActionableItem) { |
| - |
| - // CIS SW |
| - IAtsConfigTxTeamDef cisSwTeamDef = topTeam.createChildTeamDef(topTeam.getTeamDef(), DemoArtifactToken.CIS_SW) // |
| - .and(CoreAttributeTypes.StaticId, "cis.teamDefHoldingVersions") // |
| - .andLeads(DemoUsers.Kay_Jason) // |
| - .andMembers(DemoUsers.Steven_Kohn, DemoUsers.Michael_John, DemoUsers.Kay_Jason) // |
| - .andWorkDef(AtsWorkDefinitionTokens.WorkDef_Team_Default) // |
| - .andVersion("CIS Bld 1", ReleasedOption.Released, DemoBranches.CIS_Bld_1, NextRelease.None) // |
| - .andVersion("CIS Bld 2", ReleasedOption.UnReleased, null, NextRelease.Next) // |
| - .andVersion("CIS Bld 3", ReleasedOption.UnReleased, null, NextRelease.None); |
| - |
| - // CIS SW Team Defs |
| - cisSwTeamDef.createChildTeamDef(cisSwTeamDef.getTeamDef(), DemoArtifactToken.CIS_Code) // |
| - .and(CoreAttributeTypes.StaticId, "cis.code") // |
| - .andLeads(DemoUsers.Jason_Michael) // |
| - .andMembers(DemoUsers.Jason_Michael) // |
| - .andWorkDef(DemoWorkDefinitions.WorkDef_Team_Demo_Code); |
| - |
| - cisSwTeamDef.createChildTeamDef(cisSwTeamDef.getTeamDef(), DemoArtifactToken.CIS_Test) // |
| - .and(CoreAttributeTypes.StaticId, "cis.test") // |
| - .andLeads(DemoUsers.Kay_Jones) // |
| - .andMembers(DemoUsers.Kay_Jones) // |
| - .andWorkDef(DemoWorkDefinitions.WorkDef_Team_Demo_Test) // |
| - .andTeamWorkflowArtifactType(AtsDemoOseeTypes.DemoTestTeamWorkflow); |
| - |
| - cisSwTeamDef.createChildTeamDef("CIS SW Design") // |
| - .and(CoreAttributeTypes.StaticId, "cis.sw.design") // |
| - .andLeads(DemoUsers.Kay_Jones) // |
| - .andMembers(DemoUsers.Kay_Jones) // |
| - .andWorkDef(DemoWorkDefinitions.WorkDef_Team_Demo_SwDesign); |
| - |
| - cisSwTeamDef.createChildTeamDef("CIS Requirements") // |
| - .and(CoreAttributeTypes.StaticId, "cis.reqirements") // |
| - .andLeads(DemoUsers.Joe_Smith) // |
| - .andMembers(DemoUsers.Joe_Smith) // |
| - .andWorkDef(DemoWorkDefinitions.WorkDef_Team_Demo_Req) // |
| - .andTeamWorkflowArtifactType(AtsDemoOseeTypes.DemoReqTeamWorkflow); |
| - |
| - // CIS SW Actionable Items |
| - IAtsConfigTxActionableItem cisSwAi = topActionableItem.createChildActionableItem(DemoArtifactToken.CIS_CSCI) // |
| - .andActionable(false); |
| - |
| - cisSwAi.createChildActionableItem("CIS Code") // |
| - .andActionable(true) // |
| - .andTeamDef(DemoArtifactToken.CIS_Code); |
| - |
| - cisSwAi.createChildActionableItem("CIS Requirements") // |
| - .andActionable(true) // |
| - .andTeamDef("CIS Requirements"); |
| - |
| - cisSwAi.createChildActionableItem(DemoArtifactToken.CIS_Test_AI) // |
| - .andActionable(true) // |
| - .andTeamDef(DemoArtifactToken.CIS_Test); |
| - |
| - cisSwAi.createChildActionableItem("CIS SW Design") // |
| - .andActionable(true) // |
| - .andTeamDef("CIS SW Design"); |
| - |
| - // CIS Program |
| - cfgTx.createProgram(DemoArtifactToken.CIS_Program) // |
| - .andTeamDef(DemoArtifactToken.CIS_SW) // |
| - .and(AtsAttributeTypes.Description, "Program object for CIS Program") // |
| - .and(AtsAttributeTypes.Namespace, "org.demo.cis"); |
| - |
| - } |
| - |
| /** |
| * Configure SAW_Bld_1 and SAW_Bld_2 for parallel commit, including recursive setup where SAW_Bld_1 needs to be |
| * committed to SAW_Bld_1 and SAW_Bld_2 and SAW_Bld_2 needs to be committed to SAW_Bld_2 and SAW_Bld_1 |
| @@ -553,4 +86,5 @@ public class AtsDbConfigDemoOp { |
| |
| changes.execute(); |
| } |
| + |
| } |
| diff --git a/plugins/org.eclipse.osee.client.demo/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.client.demo/META-INF/MANIFEST.MF |
| index a85fc0fea1..acfe5e3a7a 100644 |
| --- a/plugins/org.eclipse.osee.client.demo/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.client.demo/META-INF/MANIFEST.MF |
| @@ -12,8 +12,8 @@ Import-Package: javax.ws.rs.core, |
| org.eclipse.jdt.annotation, |
| org.eclipse.osee.define.ide.traceability, |
| org.eclipse.osee.define.ide.traceability.data, |
| - org.eclipse.osee.framework.access, |
| org.eclipse.osee.framework.core, |
| + org.eclipse.osee.framework.core.access, |
| org.eclipse.osee.framework.core.data, |
| org.eclipse.osee.framework.core.data.computed, |
| org.eclipse.osee.framework.core.enums, |
| diff --git a/plugins/org.eclipse.osee.client.demo/src/org/eclipse/osee/client/demo/internal/AddRequirementData.java b/plugins/org.eclipse.osee.client.demo/src/org/eclipse/osee/client/demo/internal/AddRequirementData.java |
| index 1a33bd5d27..37ab2ad0fb 100644 |
| --- a/plugins/org.eclipse.osee.client.demo/src/org/eclipse/osee/client/demo/internal/AddRequirementData.java |
| +++ b/plugins/org.eclipse.osee.client.demo/src/org/eclipse/osee/client/demo/internal/AddRequirementData.java |
| @@ -20,7 +20,6 @@ import java.util.Collection; |
| import java.util.HashSet; |
| import java.util.Set; |
| import java.util.logging.Level; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| @@ -67,11 +66,15 @@ public class AddRequirementData implements IDbInitializationTask { |
| try { |
| BranchId branch = SAW_Bld_1; |
| |
| - //@formatter:off |
| - importRequirements(branch, CoreArtifactTypes.SoftwareRequirementMsWord, CoreArtifactTokens.SoftwareRequirementsFolder, OseeInf.getResourceAsFile("requirements/SAW-SoftwareRequirements.xml", getClass())); |
| - importRequirements(branch, CoreArtifactTypes.SystemRequirementMsWord, CoreArtifactTokens.SystemRequirementsFolder, OseeInf.getResourceAsFile("requirements/SAW-SystemRequirements.xml", getClass())); |
| - importRequirements(branch, CoreArtifactTypes.SubsystemRequirementMsWord, CoreArtifactTokens.SubSystemRequirementsFolder, OseeInf.getResourceAsFile("requirements/SAW-SubsystemRequirements.xml", getClass())); |
| - //@formatter:on |
| + importRequirements(branch, CoreArtifactTypes.SoftwareRequirementMsWord, |
| + CoreArtifactTokens.SoftwareRequirementsFolder, |
| + OseeInf.getResourceAsFile("requirements/SAW-SoftwareRequirements.xml", getClass())); |
| + importRequirements(branch, CoreArtifactTypes.SystemRequirementMsWord, |
| + CoreArtifactTokens.SystemRequirementsFolder, |
| + OseeInf.getResourceAsFile("requirements/SAW-SystemRequirements.xml", getClass())); |
| + importRequirements(branch, CoreArtifactTypes.SubsystemRequirementMsWord, |
| + CoreArtifactTokens.SubSystemRequirementsFolder, |
| + OseeInf.getResourceAsFile("requirements/SAW-SubsystemRequirements.xml", getClass())); |
| |
| SkynetTransaction demoDbTraceability = |
| TransactionManager.createTransaction(branch, "Populate Demo DB - Create Traceability"); |
| @@ -80,8 +83,8 @@ public class AddRequirementData implements IDbInitializationTask { |
| |
| // Create SAW_Bld_2 Child Main Working Branch off SAW_Bld_1 |
| BranchId childBranch = BranchManager.createBaselineBranch(SAW_Bld_1, SAW_Bld_2); |
| - AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), SAW_Bld_2, |
| - PermissionEnum.FULLACCESS); |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(DemoUsers.Joe_Smith), |
| + SAW_Bld_2, PermissionEnum.FULLACCESS); |
| |
| // need to update the branch type; |
| ConnectionHandler.runPreparedUpdate(UPDATE_BRANCH_TYPE, BranchType.BASELINE, childBranch); |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/.project b/plugins/org.eclipse.osee.client.integration.tests/.project |
| index 28184747a1..dc10962dea 100644 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/.project |
| +++ b/plugins/org.eclipse.osee.client.integration.tests/.project |
| @@ -20,6 +20,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.client.integration.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.client.integration.tests/META-INF/MANIFEST.MF |
| index 07873b6f65..fc7acb1e78 100644 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.client.integration.tests/META-INF/MANIFEST.MF |
| @@ -6,6 +6,7 @@ Bundle-ActivationPolicy: lazy |
| Bundle-Version: 1.0.0.qualifier |
| Bundle-Vendor: Eclipse Open System Engineering Environment |
| Bundle-RequiredExecutionEnvironment: JavaSE-1.8 |
| +Service-Component: OSGI-INF/*.xml |
| Import-Package: javax.ws.rs.client, |
| javax.ws.rs.core, |
| org.eclipse.core.runtime, |
| @@ -14,7 +15,6 @@ Import-Package: javax.ws.rs.client, |
| org.eclipse.osee.client.demo, |
| org.eclipse.osee.client.test.framework, |
| org.eclipse.osee.define.api, |
| - org.eclipse.osee.framework.access, |
| org.eclipse.osee.framework.core, |
| org.eclipse.osee.framework.core.access, |
| org.eclipse.osee.framework.core.applicability, |
| @@ -22,9 +22,6 @@ Import-Package: javax.ws.rs.client, |
| org.eclipse.osee.framework.core.client.server, |
| org.eclipse.osee.framework.core.data, |
| org.eclipse.osee.framework.core.data.computed, |
| - org.eclipse.osee.framework.core.dsl, |
| - org.eclipse.osee.framework.core.dsl.integration, |
| - org.eclipse.osee.framework.core.dsl.oseeDsl, |
| org.eclipse.osee.framework.core.enums, |
| org.eclipse.osee.framework.core.enums.token, |
| org.eclipse.osee.framework.core.exception, |
| @@ -64,6 +61,4 @@ Require-Bundle: org.junit, |
| org.eclipse.osee.framework.skynet.core, |
| org.eclipse.osee.framework.ui.skynet, |
| org.eclipse.osee.define.ide, |
| - org.eclipse.osee.framework.core.dsl.ui.integration, |
| - org.eclipse.osee.framework.core.dsl.integration, |
| javax.mail.glassfish;bundle-version="1.4.1" |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/OSGI-INF/osee.api.service.ref.xml b/plugins/org.eclipse.osee.client.integration.tests/OSGI-INF/osee.api.service.ref.xml |
| index 10cc8fa2a4..4b8d770146 100644 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/OSGI-INF/osee.api.service.ref.xml |
| +++ b/plugins/org.eclipse.osee.client.integration.tests/OSGI-INF/osee.api.service.ref.xml |
| @@ -1,5 +1,5 @@ |
| <?xml version="1.0" encoding="UTF-8"?> |
| <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true"> |
| - <implementation class="org.eclipse.osee.client.integration.tests.integration.OseeApiService"/> |
| + <implementation class="org.eclipse.osee.client.integration.tests.internal.OseeApiService"/> |
| <reference bind="setOseeApi" cardinality="1..1" interface="org.eclipse.osee.framework.core.OseeApi" name="OseeApi" policy="static"/> |
| </scr:component> |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/build.properties b/plugins/org.eclipse.osee.client.integration.tests/build.properties |
| index 17908691f5..f58f8375b8 100644 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/build.properties |
| +++ b/plugins/org.eclipse.osee.client.integration.tests/build.properties |
| @@ -3,4 +3,5 @@ output.. = bin/ |
| bin.includes = META-INF/,\ |
| .,\ |
| logback-test.xml,\ |
| - support/ |
| + support/,\ |
| + OSGI-INF/ |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/OseeClientIntegrationTestSuite.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/OseeClientIntegrationTestSuite.java |
| index 916214e54c..fb2967e215 100644 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/OseeClientIntegrationTestSuite.java |
| +++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/OseeClientIntegrationTestSuite.java |
| @@ -16,7 +16,6 @@ package org.eclipse.osee.client.integration.tests; |
| import org.eclipse.osee.client.integration.tests.integration.DirtyArtifactCacheTest; |
| import org.eclipse.osee.client.integration.tests.integration.LongRunningTestSuite; |
| import org.eclipse.osee.client.integration.tests.integration.define.XDefineIntegrationTestSuite; |
| -import org.eclipse.osee.client.integration.tests.integration.dsl.ui.integration.XDslUiIntegrationTestSuite; |
| import org.eclipse.osee.client.integration.tests.integration.endpoint.EndpointIntegrationTestSuite; |
| import org.eclipse.osee.client.integration.tests.integration.orcs.rest.OrcsRestTestSuite; |
| import org.eclipse.osee.client.integration.tests.integration.skynet.core.XSkynetCoreIntegrationTestSuite; |
| @@ -32,7 +31,6 @@ import org.junit.runners.Suite; |
| @Suite.SuiteClasses({ |
| OrcsRestTestSuite.class, |
| EndpointIntegrationTestSuite.class, |
| - XDslUiIntegrationTestSuite.class, |
| XDefineIntegrationTestSuite.class, |
| XSkynetCoreIntegrationTestSuite.class, |
| XUiSkynetCoreIntegrationTestSuite.class, |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/OseeApiService.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/OseeApiService.java |
| deleted file mode 100644 |
| index 291f98eb05..0000000000 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/OseeApiService.java |
| +++ /dev/null |
| @@ -1,38 +0,0 @@ |
| -/******************************************************************************* |
| - * Copyright (c) 2021 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.client.integration.tests.integration; |
| - |
| -import org.eclipse.osee.framework.core.OseeApi; |
| - |
| -/** |
| - * @author Donald G. Dunne |
| - */ |
| -public class OseeApiService { |
| - |
| - public static OseeApi oseeApi; |
| - |
| - public OseeApiService() { |
| - // for jax-rs |
| - } |
| - |
| - public OseeApi getOseeApi() { |
| - return oseeApi; |
| - } |
| - |
| - public void setOseeApi(OseeApi oseeApi) { |
| - OseeApiService.oseeApi = oseeApi; |
| - } |
| - |
| - public static OseeApi get() { |
| - return oseeApi; |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/dsl/ui/integration/MockDslProvider.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/dsl/ui/integration/MockDslProvider.java |
| deleted file mode 100644 |
| index 7846b084e6..0000000000 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/dsl/ui/integration/MockDslProvider.java |
| +++ /dev/null |
| @@ -1,69 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.client.integration.tests.integration.dsl.ui.integration; |
| - |
| -import java.util.Map; |
| -import java.util.concurrent.ConcurrentHashMap; |
| -import org.eclipse.osee.framework.core.dsl.integration.OseeDslProvider; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDsl; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class MockDslProvider implements OseeDslProvider { |
| - |
| - private final OseeDsl dslToReturn; |
| - |
| - private boolean wasLoadDslCalled; |
| - private boolean wasGetDslCalled; |
| - private OseeDsl dslToStore; |
| - |
| - public MockDslProvider(OseeDsl dslToReturn) { |
| - this.dslToReturn = dslToReturn; |
| - } |
| - |
| - @Override |
| - public void loadDsl() { |
| - wasLoadDslCalled = true; |
| - } |
| - |
| - @Override |
| - public OseeDsl getDsl() { |
| - wasGetDslCalled = true; |
| - return dslToReturn; |
| - } |
| - |
| - @Override |
| - public void storeDsl(OseeDsl dsl) { |
| - dslToStore = dsl; |
| - } |
| - |
| - public OseeDsl getDslToStore() { |
| - return dslToStore; |
| - } |
| - |
| - public boolean wasLoadDslCalled() { |
| - return wasLoadDslCalled; |
| - } |
| - |
| - public boolean wasGetDslCalled() { |
| - return wasGetDslCalled; |
| - } |
| - |
| - @Override |
| - public Map<String, Long> getContextGuidToIdMap() { |
| - return new ConcurrentHashMap<>(); |
| - } |
| - |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/dsl/ui/integration/OseeDslRoleContextProviderTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/dsl/ui/integration/OseeDslRoleContextProviderTest.java |
| deleted file mode 100644 |
| index a51f2ebab5..0000000000 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/dsl/ui/integration/OseeDslRoleContextProviderTest.java |
| +++ /dev/null |
| @@ -1,139 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2012 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.client.integration.tests.integration.dsl.ui.integration; |
| - |
| -import static org.eclipse.osee.client.demo.DemoChoice.OSEE_CLIENT_DEMO; |
| -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.Artifact; |
| -import static org.eclipse.osee.framework.core.enums.CoreBranches.COMMON; |
| -import java.util.Collection; |
| -import java.util.Iterator; |
| -import java.util.LinkedList; |
| -import java.util.List; |
| -import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule; |
| -import org.eclipse.osee.client.test.framework.OseeLogMonitorRule; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.dsl.OseeDslResourceUtil; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDsl; |
| -import org.eclipse.osee.framework.core.dsl.ui.integration.operations.OseeDslRoleContextProvider; |
| -import org.eclipse.osee.framework.core.enums.CoreArtifactTokens; |
| -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| -import org.eclipse.osee.framework.core.enums.SystemUser; |
| -import org.eclipse.osee.framework.jdk.core.util.Lib; |
| -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; |
| -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; |
| -import org.junit.Assert; |
| -import org.junit.Rule; |
| -import org.junit.Test; |
| - |
| -/** |
| - * Test Case for {@link OseeDslRoleContextProvider} |
| - * |
| - * @author John R. Misinco |
| - */ |
| -public class OseeDslRoleContextProviderTest { |
| - |
| - @Rule |
| - public OseeClientIntegrationRule integration = new OseeClientIntegrationRule(OSEE_CLIENT_DEMO); |
| - |
| - @Rule |
| - public OseeLogMonitorRule monitorRule = new OseeLogMonitorRule(); |
| - |
| - @Test |
| - public void testGetContextId() throws Exception { |
| - Long contextId = Lib.generateArtifactIdAsInt(); |
| - Artifact user = ArtifactQuery.getArtifactFromToken(SystemUser.Anonymous); |
| - String testSheet = getTestSheet1(contextId, user.getId()); |
| - OseeDsl model = OseeDslResourceUtil.loadModel("osee:/text.osee", testSheet).getModel(); |
| - MockDslProvider dslProvider = new MockDslProvider(model); |
| - OseeDslRoleContextProvider contextProvider = new OseeDslRoleContextProvider(dslProvider); |
| - Collection<? extends AccessContextToken> contextIds = contextProvider.getContextId(user); |
| - |
| - Assert.assertEquals(1, contextIds.size()); |
| - Assert.assertEquals(contextId, contextIds.iterator().next().getId()); |
| - } |
| - |
| - @Test |
| - public void testGetContextIdExtended() throws Exception { |
| - Long contextId1 = Lib.generateArtifactIdAsInt(); |
| - Long contextId2 = Lib.generateArtifactIdAsInt(); |
| - Artifact user = ArtifactQuery.getArtifactFromToken(SystemUser.Anonymous); |
| - Artifact role2User = ArtifactTypeManager.addArtifact(Artifact, COMMON, "Role 2 user"); |
| - |
| - String testSheet = getTestSheet2(contextId1, user.getId(), contextId2, role2User); |
| - OseeDsl model = OseeDslResourceUtil.loadModel("osee:/text.osee", testSheet).getModel(); |
| - MockDslProvider dslProvider = new MockDslProvider(model); |
| - OseeDslRoleContextProvider contextProvider = new OseeDslRoleContextProvider(dslProvider); |
| - Collection<? extends AccessContextToken> contextIds = contextProvider.getContextId(user); |
| - |
| - Assert.assertEquals(1, contextIds.size()); |
| - Assert.assertEquals(contextId1, contextIds.iterator().next().getId()); |
| - |
| - role2User.persist("Test User"); |
| - contextIds = contextProvider.getContextId(role2User); |
| - |
| - Assert.assertEquals(2, contextIds.size()); |
| - Iterator<? extends AccessContextToken> iterator = contextIds.iterator(); |
| - List<Long> contextList = new LinkedList<>(); |
| - contextList.add(contextId1); |
| - contextList.add(contextId2); |
| - Assert.assertTrue(contextList.remove(iterator.next().getId())); |
| - Assert.assertTrue(contextList.remove(iterator.next().getId())); |
| - |
| - role2User.deleteAndPersist(getClass().getSimpleName()); |
| - } |
| - |
| - @Test |
| - public void testDbInitCreationOfAccessModel() throws Exception { |
| - Artifact model = ArtifactQuery.getArtifactFromToken(CoreArtifactTokens.FrameworkAccessModel); |
| - String xtext = model.getSoleAttributeValue(CoreAttributeTypes.GeneralStringData); |
| - Assert.assertTrue(xtext.contains("anonymous.context")); |
| - } |
| - |
| - private String getTestSheet1(Long contextId, Long role1Id) { |
| - StringBuilder sb = new StringBuilder(); |
| - sb.append("role \"role1\" {\n"); |
| - sb.append(" id "); |
| - sb.append(role1Id); |
| - sb.append(";\n"); |
| - sb.append(" accessContext \"role1.context\";\n"); |
| - sb.append("}\n\n"); |
| - |
| - sb.append("accessContext \"role1.context\" {\n"); |
| - sb.append(" id "); |
| - sb.append(contextId); |
| - sb.append(";\n"); |
| - sb.append(" DENY edit relationType ALL BOTH;\n"); |
| - sb.append("}\n"); |
| - return sb.toString(); |
| - } |
| - |
| - private String getTestSheet2(Long context1, Long role1Id, Long context2, Artifact role2) { |
| - StringBuilder sb = new StringBuilder(getTestSheet1(context1, role1Id)); |
| - sb.append("\nrole \"role2\" extends \"role1\" {\n"); |
| - sb.append(" id "); |
| - sb.append(role2.getIdString()); |
| - sb.append(";\n"); |
| - sb.append(" accessContext \"role2.context\";\n"); |
| - sb.append("}\n\n"); |
| - |
| - sb.append("accessContext \"role2.context\" {\n"); |
| - sb.append(" id "); |
| - sb.append(context2); |
| - sb.append(";\n"); |
| - sb.append(" DENY edit relationType ALL BOTH;\n"); |
| - sb.append("}\n"); |
| - return sb.toString(); |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/dsl/ui/integration/XDslUiIntegrationTestSuite.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/dsl/ui/integration/XDslUiIntegrationTestSuite.java |
| deleted file mode 100644 |
| index 4ddbed430d..0000000000 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/dsl/ui/integration/XDslUiIntegrationTestSuite.java |
| +++ /dev/null |
| @@ -1,26 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2012 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.client.integration.tests.integration.dsl.ui.integration; |
| - |
| -import org.junit.runner.RunWith; |
| -import org.junit.runners.Suite; |
| - |
| -@RunWith(Suite.class) |
| -@Suite.SuiteClasses({OseeDslRoleContextProviderTest.class}) |
| -/** |
| - * @author Ryan D. Brooks |
| - */ |
| -public class XDslUiIntegrationTestSuite { |
| - // Test Suite |
| -} |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/AccessControlTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/AccessControlTest.java |
| index f1c17bbfe2..cbbf311718 100644 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/AccessControlTest.java |
| +++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/AccessControlTest.java |
| @@ -14,13 +14,13 @@ |
| package org.eclipse.osee.client.integration.tests.integration.skynet.core; |
| |
| import static org.eclipse.osee.client.demo.DemoChoice.OSEE_CLIENT_DEMO; |
| +import org.eclipse.osee.client.integration.tests.internal.OseeApiService; |
| import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule; |
| import org.eclipse.osee.client.test.framework.OseeLogMonitorRule; |
| import org.eclipse.osee.client.test.framework.TestInfo; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeStateException; |
| +import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.skynet.core.UserManager; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| @@ -51,38 +51,39 @@ public class AccessControlTest { |
| |
| private static BranchToken branch; |
| |
| - @Test(expected = OseeStateException.class) |
| + @Test(expected = OseeCoreException.class) |
| public void testNoWriteOnReadAccessOnBranch() { |
| - AccessControlManager.setPermission(UserManager.getUser(), branch, PermissionEnum.READ); |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(), branch, PermissionEnum.READ); |
| artifact1 = new Artifact(branch, "New Name"); |
| artifact1.persist(testInfo.getTestName()); |
| } |
| |
| - @Test(expected = OseeStateException.class) |
| + @Test(expected = OseeCoreException.class) |
| public void testNoWriteOnNoneAccessOnBranch() { |
| - AccessControlManager.setPermission(UserManager.getUser(), branch, PermissionEnum.NONE); |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(), branch, PermissionEnum.NONE); |
| artifact2 = new Artifact(branch, "New Name"); |
| artifact2.persist(testInfo.getTestName()); |
| } |
| |
| @Test |
| public void testWriteAccessOnBranch() { |
| - AccessControlManager.setPermission(UserManager.getUser(), branch, PermissionEnum.WRITE); |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(), branch, PermissionEnum.WRITE); |
| artifact3 = new Artifact(branch, "New Name"); |
| artifact3.persist(testInfo.getTestName()); |
| } |
| |
| @Test |
| public void testWriteOnFullAccessOnBranch() { |
| - AccessControlManager.setPermission(UserManager.getUser(), branch, PermissionEnum.FULLACCESS); |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(), branch, |
| + PermissionEnum.FULLACCESS); |
| artifact4 = new Artifact(branch, "New Name"); |
| artifact4.persist(testInfo.getTestName()); |
| } |
| |
| - @Test(expected = OseeStateException.class) |
| + @Test(expected = OseeCoreException.class) |
| public void testNoWriteOnDenyAccessOnBranch() { |
| BranchToken branch = BranchManager.createTopLevelBranch(testInfo.getTestName() + " branch"); |
| - AccessControlManager.setPermission(UserManager.getUser(), branch, PermissionEnum.DENY); |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(), branch, PermissionEnum.DENY); |
| artifact5 = new Artifact(branch, "New Name"); |
| artifact5.persist(testInfo.getTestName()); |
| } |
| @@ -118,4 +119,4 @@ public class AccessControlTest { |
| BranchManager.purgeBranch(branch); |
| } |
| } |
| -} |
| \ No newline at end of file |
| +} |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactQueryTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactQueryTest.java |
| index 8465df1ed9..5376259ec6 100644 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactQueryTest.java |
| +++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactQueryTest.java |
| @@ -23,11 +23,11 @@ import java.util.LinkedList; |
| import java.util.List; |
| import java.util.Set; |
| import org.eclipse.core.runtime.jobs.Job; |
| +import org.eclipse.osee.client.integration.tests.internal.OseeApiService; |
| import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule; |
| import org.eclipse.osee.client.test.framework.OseeHousekeepingRule; |
| import org.eclipse.osee.client.test.framework.OseeLogMonitorRule; |
| import org.eclipse.osee.client.test.framework.TestInfo; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.AttributeId; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| @@ -38,6 +38,7 @@ import org.eclipse.osee.framework.core.enums.CoreArtifactTokens; |
| import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| import org.eclipse.osee.framework.core.enums.CoreBranches; |
| +import org.eclipse.osee.framework.core.enums.CoreUserGroups; |
| import org.eclipse.osee.framework.core.enums.DeletionFlag; |
| import org.eclipse.osee.framework.core.enums.DemoUsers; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| @@ -192,7 +193,8 @@ public class ArtifactQueryTest { |
| public void testGetOrCreate() throws Exception { |
| String guid = GUID.create(); |
| BranchToken branch = BranchManager.createTopLevelBranch(testInfo.getTestName() + " branch"); |
| - AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), branch, PermissionEnum.FULLACCESS); |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(DemoUsers.Joe_Smith), branch, |
| + PermissionEnum.FULLACCESS); |
| |
| Artifact artifact1 = ArtifactQuery.getOrCreate(guid, CoreArtifactTypes.GeneralData, branch); |
| Assert.assertNotNull(artifact1); |
| @@ -206,7 +208,8 @@ public class ArtifactQueryTest { |
| public void testLargeAttributeIndexing() throws Exception { |
| String guid = GUID.create(); |
| BranchToken branch = BranchManager.createTopLevelBranch(testInfo.getTestName() + " branch"); |
| - AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), branch, PermissionEnum.FULLACCESS); |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(DemoUsers.Joe_Smith), branch, |
| + PermissionEnum.FULLACCESS); |
| |
| Artifact artifact1 = ArtifactQuery.getOrCreate(guid, CoreArtifactTypes.GeneralData, branch); |
| artifact1.setSoleAttributeFromString(CoreAttributeTypes.Name, longStr()); |
| @@ -231,7 +234,8 @@ public class ArtifactQueryTest { |
| @Test |
| public void testQueryById() { |
| BranchToken branch = BranchManager.createTopLevelBranch(testInfo.getTestName() + " branch"); |
| - AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), branch, PermissionEnum.FULLACCESS); |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(DemoUsers.Joe_Smith), branch, |
| + PermissionEnum.FULLACCESS); |
| |
| List<ArtifactId> newIdsInOrder = new LinkedList<>(); |
| createArtifactFortestQueryById(newIdsInOrder, branch); |
| @@ -280,7 +284,8 @@ public class ArtifactQueryTest { |
| @Test |
| public void testMultipleValues() { |
| QueryBuilderArtifact builder = ArtifactQuery.createQueryBuilder(CoreBranches.COMMON); |
| - builder.and(CoreAttributeTypes.Name, Arrays.asList("Everyone", "OseeAdmin")); |
| + builder.and(CoreAttributeTypes.Name, |
| + Arrays.asList(CoreUserGroups.Everyone.getName(), CoreUserGroups.OseeAdmin.getName())); |
| int count = builder.getCount(); |
| Assert.assertEquals(2, count); |
| } |
| @@ -288,9 +293,11 @@ public class ArtifactQueryTest { |
| @Test |
| public void testMultipleValuesIgnoreCase() { |
| QueryBuilderArtifact builder = ArtifactQuery.createQueryBuilder(CoreBranches.COMMON); |
| - builder.and(CoreAttributeTypes.Name, Arrays.asList("everyone", "oseeadmin"), QueryOption.CASE__IGNORE); |
| - int count = builder.getCount(); |
| - Assert.assertEquals(2, count); |
| + builder.and(CoreAttributeTypes.Name, Arrays.asList(CoreUserGroups.Everyone.getName().toLowerCase(), |
| + CoreUserGroups.OseeAdmin.getName().toLowerCase()), QueryOption.CASE__IGNORE); |
| + List<Artifact> arts = builder.getResults().getList(); |
| + int count = arts.size(); |
| + Assert.assertEquals(3, count); |
| } |
| |
| @Test |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/DoorsArtifactExtractorTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/DoorsArtifactExtractorTest.java |
| index 347df61c6c..ef45795096 100644 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/DoorsArtifactExtractorTest.java |
| +++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/DoorsArtifactExtractorTest.java |
| @@ -40,7 +40,6 @@ import org.eclipse.osee.framework.jdk.core.util.Lib; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; |
| import org.eclipse.osee.framework.skynet.core.importing.RoughArtifact; |
| -import org.eclipse.osee.framework.skynet.core.importing.RoughArtifactKind; |
| import org.eclipse.osee.framework.skynet.core.importing.RoughAttributeSet; |
| import org.eclipse.osee.framework.skynet.core.importing.operations.RoughArtifactCollector; |
| import org.eclipse.osee.framework.skynet.core.importing.parsers.DoorsArtifactExtractor; |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/OseeApiService.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/OseeApiService.java |
| deleted file mode 100644 |
| index 356e139fcd..0000000000 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/OseeApiService.java |
| +++ /dev/null |
| @@ -1,38 +0,0 @@ |
| -/******************************************************************************* |
| - * Copyright (c) 2021 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.client.integration.tests.integration.skynet.core; |
| - |
| -import org.eclipse.osee.framework.core.OseeApi; |
| - |
| -/** |
| - * @author Donald G. Dunne |
| - */ |
| -public class OseeApiService { |
| - |
| - public static OseeApi oseeApi; |
| - |
| - public OseeApiService() { |
| - // for jax-rs |
| - } |
| - |
| - public OseeApi getOseeApi() { |
| - return oseeApi; |
| - } |
| - |
| - public void setOseeApi(OseeApi oseeApi) { |
| - OseeApiService.oseeApi = oseeApi; |
| - } |
| - |
| - public static OseeApi get() { |
| - return oseeApi; |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/HtmlRendererTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/HtmlRendererTest.java |
| index 149fc888e4..2f3bc5eddb 100644 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/HtmlRendererTest.java |
| +++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/HtmlRendererTest.java |
| @@ -19,10 +19,10 @@ import java.io.InputStream; |
| import java.util.ArrayList; |
| import java.util.HashMap; |
| import java.util.List; |
| +import org.eclipse.osee.client.integration.tests.internal.OseeApiService; |
| import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule; |
| import org.eclipse.osee.client.test.framework.OseeLogMonitorRule; |
| import org.eclipse.osee.client.test.framework.TestInfo; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| @@ -87,7 +87,7 @@ public class HtmlRendererTest { |
| |
| String branchName = method.getQualifiedTestName(); |
| rootBranch = BranchManager.createTopLevelBranch(branchName); |
| - AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), rootBranch, |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(DemoUsers.Joe_Smith), rootBranch, |
| PermissionEnum.FULLACCESS); |
| |
| Artifact programRoot = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(rootBranch); |
| @@ -150,4 +150,4 @@ public class HtmlRendererTest { |
| return value; |
| } |
| |
| -} |
| \ No newline at end of file |
| +} |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/RelationIntegrityCheckTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/RelationIntegrityCheckTest.java |
| index 5de9cca438..786215c81b 100644 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/RelationIntegrityCheckTest.java |
| +++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/RelationIntegrityCheckTest.java |
| @@ -16,9 +16,9 @@ package org.eclipse.osee.client.integration.tests.integration.ui.skynet; |
| import static org.eclipse.osee.client.demo.DemoChoice.OSEE_CLIENT_DEMO; |
| import java.util.LinkedList; |
| import java.util.List; |
| +import org.eclipse.osee.client.integration.tests.internal.OseeApiService; |
| import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule; |
| import org.eclipse.osee.client.test.framework.OseeLogMonitorRule; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.data.GammaId; |
| @@ -71,8 +71,8 @@ public class RelationIntegrityCheckTest { |
| @Before |
| public void setUp() throws Exception { |
| parentBranch = BranchManager.createTopLevelBranch("1"); |
| - AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), parentBranch, |
| - PermissionEnum.FULLACCESS); |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(DemoUsers.Joe_Smith), |
| + parentBranch, PermissionEnum.FULLACCESS); |
| |
| Artifact art_A = ArtifactTypeManager.addArtifact(CoreArtifactTypes.Folder, parentBranch, "A"); |
| art_A.persist(getClass().getSimpleName()); |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/ViewWordChangeAndDiffTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/ViewWordChangeAndDiffTest.java |
| index 0c639bc123..6efbea2eb5 100644 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/ViewWordChangeAndDiffTest.java |
| +++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/ViewWordChangeAndDiffTest.java |
| @@ -27,9 +27,9 @@ import java.util.List; |
| import java.util.Map; |
| import java.util.Map.Entry; |
| import org.eclipse.core.resources.IFolder; |
| +import org.eclipse.osee.client.integration.tests.internal.OseeApiService; |
| import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule; |
| import org.eclipse.osee.client.test.framework.OseeLogMonitorRule; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.enums.PresentationType; |
| @@ -163,7 +163,8 @@ public final class ViewWordChangeAndDiffTest { |
| } |
| |
| private static void checkPermissions(List<Artifact> artifacts) { |
| - boolean isReadable = AccessControlManager.hasPermission(artifacts, PermissionEnum.READ); |
| + boolean isReadable = |
| + OseeApiService.get().getAccessControlService().hasArtifactPermission(artifacts, PermissionEnum.READ, null).isSuccess(); |
| assertTrue("Valid object permissions", isReadable); |
| } |
| |
| diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/WordTemplateRendererTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/WordTemplateRendererTest.java |
| index ed10c5c856..8491b20176 100644 |
| --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/WordTemplateRendererTest.java |
| +++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/WordTemplateRendererTest.java |
| @@ -39,10 +39,10 @@ import java.util.List; |
| import java.util.Map; |
| import java.util.regex.Matcher; |
| import java.util.regex.Pattern; |
| +import org.eclipse.osee.client.integration.tests.internal.OseeApiService; |
| import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule; |
| import org.eclipse.osee.client.test.framework.OseeLogMonitorRule; |
| import org.eclipse.osee.client.test.framework.TestInfo; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| @@ -171,7 +171,7 @@ public class WordTemplateRendererTest { |
| |
| String branchName = method.getQualifiedTestName(); |
| rootBranch = BranchManager.createTopLevelBranch(branchName); |
| - AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), rootBranch, |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(DemoUsers.Joe_Smith), rootBranch, |
| PermissionEnum.FULLACCESS); |
| |
| Artifact programRoot = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(rootBranch); |
| @@ -211,7 +211,8 @@ public class WordTemplateRendererTest { |
| @Test |
| public void testBlankWordTemplateContent() { |
| BranchToken rootBr = BranchManager.createTopLevelBranch("Root Branch"); |
| - AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), rootBr, PermissionEnum.FULLACCESS); |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(DemoUsers.Joe_Smith), rootBr, |
| + PermissionEnum.FULLACCESS); |
| |
| SkynetTransaction tx = |
| TransactionManager.createTransaction(rootBr, String.format("%s", method.getQualifiedTestName())); |
| diff --git a/plugins/org.eclipse.osee.client.parent/pom.xml b/plugins/org.eclipse.osee.client.parent/pom.xml |
| index 9fe9969515..58c2b52bf2 100644 |
| --- a/plugins/org.eclipse.osee.client.parent/pom.xml |
| +++ b/plugins/org.eclipse.osee.client.parent/pom.xml |
| @@ -32,14 +32,9 @@ |
| <module>../../plugins/org.eclipse.osee.framework.lifecycle</module> |
| <module>../../plugins/org.eclipse.osee.framework.lifecycle.test</module> |
| |
| - <module>../../plugins/org.eclipse.osee.framework.access</module> |
| - <module>../../plugins/org.eclipse.osee.framework.access.provider</module> |
| - |
| <module>../../plugins/org.eclipse.osee.framework.branch.gantt</module> |
| <module>../../plugins/org.eclipse.osee.framework.core.client</module> |
| |
| - <!--<module>../../plugins/org.eclipse.osee.framework.core.dsl</module> --> |
| - <!--<module>../../plugins/org.eclipse.osee.framework.core.dsl.integration</module> --> |
| <module>../../plugins/org.eclipse.osee.framework.database.init</module> |
| |
| <module>../../plugins/org.eclipse.osee.framework.messaging.event.res</module> |
| @@ -58,10 +53,6 @@ |
| <module>../../plugins/org.eclipse.osee.framework.ui.skynet</module> |
| <module>../../plugins/org.eclipse.osee.framework.ui.skynet.test</module> |
| |
| - <module>../../plugins/org.eclipse.osee.framework.core.dsl.ui</module> |
| - <module>../../plugins/org.eclipse.osee.framework.core.dsl.ui.integration</module> |
| - <module>../../plugins/org.eclipse.osee.framework.core.dsl.ui.integration.test</module> |
| - |
| <module>../../plugins/org.eclipse.osee.framework.ui.branch.graph</module> |
| <module>../../plugins/org.eclipse.osee.framework.ui.data.model.editor</module> |
| <module>../../plugins/org.eclipse.osee.framework.ui.product</module> |
| @@ -106,14 +97,9 @@ |
| <module>../../plugins/org.eclipse.osee.framework.lifecycle</module> |
| <module>../../plugins/org.eclipse.osee.framework.lifecycle.test</module> |
| |
| - <module>../../plugins/org.eclipse.osee.framework.access</module> |
| - <module>../../plugins/org.eclipse.osee.framework.access.provider</module> |
| - |
| <module>../../plugins/org.eclipse.osee.framework.branch.gantt</module> |
| <module>../../plugins/org.eclipse.osee.framework.core.client</module> |
| |
| - <!--<module>../../plugins/org.eclipse.osee.framework.core.dsl</module> --> |
| - <!--<module>../../plugins/org.eclipse.osee.framework.core.dsl.integration</module> --> |
| <module>../../plugins/org.eclipse.osee.framework.database.init</module> |
| |
| <module>../../plugins/org.eclipse.osee.framework.messaging.event.res</module> |
| @@ -132,10 +118,6 @@ |
| <module>../../plugins/org.eclipse.osee.framework.ui.skynet</module> |
| <module>../../plugins/org.eclipse.osee.framework.ui.skynet.test</module> |
| |
| - <module>../../plugins/org.eclipse.osee.framework.core.dsl.ui</module> |
| - <module>../../plugins/org.eclipse.osee.framework.core.dsl.ui.integration</module> |
| - <module>../../plugins/org.eclipse.osee.framework.core.dsl.ui.integration.test</module> |
| - |
| <module>../../plugins/org.eclipse.osee.framework.ui.branch.graph</module> |
| <module>../../plugins/org.eclipse.osee.framework.ui.data.model.editor</module> |
| <module>../../plugins/org.eclipse.osee.framework.ui.product</module> |
| diff --git a/plugins/org.eclipse.osee.disposition.rest/OSGI-INF/connector.service.xml b/plugins/org.eclipse.osee.disposition.rest/OSGI-INF/connector.service.xml |
| deleted file mode 100644 |
| index 27c51f0cfd..0000000000 |
| --- a/plugins/org.eclipse.osee.disposition.rest/OSGI-INF/connector.service.xml |
| +++ /dev/null |
| @@ -1,8 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop"> |
| - <implementation class="org.eclipse.osee.disposition.rest.internal.DispoConnector"/> |
| - <service> |
| - <provide interface="org.eclipse.osee.disposition.rest.internal.DispoConnector"/> |
| - </service> |
| - <reference bind="setLogger" cardinality="1..1" interface="org.eclipse.osee.logger.Log" name="Log" policy="static"/> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.access.provider/.classpath b/plugins/org.eclipse.osee.framework.access.provider/.classpath |
| deleted file mode 100644 |
| index 1fa3e6803d..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access.provider/.classpath |
| +++ /dev/null |
| @@ -1,7 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<classpath> |
| - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> |
| - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> |
| - <classpathentry kind="src" path="src"/> |
| - <classpathentry kind="output" path="bin"/> |
| -</classpath> |
| diff --git a/plugins/org.eclipse.osee.framework.access.provider/.project b/plugins/org.eclipse.osee.framework.access.provider/.project |
| deleted file mode 100644 |
| index 17078c5e8f..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access.provider/.project |
| +++ /dev/null |
| @@ -1,39 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<projectDescription> |
| - <name>org.eclipse.osee.framework.access.provider</name> |
| - <comment></comment> |
| - <projects> |
| - </projects> |
| - <buildSpec> |
| - <buildCommand> |
| - <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> |
| - <arguments> |
| - </arguments> |
| - </buildCommand> |
| - <buildCommand> |
| - <name>org.eclipse.jdt.core.javabuilder</name> |
| - <arguments> |
| - </arguments> |
| - </buildCommand> |
| - <buildCommand> |
| - <name>org.eclipse.pde.ManifestBuilder</name> |
| - <arguments> |
| - </arguments> |
| - </buildCommand> |
| - <buildCommand> |
| - <name>org.eclipse.pde.SchemaBuilder</name> |
| - <arguments> |
| - </arguments> |
| - </buildCommand> |
| - <buildCommand> |
| - <name>org.eclipse.pde.ds.core.builder</name> |
| - <arguments> |
| - </arguments> |
| - </buildCommand> |
| - </buildSpec> |
| - <natures> |
| - <nature>org.eclipse.pde.PluginNature</nature> |
| - <nature>org.eclipse.jdt.core.javanature</nature> |
| - <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> |
| - </natures> |
| -</projectDescription> |
| diff --git a/plugins/org.eclipse.osee.framework.access.provider/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.access.provider/META-INF/MANIFEST.MF |
| deleted file mode 100644 |
| index ddd6dc7a17..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access.provider/META-INF/MANIFEST.MF |
| +++ /dev/null |
| @@ -1,37 +0,0 @@ |
| -Manifest-Version: 1.0 |
| -Bundle-ManifestVersion: 2 |
| -Bundle-Name: Framework Access Provider |
| -Bundle-SymbolicName: org.eclipse.osee.framework.access.provider;singleton:=true |
| -Bundle-ActivationPolicy: lazy |
| -Bundle-Version: 1.0.0.qualifier |
| -Bundle-Vendor: Eclipse Open System Engineering Environment |
| -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 |
| -Import-Package: org.eclipse.core.resources, |
| - org.eclipse.core.runtime, |
| - org.eclipse.osee.framework.core, |
| - org.eclipse.osee.framework.core.access, |
| - org.eclipse.osee.framework.core.data, |
| - org.eclipse.osee.framework.core.dsl.integration, |
| - org.eclipse.osee.framework.core.dsl.oseeDsl, |
| - org.eclipse.osee.framework.core.dsl.ui.integration.operations, |
| - org.eclipse.osee.framework.core.enums, |
| - org.eclipse.osee.framework.core.enums.token, |
| - org.eclipse.osee.framework.core.exception, |
| - org.eclipse.osee.framework.core.model, |
| - org.eclipse.osee.framework.core.model.access, |
| - org.eclipse.osee.framework.core.model.type, |
| - org.eclipse.osee.framework.core.services, |
| - org.eclipse.osee.framework.core.util, |
| - org.eclipse.osee.framework.database.init, |
| - org.eclipse.osee.framework.jdk.core.type, |
| - org.eclipse.osee.framework.jdk.core.util, |
| - org.eclipse.osee.framework.logging, |
| - org.eclipse.osee.framework.skynet.core.artifact, |
| - org.eclipse.osee.framework.skynet.core.artifact.search, |
| - org.eclipse.osee.framework.skynet.core.event, |
| - org.eclipse.osee.framework.skynet.core.event.filter, |
| - org.eclipse.osee.framework.skynet.core.event.listener, |
| - org.eclipse.osee.framework.skynet.core.event.model, |
| - org.eclipse.osee.framework.skynet.core.transaction, |
| - org.osgi.framework |
| -Service-Component: OSGI-INF/*.xml |
| diff --git a/plugins/org.eclipse.osee.framework.access.provider/OSGI-INF/framework.access.control.xml b/plugins/org.eclipse.osee.framework.access.provider/OSGI-INF/framework.access.control.xml |
| deleted file mode 100644 |
| index 79db76c327..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access.provider/OSGI-INF/framework.access.control.xml |
| +++ /dev/null |
| @@ -1,13 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop"> |
| - <implementation class="org.eclipse.osee.framework.access.provider.internal.FrameworkAccessControlProxy"/> |
| - <service> |
| - <provide interface="org.eclipse.osee.framework.core.services.CmAccessControl"/> |
| - <provide interface="org.eclipse.osee.framework.core.model.access.HasAccessModel"/> |
| - </service> |
| - <property name="default" type="Boolean" value="true"/> |
| - <reference bind="setAccessModelInterpreter" cardinality="1..1" interface="org.eclipse.osee.framework.core.dsl.integration.AccessModelInterpreter" name="AccessModelInterpreter" policy="static"/> |
| - <reference bind="setEventService" cardinality="1..1" interface="org.eclipse.osee.framework.skynet.core.event.OseeEventService" name="OseeEventService" policy="static"/> |
| - <reference cardinality="1..1" interface="org.eclipse.core.resources.IWorkspace" name="IWorkspace" policy="static"/> |
| - <reference bind="setOrcsTokenService" cardinality="1..1" interface="org.eclipse.osee.framework.core.OrcsTokenService" name="OrcsTokenService" policy="static"/> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.access.provider/build.properties b/plugins/org.eclipse.osee.framework.access.provider/build.properties |
| deleted file mode 100644 |
| index 6210e849b5..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access.provider/build.properties |
| +++ /dev/null |
| @@ -1,5 +0,0 @@ |
| -output.. = bin/ |
| -bin.includes = META-INF/,\ |
| - .,\ |
| - OSGI-INF/ |
| -source.. = src/ |
| diff --git a/plugins/org.eclipse.osee.framework.access.provider/pom.xml b/plugins/org.eclipse.osee.framework.access.provider/pom.xml |
| deleted file mode 100644 |
| index 3b2e7438bd..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access.provider/pom.xml |
| +++ /dev/null |
| @@ -1,18 +0,0 @@ |
| -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
| - |
| - <modelVersion>4.0.0</modelVersion> |
| - |
| - <parent> |
| - <groupId>org.eclipse.osee</groupId> |
| - <artifactId>org.eclipse.osee.client.parent</artifactId> |
| - <version>1.0.0-SNAPSHOT</version> |
| - <relativePath>../../plugins/org.eclipse.osee.client.parent</relativePath> |
| - </parent> |
| - |
| - <artifactId>org.eclipse.osee.framework.access.provider</artifactId> |
| - <packaging>eclipse-plugin</packaging> |
| - <name>OSEE Framework Access (Incubation)</name> |
| - |
| - |
| -</project> |
| diff --git a/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/DefaultFrameworkAccessConstants.java b/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/DefaultFrameworkAccessConstants.java |
| deleted file mode 100644 |
| index b14d141072..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/DefaultFrameworkAccessConstants.java |
| +++ /dev/null |
| @@ -1,33 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2012 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.provider.internal; |
| - |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| - |
| -/** |
| - * @author John R. Misinco |
| - */ |
| -public final class DefaultFrameworkAccessConstants { |
| - |
| - private DefaultFrameworkAccessConstants() { |
| - //do nothing |
| - } |
| - |
| - public static final AccessContextToken DEFAULT_FRAMEWORK_CONTEXT = |
| - AccessContextToken.valueOf(7441402941554657282L, "anonymous.context"); |
| - |
| - public final static AccessContextToken INVALID_ASSOC_ART_ID = |
| - AccessContextToken.valueOf(8528534420990278776L, "famework.invalidAssocArtId"); |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/FrameworkAccessControl.java b/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/FrameworkAccessControl.java |
| deleted file mode 100644 |
| index ff15a268d9..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/FrameworkAccessControl.java |
| +++ /dev/null |
| @@ -1,41 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2012 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.provider.internal; |
| - |
| -import java.util.Collection; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.dsl.integration.RoleContextProvider; |
| -import org.eclipse.osee.framework.core.services.CmAccessControl; |
| - |
| -/** |
| - * @author John R. Misinco |
| - */ |
| -public class FrameworkAccessControl implements CmAccessControl { |
| - private final RoleContextProvider roleContextProvider; |
| - |
| - public FrameworkAccessControl(RoleContextProvider roleContextProvider) { |
| - this.roleContextProvider = roleContextProvider; |
| - } |
| - |
| - @Override |
| - public boolean isApplicable(ArtifactToken user, Object object) { |
| - return true; |
| - } |
| - |
| - @Override |
| - public Collection<? extends AccessContextToken> getContextId(ArtifactToken user, Object object) { |
| - return roleContextProvider.getContextId(user); |
| - } |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/FrameworkAccessControlProxy.java b/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/FrameworkAccessControlProxy.java |
| deleted file mode 100644 |
| index 3d6d555350..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/FrameworkAccessControlProxy.java |
| +++ /dev/null |
| @@ -1,167 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2012 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.provider.internal; |
| - |
| -import java.util.Arrays; |
| -import java.util.Collection; |
| -import java.util.List; |
| -import java.util.logging.Level; |
| -import org.eclipse.osee.framework.core.OrcsTokenService; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.dsl.integration.AccessModelInterpreter; |
| -import org.eclipse.osee.framework.core.dsl.integration.RoleContextProvider; |
| -import org.eclipse.osee.framework.core.dsl.ui.integration.operations.OseeDslRoleContextProvider; |
| -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| -import org.eclipse.osee.framework.core.enums.CoreBranches; |
| -import org.eclipse.osee.framework.core.model.access.AccessModel; |
| -import org.eclipse.osee.framework.core.model.access.HasAccessModel; |
| -import org.eclipse.osee.framework.core.services.CmAccessControl; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| -import org.eclipse.osee.framework.jdk.core.util.Conditions; |
| -import org.eclipse.osee.framework.logging.OseeLog; |
| -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| -import org.eclipse.osee.framework.skynet.core.event.OseeEventService; |
| -import org.eclipse.osee.framework.skynet.core.event.filter.ArtifactEventFilter; |
| -import org.eclipse.osee.framework.skynet.core.event.filter.ArtifactTypeEventFilter; |
| -import org.eclipse.osee.framework.skynet.core.event.filter.BranchIdEventFilter; |
| -import org.eclipse.osee.framework.skynet.core.event.filter.IEventFilter; |
| -import org.eclipse.osee.framework.skynet.core.event.listener.EventQosType; |
| -import org.eclipse.osee.framework.skynet.core.event.listener.IArtifactEventListener; |
| -import org.eclipse.osee.framework.skynet.core.event.listener.IEventListener; |
| -import org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent; |
| -import org.eclipse.osee.framework.skynet.core.event.model.Sender; |
| -import org.osgi.framework.BundleContext; |
| -import org.osgi.framework.ServiceReference; |
| - |
| -/** |
| - * @author John R. Misinco |
| - */ |
| -public class FrameworkAccessControlProxy implements CmAccessControl, HasAccessModel { |
| - |
| - private ServiceReference<AccessModelInterpreter> reference; |
| - private CmAccessControl frameworkAccessControl; |
| - private AccessModel accessModel; |
| - private IEventListener listener; |
| - private OseeEventService eventService; |
| - private BundleContext bundleContext; |
| - private OrcsTokenService tokenService; |
| - |
| - private volatile boolean isInitialized = false; |
| - |
| - public void setOrcsTokenService(OrcsTokenService tokenService) { |
| - this.tokenService = tokenService; |
| - } |
| - |
| - public void setAccessModelInterpreter(ServiceReference<AccessModelInterpreter> reference) { |
| - this.reference = reference; |
| - } |
| - |
| - public void setEventService(OseeEventService eventService) { |
| - this.eventService = eventService; |
| - } |
| - |
| - public void start(BundleContext bundleContext) { |
| - this.bundleContext = bundleContext; |
| - } |
| - |
| - public void stop() { |
| - if (listener != null) { |
| - eventService.removeListener(EventQosType.NORMAL, listener); |
| - listener = null; |
| - } |
| - frameworkAccessControl = null; |
| - accessModel = null; |
| - } |
| - |
| - private boolean isReady() { |
| - return reference != null && eventService != null && bundleContext != null; |
| - } |
| - |
| - private synchronized void ensureInitialized() { |
| - if (isReady() && !isInitialized) { |
| - AccessModelInterpreter interpreter = bundleContext.getService(reference); |
| - |
| - FrameworkDslProvider frameworkDslProvider = new FrameworkDslProvider("osee:/xtext/framework.access.osee"); |
| - RoleContextProvider roleProvider = new OseeDslRoleContextProvider(frameworkDslProvider); |
| - |
| - accessModel = new FrameworkAccessModel(interpreter, frameworkDslProvider, tokenService); |
| - frameworkAccessControl = new FrameworkAccessControl(roleProvider); |
| - |
| - listener = new DslUpdateListener(frameworkDslProvider); |
| - eventService.addListener(EventQosType.NORMAL, listener); |
| - isInitialized = true; |
| - } |
| - } |
| - |
| - private void checkInitialized() { |
| - Conditions.checkNotNull(getAccessControl(), "frameworkAccess", |
| - "FrameworkAccessControlService not properly initialized"); |
| - } |
| - |
| - private CmAccessControl getAccessControl() { |
| - ensureInitialized(); |
| - return frameworkAccessControl; |
| - } |
| - |
| - @Override |
| - public AccessModel getAccessModel() { |
| - ensureInitialized(); |
| - return accessModel; |
| - } |
| - |
| - @Override |
| - public boolean isApplicable(ArtifactToken user, Object object) { |
| - return getAccessControl().isApplicable(user, object); |
| - } |
| - |
| - @Override |
| - public Collection<? extends AccessContextToken> getContextId(ArtifactToken user, Object object) { |
| - checkInitialized(); |
| - return getAccessControl().getContextId(user, object); |
| - } |
| - |
| - private final class DslUpdateListener implements IArtifactEventListener { |
| - |
| - private List<? extends IEventFilter> eventFilters; |
| - private final FrameworkDslProvider dslProvider; |
| - |
| - public DslUpdateListener(FrameworkDslProvider dslProvider) { |
| - this.dslProvider = dslProvider; |
| - } |
| - |
| - @Override |
| - public synchronized List<? extends IEventFilter> getEventFilters() { |
| - if (eventFilters == null) { |
| - Artifact artifact = dslProvider.getStorageArtifact(); |
| - if (artifact != null) { |
| - eventFilters = Arrays.asList(new ArtifactEventFilter(artifact)); |
| - } else { |
| - eventFilters = Arrays.asList(new ArtifactTypeEventFilter(CoreArtifactTypes.AccessControlModel), |
| - new BranchIdEventFilter(CoreBranches.COMMON)); |
| - } |
| - } |
| - return eventFilters; |
| - } |
| - |
| - @Override |
| - public void handleArtifactEvent(ArtifactEvent artifactEvent, Sender sender) { |
| - try { |
| - dslProvider.loadDsl(); |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(DefaultFrameworkAccessConstants.class, Level.SEVERE, ex); |
| - } |
| - } |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/FrameworkAccessModel.java b/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/FrameworkAccessModel.java |
| deleted file mode 100644 |
| index 25f44ca7be..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/FrameworkAccessModel.java |
| +++ /dev/null |
| @@ -1,68 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2012 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.provider.internal; |
| - |
| -import java.util.Collection; |
| -import org.eclipse.osee.framework.core.OrcsTokenService; |
| -import org.eclipse.osee.framework.core.access.AccessData; |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| -import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| -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.OseeDslProvider; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.core.enums.RelationSide; |
| -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| - |
| -/** |
| - * @author John Misinco |
| - */ |
| -public class FrameworkAccessModel extends OseeDslAccessModel { |
| - |
| - private final OrcsTokenService tokenService; |
| - |
| - public FrameworkAccessModel(AccessModelInterpreter interpreter, OseeDslProvider dslProvider, OrcsTokenService tokenService) { |
| - super(interpreter, dslProvider); |
| - this.tokenService = tokenService; |
| - } |
| - |
| - @Override |
| - public void computeAccess(AccessContextToken contextId, Collection<Object> objectsToCheck, AccessData accessData) { |
| - if (contextId.equals(DefaultFrameworkAccessConstants.INVALID_ASSOC_ART_ID)) { |
| - for (Object obj : objectsToCheck) { |
| - AccessDetail<Object> data = new AccessDetail<>(obj, PermissionEnum.READ, Scope.createLegacyScope(), |
| - "Invalid artifact Id associated with branch"); |
| - accessData.add(obj, data); |
| - addRelationAccess(obj, accessData); |
| - } |
| - } else { |
| - super.computeAccess(contextId, objectsToCheck, accessData); |
| - } |
| - } |
| - |
| - private void addRelationAccess(Object object, AccessData accessData) { |
| - if (object instanceof Artifact) { |
| - for (RelationTypeToken relationType : tokenService.getValidRelationTypes( |
| - ((Artifact) object).getArtifactType())) { |
| - for (RelationSide relationSide : RelationSide.values()) { |
| - accessData.add(object, new AccessDetail<>(new RelationTypeSide(relationType, relationSide), |
| - PermissionEnum.READ, Scope.createLegacyScope())); |
| - } |
| - } |
| - } |
| - } |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/FrameworkDslProvider.java b/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/FrameworkDslProvider.java |
| deleted file mode 100644 |
| index cc2b896cb3..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access.provider/src/org/eclipse/osee/framework/access/provider/internal/FrameworkDslProvider.java |
| +++ /dev/null |
| @@ -1,60 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2012 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.provider.internal; |
| - |
| -import org.eclipse.osee.framework.core.dsl.ui.integration.operations.AbstractOseeDslProvider; |
| -import org.eclipse.osee.framework.core.enums.CoreArtifactTokens; |
| -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| -import org.eclipse.osee.framework.jdk.core.util.Strings; |
| -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; |
| - |
| -/** |
| - * @author John R. Misinco |
| - */ |
| -public class FrameworkDslProvider extends AbstractOseeDslProvider { |
| - |
| - public FrameworkDslProvider(String locationUri) { |
| - super(locationUri); |
| - } |
| - |
| - protected Artifact getStorageArtifact() { |
| - try { |
| - return ArtifactQuery.getArtifactFromToken(CoreArtifactTokens.FrameworkAccessModel); |
| - } catch (OseeCoreException ex) { |
| - return null; |
| - } |
| - } |
| - |
| - @Override |
| - protected String getModelFromStorage() { |
| - Artifact storageArtifact = getStorageArtifact(); |
| - if (storageArtifact != null) { |
| - return storageArtifact.getSoleAttributeValue(CoreAttributeTypes.GeneralStringData); |
| - } else { |
| - return Strings.EMPTY_STRING; |
| - } |
| - } |
| - |
| - @Override |
| - protected void saveModelToStorage(String model) { |
| - Artifact artifact = getStorageArtifact(); |
| - if (artifact != null) { |
| - artifact.setSoleAttributeFromString(CoreAttributeTypes.GeneralStringData, model); |
| - artifact.persist(getClass().getSimpleName()); |
| - } |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access/.classpath b/plugins/org.eclipse.osee.framework.access/.classpath |
| deleted file mode 100644 |
| index 1fa3e6803d..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/.classpath |
| +++ /dev/null |
| @@ -1,7 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<classpath> |
| - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> |
| - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> |
| - <classpathentry kind="src" path="src"/> |
| - <classpathentry kind="output" path="bin"/> |
| -</classpath> |
| diff --git a/plugins/org.eclipse.osee.framework.access/.pmd b/plugins/org.eclipse.osee.framework.access/.pmd |
| deleted file mode 100644 |
| index c7b0a9fb3f..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/.pmd |
| +++ /dev/null |
| @@ -1,925 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<pmd> |
| - <useProjectRuleSet>false</useProjectRuleSet> |
| - <ruleSetFile>.ruleset</ruleSetFile> |
| - <rules> |
| - <rule> |
| - <name>LooseCoupling</name> |
| - <ruleset>Type Resolution Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>CloneMethodMustImplementCloneable</name> |
| - <ruleset>Type Resolution Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnusedImports</name> |
| - <ruleset>Type Resolution Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SignatureDeclareThrowsException</name> |
| - <ruleset>Type Resolution Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>IfStmtsMustUseBraces</name> |
| - <ruleset>Braces Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>WhileLoopsMustUseBraces</name> |
| - <ruleset>Braces Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>IfElseStmtsMustUseBraces</name> |
| - <ruleset>Braces Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ForLoopsMustUseBraces</name> |
| - <ruleset>Braces Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseSingleton</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SimplifyBooleanReturns</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SimplifyBooleanExpressions</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SwitchStmtsShouldHaveDefault</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidDeeplyNestedIfStmts</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidReassigningParameters</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SwitchDensity</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ConstructorCallsOverridableMethod</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AccessorClassGeneration</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>FinalFieldCouldBeStatic</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>CloseResource</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>NonStaticInitializer</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>DefaultLabelNotLastInSwitchStmt</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>NonCaseLabelInSwitchStatement</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>OptimizableToArrayCall</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>BadComparison</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EqualsNull</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ConfusingTernary</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>InstantiationToGetClass</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>IdempotentOperations</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SimpleDateFormatNeedsLocale</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ImmutableField</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseLocaleWithCaseConversions</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidProtectedFieldInFinalClass</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AssignmentToNonFinalStatic</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>MissingStaticMethodInNonInstantiatableClass</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidSynchronizedAtMethodLevel</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>MissingBreakInSwitch</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseNotifyAllInsteadOfNotify</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidInstanceofChecksInCatchClause</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AbstractClassWithoutAbstractMethod</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SimplifyConditional</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>CompareObjectsWithEquals</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>PositionLiteralsFirstInComparisons</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnnecessaryLocalBeforeReturn</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>NonThreadSafeSingleton</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UncommentedEmptyMethod</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UncommentedEmptyConstructor</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidConstantsInterface</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnsynchronizedStaticDateFormatter</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>PreserveStackTrace</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseCollectionIsEmpty</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EmptyMethodInAbstractClassShouldBeAbstract</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SingularField</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ReturnEmptyArrayRatherThanNull</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AbstractClassWithoutAnyMethod</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>TooFewBranchesForASwitchStatement</name> |
| - <ruleset>Design Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidCatchingThrowable</name> |
| - <ruleset>Strict Exception Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SignatureDeclareThrowsException</name> |
| - <ruleset>Type Resolution Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ExceptionAsFlowControl</name> |
| - <ruleset>Strict Exception Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidCatchingNPE</name> |
| - <ruleset>Strict Exception Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidThrowingRawExceptionTypes</name> |
| - <ruleset>Strict Exception Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidThrowingNullPointerException</name> |
| - <ruleset>Strict Exception Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidRethrowingException</name> |
| - <ruleset>Strict Exception Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>DoNotExtendJavaLangError</name> |
| - <ruleset>Strict Exception Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>DoNotThrowExceptionInFinally</name> |
| - <ruleset>Strict Exception Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidThrowingNewInstanceOfSameException</name> |
| - <ruleset>Strict Exception Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnusedPrivateField</name> |
| - <ruleset>Unused Code Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnusedLocalVariable</name> |
| - <ruleset>Unused Code Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnusedPrivateMethod</name> |
| - <ruleset>Unused Code Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnusedFormalParameter</name> |
| - <ruleset>Unused Code Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>MoreThanOneLogger</name> |
| - <ruleset>Java Logging Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>LoggerIsNotStaticFinal</name> |
| - <ruleset>Java Logging Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SystemPrintln</name> |
| - <ruleset>Java Logging Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidPrintStackTrace</name> |
| - <ruleset>Java Logging Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidDuplicateLiterals</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>StringInstantiation</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>StringToString</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>InefficientStringBuffering</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnnecessaryCaseChange</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseStringBufferLength</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AppendCharacterWithChar</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ConsecutiveLiteralAppends</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseIndexOfChar</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>InefficientEmptyStringCheck</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>InsufficientStringBufferDeclaration</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UselessStringValueOf</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>StringBufferInstantiationWithChar</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseEqualsToCompareStrings</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidStringBufferField</name> |
| - <ruleset>String and StringBuffer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ReplaceVectorWithList</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ReplaceHashtableWithMap</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ReplaceEnumerationWithIterator</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidEnumAsIdentifier</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidAssertAsIdentifier</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>IntegerInstantiation</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ByteInstantiation</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ShortInstantiation</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>LongInstantiation</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>JUnit4TestShouldUseBeforeAnnotation</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>JUnit4TestShouldUseAfterAnnotation</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>JUnit4TestShouldUseTestAnnotation</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>JUnit4SuitesShouldUseSuiteAnnotation</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>JUnitUseExpected</name> |
| - <ruleset>Migration Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseProperClassLoader</name> |
| - <ruleset>J2EE Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>MDBAndSessionBeanNamingConvention</name> |
| - <ruleset>J2EE Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>RemoteSessionInterfaceNamingConvention</name> |
| - <ruleset>J2EE Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>LocalInterfaceSessionNamingConvention</name> |
| - <ruleset>J2EE Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>LocalHomeNamingConvention</name> |
| - <ruleset>J2EE Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>RemoteInterfaceNamingConvention</name> |
| - <ruleset>J2EE Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>DoNotCallSystemExit</name> |
| - <ruleset>J2EE Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>StaticEJBFieldShouldBeFinal</name> |
| - <ruleset>J2EE Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>DoNotUseThreads</name> |
| - <ruleset>J2EE Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidInstantiatingObjectsInLoops</name> |
| - <ruleset>Optimization Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseArrayListInsteadOfVector</name> |
| - <ruleset>Optimization Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SimplifyStartsWith</name> |
| - <ruleset>Optimization Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseStringBufferForStringAppends</name> |
| - <ruleset>Optimization Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseArraysAsList</name> |
| - <ruleset>Optimization Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidArrayLoops</name> |
| - <ruleset>Optimization Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnnecessaryWrapperObjectCreation</name> |
| - <ruleset>Optimization Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AddEmptyString</name> |
| - <ruleset>Optimization Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EmptyCatchBlock</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EmptyIfStmt</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EmptyWhileStmt</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EmptyTryBlock</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EmptyFinallyBlock</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EmptySwitchStatements</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>JumbledIncrementer</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ForLoopShouldBeWhileLoop</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnnecessaryConversionTemporary</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>OverrideBothEqualsAndHashcode</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>DoubleCheckedLocking</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ReturnFromFinallyBlock</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EmptySynchronizedBlock</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnnecessaryReturn</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EmptyStaticInitializer</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnconditionalIfStatement</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EmptyStatementNotInLoop</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>BooleanInstantiation</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnnecessaryFinalModifier</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>CollapsibleIfStatements</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UselessOverridingMethod</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ClassCastExceptionWithToArray</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidDecimalLiteralsInBigDecimalConstructor</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UselessOperationOnImmutable</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>MisplacedNullCheck</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnusedNullCheckInEquals</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidThreadGroup</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>BrokenNullCheck</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>BigIntegerInstantiation</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidUsingOctalValues</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidUsingHardCodedIP</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>CheckResultSet</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidMultipleUnaryOperators</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EmptyInitializer</name> |
| - <ruleset>Basic Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>MethodReturnsInternalArray</name> |
| - <ruleset>Security Code Guidelines</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ArrayIsStoredDirectly</name> |
| - <ruleset>Security Code Guidelines</ruleset> |
| - </rule> |
| - <rule> |
| - <name>CouplingBetweenObjects</name> |
| - <ruleset>Coupling Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ExcessiveImports</name> |
| - <ruleset>Coupling Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>LooseCoupling</name> |
| - <ruleset>Type Resolution Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>DuplicateImports</name> |
| - <ruleset>Import Statement Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>DontImportJavaLang</name> |
| - <ruleset>Import Statement Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnusedImports</name> |
| - <ruleset>Type Resolution Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ImportFromSamePackage</name> |
| - <ruleset>Import Statement Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>TooManyStaticImports</name> |
| - <ruleset>Import Statement Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>JUnitStaticSuite</name> |
| - <ruleset>JUnit Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>JUnitSpelling</name> |
| - <ruleset>JUnit Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>JUnitAssertionsShouldIncludeMessage</name> |
| - <ruleset>JUnit Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>JUnitTestsShouldIncludeAssert</name> |
| - <ruleset>JUnit Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>TestClassWithoutTestCases</name> |
| - <ruleset>JUnit Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnnecessaryBooleanAssertion</name> |
| - <ruleset>JUnit Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseAssertEqualsInsteadOfAssertTrue</name> |
| - <ruleset>JUnit Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseAssertSameInsteadOfAssertTrue</name> |
| - <ruleset>JUnit Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseAssertNullInsteadOfAssertTrue</name> |
| - <ruleset>JUnit Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SimplifyBooleanAssertion</name> |
| - <ruleset>JUnit Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnnecessaryConstructor</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>NullAssignment</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnusedModifier</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AssignmentInOperand</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AtLeastOneConstructor</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>DontImportSun</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SuspiciousOctalEscape</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>CallSuperInConstructor</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UnnecessaryParentheses</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>DefaultPackage</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>BooleanInversion</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>DataflowAnomalyAnalysis</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidFinalLocalVariable</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidUsingShortType</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidUsingVolatile</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidUsingNativeCode</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidAccessibilityAlteration</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>DoNotCallGarbageCollectionExplicitly</name> |
| - <ruleset>Controversial Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>MethodNamingConventions</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ClassNamingConventions</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AbstractNaming</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidDollarSigns</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>MethodWithSameNameAsEnclosingClass</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SuspiciousHashcodeMethodName</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SuspiciousConstantFieldName</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>SuspiciousEqualsMethodName</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidFieldNameMatchingTypeName</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidFieldNameMatchingMethodName</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>NoPackage</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>PackageCase</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>MisleadingVariableName</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>BooleanGetMethodName</name> |
| - <ruleset>Naming Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>NPathComplexity</name> |
| - <ruleset>Code Size Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ExcessiveMethodLength</name> |
| - <ruleset>Code Size Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ExcessiveParameterList</name> |
| - <ruleset>Code Size Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ExcessiveClassLength</name> |
| - <ruleset>Code Size Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>CyclomaticComplexity</name> |
| - <ruleset>Code Size Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ExcessivePublicCount</name> |
| - <ruleset>Code Size Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>TooManyFields</name> |
| - <ruleset>Code Size Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>NcssMethodCount</name> |
| - <ruleset>Code Size Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>NcssTypeCount</name> |
| - <ruleset>Code Size Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>NcssConstructorCount</name> |
| - <ruleset>Code Size Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>TooManyMethods</name> |
| - <ruleset>Code Size Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>EmptyFinalizer</name> |
| - <ruleset>Finalizer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>FinalizeOnlyCallsSuperFinalize</name> |
| - <ruleset>Finalizer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>FinalizeOverloaded</name> |
| - <ruleset>Finalizer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>FinalizeDoesNotCallSuperFinalize</name> |
| - <ruleset>Finalizer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>FinalizeShouldBeProtected</name> |
| - <ruleset>Finalizer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>AvoidCallingFinalize</name> |
| - <ruleset>Finalizer Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>UseCorrectExceptionLogging</name> |
| - <ruleset>Jakarta Commons Logging Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ProperLogger</name> |
| - <ruleset>Jakarta Commons Logging Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>MissingSerialVersionUID</name> |
| - <ruleset>JavaBean Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>ProperCloneImplementation</name> |
| - <ruleset>Clone Implementation Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>CloneThrowsCloneNotSupportedException</name> |
| - <ruleset>Clone Implementation Rules</ruleset> |
| - </rule> |
| - <rule> |
| - <name>CloneMethodMustImplementCloneable</name> |
| - <ruleset>Type Resolution Rules</ruleset> |
| - </rule> |
| - </rules> |
| - <includeDerivedFiles>false</includeDerivedFiles> |
| - <violationsAsErrors>true</violationsAsErrors> |
| -</pmd> |
| diff --git a/plugins/org.eclipse.osee.framework.access/.project b/plugins/org.eclipse.osee.framework.access/.project |
| deleted file mode 100644 |
| index 6ce0380f73..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/.project |
| +++ /dev/null |
| @@ -1,33 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<projectDescription> |
| - <name>org.eclipse.osee.framework.access</name> |
| - <comment></comment> |
| - <projects> |
| - </projects> |
| - <buildSpec> |
| - <buildCommand> |
| - <name>org.eclipse.jdt.core.javabuilder</name> |
| - <arguments> |
| - </arguments> |
| - </buildCommand> |
| - <buildCommand> |
| - <name>org.eclipse.pde.ManifestBuilder</name> |
| - <arguments> |
| - </arguments> |
| - </buildCommand> |
| - <buildCommand> |
| - <name>org.eclipse.pde.SchemaBuilder</name> |
| - <arguments> |
| - </arguments> |
| - </buildCommand> |
| - <buildCommand> |
| - <name>org.eclipse.pde.ds.core.builder</name> |
| - <arguments> |
| - </arguments> |
| - </buildCommand> |
| - </buildSpec> |
| - <natures> |
| - <nature>org.eclipse.pde.PluginNature</nature> |
| - <nature>org.eclipse.jdt.core.javanature</nature> |
| - </natures> |
| -</projectDescription> |
| diff --git a/plugins/org.eclipse.osee.framework.access/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.access/META-INF/MANIFEST.MF |
| deleted file mode 100644 |
| index c3f0bcadfa..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/META-INF/MANIFEST.MF |
| +++ /dev/null |
| @@ -1,51 +0,0 @@ |
| -Manifest-Version: 1.0 |
| -Bundle-ManifestVersion: 2 |
| -Bundle-Name: Osee Access |
| -Bundle-SymbolicName: org.eclipse.osee.framework.access;singleton:=true |
| -Bundle-ActivationPolicy: lazy |
| -Bundle-Version: 1.0.0.qualifier |
| -Bundle-Vendor: Eclipse Open System Engineering Environment |
| -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 |
| -Import-Package: com.google.common.cache, |
| - org.eclipse.core.resources, |
| - org.eclipse.core.runtime, |
| - org.eclipse.jdt.annotation, |
| - org.eclipse.osee.framework.core, |
| - org.eclipse.osee.framework.core.access, |
| - org.eclipse.osee.framework.core.data, |
| - org.eclipse.osee.framework.core.enums, |
| - org.eclipse.osee.framework.core.enums.token, |
| - org.eclipse.osee.framework.core.exception, |
| - org.eclipse.osee.framework.core.model, |
| - org.eclipse.osee.framework.core.model.access, |
| - org.eclipse.osee.framework.core.model.cache, |
| - org.eclipse.osee.framework.core.model.event, |
| - org.eclipse.osee.framework.core.model.type, |
| - org.eclipse.osee.framework.core.operation, |
| - org.eclipse.osee.framework.core.services, |
| - org.eclipse.osee.framework.core.util, |
| - org.eclipse.osee.framework.jdk.core.result, |
| - org.eclipse.osee.framework.jdk.core.type, |
| - org.eclipse.osee.framework.jdk.core.util, |
| - org.eclipse.osee.framework.lifecycle, |
| - org.eclipse.osee.framework.logging, |
| - org.eclipse.osee.framework.skynet.core, |
| - org.eclipse.osee.framework.skynet.core.access, |
| - org.eclipse.osee.framework.skynet.core.artifact, |
| - org.eclipse.osee.framework.skynet.core.artifact.search, |
| - org.eclipse.osee.framework.skynet.core.event, |
| - org.eclipse.osee.framework.skynet.core.event.filter, |
| - org.eclipse.osee.framework.skynet.core.event.listener, |
| - org.eclipse.osee.framework.skynet.core.event.model, |
| - org.eclipse.osee.framework.skynet.core.relation, |
| - org.eclipse.osee.framework.skynet.core.utility, |
| - org.eclipse.osee.jdbc, |
| - org.eclipse.osee.orcs.rest.client, |
| - org.eclipse.osee.orcs.rest.model, |
| - org.osgi.framework, |
| - org.osgi.service.event, |
| - org.osgi.util.tracker |
| -Eclipse-ExtensibleAPI: true |
| -Export-Package: org.eclipse.osee.framework.access, |
| - org.eclipse.osee.framework.access.internal.data |
| -Service-Component: OSGI-INF/*.xml |
| diff --git a/plugins/org.eclipse.osee.framework.access/OSGI-INF/access.artifact.lock.topic.handler.xml b/plugins/org.eclipse.osee.framework.access/OSGI-INF/access.artifact.lock.topic.handler.xml |
| deleted file mode 100644 |
| index 84d1e2e6cf..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/OSGI-INF/access.artifact.lock.topic.handler.xml |
| +++ /dev/null |
| @@ -1,8 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true"> |
| -<implementation class="org.eclipse.osee.framework.access.internal.AccessArtifactTopicLockEventHandler"/> |
| -<service> |
| - <provide interface="org.osgi.service.event.EventHandler"/> |
| -</service> |
| - <property name="event.topics" value="framework/access/artifact/lock/modified" /> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.access/OSGI-INF/access.artifact.topic.handler.xml b/plugins/org.eclipse.osee.framework.access/OSGI-INF/access.artifact.topic.handler.xml |
| deleted file mode 100644 |
| index 17351d7417..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/OSGI-INF/access.artifact.topic.handler.xml |
| +++ /dev/null |
| @@ -1,8 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true"> |
| -<implementation class="org.eclipse.osee.framework.access.internal.AccessArtifactTopicEventHandler"/> |
| -<service> |
| - <provide interface="org.osgi.service.event.EventHandler"/> |
| -</service> |
| - <property name="event.topics" value="framework/access/artifact/modified" /> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.access/OSGI-INF/access.branch.topic.handler.xml b/plugins/org.eclipse.osee.framework.access/OSGI-INF/access.branch.topic.handler.xml |
| deleted file mode 100644 |
| index 04bb640f59..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/OSGI-INF/access.branch.topic.handler.xml |
| +++ /dev/null |
| @@ -1,8 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true"> |
| -<implementation class="org.eclipse.osee.framework.access.internal.AccessBranchTopicEventHandler"/> |
| -<service> |
| - <provide interface="org.osgi.service.event.EventHandler"/> |
| -</service> |
| - <property name="event.topics" value="framework/access/branch/modified" /> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.access/OSGI-INF/access.control.service.xml b/plugins/org.eclipse.osee.framework.access/OSGI-INF/access.control.service.xml |
| deleted file mode 100644 |
| index 0a63879dbb..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/OSGI-INF/access.control.service.xml |
| +++ /dev/null |
| @@ -1,14 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop"> |
| - <implementation class="org.eclipse.osee.framework.access.internal.AccessControlServiceProxy"/> |
| - <service> |
| - <provide interface="org.eclipse.osee.framework.core.access.IAccessControlService"/> |
| - </service> |
| - <reference bind="setJdbcService" cardinality="1..1" interface="org.eclipse.osee.jdbc.JdbcService" name="JdbcService" policy="static"/> |
| - <reference bind="setOrcsTokenService" cardinality="1..1" interface="org.eclipse.osee.framework.core.OrcsTokenService" name="OrcsTokenService" policy="static"/> |
| - <reference bind="setEventService" cardinality="1..1" interface="org.eclipse.osee.framework.skynet.core.event.OseeEventService" name="OseeEventService" policy="static"/> |
| - <reference bind="setLifecycleService" cardinality="1..1" interface="org.eclipse.osee.framework.lifecycle.ILifecycleService" name="ILifecycleService" policy="static"/> |
| - <reference bind="addAccessProvider" cardinality="1..n" interface="org.eclipse.osee.framework.access.IAccessProvider" name="IAccessProvider" policy="dynamic" unbind="removeAccessProvider"/> |
| - <reference cardinality="1..1" interface="org.eclipse.core.resources.IWorkspace" name="IWorkspace" policy="static"/> |
| - <reference bind="addArtifactCheck" cardinality="0..n" interface="org.eclipse.osee.framework.core.access.ArtifactCheck" name="ArtifactCheck" policy="dynamic"/> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.access/OSGI-INF/cm.access.provider.xml b/plugins/org.eclipse.osee.framework.access/OSGI-INF/cm.access.provider.xml |
| deleted file mode 100644 |
| index 1e3ab29816..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/OSGI-INF/cm.access.provider.xml |
| +++ /dev/null |
| @@ -1,9 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop"> |
| - <implementation class="org.eclipse.osee.framework.access.internal.cm.CmAccessProviderProxy"/> |
| - <service> |
| - <provide interface="org.eclipse.osee.framework.access.IAccessProvider"/> |
| - </service> |
| - <reference bind="addCmAccessControl" cardinality="1..n" interface="org.eclipse.osee.framework.core.services.CmAccessControl" |
| - name="CmAccessControl" policy="dynamic" unbind="removeCmAccessControl"/> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.access/OSGI-INF/object.access.provider.xml b/plugins/org.eclipse.osee.framework.access/OSGI-INF/object.access.provider.xml |
| deleted file mode 100644 |
| index 43d1d9e975..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/OSGI-INF/object.access.provider.xml |
| +++ /dev/null |
| @@ -1,7 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop"> |
| - <implementation class="org.eclipse.osee.framework.access.internal.ObjectAccessProviderProxy"/> |
| - <service> |
| - <provide interface="org.eclipse.osee.framework.access.IAccessProvider"/> |
| - </service> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.access/build.properties b/plugins/org.eclipse.osee.framework.access/build.properties |
| deleted file mode 100644 |
| index 6210e849b5..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/build.properties |
| +++ /dev/null |
| @@ -1,5 +0,0 @@ |
| -output.. = bin/ |
| -bin.includes = META-INF/,\ |
| - .,\ |
| - OSGI-INF/ |
| -source.. = src/ |
| diff --git a/plugins/org.eclipse.osee.framework.access/pom.xml b/plugins/org.eclipse.osee.framework.access/pom.xml |
| deleted file mode 100644 |
| index abbb34f3d6..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/pom.xml |
| +++ /dev/null |
| @@ -1,18 +0,0 @@ |
| -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
| - |
| - <modelVersion>4.0.0</modelVersion> |
| - |
| - <parent> |
| - <groupId>org.eclipse.osee</groupId> |
| - <artifactId>org.eclipse.osee.client.parent</artifactId> |
| - <version>1.0.0-SNAPSHOT</version> |
| - <relativePath>../../plugins/org.eclipse.osee.client.parent</relativePath> |
| - </parent> |
| - |
| - <artifactId>org.eclipse.osee.framework.access</artifactId> |
| - <packaging>eclipse-plugin</packaging> |
| - <name>OSEE Access (Incubation)</name> |
| - |
| - |
| -</project> |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/AccessControlData.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/AccessControlData.java |
| deleted file mode 100644 |
| index e9c5673b6a..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/AccessControlData.java |
| +++ /dev/null |
| @@ -1,127 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access; |
| - |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| - |
| -/** |
| - * A data object in an access control list. Contains a subject (user artifact) and object (what the subject is trying to |
| - * access) and a permission level |
| - * |
| - * @author Jeff C. Phillips |
| - */ |
| -public class AccessControlData implements Comparable<AccessControlData> { |
| - |
| - private boolean dirty = false; |
| - private boolean birth = false; |
| - private final Artifact subject; |
| - private final AccessObject object; |
| - private PermissionEnum permission; |
| - private PermissionEnum branchPermission = null; |
| - private PermissionEnum artifactTypePermission = null; |
| - private PermissionEnum artifactPermission = null; |
| - |
| - public AccessControlData(Artifact subject, AccessObject object, PermissionEnum permission, boolean birth) { |
| - this(subject, object, permission, birth, true); |
| - } |
| - |
| - public AccessControlData(Artifact subject, AccessObject object, PermissionEnum permission, boolean birth, boolean dirty) { |
| - super(); |
| - this.subject = subject; |
| - this.permission = permission; |
| - this.dirty = dirty; |
| - this.birth = birth; |
| - this.object = object; |
| - } |
| - |
| - public Artifact getSubject() { |
| - return subject; |
| - } |
| - |
| - public void setPermission(PermissionEnum permission) { |
| - |
| - if (this.permission == permission) { |
| - return; |
| - } |
| - |
| - this.permission = permission; |
| - dirty = true; |
| - } |
| - |
| - public PermissionEnum getBranchPermission() { |
| - return branchPermission; |
| - } |
| - |
| - public PermissionEnum getArtifactPermission() { |
| - return artifactPermission; |
| - } |
| - |
| - public PermissionEnum getArtifactTypePermission() { |
| - return artifactTypePermission; |
| - } |
| - |
| - public PermissionEnum getPermission() { |
| - return permission; |
| - } |
| - |
| - public boolean isDirty() { |
| - return dirty; |
| - } |
| - |
| - public void setNotDirty() { |
| - this.dirty = false; |
| - } |
| - |
| - public AccessObject getObject() { |
| - return object; |
| - } |
| - |
| - /** |
| - * @return true if this is a new permission; false if update |
| - */ |
| - public boolean isBirth() { |
| - return birth; |
| - } |
| - |
| - @Override |
| - public int compareTo(AccessControlData data) { |
| - return subject.getName().compareTo(data.subject.getName()); |
| - } |
| - |
| - @Override |
| - public boolean equals(Object obj) { |
| - if (!(obj instanceof AccessControlData)) { |
| - return false; |
| - } |
| - return subject.getName().equals(((AccessControlData) obj).subject.getName()); |
| - } |
| - |
| - @Override |
| - public int hashCode() { |
| - return subject.getName().hashCode(); |
| - } |
| - |
| - public void setBranchPermission(PermissionEnum branchPermission) { |
| - this.branchPermission = branchPermission; |
| - } |
| - |
| - public void setArtifactTypePermission(PermissionEnum artifactTypePermission) { |
| - this.artifactTypePermission = artifactTypePermission; |
| - } |
| - |
| - public void setArtifactPermission(PermissionEnum artifactPermission) { |
| - this.artifactPermission = artifactPermission; |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/IAccessProvider.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/IAccessProvider.java |
| deleted file mode 100644 |
| index a256457639..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/IAccessProvider.java |
| +++ /dev/null |
| @@ -1,28 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access; |
| - |
| -import java.util.Collection; |
| -import org.eclipse.osee.framework.core.access.AccessData; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.lifecycle.LifecycleHandler; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public interface IAccessProvider extends LifecycleHandler { |
| - |
| - void computeAccess(ArtifactToken userArtifact, Collection<?> objToCheck, AccessData accessData); |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessArtifactTopicEventHandler.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessArtifactTopicEventHandler.java |
| deleted file mode 100644 |
| index 88aa56591a..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessArtifactTopicEventHandler.java |
| +++ /dev/null |
| @@ -1,39 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2015 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.internal; |
| - |
| -import java.util.logging.Level; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| -import org.eclipse.osee.framework.logging.OseeLog; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEvent; |
| -import org.osgi.service.event.Event; |
| -import org.osgi.service.event.EventHandler; |
| - |
| -/** |
| - * Handler for {@link AccessTopicEvent.ACCESS_ARTIFACT_MODIFIED} |
| - * |
| - * @author Donald G. Dunne |
| - */ |
| -public class AccessArtifactTopicEventHandler implements EventHandler { |
| - |
| - @Override |
| - public void handleEvent(Event event) { |
| - try { |
| - AccessControlManager.clearCaches(); |
| - } catch (Exception ex) { |
| - OseeLog.log(AccessControlManager.class, Level.SEVERE, ex); |
| - } |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessArtifactTopicLockEventHandler.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessArtifactTopicLockEventHandler.java |
| deleted file mode 100644 |
| index e3fbae6400..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessArtifactTopicLockEventHandler.java |
| +++ /dev/null |
| @@ -1,39 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2015 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.internal; |
| - |
| -import java.util.logging.Level; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| -import org.eclipse.osee.framework.logging.OseeLog; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEvent; |
| -import org.osgi.service.event.Event; |
| -import org.osgi.service.event.EventHandler; |
| - |
| -/** |
| - * Handler for {@link AccessTopicEvent.ACCESS_ARTIFACT_LOCK_MODIFIED} |
| - * |
| - * @author Donald G. Dunne |
| - */ |
| -public class AccessArtifactTopicLockEventHandler implements EventHandler { |
| - |
| - @Override |
| - public void handleEvent(Event event) { |
| - try { |
| - AccessControlManager.clearCaches(); |
| - } catch (Exception ex) { |
| - OseeLog.log(AccessControlManager.class, Level.SEVERE, ex); |
| - } |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessBranchTopicEventHandler.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessBranchTopicEventHandler.java |
| deleted file mode 100644 |
| index 395e6ba8d1..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessBranchTopicEventHandler.java |
| +++ /dev/null |
| @@ -1,39 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2015 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.internal; |
| - |
| -import java.util.logging.Level; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| -import org.eclipse.osee.framework.logging.OseeLog; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEvent; |
| -import org.osgi.service.event.Event; |
| -import org.osgi.service.event.EventHandler; |
| - |
| -/** |
| - * Handler for {@link AccessTopicEvent.ACCESS_BRANCH_MODIFIED} |
| - * |
| - * @author Donald G. Dunne |
| - */ |
| -public class AccessBranchTopicEventHandler implements EventHandler { |
| - |
| - @Override |
| - public void handleEvent(Event event) { |
| - try { |
| - AccessControlManager.clearCaches(); |
| - } catch (Exception ex) { |
| - OseeLog.log(AccessControlManager.class, Level.SEVERE, ex); |
| - } |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlCacheHandler.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlCacheHandler.java |
| deleted file mode 100644 |
| index 8cac5a394a..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlCacheHandler.java |
| +++ /dev/null |
| @@ -1,47 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2011 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.internal; |
| - |
| -import java.util.List; |
| -import org.eclipse.osee.framework.access.AccessControlData; |
| -import org.eclipse.osee.framework.access.AccessControlServiceImpl; |
| -import org.eclipse.osee.framework.access.AccessObject; |
| -import org.eclipse.osee.framework.access.internal.data.BranchAccessObject; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| -import org.eclipse.osee.framework.core.data.BranchToken; |
| - |
| -/** |
| - * @author Jeff C. Phillips |
| - */ |
| -public class AccessControlCacheHandler { |
| - |
| - public void updateAccessListForBranchObject(AccessControlServiceImpl service, BranchId branch) { |
| - BranchAccessObject branchAccessObject = |
| - BranchAccessObject.getBranchAccessObject(BranchToken.create(branch, "unknown")); |
| - if (branchAccessObject != null) { |
| - updateAccessList(service, branchAccessObject); |
| - } |
| - } |
| - |
| - public void updateAccessList(AccessControlServiceImpl service, AccessObject accessObject) { |
| - List<AccessControlData> acl = service.generateAccessControlList(accessObject); |
| - for (AccessControlData accessControlData : acl) { |
| - service.removeAccessControlDataIf(false, accessControlData); |
| - } |
| - } |
| - |
| - public void reloadCache(AccessControlServiceImpl service) { |
| - service.reloadCache(); |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlHelper.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlHelper.java |
| deleted file mode 100644 |
| index ce70955a97..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlHelper.java |
| +++ /dev/null |
| @@ -1,41 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.internal; |
| - |
| -import org.eclipse.osee.framework.access.AccessControlServiceImpl; |
| -import org.eclipse.osee.framework.core.access.IAccessControlService; |
| -import org.eclipse.osee.framework.core.util.OsgiUtil; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public final class AccessControlHelper { |
| - |
| - public static final String PLUGIN_ID = "org.eclipse.osee.framework.access"; |
| - |
| - private AccessControlHelper() { |
| - // Utility class |
| - } |
| - |
| - @Deprecated |
| - public static AccessControlServiceImpl getAccessControlService() { |
| - IAccessControlService service = OsgiUtil.getService(AccessControlHelper.class, IAccessControlService.class); |
| - AccessControlServiceImpl toReturn = null; |
| - if (service instanceof AccessControlServiceProxy) { |
| - toReturn = ((AccessControlServiceProxy) service).getProxiedObject(); |
| - } |
| - return toReturn; |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessEventListener.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessEventListener.java |
| deleted file mode 100644 |
| index 8927dc6a1c..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessEventListener.java |
| +++ /dev/null |
| @@ -1,91 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.internal; |
| - |
| -import java.util.List; |
| -import java.util.logging.Level; |
| -import org.eclipse.osee.framework.access.AccessControlServiceImpl; |
| -import org.eclipse.osee.framework.access.internal.data.ArtifactAccessObject; |
| -import org.eclipse.osee.framework.core.data.BranchToken; |
| -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| -import org.eclipse.osee.framework.logging.OseeLog; |
| -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCache; |
| -import org.eclipse.osee.framework.skynet.core.event.filter.IEventFilter; |
| -import org.eclipse.osee.framework.skynet.core.event.listener.IArtifactEventListener; |
| -import org.eclipse.osee.framework.skynet.core.event.listener.IBranchEventListener; |
| -import org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent; |
| -import org.eclipse.osee.framework.skynet.core.event.model.BranchEvent; |
| -import org.eclipse.osee.framework.skynet.core.event.model.BranchEventType; |
| -import org.eclipse.osee.framework.skynet.core.event.model.EventBasicGuidArtifact; |
| -import org.eclipse.osee.framework.skynet.core.event.model.EventModType; |
| -import org.eclipse.osee.framework.skynet.core.event.model.Sender; |
| - |
| -/** |
| - * @author Donald G. Dunne |
| - */ |
| -public final class AccessEventListener implements IBranchEventListener, IArtifactEventListener { |
| - |
| - private final AccessControlServiceImpl service; |
| - private final AccessControlCacheHandler accessControlCacheHandler; |
| - |
| - public AccessEventListener(AccessControlServiceImpl service, AccessControlCacheHandler accessControlCacheHandler) { |
| - this.accessControlCacheHandler = accessControlCacheHandler; |
| - this.service = service; |
| - } |
| - |
| - @Override |
| - public void handleArtifactEvent(ArtifactEvent artifactEvent, Sender sender) { |
| - for (EventBasicGuidArtifact guidArt : artifactEvent.getArtifacts()) { |
| - if (guidArt.is(EventModType.Added) && guidArt.isTypeEqual(CoreArtifactTypes.User)) { |
| - try { |
| - accessControlCacheHandler.reloadCache(service); |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(AccessControlHelper.class, Level.SEVERE, ex); |
| - } |
| - } |
| - if (guidArt.is(EventModType.Purged)) { |
| - try { |
| - Artifact cacheArt = ArtifactCache.getActive(guidArt); |
| - if (cacheArt != null) { |
| - ArtifactAccessObject artifactAccessObject = ArtifactAccessObject.getArtifactAccessObject(cacheArt); |
| - accessControlCacheHandler.updateAccessList(service, artifactAccessObject); |
| - } |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(AccessControlHelper.class, Level.SEVERE, ex); |
| - } |
| - |
| - } |
| - } |
| - } |
| - |
| - @Override |
| - public List<? extends IEventFilter> getEventFilters() { |
| - return null; |
| - } |
| - |
| - @Override |
| - public void handleBranchEvent(Sender sender, final BranchEvent branchEvent) { |
| - try { |
| - if (branchEvent.getEventType() == BranchEventType.Deleted) { |
| - accessControlCacheHandler.updateAccessListForBranchObject(service, |
| - BranchToken.create(branchEvent.getSourceBranch(), "unknown")); |
| - } |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(AccessControlHelper.class, Level.SEVERE, ex); |
| - } |
| - } |
| - |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessProviderVisitor.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessProviderVisitor.java |
| deleted file mode 100644 |
| index 52f2e32917..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessProviderVisitor.java |
| +++ /dev/null |
| @@ -1,61 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.internal; |
| - |
| -import java.util.Collection; |
| -import org.eclipse.core.runtime.IProgressMonitor; |
| -import org.eclipse.core.runtime.IStatus; |
| -import org.eclipse.core.runtime.Status; |
| -import org.eclipse.osee.framework.access.IAccessProvider; |
| -import org.eclipse.osee.framework.core.access.AccessData; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| -import org.eclipse.osee.framework.lifecycle.AbstractLifecycleVisitor; |
| - |
| -/** |
| - * @author Jeff C. Phillips |
| - */ |
| -public class AccessProviderVisitor extends AbstractLifecycleVisitor<IAccessProvider> { |
| - |
| - public static final Type<IAccessProvider> TYPE = new Type<>(); |
| - |
| - private final ArtifactToken userArtifact; |
| - private final Collection<?> artsToCheck; |
| - private final AccessData mainAccessData; |
| - |
| - public AccessProviderVisitor(ArtifactToken userArtifact, Collection<?> artsToCheck, AccessData mainAccessData) { |
| - super(); |
| - this.userArtifact = userArtifact; |
| - this.artsToCheck = artsToCheck; |
| - this.mainAccessData = mainAccessData; |
| - } |
| - |
| - @Override |
| - public Type<IAccessProvider> getAssociatedType() { |
| - return TYPE; |
| - } |
| - |
| - @Override |
| - protected IStatus dispatch(IProgressMonitor monitor, IAccessProvider accessProvider, String sourceId) { |
| - IStatus status = Status.OK_STATUS; |
| - try { |
| - accessProvider.computeAccess(userArtifact, artsToCheck, mainAccessData); |
| - } catch (OseeCoreException ex) { |
| - status = |
| - new Status(IStatus.ERROR, AccessControlHelper.PLUGIN_ID, "Error during access control computation", ex); |
| - } |
| - return status; |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProviderProxy.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProviderProxy.java |
| deleted file mode 100644 |
| index e314f02ae8..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProviderProxy.java |
| +++ /dev/null |
| @@ -1,107 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.internal; |
| - |
| -import java.util.Collection; |
| -import java.util.logging.Level; |
| -import org.eclipse.osee.framework.access.AccessControlServiceImpl; |
| -import org.eclipse.osee.framework.access.IAccessProvider; |
| -import org.eclipse.osee.framework.core.access.AccessData; |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.IAccessControlService; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.logging.OseeLog; |
| -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| -import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| -import org.eclipse.osee.framework.skynet.core.relation.RelationLink; |
| -import org.osgi.framework.BundleContext; |
| -import org.osgi.framework.ServiceReference; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public final class ObjectAccessProviderProxy implements IAccessProvider { |
| - |
| - private BundleContext bundleContext; |
| - |
| - public void start(BundleContext bundleContext) { |
| - this.bundleContext = bundleContext; |
| - } |
| - |
| - public void stop() { |
| - bundleContext = null; |
| - } |
| - |
| - private AccessControlServiceImpl getAccessService() { |
| - AccessControlServiceImpl toReturn = null; |
| - |
| - ServiceReference<IAccessControlService> reference = |
| - bundleContext.getServiceReference(IAccessControlService.class); |
| - IAccessControlService service = bundleContext.getService(reference); |
| - if (service instanceof AccessControlServiceProxy) { |
| - AccessControlServiceProxy proxy = (AccessControlServiceProxy) service; |
| - toReturn = proxy.getProxiedObject(); |
| - } else { |
| - OseeLog.log(AccessControlHelper.class, Level.SEVERE, "Error initializing ObjectAccessProvider"); |
| - } |
| - return toReturn; |
| - } |
| - |
| - @Override |
| - public void computeAccess(ArtifactToken userArtifact, Collection<?> objToCheck, AccessData accessData) { |
| - for (Object object : objToCheck) { |
| - if (object instanceof Artifact) { |
| - setArtifactAccessData(userArtifact, (Artifact) object, accessData); |
| - } else if (object instanceof BranchId) { |
| - setBranchAccessData(userArtifact, (BranchId) object, accessData); |
| - } else if (object instanceof RelationLink) { |
| - RelationLink relation = (RelationLink) object; |
| - Artifact artifactA = relation.getArtifactA(); |
| - Artifact artifactB = relation.getArtifactB(); |
| - setArtifactAccessData(userArtifact, artifactA, accessData); |
| - setArtifactAccessData(userArtifact, artifactB, accessData); |
| - } |
| - } |
| - } |
| - |
| - private void setArtifactAccessData(ArtifactToken userArtifact, Artifact artifact, AccessData accessData) { |
| - setBranchAccessData(userArtifact, artifact.getBranch(), accessData); |
| - String reason = "Legacy Artifact Permission"; |
| - PermissionEnum userPermission = getAccessService().getArtifactPermission(userArtifact, artifact); |
| - |
| - if (userPermission == null) { |
| - reason = "User Permission was null in setArtifactAccessData - artifact is read only"; |
| - userPermission = PermissionEnum.READ; |
| - } else if (artifact.isHistorical()) { |
| - userPermission = PermissionEnum.READ; |
| - reason = "User Permission set to Read - artifact is historical - artifact is read only"; |
| - } else if (!BranchManager.isEditable(artifact.getBranch())) { |
| - userPermission = PermissionEnum.READ; |
| - reason = "User Permission set to Read - artifact's branch is not editable - artifact is read only"; |
| - } |
| - //artifact.isDeleted() |
| - accessData.add(artifact, |
| - new AccessDetail<ArtifactToken>(artifact, userPermission, Scope.createLegacyScope(), reason)); |
| - } |
| - |
| - private void setBranchAccessData(ArtifactToken userArtifact, BranchId branch, AccessData accessData) { |
| - String reason = "Legacy Branch Permission"; |
| - PermissionEnum userPermission = getAccessService().getBranchPermission(userArtifact, branch); |
| - accessData.add(branch, new AccessDetail<>(branch, userPermission, Scope.createLegacyScope(), reason)); |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessControlProviderImpl.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessControlProviderImpl.java |
| deleted file mode 100644 |
| index 80f233f39f..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessControlProviderImpl.java |
| +++ /dev/null |
| @@ -1,69 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.internal.cm; |
| - |
| -import java.util.ArrayList; |
| -import java.util.Collection; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.services.CmAccessControl; |
| -import org.eclipse.osee.framework.core.services.CmAccessControlProvider; |
| -import org.eclipse.osee.framework.core.services.HasCmAccessControl; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeStateException; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class CmAccessControlProviderImpl implements CmAccessControlProvider { |
| - |
| - private final Collection<CmAccessControl> cmServices; |
| - private CmAccessControl defaultAccessControl; |
| - |
| - public CmAccessControlProviderImpl(Collection<CmAccessControl> cmServices) { |
| - this.cmServices = cmServices; |
| - } |
| - |
| - public CmAccessControl getDefaultAccessControl() { |
| - return defaultAccessControl; |
| - } |
| - |
| - @Override |
| - public void setDefaultAccessControl(CmAccessControl defaultAccessControl) { |
| - this.defaultAccessControl = defaultAccessControl; |
| - } |
| - |
| - @Override |
| - public CmAccessControl getService(ArtifactToken userArtifact, Object object) { |
| - if (object instanceof HasCmAccessControl) { |
| - HasCmAccessControl cmContainer = (HasCmAccessControl) object; |
| - return cmContainer.getAccessControl(); |
| - } else { |
| - CmAccessControl cmToReturn; |
| - Collection<CmAccessControl> applicableCms = new ArrayList<>(); |
| - for (CmAccessControl cmService : cmServices) { |
| - if (cmService.isApplicable(userArtifact, object)) { |
| - applicableCms.add(cmService); |
| - } |
| - } |
| - if (applicableCms.isEmpty()) { |
| - cmToReturn = getDefaultAccessControl(); |
| - } else if (applicableCms.size() == 1) { |
| - cmToReturn = applicableCms.iterator().next(); |
| - } else { |
| - throw new OseeStateException("Multiple Configuration Management Systems managing: [%s] cms:%s", object, |
| - applicableCms); |
| - } |
| - return cmToReturn; |
| - } |
| - } |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProvider.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProvider.java |
| deleted file mode 100644 |
| index 1faef69648..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProvider.java |
| +++ /dev/null |
| @@ -1,74 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.internal.cm; |
| - |
| -import java.util.Collection; |
| -import java.util.HashSet; |
| -import java.util.Map; |
| -import java.util.Map.Entry; |
| -import org.eclipse.osee.framework.access.IAccessProvider; |
| -import org.eclipse.osee.framework.core.access.AccessData; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.model.access.AccessModel; |
| -import org.eclipse.osee.framework.core.model.access.HasAccessModel; |
| -import org.eclipse.osee.framework.core.services.CmAccessControl; |
| -import org.eclipse.osee.framework.core.services.CmAccessControlProvider; |
| -import org.eclipse.osee.framework.jdk.core.type.DoubleKeyHashMap; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class CmAccessProvider implements IAccessProvider { |
| - |
| - private final CmAccessControlProvider provider; |
| - |
| - public CmAccessProvider(CmAccessControlProvider provider) { |
| - this.provider = provider; |
| - } |
| - |
| - @Override |
| - public void computeAccess(ArtifactToken userArtifact, Collection<?> objToChecks, AccessData accessData) { |
| - DoubleKeyHashMap<CmAccessControl, AccessContextToken, Collection<Object>> cmToCheckObjects = |
| - new DoubleKeyHashMap<>(); |
| - |
| - for (Object objectToCheck : objToChecks) { |
| - CmAccessControl management = provider.getService(userArtifact, objectToCheck); |
| - if (management instanceof HasAccessModel) { |
| - Collection<? extends AccessContextToken> contextIds = management.getContextId(userArtifact, objectToCheck); |
| - if (contextIds != null) { |
| - for (AccessContextToken contextId : contextIds) { |
| - Collection<Object> entries = cmToCheckObjects.get(management, contextId); |
| - if (entries == null) { |
| - entries = new HashSet<>(); |
| - cmToCheckObjects.put(management, contextId, entries); |
| - } |
| - entries.add(objectToCheck); |
| - } |
| - } |
| - } |
| - } |
| - |
| - for (CmAccessControl cm : cmToCheckObjects.getKeySetOne()) { |
| - AccessModel accessModel = ((HasAccessModel) cm).getAccessModel(); |
| - Map<AccessContextToken, Collection<Object>> sub = cmToCheckObjects.getSubHash(cm); |
| - for (Entry<AccessContextToken, Collection<Object>> entry : sub.entrySet()) { |
| - AccessContextToken contextId = entry.getKey(); |
| - Collection<Object> objectsToCheck = entry.getValue(); |
| - |
| - accessModel.computeAccess(contextId, objectsToCheck, accessData); |
| - } |
| - } |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProviderProxy.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProviderProxy.java |
| deleted file mode 100644 |
| index 0b7e57e2bc..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProviderProxy.java |
| +++ /dev/null |
| @@ -1,157 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.internal.cm; |
| - |
| -import java.util.Collection; |
| -import java.util.List; |
| -import java.util.concurrent.CopyOnWriteArrayList; |
| -import java.util.concurrent.CopyOnWriteArraySet; |
| -import java.util.logging.Level; |
| -import org.eclipse.osee.framework.access.IAccessProvider; |
| -import org.eclipse.osee.framework.access.internal.AccessControlHelper; |
| -import org.eclipse.osee.framework.access.internal.AccessControlServiceProxy; |
| -import org.eclipse.osee.framework.core.access.AccessData; |
| -import org.eclipse.osee.framework.core.access.IAccessControlService; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.services.CmAccessControl; |
| -import org.eclipse.osee.framework.core.services.CmAccessControlProvider; |
| -import org.eclipse.osee.framework.jdk.core.util.Conditions; |
| -import org.eclipse.osee.framework.jdk.core.util.Strings; |
| -import org.eclipse.osee.framework.logging.OseeLog; |
| -import org.osgi.framework.BundleContext; |
| -import org.osgi.framework.ServiceReference; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public final class CmAccessProviderProxy implements IAccessProvider { |
| - |
| - private final List<ServiceReference<CmAccessControl>> pending = new CopyOnWriteArrayList<>(); |
| - |
| - private final Collection<CmAccessControl> cmServices = new CopyOnWriteArraySet<>(); |
| - |
| - private IAccessProvider accessProvider; |
| - private CmAccessControlProvider cmProvider; |
| - private BundleContext bundleContext; |
| - |
| - private volatile boolean requiresReload = true; |
| - |
| - public void addCmAccessControl(ServiceReference<CmAccessControl> reference) { |
| - if (isReady()) { |
| - register(bundleContext, reference); |
| - } else { |
| - pending.add(reference); |
| - } |
| - } |
| - |
| - public void removeCmAccessControl(ServiceReference<CmAccessControl> reference) { |
| - if (isReady()) { |
| - unregister(bundleContext, reference); |
| - } else { |
| - pending.remove(reference); |
| - } |
| - } |
| - |
| - private boolean isReady() { |
| - return bundleContext != null && cmProvider != null; |
| - } |
| - |
| - private void register(BundleContext bundleContext, ServiceReference<CmAccessControl> reference) { |
| - CmAccessControl cmAccessControl = bundleContext.getService(reference); |
| - if (isDefault(reference)) { |
| - cmProvider.setDefaultAccessControl(cmAccessControl); |
| - } else { |
| - cmServices.add(cmAccessControl); |
| - } |
| - requiresReload = true; |
| - } |
| - |
| - private void unregister(BundleContext bundleContext, ServiceReference<CmAccessControl> reference) { |
| - CmAccessControl cmAccessControl = bundleContext.getService(reference); |
| - if (isDefault(reference)) { |
| - cmProvider.setDefaultAccessControl(null); |
| - } else { |
| - cmServices.remove(cmAccessControl); |
| - } |
| - requiresReload = true; |
| - } |
| - |
| - private boolean isDefault(ServiceReference<CmAccessControl> reference) { |
| - boolean toReturn = false; |
| - String value = String.valueOf(reference.getProperty("default")); |
| - if (Strings.isValid(value)) { |
| - toReturn = Boolean.parseBoolean(value); |
| - } |
| - return toReturn; |
| - } |
| - |
| - public void start(BundleContext context) { |
| - this.bundleContext = context; |
| - requiresReload = true; |
| - |
| - cmProvider = new CmAccessControlProviderImpl(cmServices); |
| - accessProvider = new CmAccessProvider(cmProvider); |
| - |
| - for (ServiceReference<CmAccessControl> reference : pending) { |
| - register(bundleContext, reference); |
| - } |
| - pending.clear(); |
| - } |
| - |
| - public void stop() { |
| - accessProvider = null; |
| - cmProvider.setDefaultAccessControl(null); |
| - cmServices.clear(); |
| - bundleContext = null; |
| - } |
| - |
| - private AccessControlServiceProxy getAccessService() { |
| - AccessControlServiceProxy toReturn = null; |
| - ServiceReference<IAccessControlService> reference = |
| - bundleContext.getServiceReference(IAccessControlService.class); |
| - IAccessControlService service = bundleContext.getService(reference); |
| - if (service instanceof AccessControlServiceProxy) { |
| - toReturn = (AccessControlServiceProxy) service; |
| - } else { |
| - OseeLog.log(AccessControlHelper.class, Level.SEVERE, "Error initializing ObjectAccessProvider"); |
| - } |
| - return toReturn; |
| - } |
| - |
| - private void reloadCache() { |
| - AccessControlServiceProxy service = getAccessService(); |
| - if (service != null) { |
| - service.reloadCache(); |
| - } |
| - } |
| - |
| - private IAccessProvider getAccessProvider() { |
| - return accessProvider; |
| - } |
| - |
| - private void checkInitialized() { |
| - Conditions.checkNotNull(getAccessProvider(), "object access provider", |
| - "Object Access Provider not properly initialized"); |
| - if (requiresReload) { |
| - requiresReload = false; |
| - reloadCache(); |
| - } |
| - } |
| - |
| - @Override |
| - public void computeAccess(ArtifactToken userArtifact, Collection<?> objToCheck, AccessData accessData) { |
| - checkInitialized(); |
| - getAccessProvider().computeAccess(userArtifact, objToCheck, accessData); |
| - } |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/data/BranchAccessObject.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/data/BranchAccessObject.java |
| deleted file mode 100644 |
| index e255f5d581..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/data/BranchAccessObject.java |
| +++ /dev/null |
| @@ -1,80 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.access.internal.data; |
| - |
| -import java.util.HashMap; |
| -import java.util.Map; |
| -import org.eclipse.osee.framework.access.AccessObject; |
| -import org.eclipse.osee.framework.core.data.ArtifactId; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| -import org.eclipse.osee.framework.core.data.BranchToken; |
| -import org.eclipse.osee.framework.skynet.core.utility.ConnectionHandler; |
| - |
| -/** |
| - * @author Jeff C. Phillips |
| - */ |
| -public class BranchAccessObject extends AccessObject { |
| - private final BranchToken branch; |
| - private static final Map<BranchId, BranchAccessObject> cache = new HashMap<>(); |
| - |
| - @Override |
| - public int hashCode() { |
| - int result = 17; |
| - result = 31 * result + branch.hashCode(); |
| - return result; |
| - } |
| - |
| - public BranchAccessObject(BranchToken branch) { |
| - this.branch = branch; |
| - } |
| - |
| - @Override |
| - public BranchToken getBranch() { |
| - return branch; |
| - } |
| - |
| - @Override |
| - public void removeFromCache() { |
| - cache.remove(branch); |
| - } |
| - |
| - @Override |
| - public void removeFromDatabase(ArtifactId subjectId) { |
| - final String DELETE_BRANCH_ACL = "DELETE FROM OSEE_BRANCH_ACL WHERE privilege_entity_id = ? AND branch_id =?"; |
| - ConnectionHandler.runPreparedUpdate(DELETE_BRANCH_ACL, subjectId, branch); |
| - } |
| - |
| - public static BranchAccessObject getBranchAccessObject(BranchToken branch) { |
| - BranchAccessObject branchAccessObject; |
| - if (cache.containsKey(branch)) { |
| - branchAccessObject = cache.get(branch); |
| - } else { |
| - branchAccessObject = new BranchAccessObject(branch); |
| - cache.put(branch, branchAccessObject); |
| - } |
| - return branchAccessObject; |
| - } |
| - |
| - public static BranchAccessObject getBranchAccessObjectFromCache(BranchId branch) { |
| - return cache.get(branch); |
| - } |
| - |
| - @Override |
| - public boolean equals(Object obj) { |
| - if (!(obj instanceof BranchAccessObject)) { |
| - return false; |
| - } |
| - return branch.equals(((BranchAccessObject) obj).branch); |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.core.client/src/org/eclipse/osee/framework/core/client/OseeClientProperties.java b/plugins/org.eclipse.osee.framework.core.client/src/org/eclipse/osee/framework/core/client/OseeClientProperties.java |
| index 9e54c6e908..1c5daf6328 100644 |
| --- a/plugins/org.eclipse.osee.framework.core.client/src/org/eclipse/osee/framework/core/client/OseeClientProperties.java |
| +++ b/plugins/org.eclipse.osee.framework.core.client/src/org/eclipse/osee/framework/core/client/OseeClientProperties.java |
| @@ -31,18 +31,8 @@ public class OseeClientProperties extends OseeProperties { |
| |
| private static final String OSEE_CHOICE_ON_DB_INIT = "osee.choice.on.db.init"; |
| |
| - private static final String OSEE_IS_IN_DB_INIT = "osee.is.in.db.init"; |
| - |
| private static final String OSEE_COMMIT_SKIP_CHECKS_AND_EVENTS = "osee.commit.skipChecksAndEvents"; |
| |
| - public static boolean isInDbInit() { |
| - return Boolean.valueOf(getProperty(OSEE_IS_IN_DB_INIT)); |
| - } |
| - |
| - public static void setInDbInit(boolean value) { |
| - System.setProperty(OSEE_IS_IN_DB_INIT, Boolean.toString(value)); |
| - } |
| - |
| public static boolean isSkipCommitChecksAndEvents() { |
| return Boolean.valueOf(getProperty(OSEE_COMMIT_SKIP_CHECKS_AND_EVENTS, "false")); |
| } |
| @@ -110,14 +100,6 @@ public class OseeClientProperties extends OseeProperties { |
| return getProperty(OseeClient.OSEE_APPLICATION_SERVER, "http://localhost:8089"); |
| } |
| |
| - private static String getProperty(String name) { |
| - return getProperty(name, ""); |
| - } |
| - |
| - private static String getProperty(String name, String defaultValue) { |
| - return System.getProperty(name, defaultValue); |
| - } |
| - |
| /** |
| * A string representation of all the property setting specified by this class |
| * |
| diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/AllDslIntegrationTestSuite.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/AllDslIntegrationTestSuite.java |
| index 369da1146c..25b12d4f24 100644 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/AllDslIntegrationTestSuite.java |
| +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/AllDslIntegrationTestSuite.java |
| @@ -25,7 +25,6 @@ import org.junit.runners.Suite; |
| @Suite.SuiteClasses({ // |
| InternalTestSuite.class, // |
| DslUtilTestSuite.class, // |
| - OseeDslAccessModelTest.class, // |
| }) |
| public class AllDslIntegrationTestSuite { |
| // Test Suite |
| 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 |
| deleted file mode 100644 |
| index 08e8adc0c0..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/OseeDslAccessModelTest.java |
| +++ /dev/null |
| @@ -1,175 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration; |
| - |
| -import java.util.ArrayList; |
| -import java.util.Collection; |
| -import java.util.Collections; |
| -import org.eclipse.osee.framework.core.access.AccessData; |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -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; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDsl; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.core.model.access.AccessModel; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| -import org.eclipse.osee.framework.jdk.core.util.Lib; |
| -import org.junit.Assert; |
| -import org.junit.BeforeClass; |
| -import org.junit.Test; |
| - |
| -/** |
| - * Test Case for {@link OseeDslAccessModel} |
| - * |
| - * @author Roberto E. Escobar |
| - */ |
| -public class OseeDslAccessModelTest { |
| - |
| - private static AccessContextToken accessContextId; |
| - |
| - @BeforeClass |
| - public static void setUp() { |
| - accessContextId = AccessContextToken.valueOf(Lib.generateArtifactIdAsInt(), "Context 1"); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testComputeAccessNullAgumentCheck1() { |
| - AccessModel accessModel = new OseeDslAccessModel(null, null); |
| - accessModel.computeAccess(null, new ArrayList<>(), new AccessData()); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testComputeAccessNullAgumentCheck2() { |
| - AccessModel accessModel = new OseeDslAccessModel(null, null); |
| - accessModel.computeAccess(accessContextId, null, new AccessData()); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testComputeAccessNullAgumentCheck3() { |
| - AccessModel accessModel = new OseeDslAccessModel(null, null); |
| - accessModel.computeAccess(accessContextId, Collections.emptyList(), null); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testComputeAccessNullDsl() { |
| - MockDslProvider dslProvider = new MockDslProvider(null); |
| - AccessModel accessModel = new OseeDslAccessModel(null, dslProvider); |
| - accessModel.computeAccess(accessContextId, Collections.emptyList(), new AccessData()); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testComputeAccessNullAccessContext() { |
| - MockAccessModelInterpreter interpreter = new MockAccessModelInterpreter(null); |
| - MockDslProvider dslProvider = new MockDslProvider(MockModel.createDsl()); |
| - AccessModel accessModel = new OseeDslAccessModel(interpreter, dslProvider); |
| - accessModel.computeAccess(accessContextId, Collections.emptyList(), new AccessData()); |
| - } |
| - |
| - @Test |
| - public void testComputeAccessTestCollection() { |
| - |
| - final Object checkedObject = new Object(); |
| - |
| - Scope detail1Scope = new Scope().add("fail"); |
| - Scope detail2Scope = new Scope().add("fail"); |
| - final AccessDetail<?> detail1 = new AccessDetail<>(checkedObject, PermissionEnum.READ, detail1Scope, "detail 1"); |
| - final AccessDetail<?> detail2 = new AccessDetail<>(checkedObject, PermissionEnum.WRITE, detail2Scope, "detail 2"); |
| - |
| - final AccessData accessData = new AccessData(); |
| - |
| - final AccessContext accessContext = |
| - MockModel.createAccessContext(Lib.generateArtifactIdAsInt(), "Access Context"); |
| - |
| - OseeDsl oseeDsl = MockModel.createDsl(); |
| - oseeDsl.getAccessDeclarations().add(accessContext); |
| - |
| - MockDslProvider dslProvider = new MockDslProvider(oseeDsl); |
| - MockAccessModelInterpreter interpreter = new MockAccessModelInterpreter(accessContext) { |
| - |
| - @Override |
| - public void computeAccessDetails(AccessDetailCollector collector, AccessContext context, Object objectToCheck) { |
| - super.computeAccessDetails(collector, accessContext, objectToCheck); |
| - Assert.assertEquals(accessContext, context); |
| - Assert.assertEquals(checkedObject, objectToCheck); |
| - Assert.assertNotNull(collector); |
| - |
| - Assert.assertTrue(accessData.isEmpty()); |
| - |
| - collector.collect(detail1); |
| - collector.collect(detail2); |
| - } |
| - |
| - }; |
| - |
| - AccessModel accessModel = new OseeDslAccessModel(interpreter, dslProvider); |
| - accessModel.computeAccess(accessContextId, Collections.singleton(checkedObject), accessData); |
| - |
| - Assert.assertEquals(accessContextId, interpreter.getContextId()); |
| - Collection<AccessContext> context = interpreter.getContexts(); |
| - Assert.assertEquals(1, context.size()); |
| - Assert.assertEquals(accessContext, context.iterator().next()); |
| - Assert.assertTrue(interpreter.wasComputeCalled()); |
| - |
| - Assert.assertFalse(accessData.isEmpty()); |
| - Collection<AccessDetail<?>> details = accessData.getAccess(checkedObject); |
| - Assert.assertEquals(1, details.size()); |
| - |
| - AccessDetail<?> actualDetail = details.iterator().next(); |
| - Assert.assertEquals(PermissionEnum.READ, actualDetail.getPermission()); |
| - Assert.assertEquals("detail 1", actualDetail.getReason()); |
| - Assert.assertEquals(checkedObject, actualDetail.getAccessObject()); |
| - Assert.assertEquals(detail1, actualDetail); |
| - } |
| - |
| - private static class MockAccessModelInterpreter implements AccessModelInterpreter { |
| - |
| - private final AccessContext contextToReturn; |
| - private Collection<AccessContext> contexts; |
| - private AccessContextToken contextId; |
| - private boolean wasComputeCalled; |
| - |
| - public MockAccessModelInterpreter(AccessContext contextToReturn) { |
| - this.contextToReturn = contextToReturn; |
| - } |
| - |
| - public Collection<AccessContext> getContexts() { |
| - return contexts; |
| - } |
| - |
| - public AccessContextToken getContextId() { |
| - return contextId; |
| - } |
| - |
| - @Override |
| - public AccessContext getContext(Collection<AccessContext> contexts, AccessContextToken contextId) { |
| - this.contextId = contextId; |
| - this.contexts = contexts; |
| - return contextToReturn; |
| - } |
| - |
| - @Override |
| - public void computeAccessDetails(AccessDetailCollector collector, AccessContext context, Object objectToCheck) { |
| - // |
| - wasComputeCalled = true; |
| - } |
| - |
| - public boolean wasComputeCalled() { |
| - return wasComputeCalled; |
| - } |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterImplTest.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterImplTest.java |
| deleted file mode 100644 |
| index 5be1b0e2ae..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterImplTest.java |
| +++ /dev/null |
| @@ -1,142 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -import java.util.Arrays; |
| -import java.util.Collection; |
| -import java.util.Collections; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.dsl.integration.AccessDataCollector; |
| -import org.eclipse.osee.framework.core.dsl.integration.mocks.CheckAccessDetailCollectorNotCalled; |
| -import org.eclipse.osee.framework.core.dsl.integration.mocks.MockArtifactDataProvider; |
| -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.integration.mocks.MockRestrictionHandler; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessContext; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| -import org.eclipse.osee.framework.jdk.core.util.Lib; |
| -import org.junit.Assert; |
| -import org.junit.Before; |
| -import org.junit.Test; |
| - |
| -/** |
| - * Test Case for {@link AccessModelInterpreterImpl} |
| - * |
| - * @author Roberto E. Escobar |
| - */ |
| -public class AccessModelInterpreterImplTest { |
| - private AccessContextToken contextId1; |
| - private AccessContextToken contextId2; |
| - |
| - private AccessContext expectedContext1; |
| - private AccessContext expectedContext2; |
| - |
| - private AccessModelInterpreterImpl interpreterNoArtData; |
| - |
| - @Before |
| - public void setup() { |
| - interpreterNoArtData = new AccessModelInterpreterImpl(null, null); |
| - |
| - contextId1 = AccessContextToken.valueOf(Lib.generateArtifactIdAsInt(), "Context 1"); |
| - contextId2 = AccessContextToken.valueOf(Lib.generateArtifactIdAsInt(), "Context 2"); |
| - |
| - expectedContext1 = MockModel.createAccessContext(contextId1.getId(), "c1"); |
| - expectedContext2 = MockModel.createAccessContext(contextId2.getId(), "c2"); |
| - } |
| - |
| - @Test |
| - public void testGetContext() { |
| - |
| - Collection<AccessContext> contexts = Arrays.asList(expectedContext1, expectedContext2); |
| - AccessContext actualContext1 = interpreterNoArtData.getContext(contexts, contextId1); |
| - Assert.assertEquals(expectedContext1, actualContext1); |
| - |
| - AccessContext actualContext2 = interpreterNoArtData.getContext(contexts, contextId2); |
| - Assert.assertEquals(expectedContext2, actualContext2); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testGetContextNullCheck1() { |
| - interpreterNoArtData.getContext(null, contextId1); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testGetContextNullCheck2() { |
| - interpreterNoArtData.getContext(Collections.<AccessContext> emptyList(), null); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testComputeAccessNullCheck1() { |
| - interpreterNoArtData.computeAccessDetails(null, expectedContext1, new Object()); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testComputeAccessNullCheck2() { |
| - interpreterNoArtData.computeAccessDetails(new AccessDataCollector(), null, new Object()); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testComputeAccessNullCheck3() { |
| - interpreterNoArtData.computeAccessDetails(new AccessDataCollector(), expectedContext1, null); |
| - } |
| - |
| - @Test |
| - public void testComputeAccessNotApplicableObject() { |
| - final Object objectToCheck = new Object(); |
| - MockArtifactDataProvider provider = new MockArtifactDataProvider(false, objectToCheck, null); |
| - AccessModelInterpreterImpl interpreter = new AccessModelInterpreterImpl(provider, null); |
| - interpreter.computeAccessDetails(new CheckAccessDetailCollectorNotCalled(), expectedContext1, objectToCheck); |
| - Assert.assertTrue("Provider isApplicableCalled failed", provider.wasIsApplicableCalled()); |
| - Assert.assertFalse("Provider asCastedObjectCalled failed", provider.wasAsCastedObjectCalled()); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testComputeAccessCastedObjectNull() { |
| - final Object objectToCheck = new Object(); |
| - MockArtifactDataProvider provider = new MockArtifactDataProvider(true, objectToCheck, null); |
| - AccessModelInterpreterImpl interpreter = new AccessModelInterpreterImpl(provider, null); |
| - try { |
| - interpreter.computeAccessDetails(new CheckAccessDetailCollectorNotCalled(), expectedContext1, objectToCheck); |
| - } finally { |
| - Assert.assertTrue("Provider isApplicableCalled failed", provider.wasIsApplicableCalled()); |
| - Assert.assertTrue("Provider asCastedObjectCalled failed", provider.wasAsCastedObjectCalled()); |
| - } |
| - } |
| - |
| - @Test |
| - public void testComputeAccessCheckRestriction() { |
| - AccessContext accessContext = MockModel.createAccessContext(contextId2.getId(), "c2"); |
| - |
| - MockArtifactProxy artifactData = new MockArtifactProxy(); |
| - |
| - ObjectRestriction objectRestriction = null; |
| - assertComputeDetails(accessContext, artifactData, objectRestriction, false); |
| - } |
| - |
| - private static void assertComputeDetails(AccessContext accessContext, MockArtifactProxy artifactData, ObjectRestriction objectRestriction, boolean expectedProcessCalled) { |
| - final Object objectToCheck = new Object(); |
| - MockArtifactDataProvider provider = new MockArtifactDataProvider(true, objectToCheck, artifactData); |
| - AccessDetailCollector collector = new CheckAccessDetailCollectorNotCalled(); |
| - MockRestrictionHandler restrictionHandler = |
| - new MockRestrictionHandler(objectRestriction, artifactData, collector); |
| - AccessModelInterpreterImpl interpreter = new AccessModelInterpreterImpl(provider, null, restrictionHandler); |
| - interpreter.computeAccessDetails(collector, accessContext, objectToCheck); |
| - Assert.assertTrue("Provider isApplicableCalled failed", provider.wasIsApplicableCalled()); |
| - Assert.assertTrue("Provider asCastedObjectCalled failed", provider.wasAsCastedObjectCalled()); |
| - Assert.assertEquals("Restriction process called check failed", expectedProcessCalled, |
| - restrictionHandler.wasProcessCalled()); |
| - } |
| -} |
| 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 |
| deleted file mode 100644 |
| index 34a71d1115..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchInterpreterTest.java |
| +++ /dev/null |
| @@ -1,288 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -import java.util.Collection; |
| -import java.util.Iterator; |
| -import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| -import org.eclipse.osee.framework.core.data.BranchToken; |
| -import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| -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.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.SimpleCondition; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactMatcher; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XLogicOperator; |
| -import org.eclipse.osee.framework.jdk.core.util.GUID; |
| -import org.junit.Assert; |
| -import org.junit.Test; |
| - |
| -/** |
| - * Test Case for {@link ArtifactMatchInterpreter} |
| - * |
| - * @author Roberto E. Escobar |
| - */ |
| -public class ArtifactMatchInterpreterTest { |
| - |
| - private final ArtifactMatchInterpreter interpreter = new ArtifactMatchInterpreter(); |
| - private static final BranchToken randomBranch = BranchToken.create("Random Branch"); |
| - |
| - @Test |
| - public void testMatchNoConditions() { |
| - XArtifactMatcher matcher = MockModel.createXArtifactMatcherRef("TestArtifact"); |
| - boolean actual = interpreter.matches(matcher, (ArtifactProxy) null); |
| - Assert.assertEquals(false, actual); |
| - } |
| - |
| - @Test |
| - public void testArtifactNameEq() { |
| - XArtifactMatcher matcher = |
| - MockModel.createMatcher("artifactMatcher \"Test\" where artifactName EQ \"Test Artifact\";"); |
| - |
| - DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.ARTIFACT_NAME, CompareOp.EQ, |
| - "Test Artifact"); |
| - |
| - ArtifactProxy proxy = createProxy(GUID.create(), "test Artifact"); |
| - boolean actual = interpreter.matches(matcher, proxy); |
| - Assert.assertEquals(false, actual); |
| - |
| - proxy = createProxy(GUID.create(), "Test Artifact"); |
| - actual = interpreter.matches(matcher, proxy); |
| - Assert.assertEquals(true, actual); |
| - } |
| - |
| - @Test |
| - public void testArtifactNameLike() { |
| - XArtifactMatcher matcher = |
| - MockModel.createMatcher("artifactMatcher \"Test\" where artifactName LIKE \".*arti.*\";"); |
| - |
| - DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.ARTIFACT_NAME, CompareOp.LIKE, |
| - ".*arti.*"); |
| - |
| - ArtifactProxy proxy = createProxy(GUID.create(), "9999 arti_121341"); |
| - boolean actual = interpreter.matches(matcher, proxy); |
| - Assert.assertEquals(true, actual); |
| - } |
| - |
| - @Test |
| - public void testartifactIdEq() { |
| - String guid = GUID.create(); |
| - XArtifactMatcher matcher = |
| - MockModel.createMatcher("artifactMatcher \"Test\" where artifactId EQ \"" + guid + "\";"); |
| - |
| - DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.ARTIFACT_ID, CompareOp.EQ, guid); |
| - |
| - ArtifactProxy proxy = createProxy(guid, ""); |
| - boolean actual = interpreter.matches(matcher, proxy); |
| - Assert.assertEquals(true, actual); |
| - } |
| - |
| - @Test |
| - public void testartifactIdLike() { |
| - XArtifactMatcher matcher = MockModel.createMatcher("artifactMatcher \"Test\" where artifactId LIKE \"\\w+\";"); |
| - |
| - DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.ARTIFACT_ID, CompareOp.LIKE, |
| - "\\w+"); |
| - |
| - ArtifactProxy proxy = createProxy("ABCDEFGHIJK123456789", ""); |
| - boolean actual = interpreter.matches(matcher, proxy); |
| - Assert.assertEquals(true, actual); |
| - } |
| - |
| - @Test |
| - public void testArtifactBranchNameEq() { |
| - XArtifactMatcher matcher = MockModel.createMatcher("artifactMatcher \"Test\" where branchName EQ \"branch1\";"); |
| - |
| - DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.BRANCH_NAME, CompareOp.EQ, |
| - "branch1"); |
| - |
| - ArtifactProxy proxy = createProxy(GUID.create(), "art1", randomBranch, "branch2"); |
| - boolean actual = interpreter.matches(matcher, proxy); |
| - Assert.assertEquals(false, actual); |
| - |
| - proxy = createProxy(GUID.create(), "art1", randomBranch, "branch1"); |
| - actual = interpreter.matches(matcher, proxy); |
| - Assert.assertEquals(true, actual); |
| - } |
| - |
| - @Test |
| - public void testArtifactBranchNameLike() { |
| - XArtifactMatcher matcher = |
| - MockModel.createMatcher("artifactMatcher \"Test\" where branchName LIKE \".*hello.*\";"); |
| - |
| - DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.BRANCH_NAME, CompareOp.LIKE, |
| - ".*hello.*"); |
| - |
| - ArtifactProxy proxy = createProxy(GUID.create(), "art1", randomBranch, "this is the hello branch"); |
| - boolean actual = interpreter.matches(matcher, proxy); |
| - Assert.assertEquals(true, actual); |
| - } |
| - |
| - @Test |
| - public void testArtifactBranchUuidLike() { |
| - XArtifactMatcher matcher = MockModel.createMatcher("artifactMatcher \"Test\" where branchUuid LIKE \"\\w+\";"); |
| - |
| - DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.BRANCH_UUID, CompareOp.LIKE, |
| - "\\w+"); |
| - |
| - ArtifactProxy proxy = createProxy(GUID.create(), "art1", randomBranch, ""); |
| - boolean actual = interpreter.matches(matcher, proxy); |
| - Assert.assertEquals(true, actual); |
| - } |
| - |
| - @Test |
| - public void testCompoundCondition1() { |
| - XArtifactMatcher andMatcher = MockModel.createMatcher( |
| - "artifactMatcher \"Test\" where artifactId EQ \"ABCDEFGHIJK123456789\" AND artifactName EQ \"myArtifact\";"); |
| - |
| - Iterator<Condition> iterator = andMatcher.getConditions().iterator(); |
| - DslAsserts.assertEquals(iterator.next(), MatchField.ARTIFACT_ID, CompareOp.EQ, "ABCDEFGHIJK123456789"); |
| - DslAsserts.assertEquals(iterator.next(), MatchField.ARTIFACT_NAME, CompareOp.EQ, "myArtifact"); |
| - |
| - Assert.assertEquals(1, andMatcher.getOperators().size()); |
| - Assert.assertEquals(XLogicOperator.AND, andMatcher.getOperators().iterator().next()); |
| - |
| - XArtifactMatcher orMatcher = MockModel.createMatcher( |
| - "artifactMatcher \"Test\" where artifactId EQ \"ABCDEFGHIJK123456789\" OR artifactName EQ \"myArtifact\";"); |
| - |
| - Iterator<Condition> iterator2 = orMatcher.getConditions().iterator(); |
| - DslAsserts.assertEquals(iterator2.next(), MatchField.ARTIFACT_ID, CompareOp.EQ, "ABCDEFGHIJK123456789"); |
| - DslAsserts.assertEquals(iterator2.next(), MatchField.ARTIFACT_NAME, CompareOp.EQ, "myArtifact"); |
| - |
| - Assert.assertEquals(1, orMatcher.getOperators().size()); |
| - Assert.assertEquals(XLogicOperator.OR, orMatcher.getOperators().iterator().next()); |
| - |
| - ArtifactProxy proxy1 = createProxy("1BCDEFGHIJK123456789", "xArtifact"); |
| - ArtifactProxy proxy2 = createProxy("1BCDEFGHIJK123456789", "myArtifact"); |
| - ArtifactProxy proxy3 = createProxy("ABCDEFGHIJK123456789", "xArtifact"); |
| - ArtifactProxy proxy4 = createProxy("ABCDEFGHIJK123456789", "myArtifact"); |
| - |
| - Assert.assertEquals(false, interpreter.matches(andMatcher, proxy1)); |
| - Assert.assertEquals(false, interpreter.matches(andMatcher, proxy2)); |
| - Assert.assertEquals(false, interpreter.matches(andMatcher, proxy3)); |
| - Assert.assertEquals(true, interpreter.matches(andMatcher, proxy4)); |
| - |
| - Assert.assertEquals(false, interpreter.matches(orMatcher, proxy1)); |
| - Assert.assertEquals(true, interpreter.matches(orMatcher, proxy2)); |
| - Assert.assertEquals(true, interpreter.matches(orMatcher, proxy3)); |
| - Assert.assertEquals(true, interpreter.matches(orMatcher, proxy4)); |
| - } |
| - |
| - @Test |
| - public void testCompoundCondition2() { |
| - XArtifactMatcher matcher = MockModel.createMatcher( |
| - "artifactMatcher \"Test\" where artifactId EQ \"ABCDEFGHIJK123456789\" AND (branchName EQ \"myArtifact\" OR branchUuid EQ \"3456789101112131415\");"); |
| - |
| - Assert.assertEquals(2, matcher.getConditions().size()); |
| - Iterator<Condition> iterator = matcher.getConditions().iterator(); |
| - DslAsserts.assertEquals(iterator.next(), MatchField.ARTIFACT_ID, CompareOp.EQ, "ABCDEFGHIJK123456789"); |
| - |
| - Assert.assertEquals(1, matcher.getOperators().size()); |
| - Assert.assertEquals(XLogicOperator.AND, matcher.getOperators().iterator().next()); |
| - |
| - Condition condition = iterator.next(); |
| - |
| - Assert.assertTrue(condition instanceof CompoundCondition); |
| - CompoundCondition compoundCondition = (CompoundCondition) condition; |
| - |
| - Assert.assertEquals(2, compoundCondition.getConditions().size()); |
| - |
| - String badArtGuid = "1BCDEFGHIJK123456789"; |
| - BranchToken badBranch = BranchToken.create(333333333123456789L, "Bad Branch"); |
| - String badBranchName = "xArtifact"; |
| - |
| - String goodArtGuid = "ABCDEFGHIJK123456789"; |
| - BranchToken goodBranch = BranchToken.create(3456789101112131415L, "Good Branch"); |
| - String goodBranchName = "myArtifact"; |
| - |
| - Iterator<SimpleCondition> iterator2 = compoundCondition.getConditions().iterator(); |
| - DslAsserts.assertEquals(iterator2.next(), MatchField.BRANCH_NAME, CompareOp.EQ, "myArtifact"); |
| - DslAsserts.assertEquals(iterator2.next(), MatchField.BRANCH_UUID, CompareOp.EQ, goodBranch.getIdString()); |
| - |
| - Assert.assertEquals(1, compoundCondition.getOperators().size()); |
| - Assert.assertEquals(XLogicOperator.OR, compoundCondition.getOperators().iterator().next()); |
| - |
| - ArtifactProxy proxy1 = createProxy(badArtGuid, "", badBranch, badBranchName); |
| - ArtifactProxy proxy2 = createProxy(badArtGuid, "", badBranch, goodBranchName); |
| - ArtifactProxy proxy3 = createProxy(badArtGuid, "", goodBranch, badBranchName); |
| - ArtifactProxy proxy4 = createProxy(badArtGuid, "", goodBranch, goodBranchName); |
| - ArtifactProxy proxy5 = createProxy(goodArtGuid, "", badBranch, badBranchName); |
| - ArtifactProxy proxy6 = createProxy(goodArtGuid, "", badBranch, goodBranchName); |
| - ArtifactProxy proxy7 = createProxy(goodArtGuid, "", goodBranch, badBranchName); |
| - ArtifactProxy proxy8 = createProxy(goodArtGuid, "", goodBranch, goodBranchName); |
| - |
| - Assert.assertEquals(false, interpreter.matches(matcher, proxy1)); |
| - Assert.assertEquals(false, interpreter.matches(matcher, proxy2)); |
| - Assert.assertEquals(false, interpreter.matches(matcher, proxy3)); |
| - Assert.assertEquals(false, interpreter.matches(matcher, proxy4)); |
| - |
| - Assert.assertEquals(false, interpreter.matches(matcher, proxy5)); |
| - Assert.assertEquals(true, interpreter.matches(matcher, proxy6)); |
| - Assert.assertEquals(true, interpreter.matches(matcher, proxy7)); |
| - Assert.assertEquals(true, interpreter.matches(matcher, proxy8)); |
| - } |
| - |
| - private static ArtifactProxy createProxy(String artGuid, String artifactName) { |
| - return createProxy(artGuid, artifactName, randomBranch, "dummy"); |
| - } |
| - |
| - private static ArtifactProxy createProxy(final String artGuid, final String artifactName, BranchToken branch, final String branchName) { |
| - return new ArtifactProxy() { |
| - |
| - @Override |
| - public BranchToken getBranch() { |
| - return branch; |
| - } |
| - |
| - @Override |
| - public BranchToken getBranchToken() { |
| - return BranchToken.create(branch, branchName); |
| - } |
| - |
| - @Override |
| - public String getName() { |
| - return artifactName; |
| - } |
| - |
| - @Override |
| - public String getGuid() { |
| - return artGuid; |
| - } |
| - |
| - @Override |
| - public ArtifactTypeToken getArtifactType() { |
| - return null; |
| - } |
| - |
| - @Override |
| - public Collection<RelationTypeToken> getValidRelationTypes() { |
| - return null; |
| - } |
| - |
| - @Override |
| - public Collection<ArtifactProxy> getHierarchy() { |
| - return null; |
| - } |
| - |
| - @Override |
| - public Long getId() { |
| - return 0L; |
| - } |
| - }; |
| - } |
| -} |
| 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 |
| deleted file mode 100644 |
| index 8d5c8dfc46..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchRestrictionHandlerTest.java |
| +++ /dev/null |
| @@ -1,108 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| -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.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.ArtifactMatchRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactMatcher; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.junit.Assert; |
| -import org.junit.Test; |
| - |
| -/** |
| - * Test Case for {@link ArtifactMatchRestrictionHandler} |
| - * |
| - * @author Roberto E. Escobar |
| - */ |
| -public class ArtifactMatchRestrictionHandlerTest extends BaseRestrictionHandlerTest<ArtifactMatchRestriction> { |
| - |
| - private static final MockArtifactMatchInterpreter matcher = new MockArtifactMatchInterpreter(); |
| - |
| - public ArtifactMatchRestrictionHandlerTest() { |
| - super(new ArtifactMatchRestrictionHandler(matcher), MockModel.createArtifactMatchRestriction(), |
| - MockModel.createAttributeTypeRestriction()); |
| - } |
| - |
| - @Test |
| - public void testProcessDataNotMatchesRestriction() { |
| - XArtifactMatcher artifactRef = MockModel.createXArtifactMatcherRef("TestArtifact"); |
| - |
| - ArtifactMatchRestriction restriction = MockModel.createArtifactMatchRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setArtifactMatcherRef(artifactRef); |
| - |
| - matcher.setMatchesResult(false); |
| - |
| - MockArtifactProxy artData = new MockArtifactProxy(); |
| - Scope expectedScope = new Scope().add("fail"); |
| - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData, expectedScope); |
| - |
| - Assert.assertEquals(artifactRef, matcher.getMatcher()); |
| - Assert.assertEquals(artData, matcher.getProxy()); |
| - } |
| - |
| - @Test |
| - public void testProcessCreateAccessDetail() { |
| - XArtifactMatcher artifactRef = MockModel.createXArtifactMatcherRef("TestArtifact"); |
| - |
| - ArtifactMatchRestriction restriction = MockModel.createArtifactMatchRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setArtifactMatcherRef(artifactRef); |
| - |
| - matcher.setMatchesResult(true); |
| - ArtifactToken expectedAccessObject = ArtifactToken.valueOf(1, "Another Artifact", BranchId.SENTINEL); |
| - MockArtifactProxy artData = new MockArtifactProxy(expectedAccessObject); |
| - |
| - Scope expectedScope = new Scope(); |
| - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedAccessObject, |
| - PermissionEnum.WRITE, expectedScope); |
| - |
| - Assert.assertEquals(artifactRef, matcher.getMatcher()); |
| - Assert.assertEquals(artData, matcher.getProxy()); |
| - } |
| - |
| - private static final class MockArtifactMatchInterpreter extends ArtifactMatchInterpreter { |
| - |
| - private boolean matchesResult; |
| - private ArtifactProxy proxy; |
| - private XArtifactMatcher matcher; |
| - |
| - @Override |
| - public boolean matches(XArtifactMatcher matcher, ArtifactProxy proxy) { |
| - this.matcher = matcher; |
| - this.proxy = proxy; |
| - return matchesResult; |
| - } |
| - |
| - public ArtifactProxy getProxy() { |
| - return proxy; |
| - } |
| - |
| - public XArtifactMatcher getMatcher() { |
| - return matcher; |
| - } |
| - |
| - public void setMatchesResult(boolean matchesResult) { |
| - this.matchesResult = matchesResult; |
| - } |
| - } |
| - |
| -} |
| 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 |
| deleted file mode 100644 |
| index 6cf5bb3007..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactTypeRestrictionHandlerTest.java |
| +++ /dev/null |
| @@ -1,89 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.AbstractSpecRequirement; |
| -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.Artifact; |
| -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.Requirement; |
| -import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| -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.ArtifactTypeRestriction; |
| -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.access.Scope; |
| -import org.junit.Test; |
| - |
| -/** |
| - * Test Case for {@link ArtifactTypeRestrictionHandler} |
| - * |
| - * @author Roberto E. Escobar |
| - */ |
| -public class ArtifactTypeRestrictionHandlerTest extends BaseRestrictionHandlerTest<ArtifactTypeRestriction> { |
| - |
| - public ArtifactTypeRestrictionHandlerTest() { |
| - super(new ArtifactTypeRestrictionHandler(), MockModel.createArtifactTypeRestriction(), |
| - MockModel.createAttributeTypeRestriction()); |
| - } |
| - |
| - @Test |
| - public void testProcessDataNotMatchesRestriction() { |
| - ArtifactTypeToken artifactType = Requirement; |
| - XArtifactType artifactTypeRef = MockModel.createXArtifactType(artifactType); |
| - |
| - ArtifactTypeRestriction restriction = MockModel.createArtifactTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setArtifactTypeRef(artifactTypeRef); |
| - |
| - MockArtifactProxy artData = new MockArtifactProxy(CoreArtifactTypes.Folder); |
| - Scope expectedScope = new Scope().add("fail"); |
| - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData, expectedScope); |
| - } |
| - |
| - @Test |
| - public void testProcessCreateAccessDetail() { |
| - ArtifactTypeToken artifactType = Requirement; |
| - XArtifactType artifactTypeRef = MockModel.createXArtifactType(artifactType); |
| - |
| - ArtifactTypeRestriction restriction = MockModel.createArtifactTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setArtifactTypeRef(artifactTypeRef); |
| - |
| - MockArtifactProxy artData = new MockArtifactProxy(artifactType); |
| - |
| - Scope expectedScope = new Scope(); |
| - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, artifactType, PermissionEnum.WRITE, |
| - expectedScope); |
| - } |
| - |
| - @Test |
| - public void testProcessArtifactTypeInheritance() { |
| - XArtifactType artifactTypeRef = MockModel.createXArtifactType(Requirement); |
| - |
| - ArtifactTypeRestriction restriction = MockModel.createArtifactTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setArtifactTypeRef(artifactTypeRef); |
| - |
| - MockArtifactProxy artData = new MockArtifactProxy(Artifact); |
| - Scope expectedScope = new Scope(); |
| - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData, expectedScope); |
| - |
| - MockArtifactProxy reqArtData = new MockArtifactProxy(AbstractSpecRequirement); |
| - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, reqArtData, AbstractSpecRequirement, |
| - PermissionEnum.WRITE, expectedScope); |
| - } |
| -} |
| \ No newline at end of file |
| 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 |
| deleted file mode 100644 |
| index b11fd6b255..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/AttributeTypeRestrictionHandlerTest.java |
| +++ /dev/null |
| @@ -1,139 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.Artifact; |
| -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.Requirement; |
| -import static org.eclipse.osee.framework.core.enums.CoreAttributeTypes.Name; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| -import org.eclipse.osee.framework.core.data.AttributeTypeId; |
| -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.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.AttributeTypeRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactType; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XAttributeType; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.jdk.core.type.MutableBoolean; |
| -import org.junit.Assert; |
| -import org.junit.Test; |
| - |
| -/** |
| - * Test Case for {@link AttributeTypeRestrictionHandler} |
| - * |
| - * @author Roberto E. Escobar |
| - */ |
| -public class AttributeTypeRestrictionHandlerTest extends BaseRestrictionHandlerTest<AttributeTypeRestriction> { |
| - private static final XAttributeType attributeTypeRef = MockModel.createXAttributeType(Name, Name.getName()); |
| - |
| - public AttributeTypeRestrictionHandlerTest() { |
| - super(new AttributeTypeRestrictionHandler(), MockModel.createAttributeTypeRestriction(), |
| - MockModel.createArtifactTypeRestriction()); |
| - } |
| - |
| - @Test |
| - public void testProcessDataAttributeTypeNotApplicable() { |
| - AttributeTypeRestriction restriction = MockModel.createAttributeTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setAttributeTypeRef(attributeTypeRef); |
| - |
| - final MutableBoolean wasIsAttributeTypeValidCalled = new MutableBoolean(false); |
| - ArtifactProxy artifactProxy = createArtifactProxy(null, Name, wasIsAttributeTypeValidCalled, false); |
| - Scope expectedScope = new Scope().add("fail"); |
| - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artifactProxy, expectedScope); |
| - Assert.assertTrue(wasIsAttributeTypeValidCalled.getValue()); |
| - } |
| - |
| - @Test |
| - public void testProcessDataAttributeTypeIsApplicable() { |
| - AttributeTypeRestriction restriction = MockModel.createAttributeTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setAttributeTypeRef(attributeTypeRef); |
| - |
| - final MutableBoolean wasIsAttributeTypeValidCalled = new MutableBoolean(false); |
| - ArtifactProxy artifactProxy = createArtifactProxy(null, Name, wasIsAttributeTypeValidCalled, true); |
| - Scope expectedScope = new Scope(); |
| - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artifactProxy, Name, PermissionEnum.WRITE, |
| - expectedScope); |
| - Assert.assertTrue(wasIsAttributeTypeValidCalled.getValue()); |
| - } |
| - |
| - @Test |
| - public void testProcessDataAttributeTypeIsApplicableArtifactTypeBoundedNoMatch() { |
| - AttributeTypeRestriction restriction = MockModel.createAttributeTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setAttributeTypeRef(attributeTypeRef); |
| - |
| - XArtifactType artifactTypeRef = MockModel.createXArtifactType(Requirement); |
| - restriction.setArtifactTypeRef(artifactTypeRef); |
| - |
| - final MutableBoolean wasIsAttributeTypeValidCalled = new MutableBoolean(false); |
| - ArtifactProxy artifactProxy = createArtifactProxy(Artifact, Name, wasIsAttributeTypeValidCalled, true); |
| - Scope expectedScope = new Scope().add("fail"); |
| - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artifactProxy, expectedScope); |
| - Assert.assertTrue(wasIsAttributeTypeValidCalled.getValue()); |
| - } |
| - |
| - @Test |
| - public void testProcessDataAttributeTypeIsApplicableArtifactTypeMatch() { |
| - AttributeTypeRestriction restriction = MockModel.createAttributeTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setAttributeTypeRef(attributeTypeRef); |
| - |
| - XArtifactType artifactTypeRef = MockModel.createXArtifactType(Requirement); |
| - restriction.setArtifactTypeRef(artifactTypeRef); |
| - |
| - final MutableBoolean wasIsAttributeTypeValidCalled = new MutableBoolean(false); |
| - ArtifactProxy artifactProxy = createArtifactProxy(Requirement, Name, wasIsAttributeTypeValidCalled, true); |
| - Scope expectedScope = new Scope(); |
| - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artifactProxy, Name, PermissionEnum.WRITE, |
| - expectedScope); |
| - Assert.assertTrue(wasIsAttributeTypeValidCalled.getValue()); |
| - } |
| - |
| - @Test |
| - public void testProcessDataAttributeTypeIsApplicableArtifactTypeMatchWithInheritance() { |
| - AttributeTypeRestriction restriction = MockModel.createAttributeTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setAttributeTypeRef(attributeTypeRef); |
| - |
| - XArtifactType artifactTypeRef = MockModel.createXArtifactType(Artifact); |
| - restriction.setArtifactTypeRef(artifactTypeRef); |
| - |
| - ArtifactTypeToken artifactType2 = Requirement; |
| - |
| - final MutableBoolean wasIsAttributeTypeValidCalled = new MutableBoolean(false); |
| - ArtifactProxy artifactProxy = createArtifactProxy(artifactType2, Name, wasIsAttributeTypeValidCalled, true); |
| - Scope expectedScope = new Scope(); |
| - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artifactProxy, Name, PermissionEnum.WRITE, |
| - expectedScope); |
| - Assert.assertTrue(wasIsAttributeTypeValidCalled.getValue()); |
| - } |
| - |
| - private static ArtifactProxy createArtifactProxy(ArtifactTypeToken artifactType, final AttributeTypeId expectedAttributeType, final MutableBoolean wasIsAttributeTypeValidCalled, final boolean isTypeValid) { |
| - MockArtifactProxy artData = new MockArtifactProxy(artifactType) { |
| - |
| - @Override |
| - public boolean isAttributeTypeValid(AttributeTypeId attributeType) { |
| - wasIsAttributeTypeValidCalled.setValue(true); |
| - Assert.assertEquals(expectedAttributeType, attributeType); |
| - return isTypeValid; |
| - } |
| - }; |
| - return artData; |
| - } |
| -} |
| 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 |
| deleted file mode 100644 |
| index cc083b9fb1..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/BaseRestrictionHandlerTest.java |
| +++ /dev/null |
| @@ -1,70 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -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.access.Scope; |
| -import org.junit.Assert; |
| -import org.junit.Test; |
| - |
| -/** |
| - * Test Case for {@link RestrictionHandler classes} |
| - * |
| - * @author Roberto E. Escobar |
| - */ |
| -public abstract class BaseRestrictionHandlerTest<T extends ObjectRestriction> { |
| - |
| - private final RestrictionHandler<T> restrictionHandler; |
| - private final ObjectRestriction validRestriction; |
| - private final ObjectRestriction invalidRestriction; |
| - |
| - protected BaseRestrictionHandlerTest(RestrictionHandler<T> restrictionHandler, ObjectRestriction validRestriction, ObjectRestriction invalidRestriction) { |
| - this.restrictionHandler = restrictionHandler; |
| - this.validRestriction = validRestriction; |
| - this.invalidRestriction = invalidRestriction; |
| - } |
| - |
| - protected RestrictionHandler<T> getRestrictionHandler() { |
| - return restrictionHandler; |
| - } |
| - |
| - @Test |
| - public void testAsCastedObject() { |
| - T actualObject = restrictionHandler.asCastedObject(validRestriction); |
| - Assert.assertNotNull(actualObject); |
| - Assert.assertEquals(validRestriction, actualObject); |
| - } |
| - |
| - @Test |
| - public void testAsCastedObjectReturnsNull() { |
| - ObjectRestriction objectRestriction = MockModel.createObjectRestriction(); |
| - T actualObject = restrictionHandler.asCastedObject(objectRestriction); |
| - Assert.assertNull(actualObject); |
| - } |
| - |
| - @Test |
| - public void testProcessNullObjectRestriction() { |
| - Scope expectedScope = new Scope().add("fail"); |
| - DslAsserts.assertNullAccessDetail(restrictionHandler, null, null, expectedScope); |
| - } |
| - |
| - @Test |
| - public void testProcessInvalidObjectRestriction() { |
| - 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/InternalTestSuite.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/InternalTestSuite.java |
| index 7a6128d42f..f7c6b97fb5 100644 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/InternalTestSuite.java |
| +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/InternalTestSuite.java |
| @@ -20,14 +20,7 @@ import org.junit.runners.Suite; |
| * @author Roberto E. Escobar |
| */ |
| @RunWith(Suite.class) |
| -@Suite.SuiteClasses({ |
| - AccessModelInterpreterImplTest.class, |
| - ArtifactMatchInterpreterTest.class, |
| - ArtifactMatchRestrictionHandlerTest.class, |
| - ArtifactTypeRestrictionHandlerTest.class, |
| - AttributeTypeRestrictionHandlerTest.class, |
| - RelationTypeRestrictionHandlerTest.class, |
| - OseeUtilTest.class}) |
| +@Suite.SuiteClasses({OseeUtilTest.class}) |
| public class InternalTestSuite { |
| // Test Suite |
| } |
| 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 |
| deleted file mode 100644 |
| index 7d4293d7e1..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/RelationTypeRestrictionHandlerTest.java |
| +++ /dev/null |
| @@ -1,272 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.AbstractSoftwareRequirement; |
| -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.SoftwareRequirementMsWord; |
| -import static org.eclipse.osee.framework.core.enums.CoreRelationTypes.DevelopmentalVerification; |
| -import java.util.ArrayList; |
| -import java.util.List; |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| -import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| -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.OseeDslFactory; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeArtifactPredicate; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeArtifactTypePredicate; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeRestriction; |
| -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.XRelationSideEnum; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XRelationType; |
| -import org.eclipse.osee.framework.core.enums.CoreRelationTypes; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.core.enums.RelationSide; |
| -import org.junit.Assert; |
| -import org.junit.Test; |
| - |
| -/** |
| - * Test Case for {@link RelationTypeRestrictionHandler} |
| - * |
| - * @author Roberto E. Escobar |
| - */ |
| -public class RelationTypeRestrictionHandlerTest extends BaseRestrictionHandlerTest<RelationTypeRestriction> { |
| - |
| - public RelationTypeRestrictionHandlerTest() { |
| - super(new RelationTypeRestrictionHandler(new ArtifactMatchInterpreter()), |
| - MockModel.createRelationTypeRestriction(), MockModel.createAttributeTypeRestriction()); |
| - } |
| - |
| - @Test |
| - public void testProcessDataRelationTypeNoMatch() { |
| - XRelationType relationTypeRef = MockModel.createXRelationType(CoreRelationTypes.Allocation); |
| - |
| - RelationTypeRestriction restriction = MockModel.createRelationTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setRelationTypeRef(relationTypeRef); |
| - |
| - // Artifact Data has no relation types therefore relation type will not match |
| - MockArtifactProxy artData = new MockArtifactProxy(); |
| - Scope expectedScope = new Scope().add("fail"); |
| - DslAsserts.assertNullAccessDetail(getRestrictionHandler(), restriction, artData, expectedScope); |
| - } |
| - |
| - @Test |
| - public void testProcessDataRelationTypeMatchSideANoMatch() { |
| - RelationTypeToken testRelationType = CoreRelationTypes.CodeRequirement; |
| - XRelationType relationTypeRef = MockModel.createXRelationType(testRelationType); |
| - |
| - RelationTypeRestriction restriction = MockModel.createRelationTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setRelationTypeRef(relationTypeRef); |
| - restriction.setRestrictedToSide(XRelationSideEnum.SIDE_A); |
| - |
| - MockArtifactProxy artData = new MockArtifactProxy(SoftwareRequirementMsWord, testRelationType); |
| - RelationTypeSide expectedObject = new RelationTypeSide(testRelationType, RelationSide.SIDE_A); |
| - Scope expectedScope = new Scope(); |
| - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, PermissionEnum.WRITE, |
| - expectedScope); |
| - } |
| - |
| - @Test |
| - public void testProcessDataRelationTypeMatchSideAMatch() { |
| - RelationTypeToken testRelationType = CoreRelationTypes.CodeRequirement; |
| - XRelationType relationTypeRef = MockModel.createXRelationType(testRelationType); |
| - |
| - RelationTypeRestriction restriction = MockModel.createRelationTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setRelationTypeRef(relationTypeRef); |
| - restriction.setRestrictedToSide(XRelationSideEnum.SIDE_A); |
| - |
| - MockArtifactProxy artData = new MockArtifactProxy(SoftwareRequirementMsWord, testRelationType); |
| - RelationTypeSide expectedObject = new RelationTypeSide(testRelationType, RelationSide.SIDE_A); |
| - Scope expectedScope = new Scope(); |
| - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, PermissionEnum.WRITE, |
| - expectedScope); |
| - } |
| - |
| - @Test |
| - public void testProcessDataRelationTypeMatchSideBNoMatch() { |
| - RelationTypeToken testRelationType = DevelopmentalVerification; |
| - XRelationType relationTypeRef = MockModel.createXRelationType(testRelationType); |
| - |
| - RelationTypeRestriction restriction = MockModel.createRelationTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setRelationTypeRef(relationTypeRef); |
| - restriction.setRestrictedToSide(XRelationSideEnum.SIDE_B); |
| - |
| - MockArtifactProxy artData = new MockArtifactProxy(SoftwareRequirementMsWord, testRelationType); |
| - |
| - RelationTypeSide expectedObject = new RelationTypeSide(testRelationType, RelationSide.SIDE_B); |
| - Scope expectedScope = new Scope(); |
| - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, PermissionEnum.WRITE, |
| - expectedScope); |
| - } |
| - |
| - @Test |
| - public void testProcessDataRelationTypeMatchSideBMatch() { |
| - RelationTypeToken testRelationType = DevelopmentalVerification; |
| - XRelationType relationTypeRef = MockModel.createXRelationType(testRelationType); |
| - |
| - RelationTypeRestriction restriction = MockModel.createRelationTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setRelationTypeRef(relationTypeRef); |
| - restriction.setRestrictedToSide(XRelationSideEnum.SIDE_B); |
| - |
| - MockArtifactProxy artData = new MockArtifactProxy(SoftwareRequirementMsWord, testRelationType); |
| - RelationTypeSide expectedObject = new RelationTypeSide(testRelationType, RelationSide.SIDE_B); |
| - Scope expectedScope = new Scope(); |
| - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, PermissionEnum.WRITE, |
| - expectedScope); |
| - } |
| - |
| - @Test |
| - public void testProcessDataRelationTypeMatchBothMatch() { |
| - RelationTypeToken testRelationType = DevelopmentalVerification; |
| - |
| - XRelationType relationTypeRef = MockModel.createXRelationType(testRelationType); |
| - |
| - RelationTypeRestriction restriction = MockModel.createRelationTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setRelationTypeRef(relationTypeRef); |
| - restriction.setRestrictedToSide(XRelationSideEnum.BOTH); |
| - |
| - MockArtifactProxy artData = new MockArtifactProxy(SoftwareRequirementMsWord, testRelationType); |
| - RelationTypeSide expectedObject1 = new RelationTypeSide(testRelationType, RelationSide.SIDE_A); |
| - RelationTypeSide expectedObject2 = new RelationTypeSide(testRelationType, RelationSide.SIDE_B); |
| - |
| - final List<AccessDetail<?>> actualAccesses = new ArrayList<>(); |
| - AccessDetailCollector collector = new AccessDetailCollector() { |
| - |
| - @Override |
| - public void collect(AccessDetail<?> accessDetail) { |
| - Assert.assertNotNull(accessDetail); |
| - actualAccesses.add(accessDetail); |
| - } |
| - }; |
| - |
| - Scope expectedScope = new Scope(); |
| - getRestrictionHandler().process(restriction, artData, collector, expectedScope); |
| - |
| - AccessDetail<?> actualAccess = actualAccesses.get(0); |
| - Assert.assertEquals(actualAccess.getPermission(), PermissionEnum.WRITE); |
| - Assert.assertEquals(expectedObject1, actualAccess.getAccessObject()); |
| - |
| - actualAccess = actualAccesses.get(1); |
| - Assert.assertEquals(actualAccess.getPermission(), PermissionEnum.WRITE); |
| - Assert.assertEquals(expectedObject2, actualAccess.getAccessObject()); |
| - } |
| - |
| - @Test |
| - public void testProcessRelationWithRelationTypeAll() { |
| - RelationTypeRestriction restriction = MockModel.createRelationTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setRelationTypeMatch(true); |
| - restriction.setRestrictedToSide(XRelationSideEnum.BOTH); |
| - |
| - RelationTypeToken testRelationType = DevelopmentalVerification; |
| - |
| - MockArtifactProxy artData = new MockArtifactProxy(SoftwareRequirementMsWord, testRelationType); |
| - RelationTypeSide expectedObject1 = new RelationTypeSide(testRelationType, RelationSide.SIDE_A); |
| - RelationTypeSide expectedObject2 = new RelationTypeSide(testRelationType, RelationSide.SIDE_B); |
| - |
| - final List<AccessDetail<?>> actualAccesses = new ArrayList<>(); |
| - AccessDetailCollector collector = new AccessDetailCollector() { |
| - |
| - @Override |
| - public void collect(AccessDetail<?> accessDetail) { |
| - Assert.assertNotNull(accessDetail); |
| - actualAccesses.add(accessDetail); |
| - } |
| - }; |
| - |
| - Scope expectedScope = new Scope(); |
| - getRestrictionHandler().process(restriction, artData, collector, expectedScope); |
| - |
| - AccessDetail<?> actualAccess = actualAccesses.get(0); |
| - Assert.assertEquals(actualAccess.getPermission(), PermissionEnum.WRITE); |
| - Assert.assertEquals(expectedObject1, actualAccess.getAccessObject()); |
| - |
| - actualAccess = actualAccesses.get(1); |
| - Assert.assertEquals(actualAccess.getPermission(), PermissionEnum.WRITE); |
| - Assert.assertEquals(expectedObject2, actualAccess.getAccessObject()); |
| - } |
| - |
| - @Test |
| - public void testProcessDataArtifactTypeMatch() { |
| - XArtifactType artifactTypeRef = MockModel.createXArtifactType(AbstractSoftwareRequirement); |
| - |
| - RelationTypeRestriction restriction = MockModel.createRelationTypeRestriction(); |
| - restriction.setPermission(AccessPermissionEnum.ALLOW); |
| - restriction.setRelationTypeMatch(true); |
| - |
| - RelationTypeArtifactTypePredicate predicate = OseeDslFactory.eINSTANCE.createRelationTypeArtifactTypePredicate(); |
| - predicate.setArtifactTypeRef(artifactTypeRef); |
| - |
| - restriction.setPredicate(predicate); |
| - restriction.setRestrictedToSide(XRelationSideEnum.SIDE_B); |
| - |
| - RelationTypeToken testRelationType = DevelopmentalVerification; |
| - |
| - ArtifactToken expectedAccessObject = ArtifactToken.valueOf(1, "Another Artifact", SoftwareRequirementMsWord); |
| - MockArtifactProxy artData = new MockArtifactProxy(expectedAccessObject, testRelationType); |
| - |
| - RelationTypeSide expectedObject = new RelationTypeSide(testRelationType, RelationSide.SIDE_B); |
| - |
| - Scope expectedScope = new Scope(); |
| - expectedScope.addSubPath(artData.getName()); |
| - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, PermissionEnum.WRITE, |
| - expectedScope); |
| - } |
| - |
| - private void testProcessRelationWithArtifactHelper(String artifactName, String matcherArtifactName, Scope expectedScope) { |
| - RelationTypeToken testRelationType = DevelopmentalVerification; |
| - XRelationType relationTypeRef = MockModel.createXRelationType(testRelationType); |
| - |
| - 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 + "\";"); |
| - |
| - RelationTypeArtifactPredicate predicate = OseeDslFactory.eINSTANCE.createRelationTypeArtifactPredicate(); |
| - predicate.setArtifactMatcherRef(matcher); |
| - restriction.setPredicate(predicate); |
| - |
| - ArtifactToken dummy = ArtifactToken.valueOf(43, artifactName, SoftwareRequirementMsWord); |
| - MockArtifactProxy artData = new MockArtifactProxy(dummy, testRelationType); |
| - RelationTypeSide expectedObject = new RelationTypeSide(testRelationType, RelationSide.SIDE_B); |
| - DslAsserts.assertAccessDetail(getRestrictionHandler(), restriction, artData, expectedObject, PermissionEnum.WRITE, |
| - expectedScope); |
| - } |
| - |
| - @Test |
| - public void testProcessRelationWithArtifactMatch() { |
| - testProcessRelationWithArtifactHelper("artifactToMatch", "artifactToMatch", |
| - new Scope().addSubPath("artifactToMatch")); |
| - } |
| - |
| - @Test |
| - public void testProcessRelationWithArtifactNoMatch() { |
| - testProcessRelationWithArtifactHelper("artifactToMatch", "differentArtifactToMatch", new Scope()); |
| - } |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/CheckAccessDetailCollectorNotCalled.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/CheckAccessDetailCollectorNotCalled.java |
| deleted file mode 100644 |
| index 866e20ef41..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/CheckAccessDetailCollectorNotCalled.java |
| +++ /dev/null |
| @@ -1,30 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.mocks; |
| - |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.junit.Assert; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public final class CheckAccessDetailCollectorNotCalled implements AccessDetailCollector { |
| - |
| - @Override |
| - public void collect(AccessDetail<?> accessDetail) { |
| - Assert.fail("Method was unexpectedly called"); |
| - } |
| - |
| -}; |
| \ No newline at end of file |
| 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 |
| deleted file mode 100644 |
| index 26ceb596f8..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/DslAsserts.java |
| +++ /dev/null |
| @@ -1,175 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.mocks; |
| - |
| -import java.util.List; |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.dsl.integration.AccessDataCollector; |
| -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; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessPermissionEnum; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.ArtifactTypeRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.AttributeTypeRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.CompareOp; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.Condition; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.HierarchyRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.MatchField; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDsl; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationMultiplicityEnum; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeRestriction; |
| -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.XArtifactType; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XAttributeType; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XAttributeTypeRef; |
| -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; |
| -import org.junit.Assert; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public final class DslAsserts { |
| - |
| - private DslAsserts() { |
| - // Utility class |
| - } |
| - |
| - public static void assertNullAccessDetail(RestrictionHandler<?> handler, ObjectRestriction restriction, ArtifactProxy artifactProxy, Scope expectedScopeLevel) { |
| - assertAccessDetail(handler, restriction, artifactProxy, null, null, expectedScopeLevel); |
| - } |
| - |
| - public static void assertAccessDetail(RestrictionHandler<?> handler, ObjectRestriction restriction, ArtifactProxy artifactProxy, Object expectedAccessObject, PermissionEnum expectedPermission, Scope expectedScopeLevel) { |
| - AccessDetailCollector collector = new AccessDataCollector(); |
| - handler.process(restriction, artifactProxy, collector, new Scope()); |
| - List<AccessDetail<?>> actualDetails = collector.getAccessDetails(); |
| - if (expectedAccessObject == null) { |
| - Assert.assertTrue(actualDetails.isEmpty()); |
| - } else { |
| - Assert.assertTrue(collector.contains(expectedAccessObject, expectedPermission, expectedScopeLevel)); |
| - } |
| - } |
| - |
| - public static void assertEquals(OseeDsl model1, OseeDsl model2) { |
| - Assert.assertEquals(model1.getAccessDeclarations().size(), model2.getAccessDeclarations().size()); |
| - Assert.assertEquals(model1.getArtifactMatchRefs().size(), model2.getArtifactMatchRefs().size()); |
| - Assert.assertEquals(model1.getArtifactTypes().size(), model2.getArtifactTypes().size()); |
| - Assert.assertEquals(model1.getAttributeTypes().size(), model2.getAttributeTypes().size()); |
| - Assert.assertEquals(model1.getEnumOverrides().size(), model2.getEnumOverrides().size()); |
| - Assert.assertEquals(model1.getEnumTypes().size(), model2.getEnumTypes().size()); |
| - Assert.assertEquals(model1.getImports().size(), model2.getImports().size()); |
| - Assert.assertEquals(model1.getRelationTypes().size(), model2.getRelationTypes().size()); |
| - } |
| - |
| - public static void assertEquals(Condition condition, MatchField expField, CompareOp expOp, String expExpression) { |
| - SimpleCondition simpCondition = (SimpleCondition) condition; |
| - Assert.assertEquals(expField, simpCondition.getField()); |
| - Assert.assertEquals(expOp, simpCondition.getOp()); |
| - Assert.assertEquals(expExpression, simpCondition.getExpression()); |
| - } |
| - |
| - public static void assertEquals(XArtifactMatcher matcher, String name) { |
| - Assert.assertEquals(name, matcher.getName()); |
| - } |
| - |
| - public static void assertEquals(XArtifactType artifactType, String expName, String expGuid, String[] inheritsFrom, String... attributeNames) { |
| - Assert.assertEquals(expName, artifactType.getName()); |
| - Assert.assertEquals(expGuid, artifactType.getId()); |
| - |
| - int index = 0; |
| - Assert.assertEquals(inheritsFrom.length, artifactType.getSuperArtifactTypes().size()); |
| - for (XArtifactType ref : artifactType.getSuperArtifactTypes()) { |
| - Assert.assertEquals(inheritsFrom[index++], ref.getName()); |
| - } |
| - |
| - index = 0; |
| - Assert.assertEquals(attributeNames.length, artifactType.getValidAttributeTypes().size()); |
| - for (XAttributeTypeRef ref : artifactType.getValidAttributeTypes()) { |
| - Assert.assertEquals(attributeNames[index++], ref.getValidAttributeType().getName()); |
| - } |
| - } |
| - |
| - public static void assertEquals(XAttributeType type, String expName, String expGuid, String baseType, String dataProvider, String min, String max, String tagger, String description, String defaultValue, String ext) { |
| - Assert.assertEquals(expName, type.getName()); |
| - Assert.assertEquals(expGuid, type.getId()); |
| - |
| - Assert.assertEquals(baseType, type.getBaseAttributeType()); |
| - Assert.assertEquals(dataProvider, type.getDataProvider()); |
| - Assert.assertEquals(min, type.getMin()); |
| - Assert.assertEquals(max, type.getMax()); |
| - Assert.assertEquals(tagger, type.getTaggerId()); |
| - Assert.assertEquals(description, type.getDescription()); |
| - Assert.assertEquals(defaultValue, type.getDefaultValue()); |
| - Assert.assertEquals(ext, type.getFileExtension()); |
| - } |
| - |
| - public static void assertEquals(XRelationType type, String expName, String expGuid, String sideA, String aName, String aGuid, String sideB, String bName, String bGuid, String orderType, RelationMultiplicityEnum mult) { |
| - Assert.assertEquals(expName, type.getName()); |
| - Assert.assertEquals(expGuid, type.getId()); |
| - |
| - XArtifactType aArt = type.getSideAArtifactType(); |
| - Assert.assertEquals(sideA, type.getSideAName()); |
| - Assert.assertEquals(aName, aArt.getName()); |
| - Assert.assertEquals(aGuid, aArt.getId()); |
| - |
| - XArtifactType bArt = type.getSideBArtifactType(); |
| - Assert.assertEquals(sideB, type.getSideBName()); |
| - Assert.assertEquals(bName, bArt.getName()); |
| - Assert.assertEquals(bGuid, bArt.getId()); |
| - |
| - Assert.assertEquals(orderType, type.getDefaultOrderType()); |
| - Assert.assertEquals(mult, type.getMultiplicity()); |
| - } |
| - |
| - public static void assertEquals(AccessContext context, String expName, Long expId, String[] inheritsFrom) { |
| - Assert.assertEquals(expName, context.getName()); |
| - Assert.assertEquals(expId, Long.valueOf(context.getId())); |
| - |
| - int index = 0; |
| - Assert.assertEquals(inheritsFrom.length, context.getSuperAccessContexts().size()); |
| - for (AccessContext ref : context.getSuperAccessContexts()) { |
| - Assert.assertEquals(inheritsFrom[index++], ref.getName()); |
| - } |
| - } |
| - |
| - public static void assertEquals(ArtifactTypeRestriction restriction, AccessPermissionEnum permission, String artTypeName) { |
| - Assert.assertEquals(permission, restriction.getPermission()); |
| - XArtifactType ref = restriction.getArtifactTypeRef(); |
| - Assert.assertEquals(artTypeName, ref.getName()); |
| - } |
| - |
| - public static void assertEquals(AttributeTypeRestriction restriction, AccessPermissionEnum permission, String attrTypeName, String artTypeName) { |
| - Assert.assertEquals(permission, restriction.getPermission()); |
| - |
| - Assert.assertEquals(attrTypeName, restriction.getAttributeTypeRef().getName()); |
| - |
| - XArtifactType ref = restriction.getArtifactTypeRef(); |
| - Assert.assertEquals(artTypeName, ref.getName()); |
| - } |
| - |
| - public static void assertEquals(RelationTypeRestriction restriction, AccessPermissionEnum permission, String relType, XRelationSideEnum sideEnum) { |
| - Assert.assertEquals(permission, restriction.getPermission()); |
| - Assert.assertEquals(relType, restriction.getRelationTypeRef().getName()); |
| - Assert.assertEquals(sideEnum, restriction.getRestrictedToSide()); |
| - } |
| - |
| - public static void assertEquals(HierarchyRestriction restriction, String matcherName) { |
| - Assert.assertEquals(matcherName, restriction.getArtifactMatcherRef().getName()); |
| - } |
| -} |
| 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 |
| deleted file mode 100644 |
| index f61f2c4361..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockRestrictionHandler.java |
| +++ /dev/null |
| @@ -1,61 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.mocks; |
| - |
| -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.ObjectRestriction; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.junit.Assert; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class MockRestrictionHandler implements RestrictionHandler<Object> { |
| - |
| - private final ObjectRestriction expectedObjectRestriction; |
| - private final ArtifactProxy expectedArtifactProxy; |
| - private final AccessDetailCollector expectedCollector; |
| - private boolean wasProcessCalled; |
| - |
| - public MockRestrictionHandler(ObjectRestriction expectedObjectRestriction, ArtifactProxy expectedArtifactProxy, AccessDetailCollector expectedCollector) { |
| - super(); |
| - this.expectedObjectRestriction = expectedObjectRestriction; |
| - this.expectedArtifactProxy = expectedArtifactProxy; |
| - this.expectedCollector = expectedCollector; |
| - reset(); |
| - } |
| - |
| - @Override |
| - public Object asCastedObject(ObjectRestriction objectRestriction) { |
| - return null; |
| - } |
| - |
| - public void reset() { |
| - wasProcessCalled = false; |
| - } |
| - |
| - public boolean wasProcessCalled() { |
| - return wasProcessCalled; |
| - } |
| - |
| - @Override |
| - public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector, Scope scopeLevel) { |
| - wasProcessCalled = true; |
| - Assert.assertEquals(expectedObjectRestriction, objectRestriction); |
| - Assert.assertEquals(expectedArtifactProxy, artifactProxy); |
| - Assert.assertEquals(expectedCollector, collector); |
| - } |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration/OSGI-INF/access.model.interpreter.xml b/plugins/org.eclipse.osee.framework.core.dsl.integration/OSGI-INF/access.model.interpreter.xml |
| deleted file mode 100644 |
| index 1ca5d47756..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/OSGI-INF/access.model.interpreter.xml |
| +++ /dev/null |
| @@ -1,9 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop"> |
| - <implementation class="org.eclipse.osee.framework.core.dsl.integration.internal.AccessModelInterpreterProxy"/> |
| - <service> |
| - <provide interface="org.eclipse.osee.framework.core.dsl.integration.AccessModelInterpreter"/> |
| - </service> |
| - <reference bind="setArtifactDataProvider" cardinality="1..1" interface="org.eclipse.osee.framework.core.dsl.integration.ArtifactDataProvider" name="ArtifactDataProvider" policy="static"/> |
| - <reference cardinality="1..1" interface="org.eclipse.core.resources.IWorkspace" name="IWorkspace" policy="static"/> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/AccessDataCollector.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/AccessDataCollector.java |
| deleted file mode 100644 |
| index ffff89ed23..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/AccessDataCollector.java |
| +++ /dev/null |
| @@ -1,55 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2020 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration; |
| - |
| -import java.util.LinkedList; |
| -import java.util.List; |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| - |
| -/** |
| - * @author Ryan D. Brooks |
| - */ |
| -public final class AccessDataCollector implements AccessDetailCollector { |
| - private final List<AccessDetail<?>> accessDetails; |
| - |
| - public AccessDataCollector() { |
| - this.accessDetails = new LinkedList<>(); |
| - } |
| - |
| - @Override |
| - public void collect(AccessDetail<?> accessDetail) { |
| - if (accessDetail != null) { |
| - accessDetails.add(accessDetail); |
| - } |
| - } |
| - |
| - @Override |
| - public List<AccessDetail<?>> getAccessDetails() { |
| - return accessDetails; |
| - } |
| - |
| - @Override |
| - public boolean contains(Object expectedAccessObject, PermissionEnum expectedPermission, Scope expectedScopeLevel) { |
| - for (AccessDetail<?> accessDetail : accessDetails) { |
| - if (expectedPermission.equals(accessDetail.getPermission()) && expectedAccessObject.equals( |
| - accessDetail.getAccessObject()) && expectedScopeLevel.equals(accessDetail.getScope())) { |
| - return true; |
| - } |
| - } |
| - return false; |
| - } |
| -} |
| \ 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/AccessModelInterpreter.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/AccessModelInterpreter.java |
| deleted file mode 100644 |
| index ab829cc31c..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/AccessModelInterpreter.java |
| +++ /dev/null |
| @@ -1,30 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration; |
| - |
| -import java.util.Collection; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessContext; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public interface AccessModelInterpreter { |
| - |
| - AccessContext getContext(Collection<AccessContext> contexts, AccessContextToken contextId); |
| - |
| - void computeAccessDetails(AccessDetailCollector collector, AccessContext context, Object objectToCheck); |
| - |
| -} |
| 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 |
| deleted file mode 100644 |
| index 13a958c4e0..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/OseeDslAccessModel.java |
| +++ /dev/null |
| @@ -1,57 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration; |
| - |
| -import java.util.Collection; |
| -import org.eclipse.osee.framework.core.access.AccessData; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessContext; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDsl; |
| -import org.eclipse.osee.framework.core.model.access.AccessModel; |
| -import org.eclipse.osee.framework.jdk.core.util.Conditions; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class OseeDslAccessModel implements AccessModel { |
| - private final AccessModelInterpreter interpreter; |
| - private final OseeDslProvider dslProvider; |
| - |
| - public OseeDslAccessModel(AccessModelInterpreter interpreter, OseeDslProvider dslProvider) { |
| - this.interpreter = interpreter; |
| - this.dslProvider = dslProvider; |
| - } |
| - |
| - @Override |
| - public void computeAccess(AccessContextToken contextId, Collection<Object> objectsToCheck, AccessData accessData) { |
| - Conditions.checkNotNull(contextId, "contextId"); |
| - Conditions.checkNotNull(objectsToCheck, "objectsToCheck"); |
| - Conditions.checkNotNull(accessData, "accessData"); |
| - |
| - OseeDsl oseeDsl = dslProvider.getDsl(); |
| - Conditions.checkNotNull(oseeDsl, "oseeDsl", "dsl provider returned null"); |
| - |
| - Collection<AccessContext> contexts = oseeDsl.getAccessDeclarations(); |
| - AccessContext context = interpreter.getContext(contexts, contextId); |
| - Conditions.checkNotNull(context, "interpreted accessContext", |
| - "No matching access context was found in access dsl for [%s]", contextId); |
| - |
| - for (Object objectToCheck : objectsToCheck) { |
| - AccessDetailCollector collector = new AccessDataCollector(); |
| - interpreter.computeAccessDetails(collector, context, objectToCheck); |
| - accessData.addAll(objectToCheck, collector.getAccessDetails()); |
| - } |
| - } |
| -} |
| \ 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/RestrictionHandler.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/RestrictionHandler.java |
| deleted file mode 100644 |
| index 2c3c34aa73..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/RestrictionHandler.java |
| +++ /dev/null |
| @@ -1,28 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration; |
| - |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.dsl.integration.ArtifactDataProvider.ArtifactProxy; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public interface RestrictionHandler<T> { |
| - public T asCastedObject(ObjectRestriction objectRestriction); |
| - |
| - public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector, Scope scopeLevel); |
| -} |
| \ 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 |
| deleted file mode 100644 |
| index 56658f1e1f..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterImpl.java |
| +++ /dev/null |
| @@ -1,124 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -import java.util.Collection; |
| -import java.util.HashSet; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.dsl.integration.AccessModelInterpreter; |
| -import org.eclipse.osee.framework.core.dsl.integration.ArtifactDataProvider; |
| -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; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.HierarchyRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactMatcher; |
| -import org.eclipse.osee.framework.jdk.core.util.Conditions; |
| -import org.eclipse.osee.framework.jdk.core.util.Strings; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class AccessModelInterpreterImpl implements AccessModelInterpreter { |
| - |
| - private final ArtifactDataProvider provider; |
| - private final ArtifactMatchInterpreter matcher; |
| - private final Collection<RestrictionHandler<?>> restrictionHandlers; |
| - |
| - public AccessModelInterpreterImpl(ArtifactDataProvider provider, ArtifactMatchInterpreter matcher, RestrictionHandler<?>... restricitionHandlers) { |
| - this.provider = provider; |
| - this.matcher = matcher; |
| - this.restrictionHandlers = new HashSet<>(); |
| - for (RestrictionHandler<?> handler : restricitionHandlers) { |
| - restrictionHandlers.add(handler); |
| - } |
| - } |
| - |
| - @Override |
| - public AccessContext getContext(Collection<AccessContext> contexts, AccessContextToken contextId) { |
| - Conditions.checkNotNull(contexts, "accessContext collection"); |
| - Conditions.checkNotNull(contextId, "accessContextId"); |
| - AccessContext toReturn = null; |
| - for (AccessContext accessContext : contexts) { |
| - if (contextId.equals(Long.valueOf(Strings.unquote(accessContext.getId())))) { |
| - toReturn = accessContext; |
| - } |
| - } |
| - return toReturn; |
| - } |
| - |
| - @Override |
| - public void computeAccessDetails(AccessDetailCollector collector, AccessContext context, Object objectToCheck) { |
| - Conditions.checkNotNull(collector, "accessDetailCollector"); |
| - Conditions.checkNotNull(context, "accessContext"); |
| - Conditions.checkNotNull(objectToCheck, "objectToCheck"); |
| - |
| - if (provider.isApplicable(objectToCheck)) { |
| - ArtifactProxy data = provider.asCastedObject(objectToCheck); |
| - Conditions.checkNotNull(data, "artifactData", |
| - "artifact data provider returned null - provider has an isApplicable error"); |
| - |
| - collectApplicable(collector, context, data); |
| - } |
| - } |
| - |
| - private void collectApplicable(AccessDetailCollector collector, AccessContext context, ArtifactProxy artifactData) { |
| - Scope scope = getScope(context); |
| - processContext(collector, context, artifactData, scope); |
| - |
| - for (AccessContext superContext : context.getSuperAccessContexts()) { |
| - collectApplicable(collector, superContext, artifactData); |
| - } |
| - } |
| - |
| - 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) { |
| - 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)) { |
| - 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, Scope scope) { |
| - for (ObjectRestriction objectRestriction : restrictions) { |
| - for (RestrictionHandler<?> restrictionHandler : restrictionHandlers) { |
| - 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/AccessModelInterpreterProxy.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterProxy.java |
| deleted file mode 100644 |
| index f0e28cf955..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AccessModelInterpreterProxy.java |
| +++ /dev/null |
| @@ -1,79 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -import java.util.Collection; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| -import org.eclipse.osee.framework.core.dsl.integration.AccessModelInterpreter; |
| -import org.eclipse.osee.framework.core.dsl.integration.ArtifactDataProvider; |
| -import org.eclipse.osee.framework.core.dsl.integration.RestrictionHandler; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessContext; |
| -import org.eclipse.osee.framework.jdk.core.util.Conditions; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class AccessModelInterpreterProxy implements AccessModelInterpreter { |
| - |
| - private ArtifactDataProvider artifactDataProvider; |
| - private AccessModelInterpreter proxiedService; |
| - |
| - public void setArtifactDataProvider(ArtifactDataProvider artifactDataProvider) { |
| - this.artifactDataProvider = artifactDataProvider; |
| - } |
| - |
| - public void start() { |
| - // Do Nothing |
| - } |
| - |
| - public void stop() { |
| - proxiedService = null; |
| - } |
| - |
| - private boolean isReady() { |
| - return artifactDataProvider != null; |
| - } |
| - |
| - private synchronized AccessModelInterpreter getProxiedService() { |
| - if (isReady() && proxiedService == null) { |
| - ArtifactMatchInterpreter matcher = new ArtifactMatchInterpreter(); |
| - |
| - RestrictionHandler<?>[] restrictionHandlers = new RestrictionHandler<?>[] { |
| - new ArtifactMatchRestrictionHandler(matcher), |
| - new ArtifactTypeRestrictionHandler(), |
| - new AttributeTypeRestrictionHandler(), |
| - new RelationTypeRestrictionHandler(matcher)}; |
| - |
| - proxiedService = new AccessModelInterpreterImpl(artifactDataProvider, matcher, restrictionHandlers); |
| - } |
| - return proxiedService; |
| - } |
| - |
| - private void checkInitialized() { |
| - Conditions.checkNotNull(getProxiedService(), "AccessModelInterpreter"); |
| - } |
| - |
| - @Override |
| - public AccessContext getContext(Collection<AccessContext> contexts, AccessContextToken contextId) { |
| - checkInitialized(); |
| - return getProxiedService().getContext(contexts, contextId); |
| - } |
| - |
| - @Override |
| - public void computeAccessDetails(AccessDetailCollector collector, AccessContext context, Object objectToCheck) { |
| - checkInitialized(); |
| - getProxiedService().computeAccessDetails(collector, context, objectToCheck); |
| - } |
| -} |
| 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 |
| deleted file mode 100644 |
| index 1b8b8baeb1..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchRestrictionHandler.java |
| +++ /dev/null |
| @@ -1,58 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -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.ArtifactMatchRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactMatcher; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class ArtifactMatchRestrictionHandler implements RestrictionHandler<ArtifactMatchRestriction> { |
| - |
| - private final ArtifactMatchInterpreter matcherInterpreter; |
| - |
| - public ArtifactMatchRestrictionHandler(ArtifactMatchInterpreter matcherInterpreter) { |
| - this.matcherInterpreter = matcherInterpreter; |
| - } |
| - |
| - @Override |
| - public ArtifactMatchRestriction asCastedObject(ObjectRestriction objectRestriction) { |
| - ArtifactMatchRestriction toReturn = null; |
| - if (objectRestriction instanceof ArtifactMatchRestriction) { |
| - toReturn = (ArtifactMatchRestriction) objectRestriction; |
| - } |
| - return toReturn; |
| - } |
| - |
| - @Override |
| - public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector, Scope scope) { |
| - 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<>(artifactProxy, 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 |
| deleted file mode 100644 |
| index c16266e796..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactTypeRestrictionHandler.java |
| +++ /dev/null |
| @@ -1,54 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| -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.ArtifactTypeRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactType; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class ArtifactTypeRestrictionHandler implements RestrictionHandler<ArtifactTypeRestriction> { |
| - |
| - @Override |
| - public ArtifactTypeRestriction asCastedObject(ObjectRestriction objectRestriction) { |
| - ArtifactTypeRestriction toReturn = null; |
| - if (objectRestriction instanceof ArtifactTypeRestriction) { |
| - toReturn = (ArtifactTypeRestriction) objectRestriction; |
| - } |
| - return toReturn; |
| - } |
| - |
| - @Override |
| - public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector, Scope scope) { |
| - ArtifactTypeRestriction restriction = asCastedObject(objectRestriction); |
| - if (restriction != null) { |
| - XArtifactType artifactTypeRef = restriction.getArtifactTypeRef(); |
| - ArtifactTypeToken typeToMatch = OseeUtil.toToken(artifactTypeRef); |
| - |
| - if (artifactProxy.isOfType(typeToMatch)) { |
| - PermissionEnum permission = OseeUtil.getPermission(restriction); |
| - collector.collect(new AccessDetail<ArtifactTypeToken>(artifactProxy.getArtifactType(), permission, scope)); |
| - } |
| - } |
| - } |
| -} |
| \ 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/AttributeTypeRestrictionHandler.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AttributeTypeRestrictionHandler.java |
| deleted file mode 100644 |
| index f9fc9e43a9..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/AttributeTypeRestrictionHandler.java |
| +++ /dev/null |
| @@ -1,66 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| -import org.eclipse.osee.framework.core.data.AttributeTypeId; |
| -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.AttributeTypeRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactType; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XAttributeType; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class AttributeTypeRestrictionHandler implements RestrictionHandler<AttributeTypeRestriction> { |
| - |
| - @Override |
| - public AttributeTypeRestriction asCastedObject(ObjectRestriction objectRestriction) { |
| - AttributeTypeRestriction toReturn = null; |
| - if (objectRestriction instanceof AttributeTypeRestriction) { |
| - toReturn = (AttributeTypeRestriction) objectRestriction; |
| - } |
| - return toReturn; |
| - } |
| - |
| - @Override |
| - public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector, Scope scopeLevel) { |
| - AttributeTypeRestriction restriction = asCastedObject(objectRestriction); |
| - if (restriction != null) { |
| - XAttributeType attributeTypeRef = restriction.getAttributeTypeRef(); |
| - AttributeTypeId attributeTypeToMatch = OseeUtil.toToken(attributeTypeRef); |
| - boolean isApplicable = artifactProxy.isAttributeTypeValid(attributeTypeToMatch); |
| - if (isApplicable) { |
| - XArtifactType artifactTypeRef = restriction.getArtifactTypeRef(); |
| - if (artifactTypeRef != null) { |
| - isApplicable = false; |
| - ArtifactTypeToken typeToMatch = OseeUtil.toToken(artifactTypeRef); |
| - isApplicable = artifactProxy.isOfType(typeToMatch); |
| - } |
| - } |
| - |
| - if (isApplicable) { |
| - PermissionEnum permission = OseeUtil.getPermission(restriction); |
| - collector.collect(new AccessDetail<>(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 |
| deleted file mode 100644 |
| index f24df33c37..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/internal/RelationTypeRestrictionHandler.java |
| +++ /dev/null |
| @@ -1,130 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.dsl.integration.internal; |
| - |
| -import java.util.Collection; |
| -import java.util.Collections; |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.AccessDetailCollector; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| -import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| -import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| -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.ObjectRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeArtifactPredicate; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeArtifactTypePredicate; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypePredicate; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeRestriction; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactMatcher; |
| -import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactType; |
| -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; |
| -import org.eclipse.osee.framework.core.enums.RelationSide; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -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; |
| - if (objectRestriction instanceof RelationTypeRestriction) { |
| - toReturn = (RelationTypeRestriction) objectRestriction; |
| - } |
| - return toReturn; |
| - } |
| - |
| - @Override |
| - public void process(ObjectRestriction objectRestriction, ArtifactProxy artifactProxy, AccessDetailCollector collector, Scope scope) { |
| - RelationTypeRestriction restriction = asCastedObject(objectRestriction); |
| - if (restriction != null) { |
| - XRelationSideEnum restrictedSide = restriction.getRestrictedToSide(); |
| - |
| - Scope toUse = scope; |
| - |
| - RelationTypePredicate predicate = restriction.getPredicate(); |
| - if (predicate instanceof RelationTypeArtifactPredicate) { |
| - RelationTypeArtifactPredicate artifactPredicate = (RelationTypeArtifactPredicate) predicate; |
| - XArtifactMatcher artifactMatcher = artifactPredicate.getArtifactMatcherRef(); |
| - |
| - if (artifactMatcher != null && matcherInterpreter != null) { |
| - if (matcherInterpreter.matches(artifactMatcher, artifactProxy)) { |
| - toUse = scope.clone().addSubPath(artifactProxy.getName()); |
| - } |
| - } |
| - } else if (predicate instanceof RelationTypeArtifactTypePredicate) { |
| - RelationTypeArtifactTypePredicate artifactTypePredicate = (RelationTypeArtifactTypePredicate) predicate; |
| - XArtifactType artifactTypeRef = artifactTypePredicate.getArtifactTypeRef(); |
| - if (artifactTypeRef != null) { |
| - ArtifactTypeToken ruleType = |
| - ArtifactTypeToken.valueOf(Long.valueOf(artifactTypeRef.getId()), artifactTypeRef.getName()); |
| - if (artifactProxy.isOfType(ruleType)) { |
| - toUse = scope.clone().addSubPath(artifactProxy.getName()); |
| - } |
| - } |
| - } |
| - |
| - Collection<RelationTypeToken> relationTypes = getRelationTypes(artifactProxy, restriction); |
| - PermissionEnum permission = OseeUtil.getPermission(restriction); |
| - |
| - for (RelationTypeToken relationType : relationTypes) { |
| - for (RelationSide relationSide : RelationSide.values()) { |
| - if (OseeUtil.isRestrictedSide(restrictedSide, relationSide)) { |
| - collector.collect( |
| - new AccessDetail<>(new RelationTypeSide(relationType, relationSide), permission, toUse)); |
| - } |
| - } |
| - } |
| - } |
| - } |
| - |
| - private Collection<RelationTypeToken> getRelationTypes(ArtifactProxy artifactProxy, RelationTypeRestriction restriction) { |
| - Collection<RelationTypeToken> types; |
| - if (restriction.isRelationTypeMatch()) { |
| - types = artifactProxy.getValidRelationTypes(); |
| - } else { |
| - XRelationType xRelationType = restriction.getRelationTypeRef(); |
| - Long typeToMatch = OseeUtil.checkAndGetUuid(xRelationType); |
| - RelationTypeToken relationType = getRelationType(typeToMatch, artifactProxy); |
| - if (relationType != null) { |
| - types = Collections.singleton(relationType); |
| - } else { |
| - types = Collections.emptyList(); |
| - } |
| - } |
| - return types; |
| - } |
| - |
| - private RelationTypeToken getRelationType(Long typeToMatch, ArtifactProxy artifactProxy) { |
| - RelationTypeToken toReturn = null; |
| - Collection<RelationTypeToken> relationTypes = artifactProxy.getValidRelationTypes(); |
| - for (RelationTypeToken relationType : relationTypes) { |
| - if (relationType.equals(typeToMatch)) { |
| - toReturn = relationType; |
| - break; |
| - } |
| - } |
| - return toReturn; |
| - } |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/GenerateOseeDsl.mwe2 b/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/GenerateOseeDsl.mwe2 |
| deleted file mode 100644 |
| index 8348c701ad..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/GenerateOseeDsl.mwe2 |
| +++ /dev/null |
| @@ -1,126 +0,0 @@ |
| -module org.eclipse.osee.framework.core.dsl.OseeDsl |
| - |
| -import org.eclipse.emf.mwe.utils.* |
| -import org.eclipse.xtext.generator.* |
| -import org.eclipse.xtext.ui.generator.* |
| - |
| -var grammarURI = "classpath:/org/eclipse/osee/framework/core/dsl/OseeDsl.xtext" |
| -var file.extensions = "osee" |
| -var projectName = "org.eclipse.osee.framework.core.dsl" |
| -var runtimeProject = "../${projectName}" |
| - |
| -Workflow { |
| - bean = StandaloneSetup { |
| - platformUri = "${runtimeProject}/.." |
| - } |
| - |
| - component = DirectoryCleaner { |
| - directory = "${runtimeProject}/src-gen" |
| - } |
| - |
| - component = DirectoryCleaner { |
| - directory = "${runtimeProject}.ui/src-gen" |
| - } |
| - |
| - component = Generator { |
| - pathRtProject = runtimeProject |
| - pathUiProject = "${runtimeProject}.ui" |
| - projectNameRt = projectName |
| - projectNameUi = "${projectName}.ui" |
| - language = { |
| - uri = grammarURI |
| - fileExtensions = file.extensions |
| - |
| - // Java API to access grammar elements (required by several other fragments) |
| - fragment = grammarAccess.GrammarAccessFragment {} |
| - |
| - // generates Java API for the generated EPackages |
| - fragment = ecore.EcoreGeneratorFragment { |
| - // referencedGenModels = "uri to genmodel, uri to next genmodel" |
| - } |
| - |
| - fragment = serializer.SerializerFragment { |
| - generateStub = false |
| - } |
| - |
| - // the serialization component |
| - // fragment = parseTreeConstructor.ParseTreeConstructorFragment {} |
| - |
| - // a custom ResourceFactory for use with EMF |
| - fragment = resourceFactory.ResourceFactoryFragment { |
| - fileExtensions = file.extensions |
| - } |
| - |
| - // The antlr parser generator fragment. |
| - fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject { |
| - antlrParam = "-Xconversiontimeout" |
| - antlrParam = "200000"// options = { |
| -// backtrack = true |
| -// } |
| - } |
| - |
| - // java-based API for validation |
| - fragment = validation.JavaValidatorFragment { |
| - composedCheck = "org.eclipse.xtext.validation.ImportUriValidator" |
| - composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"// registerForImportedPackages = true |
| - } |
| - |
| - // scoping and exporting API |
| - // fragment = scoping.ImportURIScopingFragment {} |
| - // fragment = exporting.SimpleNamesFragment {} |
| - |
| - // scoping and exporting API |
| - fragment = scoping.ImportNamespacesScopingFragment {} |
| - fragment = exporting.QualifiedNamesFragment {} |
| - fragment = builder.BuilderIntegrationFragment {} |
| - |
| - // generator API |
| - fragment = generator.GeneratorFragment { |
| - generateMwe = false |
| - generateJavaMain = false |
| - } |
| - |
| - // formatter API |
| - fragment = formatting.FormatterFragment {} |
| - |
| - // labeling API |
| - fragment = labeling.LabelProviderFragment {} |
| - |
| - // outline API |
| - fragment = outline.OutlineTreeProviderFragment {} |
| - fragment = outline.QuickOutlineFragment {} |
| - |
| - // quickfix API |
| - fragment = quickfix.QuickfixProviderFragment {} |
| - |
| - // content assist API |
| - fragment = contentAssist.JavaBasedContentAssistFragment {} |
| - |
| - // generates a more lightweight Antlr parser and lexer tailored for content assist |
| - fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject { |
| - antlrParam = "-Xconversiontimeout" |
| - antlrParam = "200000" |
| - } |
| - |
| - // project wizard (optional) |
| - // fragment = projectWizard.SimpleProjectWizardFragment { |
| - // generatorProjectName = "${projectName}.generator" |
| - // modelFileExtension = file.extensions |
| - // } |
| - |
| - // renamerefactoring |
| - fragment = refactoring.RefactorElementNameFragment {} |
| - // provides the necessary bindings for java types integration |
| - fragment = types.TypesGeneratorFragment {} |
| - // generates the required bindings only if the grammar inherits fromXbase |
| - fragment = xbase.XbaseGeneratorFragment {} |
| - // provides a preference page for template proposals |
| - fragment = templates.CodetemplatesGeneratorFragment {} |
| - // provides a compare view |
| - fragment = compare.CompareFragment { |
| - fileExtensions = file.extensions |
| - } |
| - |
| - } |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/generator/OseeDslGenerator.xtend b/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/generator/OseeDslGenerator.xtend |
| deleted file mode 100644 |
| index ea6d345095..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/generator/OseeDslGenerator.xtend |
| +++ /dev/null |
| @@ -1,24 +0,0 @@ |
| -/* |
| - * generated by Xtext |
| - */ |
| -package org.eclipse.osee.framework.core.dsl.generator |
| - |
| -import org.eclipse.emf.ecore.resource.Resource |
| -import org.eclipse.xtext.generator.IGenerator |
| -import org.eclipse.xtext.generator.IFileSystemAccess |
| - |
| -/** |
| - * Generates code from your model files on save. |
| - * |
| - * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation |
| - */ |
| -class OseeDslGenerator implements IGenerator { |
| - |
| - override void doGenerate(Resource resource, IFileSystemAccess fsa) { |
| -// fsa.generateFile('greetings.txt', 'People to greet: ' + |
| -// resource.allContents |
| -// .filter(typeof(Greeting)) |
| -// .map[name] |
| -// .join(', ')) |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/AccessDataQueryTest.java b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/AccessDataQueryTest.java |
| deleted file mode 100644 |
| index 031dac1a34..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/AccessDataQueryTest.java |
| +++ /dev/null |
| @@ -1,218 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.model.access; |
| - |
| -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.Folder; |
| -import org.eclipse.osee.framework.core.access.AccessData; |
| -import org.eclipse.osee.framework.core.access.AccessDataQuery; |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.PermissionStatus; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| -import org.eclipse.osee.framework.core.data.AttributeTypeId; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| -import org.eclipse.osee.framework.core.data.BranchToken; |
| -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| -import org.eclipse.osee.framework.core.enums.CoreBranches; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.core.model.mocks.MockDataFactory; |
| -import org.junit.Assert; |
| -import org.junit.Test; |
| - |
| -/** |
| - * Test Case for {@link AccessDataQuery} |
| - * |
| - * @author Jeff C. Phillips |
| - */ |
| -public class AccessDataQueryTest { |
| - |
| - @Test |
| - public void testBranch() { |
| - BranchId branchToCheck = CoreBranches.SYSTEM_ROOT; |
| - |
| - TestObject testObject = getTestData(); |
| - AccessData data = testObject.getAccessData(); |
| - |
| - AccessDataQuery query = new AccessDataQuery(data); |
| - PermissionStatus status = new PermissionStatus(); |
| - |
| - query.branchMatches(PermissionEnum.WRITE, branchToCheck, status); |
| - Assert.assertTrue(status.matched()); |
| - |
| - query.branchMatches(PermissionEnum.FULLACCESS, branchToCheck, status); |
| - Assert.assertFalse(status.matched()); |
| - } |
| - |
| - @Test |
| - public void testArtifactType() { |
| - TestObject testObject = getTestData(); |
| - AccessData data = testObject.getAccessData(); |
| - ArtifactToken artifactToCheck = testObject.getArtifact(); |
| - |
| - AccessDataQuery query = new AccessDataQuery(data); |
| - PermissionStatus status = new PermissionStatus(); |
| - |
| - query.artifactTypeMatches(PermissionEnum.WRITE, artifactToCheck, status); |
| - Assert.assertTrue(status.matched()); |
| - |
| - query.artifactTypeMatches(PermissionEnum.FULLACCESS, artifactToCheck, status); |
| - Assert.assertFalse(status.matched()); |
| - } |
| - |
| - @Test |
| - public void testArtifact() { |
| - TestObject testObject = getTestData(); |
| - AccessData data = testObject.getAccessData(); |
| - ArtifactToken artifactToCheck = testObject.getArtifact(); |
| - |
| - AccessDataQuery query = new AccessDataQuery(data); |
| - PermissionStatus status = new PermissionStatus(); |
| - |
| - query.artifactMatches(PermissionEnum.WRITE, artifactToCheck, status); |
| - Assert.assertTrue(status.matched()); |
| - } |
| - |
| - @Test |
| - public void testAttributeType() { |
| - TestObject testObject = getTestData(); |
| - AccessData data = testObject.getAccessData(); |
| - ArtifactToken artifactToCheck = testObject.getArtifact(); |
| - |
| - AttributeTypeId attributeType = CoreAttributeTypes.ParagraphNumber; |
| - AttributeTypeId wordAttributeType = CoreAttributeTypes.WordTemplateContent; |
| - |
| - data.add(artifactToCheck, new AccessDetail<>(attributeType, PermissionEnum.WRITE, new Scope())); |
| - data.add(artifactToCheck, new AccessDetail<>(wordAttributeType, PermissionEnum.READ, new Scope())); |
| - |
| - AccessDataQuery query = new AccessDataQuery(data); |
| - PermissionStatus status = new PermissionStatus(); |
| - |
| - query.artifactMatches(PermissionEnum.WRITE, artifactToCheck, status); |
| - Assert.assertTrue(status.matched()); |
| - |
| - query.attributeTypeMatches(PermissionEnum.READ, artifactToCheck, wordAttributeType, status); |
| - Assert.assertTrue(status.matched()); |
| - |
| - query.attributeTypeMatches(PermissionEnum.WRITE, artifactToCheck, wordAttributeType, status); |
| - Assert.assertFalse(status.matched()); |
| - |
| - query.artifactTypeMatches(PermissionEnum.WRITE, artifactToCheck, status); |
| - Assert.assertTrue(status.matched()); |
| - |
| - query.artifactTypeMatches(PermissionEnum.FULLACCESS, artifactToCheck, status); |
| - Assert.assertFalse(status.matched()); |
| - } |
| - |
| - @Test |
| - public void testArtifactMatchesAll() { |
| - AccessData data = new AccessData(); |
| - BranchToken branch = CoreBranches.COMMON; |
| - ArtifactTypeToken artifactType = CoreArtifactTypes.AbstractSoftwareRequirement; |
| - |
| - ArtifactToken artifact1 = ArtifactToken.valueOf(1, "one", branch, artifactType); |
| - ArtifactToken artifact2 = ArtifactToken.valueOf(2, "two", branch, artifactType); |
| - |
| - data.add(artifact1, new AccessDetail<>(artifact1, PermissionEnum.READ, new Scope())); |
| - data.add(artifact2, new AccessDetail<>(artifact2, PermissionEnum.WRITE, new Scope())); |
| - |
| - AccessDataQuery query = new AccessDataQuery(data); |
| - |
| - Assert.assertTrue(query.matchesAll(PermissionEnum.READ)); |
| - Assert.assertFalse(query.matchesAll(PermissionEnum.WRITE)); |
| - } |
| - |
| - @Test |
| - public void testBranchMatchesAll() { |
| - AccessData data = new AccessData(); |
| - BranchId common = CoreBranches.COMMON; |
| - BranchId branch = CoreBranches.SYSTEM_ROOT; |
| - |
| - data.add(common, new AccessDetail<>(common, PermissionEnum.READ, new Scope())); |
| - data.add(branch, new AccessDetail<>(branch, PermissionEnum.WRITE, new Scope())); |
| - |
| - AccessDataQuery query = new AccessDataQuery(data); |
| - |
| - Assert.assertTrue(query.matchesAll(PermissionEnum.READ)); |
| - Assert.assertFalse(query.matchesAll(PermissionEnum.WRITE)); |
| - } |
| - |
| - @Test |
| - public void testArtifactMatches() { |
| - BranchToken branch = CoreBranches.COMMON; |
| - ArtifactToken accessArtifact = ArtifactToken.valueOf(45, "test1", branch, Folder); |
| - ArtifactToken typeAccessArtifact = ArtifactToken.valueOf(46, "test2", branch, Folder); |
| - ArtifactToken noAccessArtifact = ArtifactToken.valueOf(47, "test3", branch, Folder); |
| - ArtifactTypeToken artType = CoreArtifactTypes.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() { |
| - BranchToken branchToCheck = CoreBranches.SYSTEM_ROOT; |
| - ArtifactTypeToken artifactType = CoreArtifactTypes.AbstractSoftwareRequirement; |
| - ArtifactToken artifactToCheck = ArtifactToken.valueOf(12, "Hello", branchToCheck, artifactType); |
| - AccessData data = new AccessData(); |
| - |
| - data.add(branchToCheck, new AccessDetail<BranchId>(branchToCheck, PermissionEnum.WRITE, new Scope())); |
| - data.add(artifactToCheck, new AccessDetail<>(artifactToCheck, PermissionEnum.WRITE, new Scope())); |
| - data.add(artifactToCheck, new AccessDetail<>(artifactType, PermissionEnum.WRITE, new Scope())); |
| - |
| - return new TestObject(artifactToCheck, data); |
| - } |
| - |
| - private class TestObject { |
| - final ArtifactToken artifact; |
| - final AccessData accessData; |
| - |
| - public TestObject(ArtifactToken artifact, AccessData accessData) { |
| - super(); |
| - this.artifact = artifact; |
| - this.accessData = accessData; |
| - } |
| - |
| - public ArtifactToken getArtifact() { |
| - return artifact; |
| - } |
| - |
| - public AccessData getAccessData() { |
| - return accessData; |
| - } |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/AccessDataTest.java b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/AccessDataTest.java |
| deleted file mode 100644 |
| index e7639ca8a1..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/AccessDataTest.java |
| +++ /dev/null |
| @@ -1,270 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.model.access; |
| - |
| -import static org.eclipse.osee.framework.core.enums.CoreBranches.COMMON; |
| -import java.util.ArrayList; |
| -import java.util.Collection; |
| -import java.util.Collections; |
| -import java.util.Set; |
| -import org.eclipse.osee.framework.core.access.AccessData; |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| -import org.eclipse.osee.framework.core.data.AttributeTypeId; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| -import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| -import org.eclipse.osee.framework.core.enums.CoreBranches; |
| -import org.eclipse.osee.framework.core.enums.CoreRelationTypes; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.core.enums.RelationSide; |
| -import org.eclipse.osee.framework.core.model.mocks.MockDataFactory; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| -import org.eclipse.osee.framework.jdk.core.util.Compare; |
| -import org.junit.Assert; |
| -import org.junit.Before; |
| -import org.junit.Test; |
| - |
| -/** |
| - * Test Case for {@link AccessData} |
| - * |
| - * @author Roberto E. Escobar |
| - */ |
| -public class AccessDataTest { |
| - |
| - private BranchId branchToCheck1; |
| - private BranchId branchToCheck2; |
| - private ArtifactTypeToken artifactType; |
| - private AttributeTypeId attributeType; |
| - private AttributeTypeId wordAttributeType; |
| - |
| - private RelationTypeSide relTypeSide1; |
| - private RelationTypeSide relTypeSide2; |
| - |
| - private ArtifactToken artifactToCheck; |
| - |
| - @Before |
| - public void setup() { |
| - branchToCheck1 = CoreBranches.SYSTEM_ROOT; |
| - branchToCheck2 = CoreBranches.COMMON; |
| - |
| - artifactType = CoreArtifactTypes.AbstractSoftwareRequirement; |
| - attributeType = CoreAttributeTypes.ParagraphNumber; |
| - wordAttributeType = CoreAttributeTypes.WordTemplateContent; |
| - |
| - relTypeSide1 = new RelationTypeSide(CoreRelationTypes.DEFAULT_HIERARCHY, RelationSide.SIDE_A); |
| - relTypeSide2 = new RelationTypeSide(CoreRelationTypes.DEFAULT_HIERARCHY, RelationSide.SIDE_B); |
| - |
| - artifactToCheck = ArtifactToken.valueOf(12, "Hello", COMMON); |
| - } |
| - |
| - @Test |
| - public void testIsEmpty() { |
| - AccessData data = new AccessData(); |
| - Assert.assertTrue(data.isEmpty()); |
| - data.add(new Object(), createDetail(7, new Object())); |
| - Assert.assertFalse(data.isEmpty()); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testAddNullCheck1() { |
| - AccessData data = new AccessData(); |
| - data.add(null, createDetail(4, new Object())); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testAddNullCheck2() { |
| - AccessData data = new AccessData(); |
| - data.add(new Object(), null); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testAddAllCheck1() { |
| - AccessData data = new AccessData(); |
| - data.addAll(null, Collections.<AccessDetail<?>> emptyList()); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testAddAllCheck2() { |
| - AccessData data = new AccessData(); |
| - data.addAll(new Object(), null); |
| - } |
| - |
| - @Test(expected = OseeArgumentException.class) |
| - public void testGetAccessNullCheck() { |
| - AccessData data = new AccessData(); |
| - data.getAccess(null); |
| - } |
| - |
| - @Test |
| - public void testAddAll() { |
| - Collection<AccessDetail<?>> expectedDetails = new ArrayList<>(); |
| - createTestObjects(expectedDetails, branchToCheck1, artifactType, attributeType, wordAttributeType, |
| - artifactToCheck, relTypeSide1, relTypeSide2, branchToCheck2); |
| - |
| - AccessData data = new AccessData(); |
| - data.addAll(artifactToCheck, expectedDetails); |
| - Collection<AccessDetail<?>> actualDetails = data.getAccess(artifactToCheck); |
| - Assert.assertEquals(expectedDetails.size(), actualDetails.size()); |
| - Assert.assertFalse(Compare.isDifferent(expectedDetails, actualDetails)); |
| - |
| - for (AccessDetail<?> expectedDetail : expectedDetails) { |
| - AccessDetail<?> actualDetail = findObject(expectedDetail, actualDetails); |
| - Assert.assertEquals(expectedDetail, actualDetail); |
| - Assert.assertEquals(expectedDetail.getPermission(), actualDetail.getPermission()); |
| - Assert.assertEquals(expectedDetail.getAccessObject(), actualDetail.getAccessObject()); |
| - Assert.assertEquals(expectedDetail.getReason(), actualDetail.getReason()); |
| - } |
| - } |
| - |
| - @Test |
| - public void testAccessDetailMerge() { |
| - AccessData data = new AccessData(); |
| - |
| - 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", new Scope().add("same_scope")); |
| - data.add(artifactToCheck, detail1); |
| - data.add(artifactToCheck, detail2); |
| - |
| - Collection<AccessDetail<?>> details = data.getAccess(artifactToCheck); |
| - Assert.assertTrue(details.size() == 1); |
| - AccessDetail<?> actualDetail = details.iterator().next(); |
| - Assert.assertEquals(detail1.getAccessObject(), actualDetail.getAccessObject()); |
| - Assert.assertEquals(detail2.getAccessObject(), actualDetail.getAccessObject()); |
| - |
| - Assert.assertEquals(PermissionEnum.DENY, actualDetail.getPermission()); |
| - Assert.assertEquals("item 1 - deny", actualDetail.getReason()); |
| - Assert.assertEquals("/same_scope", actualDetail.getScope().getPath()); |
| - } |
| - |
| - @Test |
| - public void testAccessDetailMultipleKeys() { |
| - 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", new Scope().add("same_scope")); |
| - |
| - AccessData data = new AccessData(); |
| - data.add(branchToCheck1, detail1); |
| - data.add(branchToCheck2, detail2); |
| - |
| - Set<Object> keys = data.keySet(); |
| - Assert.assertEquals(2, keys.size()); |
| - Assert.assertTrue(keys.contains(branchToCheck1)); |
| - Assert.assertTrue(keys.contains(branchToCheck2)); |
| - |
| - Collection<AccessDetail<?>> details = data.getAccess(branchToCheck1); |
| - Assert.assertTrue(details.size() == 1); |
| - AccessDetail<?> actualDetail = details.iterator().next(); |
| - Assert.assertEquals(detail1, actualDetail); |
| - |
| - details = data.getAccess(branchToCheck2); |
| - Assert.assertTrue(details.size() == 1); |
| - actualDetail = details.iterator().next(); |
| - Assert.assertEquals(detail2, actualDetail); |
| - Assert.assertEquals("/same_scope", actualDetail.getScope().getPath()); |
| - } |
| - |
| - @Test |
| - public void testAccessDetailMultipleScopeLevels() { |
| - 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() { |
| - 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() { |
| - 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", new Scope().add("scope 2")); |
| - |
| - AccessData data = new AccessData(); |
| - Assert.assertEquals("accessData []", data.toString()); |
| - data.add(branchToCheck1, detail1); |
| - data.add(branchToCheck2, detail2); |
| - |
| - String branch1 = |
| - "System Root Branch - AccessDetail [permission=DENY, scope=/scope_1, accessObject=RelationTypeSide [type=Default Hierarchical, side=SIDE_A], reason=item 1 - deny]"; |
| - String branch2 = |
| - "Common - AccessDetail [permission=WRITE, scope=/scope_2, accessObject=RelationTypeSide [type=Default Hierarchical, side=SIDE_A], reason=item 2 - write]"; |
| - String message = "accessData [\n\t%s,\n\t%s,\n]"; |
| - String forward = String.format(message, branch1, branch2); |
| - String backward = String.format(message, branch2, branch1); |
| - Assert.assertTrue(data.toString().equals(forward) || data.toString().equals(backward)); |
| - } |
| - |
| - private static AccessDetail<?> findObject(AccessDetail<?> item, Collection<AccessDetail<?>> details) { |
| - AccessDetail<?> toReturn = null; |
| - for (AccessDetail<?> detail : details) { |
| - if (item.equals(detail)) { |
| - toReturn = detail; |
| - break; |
| - } |
| - } |
| - return toReturn; |
| - } |
| - |
| - 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, |
| - new Scope().add("scope: " + index)); |
| - } |
| - |
| - private static void createTestObjects(Collection<AccessDetail<?>> expectedDetails, Object... objects) { |
| - int cnt = 1; |
| - for (Object expAccessObject : objects) { |
| - AccessDetail<?> detail = createDetail(cnt++, expAccessObject); |
| - expectedDetails.add(detail); |
| - } |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/AccessDetailTest.java b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/AccessDetailTest.java |
| deleted file mode 100644 |
| index 3208f8c79c..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/AccessDetailTest.java |
| +++ /dev/null |
| @@ -1,130 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.model.access; |
| - |
| -import java.util.ArrayList; |
| -import java.util.Collection; |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -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.model.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; |
| -import org.junit.runners.Parameterized.Parameters; |
| - |
| -/** |
| - * Test Case for {@link AccessDetail} |
| - * |
| - * @author Roberto E. Escobar |
| - */ |
| -@RunWith(Parameterized.class) |
| -public class AccessDetailTest { |
| - |
| - private final Object expAccessObject; |
| - 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, Scope scope) { |
| - this.target = target; |
| - this.expAccessObject = expAccessObject; |
| - this.expPermission = expPermission; |
| - this.expReason = expReason; |
| - this.scope = scope; |
| - } |
| - |
| - @Test |
| - public void testGetReason() { |
| - Assert.assertEquals(Strings.isValid(expReason) ? expReason : scope.getPath(), target.getReason()); |
| - } |
| - |
| - @Test |
| - public void testGetPermission() { |
| - Assert.assertEquals(expPermission, target.getPermission()); |
| - } |
| - |
| - @Test |
| - public void testGetAccessObject() { |
| - Assert.assertEquals(expAccessObject, target.getAccessObject()); |
| - } |
| - |
| - @Test |
| - public void testSetPermission() { |
| - Assert.assertEquals(expPermission, target.getPermission()); |
| - PermissionEnum anotherPermission = PermissionEnum.NONE; |
| - |
| - target.setPermission(anotherPermission); |
| - Assert.assertEquals(anotherPermission, target.getPermission()); |
| - |
| - target.setPermission(expPermission); |
| - Assert.assertEquals(expPermission, target.getPermission()); |
| - } |
| - |
| - @Test |
| - public void testHashCodeAndEquals() { |
| - Assert.assertTrue(target.equals(target)); |
| - Assert.assertTrue(target.hashCode() == target.hashCode()); |
| - |
| - 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, new Scope().add("nulled")); |
| - Assert.assertFalse(target.equals(nulled)); |
| - Assert.assertTrue(target.hashCode() != nulled.hashCode()); |
| - |
| - Collection<AccessDetail<?>> collect = new ArrayList<>(); |
| - collect.add(target); |
| - Assert.assertEquals(1, collect.size()); |
| - Assert.assertTrue(collect.contains(target)); |
| - Assert.assertTrue(collect.contains(other)); |
| - Assert.assertFalse(collect.contains(nulled)); |
| - } |
| - |
| - @Test |
| - public void testToString() { |
| - String expected = |
| - "AccessDetail [permission=" + expPermission + ", scope=" + scope + ", accessObject=" + expAccessObject + ", reason=" + (Strings.isValid( |
| - expReason) ? expReason : scope) + "]"; |
| - Assert.assertEquals(expected, target.toString()); |
| - } |
| - |
| - @Parameters |
| - public static Collection<Object[]> getData() { |
| - Collection<Object[]> data = new ArrayList<>(); |
| - 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, CoreArtifactTypes.TestUnit, PermissionEnum.FULLACCESS, "reason3", new Scope()); |
| - addTest(data, CoreAttributeTypes.Name, PermissionEnum.READ, "xx", new Scope().add("xx")); |
| - return data; |
| - } |
| - |
| - 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, 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/access/AccessTestSuite.java b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/AccessTestSuite.java |
| index d35ee07200..0ebf57a96d 100644 |
| --- a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/AccessTestSuite.java |
| +++ b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/AccessTestSuite.java |
| @@ -18,11 +18,7 @@ import org.junit.runners.Suite; |
| |
| @RunWith(Suite.class) |
| @Suite.SuiteClasses({// |
| - 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/access/ScopeTest.java b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/ScopeTest.java |
| deleted file mode 100644 |
| index 4e4a937042..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/access/ScopeTest.java |
| +++ /dev/null |
| @@ -1,83 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.model.access; |
| - |
| -import org.eclipse.osee.framework.core.access.Scope; |
| -import org.junit.Assert; |
| -import org.junit.Test; |
| - |
| -/** |
| - * @author John R. 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/mocks/MockDataFactory.java b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/mocks/MockDataFactory.java |
| index b06dacc110..527c7585b4 100644 |
| --- a/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/mocks/MockDataFactory.java |
| +++ b/plugins/org.eclipse.osee.framework.core.model.test/src/org/eclipse/osee/framework/core/model/mocks/MockDataFactory.java |
| @@ -14,12 +14,9 @@ |
| package org.eclipse.osee.framework.core.model.mocks; |
| |
| import java.util.Date; |
| -import org.eclipse.osee.framework.core.access.AccessDetail; |
| -import org.eclipse.osee.framework.core.access.Scope; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.enums.DemoUsers; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.enums.TransactionDetailsType; |
| import org.eclipse.osee.framework.core.model.TransactionRecord; |
| |
| @@ -31,16 +28,6 @@ public final class MockDataFactory { |
| // Utility Class |
| } |
| |
| - public static <T> AccessDetail<T> createAccessDetails(T expAccessObject, PermissionEnum expPermission, String expReason, Scope scope) { |
| - AccessDetail<T> target; |
| - if (expReason != null) { |
| - target = new AccessDetail<>(expAccessObject, expPermission, scope, expReason); |
| - } else { |
| - target = new AccessDetail<>(expAccessObject, expPermission, scope); |
| - } |
| - return target; |
| - } |
| - |
| public static TransactionRecord createTransaction(int index, long branchUuid) { |
| TransactionDetailsType type = |
| TransactionDetailsType.values[Math.abs(index % TransactionDetailsType.values.length)]; |
| diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessModel.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessModel.java |
| deleted file mode 100644 |
| index d0555ded17..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/AccessModel.java |
| +++ /dev/null |
| @@ -1,26 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.model.access; |
| - |
| -import java.util.Collection; |
| -import org.eclipse.osee.framework.core.access.AccessData; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public interface AccessModel { |
| - |
| - void computeAccess(AccessContextToken contextId, Collection<Object> objectsToCheck, AccessData accessData); |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/HasAccessModel.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/HasAccessModel.java |
| deleted file mode 100644 |
| index 7e1eb584bf..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/HasAccessModel.java |
| +++ /dev/null |
| @@ -1,21 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.model.access; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public interface HasAccessModel { |
| - AccessModel getAccessModel(); |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/services/CmAccessControl.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/services/CmAccessControl.java |
| deleted file mode 100644 |
| index 4ff2e9247b..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/services/CmAccessControl.java |
| +++ /dev/null |
| @@ -1,29 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.services; |
| - |
| -import java.util.Collection; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public interface CmAccessControl { |
| - |
| - boolean isApplicable(ArtifactToken user, Object object); |
| - |
| - Collection<? extends AccessContextToken> getContextId(ArtifactToken user, Object object); |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/services/CmAccessControlProvider.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/services/CmAccessControlProvider.java |
| deleted file mode 100644 |
| index f8b158a6a0..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/services/CmAccessControlProvider.java |
| +++ /dev/null |
| @@ -1,26 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.services; |
| - |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public interface CmAccessControlProvider { |
| - |
| - CmAccessControl getService(ArtifactToken user, Object object); |
| - |
| - void setDefaultAccessControl(CmAccessControl defaultAccessControl); |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/services/HasCmAccessControl.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/services/HasCmAccessControl.java |
| deleted file mode 100644 |
| index 8dc2e33a78..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/services/HasCmAccessControl.java |
| +++ /dev/null |
| @@ -1,22 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.services; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public interface HasCmAccessControl { |
| - |
| - CmAccessControl getAccessControl(); |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/AuthenticationManager.java b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/AuthenticationManager.java |
| index c5f05ab83c..be6739349b 100644 |
| --- a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/AuthenticationManager.java |
| +++ b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/AuthenticationManager.java |
| @@ -42,7 +42,7 @@ public class AuthenticationManager implements IAuthenticationManager { |
| } |
| |
| public void removeAuthenticationProvider(IAuthenticationProvider authenticationProvider) { |
| - authenticationProviders.remove(authenticationProvider).toString(); |
| + authenticationProviders.remove(authenticationProvider.getProtocol()).toString(); |
| } |
| |
| @Override |
| diff --git a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/authentication/DemoAuthenticationProvider.java b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/authentication/DemoAuthenticationProvider.java |
| index 9a9106ffad..69327572e0 100644 |
| --- a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/authentication/DemoAuthenticationProvider.java |
| +++ b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/authentication/DemoAuthenticationProvider.java |
| @@ -29,14 +29,10 @@ public class DemoAuthenticationProvider extends AbstractAuthenticationProvider { |
| |
| @Override |
| public UserToken asOseeUserId(OseeCredential credential) { |
| - for (UserToken token : DemoUsers.values()) { |
| - if (credential.getUserName().equals(token.getName().toLowerCase())) { |
| - UserToken userToken = getUserTokenFromOseeDb(token.getName()); |
| - if (userToken != null) { |
| - return userToken; |
| - } else { |
| - return createUserToken(token.getName(), token.getUserId(), "", true); |
| - } |
| + for (UserToken userToken : DemoUsers.values()) { |
| + if (credential.getUserName().equals(userToken.getUserId()) || credential.getUserName().equals( |
| + userToken.getName().toLowerCase())) { |
| + return userToken; |
| } |
| } |
| return createUserToken(DemoUsers.Joe_Smith.getName(), DemoUsers.Joe_Smith.getUserId(), "joe@boeing.com", true); |
| diff --git a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/session/DatabaseSessionAccessor.java b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/session/DatabaseSessionAccessor.java |
| index 31d3076a93..08f9ed2b40 100644 |
| --- a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/session/DatabaseSessionAccessor.java |
| +++ b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/session/DatabaseSessionAccessor.java |
| @@ -61,7 +61,9 @@ public final class DatabaseSessionAccessor implements CacheDataLoader<String, Se |
| } |
| |
| private void executeTx(SessionTxType op, Iterable<Session> sessions) { |
| - jdbcClient.runTransaction(new SessionTx(getJdbcClient(), op, sessions)); |
| + JdbcClient jdbcClient2 = getJdbcClient(); |
| + SessionTx transaction = new SessionTx(jdbcClient2, op, sessions); |
| + jdbcClient.runTransaction(transaction); |
| } |
| |
| @Override |
| diff --git a/plugins/org.eclipse.osee.framework.core.test/src/org/eclipse/osee/framework/core/enums/PermissionEnumTest.java b/plugins/org.eclipse.osee.framework.core.test/src/org/eclipse/osee/framework/core/enums/PermissionEnumTest.java |
| index fbdeb67a74..ba4ea5ce8b 100644 |
| --- a/plugins/org.eclipse.osee.framework.core.test/src/org/eclipse/osee/framework/core/enums/PermissionEnumTest.java |
| +++ b/plugins/org.eclipse.osee.framework.core.test/src/org/eclipse/osee/framework/core/enums/PermissionEnumTest.java |
| @@ -15,9 +15,9 @@ package org.eclipse.osee.framework.core.enums; |
| |
| import static org.eclipse.osee.framework.core.enums.PermissionEnum.DENY; |
| import static org.eclipse.osee.framework.core.enums.PermissionEnum.FULLACCESS; |
| -import static org.eclipse.osee.framework.core.enums.PermissionEnum.USER_LOCK; |
| import static org.eclipse.osee.framework.core.enums.PermissionEnum.NONE; |
| import static org.eclipse.osee.framework.core.enums.PermissionEnum.READ; |
| +import static org.eclipse.osee.framework.core.enums.PermissionEnum.USER_LOCK; |
| import static org.eclipse.osee.framework.core.enums.PermissionEnum.WRITE; |
| import java.util.ArrayList; |
| import java.util.Collection; |
| diff --git a/plugins/org.eclipse.osee.framework.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.core/META-INF/MANIFEST.MF |
| index 0927e63895..710bdb940e 100644 |
| --- a/plugins/org.eclipse.osee.framework.core/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.framework.core/META-INF/MANIFEST.MF |
| @@ -49,6 +49,10 @@ Import-Package: com.fasterxml.jackson.annotation, |
| org.osgi.util.tracker |
| Export-Package: org.eclipse.osee.framework.core, |
| org.eclipse.osee.framework.core.access, |
| + org.eclipse.osee.framework.core.access.context, |
| + org.eclipse.osee.framework.core.access.event, |
| + org.eclipse.osee.framework.core.access.object, |
| + org.eclipse.osee.framework.core.access.operation, |
| org.eclipse.osee.framework.core.applicability, |
| org.eclipse.osee.framework.core.data, |
| org.eclipse.osee.framework.core.data.computed, |
| diff --git a/plugins/org.eclipse.osee.framework.core/OSGI-INF/artifact.check.provider.xml b/plugins/org.eclipse.osee.framework.core/OSGI-INF/artifact.check.provider.xml |
| deleted file mode 100644 |
| index 714e0911a5..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core/OSGI-INF/artifact.check.provider.xml |
| +++ /dev/null |
| @@ -1,7 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true"> |
| - <implementation class="org.eclipse.osee.framework.core.access.UserArtifactCheck"/> |
| - <service> |
| - <provide interface="org.eclipse.osee.framework.core.access.IArtifactCheck"/> |
| - </service> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.core/src-gen/org/eclipse/osee/framework/core/grammar/ApplicabilityGrammarParser.java b/plugins/org.eclipse.osee.framework.core/src-gen/org/eclipse/osee/framework/core/grammar/ApplicabilityGrammarParser.java |
| index 11c90a95e3..44368e06b5 100644 |
| --- a/plugins/org.eclipse.osee.framework.core/src-gen/org/eclipse/osee/framework/core/grammar/ApplicabilityGrammarParser.java |
| +++ b/plugins/org.eclipse.osee.framework.core/src-gen/org/eclipse/osee/framework/core/grammar/ApplicabilityGrammarParser.java |
| @@ -2,18 +2,24 @@ |
| |
| package org.eclipse.osee.framework.core.grammar; |
| |
| - import java.util.HashMap; |
| - import java.util.Arrays; |
| - import java.util.Collections; |
| - |
| - |
| -import org.antlr.runtime.*; |
| -import java.util.Stack; |
| + import java.util.ArrayList; |
| +import java.util.Arrays; |
| +import java.util.Collections; |
| +import java.util.HashMap; |
| import java.util.List; |
| -import java.util.ArrayList; |
| - |
| - |
| -import org.antlr.runtime.tree.*; |
| +import org.antlr.runtime.BitSet; |
| +import org.antlr.runtime.EarlyExitException; |
| +import org.antlr.runtime.MismatchedSetException; |
| +import org.antlr.runtime.NoViableAltException; |
| +import org.antlr.runtime.Parser; |
| +import org.antlr.runtime.ParserRuleReturnScope; |
| +import org.antlr.runtime.RecognitionException; |
| +import org.antlr.runtime.RecognizerSharedState; |
| +import org.antlr.runtime.Token; |
| +import org.antlr.runtime.TokenStream; |
| +import org.antlr.runtime.tree.CommonTree; |
| +import org.antlr.runtime.tree.CommonTreeAdaptor; |
| +import org.antlr.runtime.tree.TreeAdaptor; |
| |
| public class ApplicabilityGrammarParser extends Parser { |
| public static final String[] tokenNames = new String[] { |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/OseeApi.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/OseeApi.java |
| index 0e98df0066..466c6f2530 100644 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/OseeApi.java |
| +++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/OseeApi.java |
| @@ -13,6 +13,8 @@ |
| |
| package org.eclipse.osee.framework.core; |
| |
| +import org.eclipse.osee.framework.core.access.IAccessControlService; |
| + |
| /** |
| * @author Ryan D. Brooks |
| */ |
| @@ -22,4 +24,6 @@ public interface OseeApi { |
| |
| OrcsTokenService tokenService(); |
| |
| -} |
| \ No newline at end of file |
| + IAccessControlService getAccessControlService(); |
| + |
| +} |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/OseeApiBase.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/OseeApiBase.java |
| index ba0c826be2..9c9fb2b1b3 100644 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/OseeApiBase.java |
| +++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/OseeApiBase.java |
| @@ -38,4 +38,5 @@ public abstract class OseeApiBase implements OseeApi { |
| public OrcsTokenService tokenService() { |
| return tokenService; |
| } |
| + |
| } |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/AccessData.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/AccessData.java |
| deleted file mode 100644 |
| index 6e589cb791..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/AccessData.java |
| +++ /dev/null |
| @@ -1,90 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.access; |
| - |
| -import java.util.Collection; |
| -import java.util.HashSet; |
| -import java.util.Set; |
| -import org.eclipse.osee.framework.jdk.core.type.CompositeKeyHashMap; |
| -import org.eclipse.osee.framework.jdk.core.type.Pair; |
| -import org.eclipse.osee.framework.jdk.core.util.Conditions; |
| - |
| -/** |
| - * @author Jeff C. Phillips |
| - * @author Roberto E. Escobar |
| - */ |
| -public final class AccessData { |
| - |
| - private final CompositeKeyHashMap<Object, Object, AccessDetail<?>> accessMap = |
| - new CompositeKeyHashMap<>(); |
| - |
| - public AccessData() { |
| - super(); |
| - } |
| - |
| - public boolean isEmpty() { |
| - return accessMap.isEmpty(); |
| - } |
| - |
| - public void addAll(Object key, Collection<AccessDetail<?>> datas) { |
| - Conditions.checkNotNull(key, "access key"); |
| - Conditions.checkNotNull(datas, "accessDetails"); |
| - for (AccessDetail<?> data : datas) { |
| - add(key, data); |
| - } |
| - } |
| - |
| - public Set<Object> keySet() { |
| - Set<Object> toReturn = new HashSet<>(); |
| - for (Pair<Object, Object> key : accessMap.keySet()) { |
| - toReturn.add(key.getFirst()); |
| - } |
| - return toReturn; |
| - } |
| - |
| - public void add(Object key, AccessDetail<?> data) { |
| - Conditions.checkNotNull(key, "access key"); |
| - Conditions.checkNotNull(data, "access data"); |
| - |
| - 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) { |
| - Conditions.checkNotNull(key, "access key"); |
| - return accessMap.getValues(key); |
| - } |
| - |
| - @Override |
| - public String toString() { |
| - StringBuilder builder = new StringBuilder(); |
| - builder.append("accessData ["); |
| - if (!accessMap.isEmpty()) { |
| - builder.append("\n"); |
| - for (Object key : keySet()) { |
| - for (AccessDetail<?> detail : accessMap.getValues(key)) { |
| - builder.append("\t"); |
| - builder.append(key); |
| - builder.append(" - "); |
| - builder.append(detail); |
| - builder.append(",\n"); |
| - } |
| - } |
| - } |
| - builder.append("]"); |
| - return builder.toString(); |
| - } |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/AccessDataQuery.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/AccessDataQuery.java |
| deleted file mode 100644 |
| index a254b4768a..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/AccessDataQuery.java |
| +++ /dev/null |
| @@ -1,190 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.access; |
| - |
| -import java.util.Collection; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.ArtifactTypeId; |
| -import org.eclipse.osee.framework.core.data.AttributeTypeId; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| -import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| - |
| -/** |
| - * @author Jeff C. Phillips |
| - * @author Roberto E. Escobar |
| - */ |
| -public class AccessDataQuery { |
| - |
| - private final AccessData accessData; |
| - |
| - public AccessDataQuery(AccessData accessData) { |
| - this.accessData = accessData; |
| - } |
| - |
| - @Override |
| - public String toString() { |
| - return accessData.toString(); |
| - } |
| - |
| - public void branchMatches(PermissionEnum permissionToMatch, BranchId branchToMatch, PermissionStatus permissionStatus) { |
| - Collection<AccessDetail<?>> branchAccessDetails = accessData.getAccess(branchToMatch); |
| - setTypePermissionStatus(permissionStatus, permissionToMatch, branchAccessDetails, branchToMatch); |
| - } |
| - |
| - public void branchArtifactTypeMatches(PermissionEnum permissionToMatch, BranchId branchToMatch, ArtifactTypeId artifactType, PermissionStatus permissionStatus) { |
| - branchMatches(permissionToMatch, branchToMatch, permissionStatus); |
| - if (permissionStatus.matched()) { |
| - Collection<AccessDetail<?>> branchAccessDetails = accessData.getAccess(branchToMatch); |
| - setTypePermissionStatus(permissionStatus, permissionToMatch, branchAccessDetails, artifactType); |
| - } |
| - } |
| - |
| - public void artifactTypeMatches(PermissionEnum permissionToMatch, ArtifactToken artifact, PermissionStatus permissionStatus) { |
| - ArtifactTypeId typeToMatch = artifact.getArtifactType(); |
| - BranchId branchToMatch = artifact.getBranch(); |
| - branchArtifactTypeMatches(permissionToMatch, branchToMatch, typeToMatch, permissionStatus); |
| - if (permissionStatus.matched()) { |
| - Collection<AccessDetail<?>> artifactAccessDetails = accessData.getAccess(artifact); |
| - setTypePermissionStatus(permissionStatus, permissionToMatch, artifactAccessDetails, artifact); |
| - } |
| - } |
| - |
| - public void artifactMatches(PermissionEnum permissionToMatch, ArtifactToken artifact, PermissionStatus permissionStatus) { |
| - BranchId branchToMatch = artifact.getBranch(); |
| - branchMatches(permissionToMatch, branchToMatch, permissionStatus); |
| - if (permissionStatus.matched()) { |
| - 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); |
| - } |
| - } |
| - |
| - private class RelationTypeSideFilter implements AccessFilter { |
| - RelationTypeSide toFilter; |
| - |
| - RelationTypeSideFilter(RelationTypeSide toFilter) { |
| - this.toFilter = toFilter; |
| - } |
| - |
| - @Override |
| - public boolean accept(AccessDetail<?> access) { |
| - if (access.getAccessObject() instanceof RelationTypeSide) { |
| - RelationTypeSide toCheck = (RelationTypeSide) access.getAccessObject(); |
| - return toCheck.getSide().equals(toFilter.getSide()) && toCheck.getGuid().equals(toFilter.getGuid()); |
| - } |
| - return false; |
| - } |
| - } |
| - |
| - public void attributeTypeMatches(PermissionEnum permissionToMatch, ArtifactToken artifact, final AttributeTypeId attributeType, PermissionStatus permissionStatus) { |
| - artifactMatches(permissionToMatch, artifact, permissionStatus); |
| - if (permissionStatus.matched()) { |
| - Collection<AccessDetail<?>> branchAccessDetails = accessData.getAccess(artifact.getBranch()); |
| - AccessFilter filter = new ObjectFilter(attributeType); |
| - AccessDetail<?> branchPermission = getNetAccess(branchAccessDetails, filter); |
| - setPermissionStatus(permissionStatus, permissionToMatch, branchPermission); |
| - |
| - if (permissionStatus.matched()) { |
| - Collection<AccessDetail<?>> artifactAccessDetails = accessData.getAccess(artifact); |
| - AccessDetail<?> attributePermission = getNetAccess(artifactAccessDetails, filter); |
| - setPermissionStatus(permissionStatus, permissionToMatch, attributePermission); |
| - } |
| - } |
| - } |
| - |
| - public void relationTypeMatches(PermissionEnum permissionToMatch, ArtifactToken artifact, RelationTypeSide relationTypeSide, PermissionStatus permissionStatus) { |
| - BranchId branchToMatch = artifact.getBranch(); |
| - branchMatches(permissionToMatch, branchToMatch, permissionStatus); |
| - if (permissionStatus.matched()) { |
| - 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) { |
| - PermissionStatus permissionStatus = new PermissionStatus(); |
| - for (Object objectKey : accessData.keySet()) { |
| - if (objectKey instanceof ArtifactToken) { |
| - artifactMatches(permissionToMatch, (ArtifactToken) objectKey, permissionStatus); |
| - } else if (objectKey instanceof BranchId) { |
| - branchMatches(permissionToMatch, (BranchId) objectKey, permissionStatus); |
| - } |
| - if (!permissionStatus.matched()) { |
| - break; |
| - } |
| - } |
| - return permissionStatus.matched(); |
| - } |
| - |
| - 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/src/org/eclipse/osee/framework/core/access/AccessDetail.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/AccessDetail.java |
| deleted file mode 100644 |
| index 11257853f7..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/AccessDetail.java |
| +++ /dev/null |
| @@ -1,142 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.access; |
| - |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.jdk.core.util.Strings; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class AccessDetail<T> { //implements Comparable<AccessDetail<?>> { |
| - |
| - private final T accessObject; |
| - private PermissionEnum permission; |
| - private Scope scope; |
| - private String reason; |
| - |
| - public AccessDetail(T accessObject, PermissionEnum permission, Scope scope) { |
| - this(accessObject, permission, scope, Strings.emptyString()); |
| - } |
| - |
| - 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 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; |
| - } |
| - |
| - public void setPermission(PermissionEnum permission) { |
| - this.permission = permission; |
| - } |
| - |
| - @Override |
| - public int hashCode() { |
| - int hashCode = 11; |
| - return hashCode * 37 + (accessObject != null ? accessObject.hashCode() : 0); |
| - } |
| - |
| - @Override |
| - public boolean equals(Object obj) { |
| - if (obj instanceof AccessDetail<?>) { |
| - AccessDetail<?> other = (AccessDetail<?>) obj; |
| - Object object1 = getAccessObject(); |
| - Object object2 = other.getAccessObject(); |
| - boolean result = false; |
| - if (object1 == null && object2 == null) { |
| - result = true; |
| - } else if (object1 != null && object2 != null) { |
| - result = getAccessObject().equals(other.getAccessObject()); |
| - } |
| - return result; |
| - } |
| - return false; |
| - } |
| - |
| - @Override |
| - public String toString() { |
| - 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(); |
| - |
| - AccessDetail<?> toReturn = original; |
| - if (!origPermission.equals(newPermission)) { |
| - PermissionEnum netPermission = PermissionEnum.getMostRestrictive(origPermission, newPermission); |
| - if (netPermission.equals(newPermission)) { |
| - toReturn = data; |
| - } |
| - } else { |
| - String netReason = merge(toReturn.getReason(), data.getReason()); |
| - toReturn.setReason(netReason); |
| - } |
| - 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(); |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/AccessDetailCollector.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/AccessDetailCollector.java |
| deleted file mode 100644 |
| index b0f0cf6bb1..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/AccessDetailCollector.java |
| +++ /dev/null |
| @@ -1,32 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.access; |
| - |
| -import java.util.List; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public interface AccessDetailCollector { |
| - void collect(AccessDetail<?> accessDetail); |
| - |
| - default List<AccessDetail<?>> getAccessDetails() { |
| - return null; |
| - } |
| - |
| - default boolean contains(Object expectedAccessObject, PermissionEnum expectedPermission, Scope expectedScopeLevel) { |
| - return false; |
| - } |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/IAccessControlService.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/IAccessControlService.java |
| index be8be9cbbb..cd35bf6ec7 100644 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/IAccessControlService.java |
| +++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/IAccessControlService.java |
| @@ -14,28 +14,148 @@ |
| package org.eclipse.osee.framework.core.access; |
| |
| import java.util.Collection; |
| +import java.util.List; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEventPayload; |
| +import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| +import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| +import org.eclipse.osee.framework.core.data.AttributeTypeToken; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| +import org.eclipse.osee.framework.core.data.BranchToken; |
| +import org.eclipse.osee.framework.core.data.IUserGroupService; |
| +import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| |
| /** |
| * @author Roberto E. Escobar |
| */ |
| public interface IAccessControlService extends ArtifactCheck { |
| |
| + public static final String DEBUG_BRANCH_ACCESS = "DebugBranchAccess"; |
| + |
| + //////////////////////////////////// |
| + // Store Permission |
| + //////////////////////////////////// |
| + |
| + void persistPermission(AccessControlData data); |
| + |
| + void persistPermission(AccessControlData data, boolean recurse); |
| + |
| + void setPermission(ArtifactToken subject, ArtifactToken artifact, PermissionEnum permission); |
| + |
| + void removeAccessControlDataIf(boolean removeFromDb, AccessControlData data); |
| + |
| + //////////////////////////////////// |
| + // Branch Permission |
| + //////////////////////////////////// |
| + |
| + XResultData isModifyAccessEnabled(ArtifactToken subject, BranchToken branch, XResultData rd); |
| + |
| + PermissionEnum getPermission(BranchToken branch); |
| + |
| + void removePermissions(BranchId branch); |
| + |
| + void setPermission(ArtifactToken subject, BranchId branch, PermissionEnum permissionEnum); |
| + |
| + XResultData hasBranchPermission(BranchToken branch, PermissionEnum permission, XResultData rd); |
| + |
| + XResultData hasBranchPermission(ArtifactToken subject, BranchToken branch, PermissionEnum permission, XResultData rd); |
| + |
| + //////////////////////////////////// |
| + // Artifact Permission |
| + //////////////////////////////////// |
| + |
| + XResultData isModifyAccessEnabled(ArtifactToken subject, ArtifactToken artifact, XResultData rd); |
| + |
| + PermissionEnum getPermission(ArtifactToken artifact); |
| + |
| /** |
| - * @param object Artifact, Branch or collection of either |
| + * Check rollup permission for current user including Branch, ACL and Branch Context. Preferred method. |
| */ |
| - boolean hasPermission(Object object, PermissionEnum permission); |
| + XResultData hasArtifactPermission(ArtifactToken artifact, PermissionEnum permission, XResultData rd); |
| |
| - void removePermissions(BranchId branch); |
| + // Check rollup permission for current user including Branch ACL, Artifact ACL and Branch Context. |
| + XResultData hasArtifactPermission(Collection<? extends ArtifactToken> artifacts, PermissionEnum permission, XResultData rd); |
| |
| - AccessDataQuery getAccessData(ArtifactToken userArtifact, Collection<?> itemsToCheck); |
| + // Check rollup permission for current user including Branch ACL, Artifact ACL and Branch Context. |
| + XResultData hasArtifactPermission(ArtifactToken subject, Collection<? extends ArtifactToken> artifact, PermissionEnum permission, XResultData rd); |
| |
| - void ensurePopulated(); |
| + // Return artifact or sentinel |
| + ArtifactToken getSubjectFromLockedObject(ArtifactToken artifact); |
| + |
| + void lockArtifacts(ArtifactToken subject, Collection<? extends ArtifactToken> artifacts); |
| + |
| + void unLockArtifacts(ArtifactToken subject, Collection<? extends ArtifactToken> artifacts); |
| + |
| + boolean canUnlockObject(ArtifactToken subject, ArtifactToken artifact); |
| + |
| + boolean hasLock(ArtifactToken artifact); |
| + |
| + //////////////////////////////////// |
| + // Attribute Type Permission |
| + //////////////////////////////////// |
| + |
| + /** |
| + * Check rollup permission for current user including Branch ACL, Artifact ACL and Branch Context for Attr Type |
| + */ |
| + XResultData hasAttributeTypePermission(Collection<? extends ArtifactToken> artifacts, AttributeTypeToken attributeType, PermissionEnum permission, XResultData rd); |
| + |
| + /** |
| + * Check rollup permission for current user including Branch ACL, Artifact ACL and Branch Context for Attr Type |
| + */ |
| + XResultData hasAttributeTypePermission(ArtifactToken subject, Collection<? extends ArtifactToken> artifacts, AttributeTypeToken attributeType, PermissionEnum permission, XResultData rd); |
| + |
| + //////////////////////////////////// |
| + // Relation Permission |
| + //////////////////////////////////// |
| + |
| + /** |
| + * Check rollup permission for current user including Branch ACL, Artifact ACL and Branch Context for Rel Type |
| + * |
| + * @param related list to relate or null to check permission without specific artifacts |
| + */ |
| + XResultData hasRelationTypePermission(ArtifactToken user, ArtifactToken artifact, RelationTypeToken relationType, Collection<? extends ArtifactToken> related, PermissionEnum permission, XResultData rd); |
| + |
| + /** |
| + * Check rollup permission for current user including Branch ACL, Artifact ACL and Branch Context for Rel Type |
| + * |
| + * @param related list to relate or null to check permission without specific artifacts |
| + */ |
| + XResultData hasRelationTypePermission(ArtifactToken artifact, RelationTypeToken relationType, Collection<? extends ArtifactToken> related, PermissionEnum permission, XResultData rd); |
| + |
| + //////////////////////////////////// |
| + // Supporting Methods |
| + //////////////////////////////////// |
| + |
| + boolean isInDb(ArtifactToken artifact); |
| |
| - void clearCache(); |
| + boolean isReadOnly(ArtifactToken artifact); |
| |
| boolean isOseeAdmin(); |
| |
| -} |
| \ No newline at end of file |
| + void ensurePopulated(); |
| + |
| + void clearCaches(); |
| + |
| + void reloadCache(); |
| + |
| + List<AccessControlData> getAccessControlList(Object object); |
| + |
| + ArtifactToken getUserByArtId(ArtifactId subjectArtId); |
| + |
| + Collection<IOseeAccessProvider> getOseeAccessProviders(); |
| + |
| + void kickAccessTopicEvent(AccessTopicEventPayload event); |
| + |
| + IUserGroupService getUserGroupService(); |
| + |
| + Collection<ArtifactToken> getArtifactListFromType(ArtifactTypeToken artType, BranchToken branch); |
| + |
| + boolean isBaselineBranch(BranchToken branch); |
| + |
| + void populateGroupMembers(ArtifactId groupId); |
| + |
| + ArtifactToken getUser(); |
| + |
| +} |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/Scope.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/Scope.java |
| deleted file mode 100644 |
| index e1678bbeb5..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/access/Scope.java |
| +++ /dev/null |
| @@ -1,157 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.core.access; |
| - |
| -import java.util.ArrayList; |
| -import java.util.List; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - * @author John R. Misinco |
| - */ |
| -public class Scope implements Cloneable { |
| - |
| - private static final String LEGACY_SCOPE = "##"; |
| - private static final String ARTIFACT_LOCK_SCOPE = "##**"; |
| - |
| - private final List<String> scopePath = new ArrayList<>(); |
| - |
| - 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(); |
| - } |
| - |
| - public static Scope createArtifactLockScope() { |
| - return new ArtifactLockScope(); |
| - } |
| - |
| - private static abstract class NonCmScope extends Scope { |
| - @Override |
| - public Scope add(String path) { |
| - return this; |
| - } |
| - |
| - @Override |
| - public Scope addSubPath(String path) { |
| - return this; |
| - } |
| - } |
| - |
| - private static final class LegacyScope extends NonCmScope { |
| - |
| - @Override |
| - public String getPath() { |
| - return LEGACY_SCOPE; |
| - } |
| - |
| - @Override |
| - public Scope clone() { |
| - return Scope.createLegacyScope(); |
| - } |
| - } |
| - |
| - private static final class ArtifactLockScope extends NonCmScope { |
| - |
| - @Override |
| - public String getPath() { |
| - return ARTIFACT_LOCK_SCOPE; |
| - } |
| - |
| - @Override |
| - public Scope clone() { |
| - return Scope.createArtifactLockScope(); |
| - } |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/ArtifactToken.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/ArtifactToken.java |
| index dcb88065fb..b63603cf83 100644 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/ArtifactToken.java |
| +++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/ArtifactToken.java |
| @@ -14,13 +14,16 @@ |
| package org.eclipse.osee.framework.core.data; |
| |
| import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
| +import java.util.logging.Level; |
| import org.eclipse.jdt.annotation.NonNull; |
| import org.eclipse.osee.framework.jdk.core.type.Id; |
| import org.eclipse.osee.framework.jdk.core.type.Identity; |
| import org.eclipse.osee.framework.jdk.core.type.NamedId; |
| import org.eclipse.osee.framework.jdk.core.type.NamedIdBase; |
| import org.eclipse.osee.framework.jdk.core.type.NamedIdSerializer; |
| +import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| import org.eclipse.osee.framework.jdk.core.util.GUID; |
| +import org.eclipse.osee.framework.logging.OseeLog; |
| |
| /** |
| * @author Ryan D. Brooks |
| @@ -115,6 +118,16 @@ public interface ArtifactToken extends ArtifactId, HasBranch, NamedId, Identity< |
| |
| public ArtifactTokenImpl(Long id, String guid, String name, BranchId branch, ArtifactTypeToken artifactType) { |
| super(id, name); |
| + // Until artifacts can have long in db, ensure that tokens aren't negative when turned to int |
| + int idInt = Long.valueOf(id).intValue(); |
| + if (idInt <= 0 && idInt != -1) { |
| + String msg = String.format( |
| + "Token id (as int) must be > 0 or SENTINAL, not int [%s] for long id [%s] name [%s] and type [%s])", |
| + idInt, id, name, artifactType.getName()); |
| + // Log to console which shows the id, name and type on contruction where exception doesn't show till loading |
| + OseeLog.log(ArtifactToken.class, Level.SEVERE, msg); |
| + throw new OseeArgumentException(msg); |
| + } |
| this.branch = branch; |
| this.artifactType = artifactType; |
| this.guid = guid; |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/IUserGroup.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/IUserGroup.java |
| index d23f8ca023..9d8f6a853a 100644 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/IUserGroup.java |
| +++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/IUserGroup.java |
| @@ -22,16 +22,18 @@ public interface IUserGroup { |
| |
| ArtifactToken getArtifact(); |
| |
| - boolean addMember(UserId user); |
| + boolean addMember(UserId user, boolean persist); |
| |
| boolean isMember(UserId user); |
| |
| boolean isCurrentUserMember(); |
| |
| - boolean removeMember(UserId user); |
| + boolean removeMember(UserId user, boolean persist); |
| |
| Collection<UserToken> getMembers(); |
| |
| boolean isMember(Long id); |
| |
| + Long getId(); |
| + |
| } |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/IUserGroupService.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/IUserGroupService.java |
| index 165ca4ad0b..857dbdefc2 100644 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/IUserGroupService.java |
| +++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/IUserGroupService.java |
| @@ -29,7 +29,11 @@ public interface IUserGroupService { |
| /** |
| * Checks for existence of user group, then if member |
| */ |
| - public boolean isUserMember(IUserGroupArtifactToken amsUsers, Long id); |
| + public boolean isUserMember(IUserGroupArtifactToken userGroup, Long id); |
| + |
| + public boolean isUserMember(IUserGroupArtifactToken userGroup, ArtifactId user); |
| |
| public Collection<UserToken> getUsers(IUserGroupArtifactToken userGroup); |
| + |
| + IUserGroup getUserGroup(ArtifactToken userGroupArt); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/enums/CoreUserGroups.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/enums/CoreUserGroups.java |
| index e779c7096d..5c257f8087 100644 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/enums/CoreUserGroups.java |
| +++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/enums/CoreUserGroups.java |
| @@ -23,11 +23,11 @@ public class CoreUserGroups { |
| |
| public static final IUserGroupArtifactToken Everyone = UserGroupArtifactToken.valueOf(48656L, "Everyone"); |
| public static final IUserGroupArtifactToken OseeAccessAdmin = |
| - UserGroupArtifactToken.valueOf(8033605L, "OseeAccessAdmin"); |
| - public static final IUserGroupArtifactToken OseeAdmin = UserGroupArtifactToken.valueOf(52247L, "OseeAdmin"); |
| + UserGroupArtifactToken.valueOf(8033605L, "Osee Access Admin"); |
| + public static final IUserGroupArtifactToken OseeAdmin = UserGroupArtifactToken.valueOf(52247L, "Osee Admin"); |
| public static final IUserGroupArtifactToken OseeDeveloper = |
| - UserGroupArtifactToken.valueOf(464565465L, "OseeDeveloper"); |
| - public static final IUserGroupArtifactToken OseeSupport = UserGroupArtifactToken.valueOf(10865894L, "OseeSupport"); |
| + UserGroupArtifactToken.valueOf(464565465L, "Osee Developer"); |
| + public static final IUserGroupArtifactToken OseeSupport = UserGroupArtifactToken.valueOf(10865894L, "Osee Support"); |
| public static IUserGroupArtifactToken AgileUser = UserGroupArtifactToken.valueOf(10635635L, "Agile User"); |
| public static IUserGroupArtifactToken EarnedValueUser = |
| UserGroupArtifactToken.valueOf(10635662L, "Earner Value User"); |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/enums/DemoBranches.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/enums/DemoBranches.java |
| index 2477823441..ac3d53a300 100644 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/enums/DemoBranches.java |
| +++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/enums/DemoBranches.java |
| @@ -26,6 +26,8 @@ public final class DemoBranches { |
| public static final BranchToken SAW_Bld_2 = BranchToken.create(5, "SAW_Bld_2"); |
| public static final BranchToken SAW_Bld_3 = BranchToken.create(6, "SAW_Bld_3"); |
| |
| + public static final BranchToken SAW_PL_Access_Baseline_Test = BranchToken.create(5432, "SAW Access Control Baseline Test"); |
| + |
| public static final BranchToken SAW_PL = BranchToken.create(8, "SAW Product Line"); |
| public static final BranchToken SAW_PL_Hardening_Branch = BranchToken.create(9, "SAW PL Hardening Branch"); |
| public static final BranchToken SAW_PL_Working_Branch = BranchToken.create(10, "SAW PL Working Branch"); |
| diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/enums/PermissionEnum.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/enums/PermissionEnum.java |
| index a278b5d241..2e697d8681 100644 |
| --- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/enums/PermissionEnum.java |
| +++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/enums/PermissionEnum.java |
| @@ -21,12 +21,13 @@ import java.util.Map; |
| */ |
| public enum PermissionEnum { |
| |
| + // Update FrameworkAccessDesign.adoc if these are changed |
| NONE(5, "None", "Open Access for all Users"), |
| READ(10, "Read", "Read only access for specified user"), |
| WRITE(20, "Write", "Write access for specified user"), |
| USER_LOCK(25, "Lock", "Locked for write by only the specified user"), |
| FULLACCESS(30, "Full Access", "Full Access to Read, Write and Change Permissions"), |
| - DENY(65535, "Deny", "Deny all access. Usually only if something is "); |
| + DENY(65535, "Deny", "Deny all access"); |
| |
| // keeping this in sync with the number of permissions will ensure optimal memory usage |
| private static final int COUNT = 4; |
| @@ -119,4 +120,5 @@ public enum PermissionEnum { |
| public int getPermId() { |
| return permissionId; |
| } |
| + |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.jdk.core/src/org/eclipse/osee/framework/jdk/core/result/XResultData.java b/plugins/org.eclipse.osee.framework.jdk.core/src/org/eclipse/osee/framework/jdk/core/result/XResultData.java |
| index d835d002d1..fff2d4fd70 100644 |
| --- a/plugins/org.eclipse.osee.framework.jdk.core/src/org/eclipse/osee/framework/jdk/core/result/XResultData.java |
| +++ b/plugins/org.eclipse.osee.framework.jdk.core/src/org/eclipse/osee/framework/jdk/core/result/XResultData.java |
| @@ -45,6 +45,7 @@ public class XResultData { |
| ConsoleOut; |
| } |
| |
| + public static XResultData EMPTY_RD = new XResultData(); |
| public static final Pattern ErrorPattern = Pattern.compile("Error: "); |
| public static final Pattern WarningPattern = Pattern.compile("Warning: "); |
| @JsonIgnore |
| diff --git a/plugins/org.eclipse.osee.framework.jdk.core/src/org/eclipse/osee/framework/jdk/core/util/OseeProperties.java b/plugins/org.eclipse.osee.framework.jdk.core/src/org/eclipse/osee/framework/jdk/core/util/OseeProperties.java |
| index 5d5ecc3a1f..e55666768d 100644 |
| --- a/plugins/org.eclipse.osee.framework.jdk.core/src/org/eclipse/osee/framework/jdk/core/util/OseeProperties.java |
| +++ b/plugins/org.eclipse.osee.framework.jdk.core/src/org/eclipse/osee/framework/jdk/core/util/OseeProperties.java |
| @@ -41,11 +41,28 @@ public class OseeProperties { |
| public static final String OSEE_SHOW_TOKEN_FOR_CHANGE_NAME = "osee.show.token.for.change.name"; |
| public static final String OSEE_DB = "osee.db"; |
| public static final String OSEE_HEALTH_SERVERS_KEY = "osee.health.servers"; |
| + public static final String OSEE_IS_IN_DB_INIT = "osee.is.in.db.init"; |
| |
| protected OseeProperties() { |
| // Utility Class |
| } |
| |
| + protected static String getProperty(String name) { |
| + return getProperty(name, ""); |
| + } |
| + |
| + protected static String getProperty(String name, String defaultValue) { |
| + return System.getProperty(name, defaultValue); |
| + } |
| + |
| + public static boolean isInDbInit() { |
| + return Boolean.valueOf(getProperty(OSEE_IS_IN_DB_INIT)); |
| + } |
| + |
| + public static void setInDbInit(boolean value) { |
| + System.setProperty(OSEE_IS_IN_DB_INIT, Boolean.toString(value)); |
| + } |
| + |
| public static String getOseeDefaultBrokerUri() { |
| return System.getProperty(OSEE_DEFAULT_BROKER_URI); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core.test/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransactionTest.java b/plugins/org.eclipse.osee.framework.skynet.core.test/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransactionTest.java |
| index 6401bec90f..861777a28c 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core.test/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransactionTest.java |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core.test/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransactionTest.java |
| @@ -30,7 +30,6 @@ import org.junit.Test; |
| /** |
| * @author Jonas Khan |
| */ |
| - |
| public class SkynetTransactionTest { |
| |
| public static final ArtifactToken token = |
| @@ -52,26 +51,6 @@ public class SkynetTransactionTest { |
| Assert.assertTrue(errorMsg, errorMsg.contains(bID.getIdString())); |
| } |
| |
| - @Test |
| - public void getCheckBranchArtifactErrorTest() { |
| - SkynetTransaction test = new SkynetTransaction(null, DemoBranches.SAW_Bld_1, ""); |
| - String errorMsg = test.getCheckBranchError(token, DemoBranches.SAW_Bld_1); |
| - Assert.assertTrue(errorMsg, errorMsg.contains(token.getIdString())); |
| - Assert.assertTrue(errorMsg, errorMsg.contains(token.getName())); |
| - Assert.assertTrue(errorMsg, errorMsg.contains(DemoBranches.SAW_Bld_1.getIdString())); |
| - Assert.assertTrue(errorMsg, errorMsg.contains(DemoBranches.SAW_Bld_1.getName())); |
| - } |
| - |
| - @Test |
| - public void getCheckBranchRelationErrorTest() { |
| - SkynetTransaction test = new SkynetTransaction(null, DemoBranches.SAW_Bld_1, ""); |
| - String errorMsg = test.getCheckBranchError(link, DemoBranches.SAW_Bld_1); |
| - Assert.assertTrue(errorMsg, errorMsg.contains(artifactA.getIdString())); |
| - Assert.assertTrue(errorMsg, errorMsg.contains(artifactB.getIdString())); |
| - Assert.assertTrue(errorMsg, errorMsg.contains(DemoBranches.SAW_Bld_1.getIdString())); |
| - Assert.assertTrue(errorMsg, errorMsg.contains(DemoBranches.SAW_Bld_1.getName())); |
| - } |
| - |
| @Test |
| public void getCheckNotHistoricalErrorTest() { |
| SkynetTransaction test = new SkynetTransaction(null, DemoBranches.SAW_Bld_1, ""); |
| 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 a93c7eff60..3de3d4487c 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 |
| @@ -63,9 +63,6 @@ Import-Package: com.fasterxml.jackson.core.type, |
| org.eclipse.osee.framework.core.client, |
| org.eclipse.osee.framework.core.client.server, |
| org.eclipse.osee.framework.core.data, |
| - org.eclipse.osee.framework.core.dsl, |
| - org.eclipse.osee.framework.core.dsl.oseeDsl, |
| - org.eclipse.osee.framework.core.dsl.oseeDsl.util, |
| org.eclipse.osee.framework.core.enums, |
| org.eclipse.osee.framework.core.event, |
| org.eclipse.osee.framework.core.exception, |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/OSEE-INF/extensionPts/ArtifactCheck.exsd b/plugins/org.eclipse.osee.framework.skynet.core/OSEE-INF/extensionPts/ArtifactCheck.exsd |
| deleted file mode 100644 |
| index 49cc86fa45..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/OSEE-INF/extensionPts/ArtifactCheck.exsd |
| +++ /dev/null |
| @@ -1,105 +0,0 @@ |
| -<?xml version='1.0' encoding='UTF-8'?> |
| -<!-- Schema file written by PDE --> |
| -<schema targetNamespace="org.eclipse.osee.framework.skynet.core"> |
| -<annotation> |
| - <appInfo> |
| - <meta.schema plugin="org.eclipse.osee.framework.skynet.core" id="ArtifactCheck" name="ArtifactCheck"/> |
| - </appInfo> |
| - <documentation> |
| - [Enter description of this extension point.] |
| - </documentation> |
| - </annotation> |
| - |
| - <element name="extension"> |
| - <complexType> |
| - <sequence> |
| - <element ref="ArtifactCheck"/> |
| - </sequence> |
| - <attribute name="point" type="string" use="required"> |
| - <annotation> |
| - <documentation> |
| - |
| - </documentation> |
| - </annotation> |
| - </attribute> |
| - <attribute name="id" type="string"> |
| - <annotation> |
| - <documentation> |
| - |
| - </documentation> |
| - </annotation> |
| - </attribute> |
| - <attribute name="name" type="string"> |
| - <annotation> |
| - <documentation> |
| - |
| - </documentation> |
| - <appInfo> |
| - <meta.attribute translatable="true"/> |
| - </appInfo> |
| - </annotation> |
| - </attribute> |
| - </complexType> |
| - </element> |
| - |
| - <element name="ArtifactCheck"> |
| - <complexType> |
| - <attribute name="classname" type="string" use="required"> |
| - <annotation> |
| - <documentation> |
| - |
| - </documentation> |
| - <appInfo> |
| - <meta.attribute kind="java" basedOn=":org.eclipse.osee.framework.core.access.IArtifactCheck"/> |
| - </appInfo> |
| - </annotation> |
| - </attribute> |
| - </complexType> |
| - </element> |
| - |
| - <annotation> |
| - <appInfo> |
| - <meta.section type="since"/> |
| - </appInfo> |
| - <documentation> |
| - [Enter the first release in which this extension point appears.] |
| - </documentation> |
| - </annotation> |
| - |
| - <annotation> |
| - <appInfo> |
| - <meta.section type="examples"/> |
| - </appInfo> |
| - <documentation> |
| - [Enter extension point usage example here.] |
| - </documentation> |
| - </annotation> |
| - |
| - <annotation> |
| - <appInfo> |
| - <meta.section type="apiInfo"/> |
| - </appInfo> |
| - <documentation> |
| - [Enter API information here.] |
| - </documentation> |
| - </annotation> |
| - |
| - <annotation> |
| - <appInfo> |
| - <meta.section type="implementation"/> |
| - </appInfo> |
| - <documentation> |
| - [Enter information about supplied implementation of this extension point.] |
| - </documentation> |
| - </annotation> |
| - |
| - <annotation> |
| - <appInfo> |
| - <meta.section type="copyright"/> |
| - </appInfo> |
| - <documentation> |
| - |
| - </documentation> |
| - </annotation> |
| - |
| -</schema> |
| 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 |
| deleted file mode 100644 |
| index aec108dbe0..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/OSGI-INF/access.policy.service.xml |
| +++ /dev/null |
| @@ -1,8 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0"> |
| - <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.access.IAccessControlService" name="IAccessControlService" policy="static"/> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/plugin.xml b/plugins/org.eclipse.osee.framework.skynet.core/plugin.xml |
| index 3f61f16cda..98506ca0f7 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/plugin.xml |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core/plugin.xml |
| @@ -9,7 +9,6 @@ |
| <extension-point id="ArtifactAnnotation" name="ArtifactAnnotation" schema="OSEE-INF/extensionPts/ArtifactAnnotation.exsd"/> |
| <extension-point id="OseeDbSchema" name="OseeDbSchema" schema="OSEE-INF/extensionPts/OseeDbSchema.exsd"/> |
| <extension-point id="WebPage" name="WebPage" schema="OSEE-INF/extensionPts/WebPage.exsd"/> |
| - <extension-point id="ArtifactCheck" name="ArtifactCheck" schema="OSEE-INF/extensionPts/ArtifactCheck.exsd"/> |
| <extension-point id="AttributeType" name="AttributeType" schema="OSEE-INF/extensionPts/AttributeType.exsd"/> |
| <extension-point id="AttributeDataProvider" name="AttributeDataProvider" schema="OSEE-INF/extensionPts/AttributeDataProvider.exsd"/> |
| <extension-point id="OseeDbImportData" name="OseeDbImportData" schema="OSEE-INF/extensionPts/OseeDbImportData.exsd"/> |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/AccessPolicy.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/AccessPolicy.java |
| deleted file mode 100644 |
| index ee619ba71c..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/AccessPolicy.java |
| +++ /dev/null |
| @@ -1,49 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2010 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.skynet.core; |
| - |
| -import java.util.Collection; |
| -import java.util.logging.Level; |
| -import org.eclipse.osee.framework.core.access.ArtifactCheck; |
| -import org.eclipse.osee.framework.core.access.PermissionStatus; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.ArtifactTypeId; |
| -import org.eclipse.osee.framework.core.data.AttributeTypeId; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| -import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public interface AccessPolicy extends ArtifactCheck { |
| - |
| - boolean isReadOnly(Artifact artifact); |
| - |
| - void removePermissions(BranchId branch); |
| - |
| - PermissionStatus hasBranchPermission(BranchId branch, PermissionEnum permission, Level level); |
| - |
| - PermissionStatus hasAttributeTypePermission(Collection<? extends ArtifactToken> artifacts, AttributeTypeId attributeType, PermissionEnum permission, Level level); |
| - |
| - PermissionStatus hasArtifactTypePermission(BranchId branch, Collection<? extends ArtifactTypeId> artifactTypes, PermissionEnum permission, Level level); |
| - |
| - PermissionStatus hasArtifactPermission(Collection<Artifact> artifacts, PermissionEnum permission, Level level); |
| - |
| - PermissionStatus canRelationBeModified(Artifact subject, Collection<Artifact> toBeRelated, RelationTypeSide relationTypeSide, Level level); |
| - |
| - void ensurePopulated(); |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserGroupImpl.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserGroupImpl.java |
| index 8211744fe0..4f504f7a04 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserGroupImpl.java |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserGroupImpl.java |
| @@ -63,10 +63,20 @@ public class UserGroupImpl extends AbstractUserGroupImpl { |
| } |
| |
| @Override |
| - public boolean addMember(UserId user) { |
| + public boolean addMember(UserId user, boolean persist) { |
| checkGroupExists(); |
| - if (!getArtifact().isRelated(CoreRelationTypes.Users_User, (Artifact) user)) { |
| - getArtifact().addRelation(CoreRelationTypes.Users_User, (Artifact) user); |
| + Artifact userArt = null; |
| + if (user instanceof Artifact) { |
| + userArt = (Artifact) user; |
| + } else { |
| + userArt = UserManager.getUserByArtId(user); |
| + } |
| + Artifact group = getArtifact(); |
| + if (!group.isRelated(CoreRelationTypes.Users_User, userArt)) { |
| + group.addRelation(CoreRelationTypes.Users_User, userArt); |
| + if (persist) { |
| + group.persist("Add Member"); |
| + } |
| return true; |
| } |
| return false; |
| @@ -126,10 +136,20 @@ public class UserGroupImpl extends AbstractUserGroupImpl { |
| } |
| |
| @Override |
| - public boolean removeMember(UserId user) { |
| + public boolean removeMember(UserId user, boolean persist) { |
| checkGroupExists(); |
| - if (getArtifact().isRelated(CoreRelationTypes.Users_User, (Artifact) user)) { |
| - getArtifact().deleteRelation(CoreRelationTypes.Users_User, (Artifact) user); |
| + Artifact userArt = null; |
| + if (user instanceof Artifact) { |
| + userArt = (Artifact) user; |
| + } else { |
| + userArt = UserManager.getUserByArtId(user); |
| + } |
| + Artifact group = getArtifact(); |
| + if (group.isRelated(CoreRelationTypes.Users_User, userArt)) { |
| + group.deleteRelation(CoreRelationTypes.Users_User, userArt); |
| + if (persist) { |
| + group.persist("Remove Member"); |
| + } |
| return true; |
| } |
| return false; |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserGroupService.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserGroupService.java |
| index b738012874..f58c0cab1c 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserGroupService.java |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserGroupService.java |
| @@ -16,6 +16,7 @@ package org.eclipse.osee.framework.skynet.core.access; |
| import java.util.ArrayList; |
| import java.util.Collection; |
| import java.util.List; |
| +import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.IUserGroup; |
| import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; |
| @@ -39,7 +40,7 @@ public class UserGroupService implements IUserGroupService { |
| private static List<IUserGroupArtifactToken> userGrps; |
| |
| public static IUserGroupService instance() { |
| - return userGroupService; |
| + return getUserGroupService(); |
| } |
| |
| public static IUserGroup getOseeAdmin() { |
| @@ -70,6 +71,11 @@ public class UserGroupService implements IUserGroupService { |
| } |
| } |
| |
| + @Override |
| + public IUserGroup getUserGroup(ArtifactToken userGroupArt) { |
| + return new UserGroupImpl(userGroupArt); |
| + } |
| + |
| private static IUserGroupService getUserGroupService() { |
| if (userGroupService == null) { |
| userGroupService = new UserGroupService(); |
| @@ -133,4 +139,9 @@ public class UserGroupService implements IUserGroupService { |
| } |
| return getUserGroup(userGroup).isMember(id); |
| } |
| + |
| + @Override |
| + public boolean isUserMember(IUserGroupArtifactToken userGroup, ArtifactId user) { |
| + return isUserMember(userGroup, user.getId()); |
| + } |
| } |
| 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 90733ccbc1..09a9cef242 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 |
| @@ -81,7 +81,6 @@ import org.eclipse.osee.framework.jdk.core.util.GUID; |
| import org.eclipse.osee.framework.jdk.core.util.Lib; |
| 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.OseeSystemArtifacts; |
| import org.eclipse.osee.framework.skynet.core.User; |
| import org.eclipse.osee.framework.skynet.core.UserManager; |
| @@ -90,7 +89,7 @@ import org.eclipse.osee.framework.skynet.core.attribute.ArtifactReferenceAttribu |
| import org.eclipse.osee.framework.skynet.core.attribute.AttributeTypeManager; |
| import org.eclipse.osee.framework.skynet.core.event.model.AttributeChange; |
| import org.eclipse.osee.framework.skynet.core.internal.Activator; |
| -import org.eclipse.osee.framework.skynet.core.internal.ServiceUtil; |
| +import org.eclipse.osee.framework.skynet.core.internal.OseeApiService; |
| 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.transaction.SkynetTransaction; |
| @@ -1223,16 +1222,7 @@ public class Artifact extends NamedIdBase implements ArtifactToken, Adaptable, F |
| } |
| |
| public final boolean isReadOnly() { |
| - boolean result = true; |
| - AccessPolicy service = null; |
| - try { |
| - service = ServiceUtil.getAccessPolicy(); |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex); |
| - } |
| - if (service != null) { |
| - result = service.isReadOnly(this); |
| - } |
| + boolean result = OseeApiService.get().getAccessControlService().isReadOnly(this); |
| return result; |
| } |
| |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactPersistenceManager.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactPersistenceManager.java |
| index 4bcda429b5..246e8a855e 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactPersistenceManager.java |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactPersistenceManager.java |
| @@ -23,10 +23,8 @@ import org.eclipse.osee.framework.core.enums.DeletionFlag; |
| import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.jdk.core.type.OseeStateException; |
| -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.search.ArtifactQuery; |
| -import org.eclipse.osee.framework.skynet.core.internal.ServiceUtil; |
| +import org.eclipse.osee.framework.skynet.core.internal.OseeApiService; |
| 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.transaction.SkynetTransaction; |
| @@ -64,8 +62,7 @@ public class ArtifactPersistenceManager { |
| |
| // Confirm artifacts are fit to delete |
| private static void performDeleteChecks(Collection<Artifact> artifacts) { |
| - AccessPolicy policy = ServiceUtil.getAccessPolicy(); |
| - XResultData results = policy.isDeleteable(Collections.castAll(artifacts), new XResultData()); |
| + XResultData results = OseeApiService.get().getAccessControlService().isDeleteable(artifacts, new XResultData()); |
| if (results.isErrors()) { |
| throw new OseeStateException(results.toString()); |
| } |
| @@ -73,8 +70,8 @@ public class ArtifactPersistenceManager { |
| |
| // Confirm relations are fit to delete |
| public static void performDeleteRelationChecks(Artifact artifact, RelationTypeToken relationType) { |
| - AccessPolicy policy = ServiceUtil.getAccessPolicy(); |
| - XResultData results = policy.isDeleteableRelation(artifact, relationType, new XResultData()); |
| + XResultData results = |
| + OseeApiService.get().getAccessControlService().isDeleteableRelation(artifact, relationType, new XResultData()); |
| if (results.isErrors()) { |
| throw new OseeStateException(results.toString()); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Attribute.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Attribute.java |
| index 45454f5388..088184a684 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Attribute.java |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Attribute.java |
| @@ -34,12 +34,11 @@ import org.eclipse.osee.framework.jdk.core.util.Conditions; |
| import org.eclipse.osee.framework.jdk.core.util.Lib; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.messaging.event.res.AttributeEventModificationType; |
| -import org.eclipse.osee.framework.skynet.core.AccessPolicy; |
| import org.eclipse.osee.framework.skynet.core.attribute.AttributeTypeManager; |
| import org.eclipse.osee.framework.skynet.core.attribute.providers.IAttributeDataProvider; |
| import org.eclipse.osee.framework.skynet.core.event.model.AttributeChange; |
| import org.eclipse.osee.framework.skynet.core.internal.Activator; |
| -import org.eclipse.osee.framework.skynet.core.internal.ServiceUtil; |
| +import org.eclipse.osee.framework.skynet.core.internal.OseeApiService; |
| |
| /** |
| * @author Ryan D. Brooks |
| @@ -141,8 +140,8 @@ public abstract class Attribute<T> implements Comparable<Attribute<T>>, IAttribu |
| |
| private void checkIsRenameable(T value) { |
| if (getAttributeType().equals(CoreAttributeTypes.Name) && !value.equals(getValue())) { |
| - AccessPolicy policy = ServiceUtil.getAccessPolicy(); |
| - XResultData results = policy.isRenamable(Collections.singleton(getArtifact()), new XResultData()); |
| + XResultData results = OseeApiService.get().getAccessControlService().isRenamable( |
| + Collections.singleton(getArtifact()), new XResultData()); |
| if (results.isErrors()) { |
| throw new OseeStateException(results.toString()); |
| } |
| @@ -162,6 +161,7 @@ public abstract class Attribute<T> implements Comparable<Attribute<T>>, IAttribu |
| setToDefaultValue(); |
| } |
| |
| + @SuppressWarnings("unchecked") |
| protected void setToDefaultValue() { |
| AttributeTypeGeneric<?> attributeType = AttributeTypeManager.getAttributeType(attributeTypeToken.getId()); |
| T defaultValue = (T) getArtifact().getArtifactType().getAttributeDefault(attributeType); |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/BranchManager.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/BranchManager.java |
| index 388a1ddc3d..a249a06eae 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/BranchManager.java |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/BranchManager.java |
| @@ -767,4 +767,5 @@ public final class BranchManager { |
| return getBranch(transaction.getBranch()); |
| } |
| |
| -} |
| \ No newline at end of file |
| +} |
| + |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/checks/AssociatedArtifactCheck.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/checks/AssociatedArtifactCheck.java |
| deleted file mode 100644 |
| index 5fc88f178f..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/checks/AssociatedArtifactCheck.java |
| +++ /dev/null |
| @@ -1,32 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2012 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.skynet.core.artifact.checks; |
| - |
| -import java.util.Collection; |
| -import org.eclipse.osee.framework.core.access.ArtifactCheck; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| -import org.eclipse.osee.framework.jdk.core.util.Collections; |
| -import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| - |
| -/** |
| - * @author John Misinco |
| - */ |
| -public class AssociatedArtifactCheck implements ArtifactCheck { |
| - |
| - @Override |
| - public XResultData isDeleteable(Collection<? extends ArtifactToken> artifacts, XResultData results) { |
| - return BranchManager.isDeleteable(Collections.castAll(artifacts), results); |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/OseeEventManager.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/OseeEventManager.java |
| index 44510172c0..dc8d13b0a3 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/OseeEventManager.java |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/OseeEventManager.java |
| @@ -19,6 +19,8 @@ import java.util.List; |
| import java.util.logging.Level; |
| import org.eclipse.core.runtime.Assert; |
| import org.eclipse.osee.activity.api.ActivityLog; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEvent; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEventPayload; |
| import org.eclipse.osee.framework.core.client.TopicEventUtil; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| @@ -35,8 +37,6 @@ import org.eclipse.osee.framework.skynet.core.event.filter.BranchIdEventFilter; |
| import org.eclipse.osee.framework.skynet.core.event.filter.IEventFilter; |
| import org.eclipse.osee.framework.skynet.core.event.listener.EventQosType; |
| import org.eclipse.osee.framework.skynet.core.event.listener.IEventListener; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEvent; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEventPayload; |
| import org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent; |
| import org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent.ArtifactEventType; |
| import org.eclipse.osee.framework.skynet.core.event.model.BranchEvent; |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/AccessArtifactLockTopicEvent.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/AccessArtifactLockTopicEvent.java |
| deleted file mode 100644 |
| index b1ac4d8fda..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/AccessArtifactLockTopicEvent.java |
| +++ /dev/null |
| @@ -1,34 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2015 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.skynet.core.event.model; |
| - |
| -import javax.xml.bind.annotation.XmlRootElement; |
| - |
| -/** |
| - * @author Donald G. Dunne |
| - */ |
| -@XmlRootElement |
| -public class AccessArtifactLockTopicEvent extends AccessTopicEventPayload { |
| - |
| - boolean locked; |
| - |
| - public boolean isLocked() { |
| - return locked; |
| - } |
| - |
| - public void setLocked(boolean locked) { |
| - this.locked = locked; |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/AccessTopicEvent.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/AccessTopicEvent.java |
| deleted file mode 100644 |
| index 074587ed39..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/AccessTopicEvent.java |
| +++ /dev/null |
| @@ -1,38 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2016 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.skynet.core.event.model; |
| - |
| -import org.eclipse.osee.framework.core.data.TransactionToken; |
| -import org.eclipse.osee.framework.core.event.AbstractTopicEvent; |
| -import org.eclipse.osee.framework.core.event.EventType; |
| - |
| -/** |
| - * @author Donald G. Dunne |
| - */ |
| -public class AccessTopicEvent extends AbstractTopicEvent { |
| - |
| - public static final AccessTopicEvent ACCESS_ARTIFACT_MODIFIED = |
| - new AccessTopicEvent(EventType.LocalAndRemote, "framework/access/artifact/modified"); |
| - public static final AccessTopicEvent ACCESS_ARTIFACT_LOCK_MODIFIED = |
| - new AccessTopicEvent(EventType.LocalAndRemote, "framework/access/artifact/lock/modified"); |
| - public static final AccessTopicEvent ACCESS_BRANCH_MODIFIED = |
| - new AccessTopicEvent(EventType.LocalAndRemote, "framework/access/branch/modified"); |
| - public static final AccessTopicEvent USER_AUTHENTICATED = |
| - new AccessTopicEvent(EventType.LocalOnly, "framework/access/user/authenticated"); |
| - |
| - private AccessTopicEvent(EventType eventType, String topic) { |
| - super(eventType, TransactionToken.SENTINEL, topic); |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/AccessTopicEventPayload.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/AccessTopicEventPayload.java |
| deleted file mode 100644 |
| index 8c0fd457aa..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/AccessTopicEventPayload.java |
| +++ /dev/null |
| @@ -1,68 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2015 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.skynet.core.event.model; |
| - |
| -import java.util.ArrayList; |
| -import java.util.List; |
| -import org.eclipse.osee.framework.core.data.ArtifactId; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| - |
| -/** |
| - * Payload for the Access Topic Event |
| - * |
| - * @author Donald G. Dunne |
| - */ |
| -public class AccessTopicEventPayload implements ISerializeableTopicPayload { |
| - BranchId branch; |
| - List<String> artifactUuids = new ArrayList<>(); |
| - |
| - public BranchId getBranch() { |
| - return branch; |
| - } |
| - |
| - public void setBranch(BranchId branch) { |
| - this.branch = branch; |
| - } |
| - |
| - public List<String> getArtifactUuids() { |
| - return artifactUuids; |
| - } |
| - |
| - public void setArtifactUuids(List<String> artifactUuids) { |
| - this.artifactUuids = artifactUuids; |
| - } |
| - |
| - public void addArtifact(ArtifactId artifact) { |
| - addArtifact(artifact.getUuid()); |
| - } |
| - |
| - public void addArtifact(Long artifactUuid) { |
| - getArtifactUuids().add(String.valueOf(artifactUuid)); |
| - } |
| - |
| - public void addArtifact(Integer artifactId) { |
| - getArtifactUuids().add(String.valueOf(Long.valueOf(artifactId))); |
| - } |
| - |
| - /** |
| - * @return true if this artifact matches event branch and contains artifact |
| - */ |
| - public boolean matches(ArtifactToken artifact) { |
| - if (!artifactUuids.isEmpty()) { |
| - return artifact.isOnBranch(branch) && artifactUuids.contains(artifact.getIdString()); |
| - } |
| - return false; |
| - } |
| -} |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/ISerializeableTopicPayload.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/ISerializeableTopicPayload.java |
| deleted file mode 100644 |
| index dabce1df58..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/ISerializeableTopicPayload.java |
| +++ /dev/null |
| @@ -1,23 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2015 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.skynet.core.event.model; |
| - |
| -/** |
| - * Class that is serializable for use in Topic Event as payload |
| - * |
| - * @author Donald G. Dunne |
| - */ |
| -public interface ISerializeableTopicPayload { |
| - // do nothing |
| -} |
| 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 bc624e5eb1..ef664539be 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 |
| @@ -30,7 +30,6 @@ import org.eclipse.osee.framework.core.operation.AbstractOperation; |
| import org.eclipse.osee.framework.core.operation.IOperation; |
| import org.eclipse.osee.framework.jdk.core.util.Lib; |
| import org.eclipse.osee.framework.messaging.event.res.AttributeEventModificationType; |
| -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.ArtifactCache; |
| import org.eclipse.osee.framework.skynet.core.artifact.Attribute; |
| @@ -46,6 +45,7 @@ import org.eclipse.osee.framework.skynet.core.event.model.BranchEventType; |
| import org.eclipse.osee.framework.skynet.core.event.model.EventBasicGuidRelation; |
| import org.eclipse.osee.framework.skynet.core.event.model.EventModifiedBasicGuidArtifact; |
| import org.eclipse.osee.framework.skynet.core.internal.Activator; |
| +import org.eclipse.osee.framework.skynet.core.internal.OseeApiService; |
| import org.eclipse.osee.framework.skynet.core.internal.ServiceUtil; |
| import org.eclipse.osee.framework.skynet.core.relation.RelationEventType; |
| import org.eclipse.osee.framework.skynet.core.revision.ChangeManager; |
| @@ -106,8 +106,7 @@ public final class CommitBranchHttpRequestOperation extends AbstractOperation { |
| } |
| |
| private void handleResponse(TransactionToken newTransaction, IProgressMonitor monitor, BranchId sourceBranch, BranchId destinationBranch) { |
| - AccessPolicy accessPolicy = ServiceUtil.getAccessPolicy(); |
| - accessPolicy.removePermissions(sourceBranch); |
| + OseeApiService.get().getAccessControlService().removePermissions(sourceBranch); |
| |
| // Update commit artifact cache with new information |
| Artifact associatedArtifact = 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 |
| deleted file mode 100644 |
| index 09b68eb48a..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/AccessPolicyImpl.java |
| +++ /dev/null |
| @@ -1,259 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * 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.access.AccessDataQuery; |
| -import org.eclipse.osee.framework.core.access.IAccessControlService; |
| -import org.eclipse.osee.framework.core.access.PermissionStatus; |
| -import org.eclipse.osee.framework.core.client.OseeClientProperties; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.ArtifactTypeId; |
| -import org.eclipse.osee.framework.core.data.AttributeTypeId; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| -import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| -import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.core.enums.RelationSide; |
| -import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| -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; |
| -import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| - |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class AccessPolicyImpl implements AccessPolicy { |
| - |
| - public IAccessControlService accessControlService; |
| - |
| - public void setAccessControlService(IAccessControlService service) { |
| - this.accessControlService = service; |
| - } |
| - |
| - private User getCurrentUser() { |
| - return UserManager.getUser(); |
| - } |
| - |
| - private IAccessControlService getAccessService() { |
| - return accessControlService; |
| - } |
| - |
| - private boolean printErrorMessage(User user, Collection<?> objects, PermissionStatus permissionStatus, Level level) { |
| - boolean notMatched = !permissionStatus.matched(); |
| - |
| - if (notMatched) { |
| - String objectString = org.eclipse.osee.framework.jdk.core.util.Collections.toString("; ", objects); |
| - String reasonString = permissionStatus.getReason(); |
| - if (Strings.isValid(reasonString)) { |
| - reasonString = String.format("\n reason:[%s]", reasonString); |
| - } else { |
| - reasonString = ""; |
| - } |
| - OseeLog.logf(Activator.class, level, |
| - "Access Denied - [%s] does not have valid permission to edit\n item(s) : [%s]%s", user, objectString, |
| - reasonString); |
| - } |
| - return notMatched; |
| - } |
| - |
| - @Override |
| - public void removePermissions(BranchId branch) { |
| - getAccessService().removePermissions(branch); |
| - } |
| - |
| - @Override |
| - public boolean isReadOnly(Artifact artifact) { |
| - try { |
| - return artifact.isDeleted() || artifact.isHistorical() || !BranchManager.isEditable( |
| - artifact.getBranch()) || !getAccessService().hasPermission(artifact, PermissionEnum.WRITE); |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex); |
| - return true; |
| - } |
| - } |
| - |
| - @Override |
| - public PermissionStatus hasBranchPermission(BranchId branch, PermissionEnum permission, Level level) { |
| - User currentUser = getCurrentUser(); |
| - AccessDataQuery query = getAccessService().getAccessData(currentUser, java.util.Collections.singleton(branch)); |
| - PermissionStatus permissionStatus = null; |
| - if (!OseeClientProperties.isInDbInit()) { |
| - permissionStatus = new PermissionStatus(); |
| - query.branchMatches(permission, branch, permissionStatus); |
| - printErrorMessage(currentUser, java.util.Collections.singleton(branch), permissionStatus, level); |
| - } else { |
| - permissionStatus = new PermissionStatus(true, "In DB Init; All permission enabled"); |
| - } |
| - 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 ArtifactToken> artifacts, AttributeTypeId attributeType, PermissionEnum permission, Level level) { |
| - User currentUser = getCurrentUser(); |
| - AccessDataQuery query = getAccessService().getAccessData(currentUser, artifacts); |
| - |
| - PermissionStatus permissionStatus = null; |
| - if (!OseeClientProperties.isInDbInit()) { |
| - permissionStatus = new PermissionStatus(); |
| - if (artifacts != null) { |
| - for (ArtifactToken artifact : artifacts) { |
| - query.attributeTypeMatches(permission, artifact, attributeType, permissionStatus); |
| - |
| - if (printErrorMessage(currentUser, artifacts, permissionStatus, level)) { |
| - break; |
| - } |
| - } |
| - } |
| - } else { |
| - permissionStatus = new PermissionStatus(true, "In DB Init; All permission enabled"); |
| - } |
| - |
| - return permissionStatus; |
| - } |
| - |
| - @Override |
| - public PermissionStatus hasArtifactPermission(Collection<Artifact> artifacts, PermissionEnum permission, Level level) { |
| - User currentUser = getCurrentUser(); |
| - AccessDataQuery query = getAccessService().getAccessData(currentUser, artifacts); |
| - |
| - PermissionStatus permissionStatus = null; |
| - if (!OseeClientProperties.isInDbInit()) { |
| - permissionStatus = new PermissionStatus(); |
| - if (artifacts != null) { |
| - for (Artifact artifact : artifacts) { |
| - if (artifact.isInDb()) { |
| - query.artifactMatches(permission, artifact, permissionStatus); |
| - } |
| - if (printErrorMessage(currentUser, artifacts, permissionStatus, level)) { |
| - break; |
| - } |
| - } |
| - } |
| - } else { |
| - permissionStatus = new PermissionStatus(true, "In DB Init; All permission enabled"); |
| - } |
| - |
| - return permissionStatus; |
| - } |
| - |
| - @Override |
| - public PermissionStatus hasArtifactTypePermission(BranchId branch, Collection<? extends ArtifactTypeId> artifactTypes, PermissionEnum permission, Level level) { |
| - User currentUser = getCurrentUser(); |
| - AccessDataQuery query = getAccessService().getAccessData(currentUser, java.util.Collections.singleton(branch)); |
| - |
| - PermissionStatus permissionStatus = null; |
| - if (!OseeClientProperties.isInDbInit()) { |
| - permissionStatus = new PermissionStatus(); |
| - if (artifactTypes != null) { |
| - for (ArtifactTypeId artifactType : artifactTypes) { |
| - query.branchArtifactTypeMatches(permission, branch, artifactType, permissionStatus); |
| - |
| - if (printErrorMessage(currentUser, artifactTypes, permissionStatus, level)) { |
| - break; |
| - } |
| - } |
| - } |
| - } else { |
| - permissionStatus = new PermissionStatus(true, "In DB Init; All permission enabled"); |
| - } |
| - |
| - return permissionStatus; |
| - } |
| - |
| - @Override |
| - public PermissionStatus canRelationBeModified(Artifact subject, Collection<Artifact> toBeRelated, RelationTypeSide relationTypeSide, Level level) { |
| - PermissionStatus subjectPermission = canRelationBeModifiedHelper(subject, null, relationTypeSide, level); |
| - if (subjectPermission.matched() && toBeRelated != null && !toBeRelated.isEmpty()) { |
| - for (Artifact 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(Artifact subject, Collection<Artifact> toBeRelated, RelationTypeSide relationTypeSide, Level level) { |
| - PermissionStatus status = hasArtifactRelationPermission(java.util.Collections.singleton(subject), |
| - java.util.Collections.singleton(relationTypeSide), PermissionEnum.WRITE, level); |
| - |
| - if (!status.matched()) { |
| - ArrayList<Artifact> artifacts = new ArrayList<>(); |
| - artifacts.add(subject); |
| - if (toBeRelated != null) { |
| - artifacts.addAll(toBeRelated); |
| - } |
| - status = hasArtifactPermission(artifacts, PermissionEnum.WRITE, level); |
| - } |
| - return status; |
| - } |
| - |
| - private PermissionStatus hasArtifactRelationPermission(Collection<? extends ArtifactToken> artifacts, Collection<? extends RelationTypeSide> relationTypeSides, PermissionEnum permission, Level level) { |
| - AccessDataQuery query = getAccessService().getAccessData(getCurrentUser(), artifacts); |
| - |
| - PermissionStatus permissionStatus = null; |
| - if (!OseeClientProperties.isInDbInit()) { |
| - permissionStatus = new PermissionStatus(); |
| - if (!OseeClientProperties.isInDbInit()) { |
| - permissionStatus = new PermissionStatus(); |
| - for (ArtifactToken artifact : artifacts) { |
| - for (RelationTypeSide relationTypeSide : relationTypeSides) { |
| - query.relationTypeMatches(permission, artifact, relationTypeSide, permissionStatus); |
| - } |
| - } |
| - } else { |
| - permissionStatus = new PermissionStatus(true, "In DB Init; All permission enabled"); |
| - } |
| - } else { |
| - permissionStatus = new PermissionStatus(true, "In DB Init; All permission enabled"); |
| - } |
| - |
| - return permissionStatus; |
| - } |
| - |
| - @Override |
| - public XResultData isDeleteable(Collection<? extends ArtifactToken> artifacts, XResultData results) { |
| - return accessControlService.isDeleteable(artifacts, results); |
| - } |
| - |
| - @Override |
| - public XResultData isRenamable(Collection<? extends ArtifactToken> artifacts, XResultData results) { |
| - return accessControlService.isRenamable(artifacts, results); |
| - } |
| - |
| - @Override |
| - public XResultData isDeleteableRelation(ArtifactToken artifact, RelationTypeToken relationType, XResultData results) { |
| - return accessControlService.isDeleteableRelation(artifact, relationType, results); |
| - } |
| - |
| - @Override |
| - public void ensurePopulated() { |
| - accessControlService.ensurePopulated(); |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/OseeApiImpl.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/OseeApiImpl.java |
| index 9efe1fea2d..7f32f147e1 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/OseeApiImpl.java |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/OseeApiImpl.java |
| @@ -11,6 +11,9 @@ |
| package org.eclipse.osee.framework.skynet.core.internal; |
| |
| import org.eclipse.osee.framework.core.OseeApiBase; |
| +import org.eclipse.osee.framework.core.access.IAccessControlService; |
| +import org.eclipse.osee.framework.skynet.core.access.internal.AccessControlServiceImpl; |
| +import org.eclipse.osee.framework.skynet.core.utility.ConnectionHandler; |
| |
| /** |
| * @author Donald G. Dunne |
| @@ -19,9 +22,18 @@ public class OseeApiImpl extends OseeApiBase { |
| |
| // for ReviewOsgiXml public void setOrcsTokenService(OrcsTokenService tokenService) |
| // for ReviewOsgiXml public void setJaxRsApi(JaxRsApi jaxRsApi) |
| + IAccessControlService accessControlService; |
| |
| public OseeApiImpl() { |
| // for jas-rs |
| } |
| |
| + @Override |
| + public IAccessControlService getAccessControlService() { |
| + if (accessControlService == null) { |
| + accessControlService = new AccessControlServiceImpl(ConnectionHandler.getJdbcClient(), tokenService()); |
| + } |
| + return accessControlService; |
| + } |
| + |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/ServiceUtil.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/ServiceUtil.java |
| index daf919f1a8..2fb4a23c90 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/ServiceUtil.java |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/ServiceUtil.java |
| @@ -14,8 +14,6 @@ |
| package org.eclipse.osee.framework.skynet.core.internal; |
| |
| import java.util.Properties; |
| -import java.util.logging.Level; |
| -import org.eclipse.core.runtime.Platform; |
| import org.eclipse.osee.cache.admin.CacheAdmin; |
| import org.eclipse.osee.framework.core.OrcsTokenService; |
| import org.eclipse.osee.framework.core.client.ClientSessionManager; |
| @@ -23,12 +21,8 @@ import org.eclipse.osee.framework.core.services.IOseeCachingService; |
| import org.eclipse.osee.framework.core.sql.OseeSql; |
| import org.eclipse.osee.framework.core.util.OsgiUtil; |
| import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| -import org.eclipse.osee.framework.logging.OseeLog; |
| -import org.eclipse.osee.framework.skynet.core.AccessPolicy; |
| import org.eclipse.osee.framework.skynet.core.event.OseeEventService; |
| import org.eclipse.osee.orcs.rest.client.OseeClient; |
| -import org.osgi.framework.Bundle; |
| -import org.osgi.framework.BundleException; |
| |
| public final class ServiceUtil { |
| |
| @@ -65,18 +59,6 @@ public final class ServiceUtil { |
| return getService(OseeClient.class); |
| } |
| |
| - public static AccessPolicy getAccessPolicy() { |
| - try { |
| - Bundle bundle = Platform.getBundle("org.eclipse.osee.framework.access"); |
| - if (bundle.getState() != Bundle.ACTIVE) { |
| - bundle.start(); |
| - } |
| - } catch (BundleException ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex); |
| - } |
| - return getService(AccessPolicy.class); |
| - } |
| - |
| public static boolean useOracleHints() { |
| return ClientSessionManager.useOracleHints(); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/users/BootStrapUser.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/users/BootStrapUser.java |
| index fa4bf3cc2d..119d69ca5e 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/users/BootStrapUser.java |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/users/BootStrapUser.java |
| @@ -22,10 +22,10 @@ import org.eclipse.osee.framework.skynet.core.User; |
| */ |
| public class BootStrapUser extends User { |
| |
| - public static BootStrapUser instance; |
| + private static BootStrapUser instance; |
| |
| private BootStrapUser() { |
| - super(CoreBranches.COMMON); |
| + super(SystemUser.BootStrap.getId(), "guid", CoreBranches.COMMON); |
| } |
| |
| public static BootStrapUser getInstance() { |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/users/CurrentUserProvider.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/users/CurrentUserProvider.java |
| index 7bd0372eb9..dabcdc46de 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/users/CurrentUserProvider.java |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/users/CurrentUserProvider.java |
| @@ -18,6 +18,8 @@ import java.util.concurrent.FutureTask; |
| import java.util.concurrent.atomic.AtomicBoolean; |
| import java.util.logging.Level; |
| import org.eclipse.osee.cache.admin.Cache; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEvent; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEventPayload; |
| import org.eclipse.osee.framework.core.client.ClientSessionManager; |
| import org.eclipse.osee.framework.core.data.IdeClientSession; |
| import org.eclipse.osee.framework.core.data.UserToken; |
| @@ -31,8 +33,6 @@ import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.User; |
| 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.model.AccessTopicEvent; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEventPayload; |
| import org.eclipse.osee.framework.skynet.core.internal.Activator; |
| import org.eclipse.osee.jaxrs.JaxRsClient; |
| |
| 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 7201b002a6..850e1ad1b7 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 |
| @@ -26,9 +26,7 @@ import java.util.Date; |
| 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.access.PermissionStatus; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.AttributeId; |
| @@ -39,6 +37,7 @@ import org.eclipse.osee.framework.core.data.OseeCodeVersion; |
| import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| import org.eclipse.osee.framework.core.data.TransactionId; |
| +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; |
| @@ -48,21 +47,24 @@ import org.eclipse.osee.framework.core.model.Branch; |
| import org.eclipse.osee.framework.core.model.TransactionRecord; |
| import org.eclipse.osee.framework.core.operation.IOperation; |
| import org.eclipse.osee.framework.core.operation.Operations; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.CompositeKeyHashMap; |
| import org.eclipse.osee.framework.jdk.core.type.Id; |
| +import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.jdk.core.type.OseeStateException; |
| +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; |
| import org.eclipse.osee.framework.jdk.core.util.time.GlobalTime; |
| -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.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTransactionData; |
| import org.eclipse.osee.framework.skynet.core.artifact.Attribute; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; |
| import org.eclipse.osee.framework.skynet.core.attribute.AttributeTransactionData; |
| -import org.eclipse.osee.framework.skynet.core.internal.ServiceUtil; |
| +import org.eclipse.osee.framework.skynet.core.internal.OseeApiService; |
| 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; |
| @@ -88,9 +90,8 @@ public final class SkynetTransaction extends TransactionOperation<BranchId> { |
| |
| private String comment; |
| private User user; |
| - |
| - private AccessPolicy access; |
| private TransactionRecord transaction; |
| + private static boolean overrideAccess; |
| |
| protected SkynetTransaction(TxMonitor<BranchId> txMonitor, BranchId branch, String comment) { |
| super(txMonitor, branch, comment); |
| @@ -126,10 +127,29 @@ public final class SkynetTransaction extends TransactionOperation<BranchId> { |
| String msg = getCheckAccessError(artifact, txBranch, branch); |
| throw new OseeStateException(msg); |
| } |
| - |
| - checkBranch(artifact); |
| + if (!SkynetTransaction.isOverrideAccess()) { |
| + for (Attribute<?> attr : artifact.getAttributes()) { |
| + if (attr.isDirty()) { |
| + XResultData rd = OseeApiService.get().getAccessControlService().hasAttributeTypePermission( |
| + Collections.singleton(artifact), attr.getAttributeType(), PermissionEnum.WRITE, |
| + AccessControlArtifactUtil.getXResultAccessHeader("Skynet Transaction: " + comment, artifact)); |
| + if (rd.isErrors()) { |
| + throw new OseeCoreException(rd.toString()); |
| + } |
| + } |
| + } |
| + for (RelationLink rel : artifact.getRelationsAll(DeletionFlag.EXCLUDE_DELETED)) { |
| + if (rel.isDirty()) { |
| + XResultData rd = OseeApiService.get().getAccessControlService().hasRelationTypePermission(artifact, |
| + rel.getRelationType(), Collections.emptyList(), PermissionEnum.WRITE, |
| + AccessControlArtifactUtil.getXResultAccessHeader("Skynet Transaction: " + comment, artifact)); |
| + if (rd.isErrors()) { |
| + throw new OseeCoreException(rd.toString()); |
| + } |
| + } |
| + } |
| + } |
| checkNotHistorical(artifact); |
| - getAccess().hasArtifactPermission(Collections.singleton(artifact), PermissionEnum.WRITE, Level.FINE); |
| } |
| |
| public String getCheckAccessError(ArtifactToken artifact, BranchId txBranch, BranchToken branch) { |
| @@ -139,34 +159,6 @@ public final class SkynetTransaction extends TransactionOperation<BranchId> { |
| return msg; |
| } |
| |
| - private void checkBranch(ArtifactToken artifact) { |
| - if (!isBranchWritable(artifact.getBranch())) { |
| - Branch branch = BranchManager.getBranch(artifact.getBranch()); |
| - String msg = getCheckBranchError(artifact, branch); |
| - throw new OseeStateException(msg); |
| - } |
| - } |
| - |
| - public String getCheckBranchError(ArtifactToken artifact, BranchToken branch) { |
| - String msg = String.format("The artifact\n\n%s\n\nis on a non-editable branch\n\n%s\n\n", |
| - artifact.toStringWithId(), branch.toStringWithId()); |
| - return msg; |
| - } |
| - |
| - private void checkBranch(RelationLink link) { |
| - if (!isBranchWritable(link.getBranch())) { |
| - Branch branch = BranchManager.getBranch(link.getBranch()); |
| - String msg = getCheckBranchError(link, branch); |
| - throw new OseeStateException(msg); |
| - } |
| - } |
| - |
| - public String getCheckBranchError(RelationLink link, BranchToken branch) { |
| - String msg = String.format("The relation link\n\n%s\n\nis on a non-editable branch\n\n%s\n\n", link, |
| - branch.toStringWithId()); |
| - return msg; |
| - } |
| - |
| private void checkNotHistorical(Artifact artifact) { |
| if (artifact.isHistorical()) { |
| String msg = getCheckNotHistoricalError(artifact); |
| @@ -180,45 +172,24 @@ public final class SkynetTransaction extends TransactionOperation<BranchId> { |
| return msg; |
| } |
| |
| - private boolean isBranchWritable(BranchId branch) { |
| - boolean toReturn = true; |
| - if (!UserManager.duringMainUserCreation()) { |
| - toReturn = getAccess().hasBranchPermission(branch, PermissionEnum.WRITE, |
| - Level.FINE).matched() && BranchManager.isEditable(branch); |
| - } |
| - return toReturn; |
| - } |
| - |
| private void checkAccess(Artifact artifact, RelationLink link) { |
| if (UserManager.duringMainUserCreation()) { |
| return; |
| } |
| - checkBranch(link); |
| - BranchId txBranch = getBranch(); |
| - if (!link.isOnBranch(txBranch)) { |
| - Branch branch = BranchManager.getBranch(link.getBranch()); |
| - String msg = String.format( |
| - "The relation link\n\n%s\n\nis on branch\n\n%s\n\nbut this transaction is for branch\n\n%s\n\n", |
| - link.getId(), branch.toStringWithId(), 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) { |
| - access = ServiceUtil.getAccessPolicy(); |
| + if (!SkynetTransaction.isOverrideAccess()) { |
| + BranchId txBranch = getBranch(); |
| + if (!link.isOnBranch(txBranch)) { |
| + RelationSide sideToCheck = link.getSide(artifact).oppositeSide(); |
| + RelationTypeSide relTypeSide = new RelationTypeSide(link.getRelationType(), sideToCheck); |
| + XResultData rd = |
| + OseeApiService.get().getAccessControlService().hasRelationTypePermission(artifact, relTypeSide, null, |
| + PermissionEnum.WRITE, AccessControlArtifactUtil.getXResultAccessHeader("Relation Access Denied", |
| + Collections.singleton(artifact), relTypeSide)); |
| + if (rd.isErrors()) { |
| + throw new OseeCoreException(rd.toString()); |
| + } |
| + } |
| } |
| - return access; |
| } |
| |
| private Collection<BaseTransactionData> getTransactionData() { |
| @@ -270,7 +241,9 @@ public final class SkynetTransaction extends TransactionOperation<BranchId> { |
| } |
| return; |
| } |
| - checkAccess(artifact); |
| + if (!SkynetTransaction.isOverrideAccess()) { |
| + checkAccess(artifact); |
| + } |
| setTxState(TxState.MODIFIED); |
| |
| if (!artifact.isInDb() || artifact.hasDirtyArtifactType() || artifact.getModType().isDeleted() || artifact.getModType() == REPLACED_WITH_VERSION || artifact.isUseBackingdata()) { |
| @@ -350,7 +323,9 @@ public final class SkynetTransaction extends TransactionOperation<BranchId> { |
| |
| private void addRelation(Artifact artifact, RelationLink link) { |
| synchronized (getTxMonitor()) { |
| - checkAccess(artifact, link); |
| + if (!SkynetTransaction.isOverrideAccess()) { |
| + checkAccess(artifact, link); |
| + } |
| setTxState(TxState.MODIFIED); |
| link.setNotDirty(); |
| |
| @@ -471,4 +446,16 @@ public final class SkynetTransaction extends TransactionOperation<BranchId> { |
| getTxMonitor().cancel(getBranch(), this); |
| } |
| |
| + public static boolean isOverrideAccess() { |
| + return overrideAccess; |
| + } |
| + |
| + public static void setOverrideAccess(boolean overrideAccess) { |
| + if (OseeProperties.isInTest()) { |
| + SkynetTransaction.overrideAccess = overrideAccess; |
| + } else { |
| + throw new OseeArgumentException("Access Control can not be overridden in production"); |
| + } |
| + } |
| + |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/Artifacts.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/Artifacts.java |
| index 3e8d8ff0b8..ae9dfb7aa6 100644 |
| --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/Artifacts.java |
| +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/Artifacts.java |
| @@ -180,4 +180,13 @@ public final class Artifacts { |
| strB.append(RelationManager.reportHasDirtyLinks(artifact)); |
| return strB.toString(); |
| } |
| + |
| + public static Object toStringWithIds(Collection<? extends ArtifactToken> artifacts) { |
| + StringBuilder sb = new StringBuilder(); |
| + for (ArtifactToken art : artifacts) { |
| + sb.append(art.toStringWithId()); |
| + sb.append(", "); |
| + } |
| + return sb.toString().replaceFirst(", $", ""); |
| + } |
| } |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.ui.data.model.editor/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.ui.data.model.editor/META-INF/MANIFEST.MF |
| index a9e3eb1527..a62f1c5977 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.data.model.editor/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.framework.ui.data.model.editor/META-INF/MANIFEST.MF |
| @@ -33,7 +33,6 @@ Import-Package: org.eclipse.core.commands, |
| org.eclipse.graphiti.util, |
| org.eclipse.jface.resource, |
| org.eclipse.osee.framework.core.data, |
| - org.eclipse.osee.framework.core.dsl.oseeDsl, |
| org.eclipse.osee.framework.core.enums, |
| org.eclipse.osee.framework.core.enums.token, |
| org.eclipse.osee.framework.core.exception, |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.ui.skynet.test/META-INF/MANIFEST.MF |
| index d86cc2c036..6e58f10b6d 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet.test/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet.test/META-INF/MANIFEST.MF |
| @@ -10,7 +10,6 @@ Export-Package: org.eclipse.osee.framework.ui.skynet |
| Import-Package: org.eclipse.nebula.widgets.xviewer.core.model, |
| org.apache.cxf.jaxrs.client, |
| org.apache.cxf.jaxrs.client.spec, |
| - org.eclipse.osee.framework.access, |
| org.eclipse.osee.framework.core.enums, |
| org.eclipse.osee.framework.core.enums.token, |
| org.eclipse.osee.framework.jdk.core.util.windows, |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/AllUiSkynetJunitTestSuite.java b/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/AllUiSkynetJunitTestSuite.java |
| index db3d6d1b1d..396875c3e9 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/AllUiSkynetJunitTestSuite.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/AllUiSkynetJunitTestSuite.java |
| @@ -13,7 +13,6 @@ |
| |
| package org.eclipse.osee.framework.ui.skynet; |
| |
| -import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactTestSuite; |
| import org.eclipse.osee.framework.ui.skynet.renderer.RendererTestSuite; |
| import org.eclipse.osee.framework.ui.skynet.results.ResultsTestSuite; |
| import org.eclipse.osee.framework.ui.skynet.util.UtilTestSuite; |
| @@ -24,7 +23,6 @@ import org.junit.runners.Suite; |
| |
| @RunWith(Suite.class) |
| @Suite.SuiteClasses({ |
| - ArtifactTestSuite.class, |
| RendererTestSuite.class, |
| ResultsTestSuite.class, |
| UtilTestSuite.class, |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPromptChangeTest.java b/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPromptChangeTest.java |
| deleted file mode 100644 |
| index e8b92acafc..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPromptChangeTest.java |
| +++ /dev/null |
| @@ -1,146 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2004, 2007 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.ui.skynet.artifact; |
| - |
| -import static org.eclipse.osee.framework.core.enums.CoreAttributeTypes.Annotation; |
| -import static org.eclipse.osee.framework.core.enums.CoreAttributeTypes.Name; |
| -import java.util.ArrayList; |
| -import java.util.Collection; |
| -import java.util.List; |
| -import java.util.logging.Level; |
| -import org.eclipse.osee.framework.core.access.PermissionStatus; |
| -import org.eclipse.osee.framework.core.data.ArtifactToken; |
| -import org.eclipse.osee.framework.core.data.ArtifactTypeId; |
| -import org.eclipse.osee.framework.core.data.AttributeTypeId; |
| -import org.eclipse.osee.framework.core.data.AttributeTypeToken; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| -import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| -import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| -import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| -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.prompt.IHandlePromptChange; |
| -import org.eclipse.osee.framework.ui.skynet.artifact.prompt.IPromptFactory; |
| -import org.junit.Assert; |
| -import org.junit.Test; |
| - |
| -/** |
| - * Test Case for {@link ArtifactPromptChange} |
| - * |
| - * @author Jeff C. Phillips |
| - */ |
| -public class ArtifactPromptChangeTest { |
| - |
| - @Test |
| - public void test() { |
| - boolean persist = true; |
| - List<Artifact> artifacts = new ArrayList<>(); |
| - |
| - MockPromptFactory MockPromptFactory = new MockPromptFactory(); |
| - AccessPolicy policyHandler = new MockAccessPolicyHandler(); |
| - MockPromptFactory.createPrompt(Annotation, "", artifacts, persist, false); |
| - |
| - ArtifactPrompt artifactPromptChange = new ArtifactPrompt(MockPromptFactory, policyHandler); |
| - |
| - Assert.assertFalse(artifactPromptChange.promptChangeAttribute(Annotation, artifacts, persist, false)); |
| - Assert.assertTrue(artifactPromptChange.promptChangeAttribute(Name, artifacts, persist, false)); |
| - } |
| - |
| - private static class MockAccessPolicyHandler implements AccessPolicy { |
| - |
| - @Override |
| - public PermissionStatus hasArtifactTypePermission(BranchId branch, Collection<? extends ArtifactTypeId> artifactTypes, PermissionEnum permission, Level level) { |
| - return new PermissionStatus(); |
| - } |
| - |
| - @Override |
| - public boolean isReadOnly(Artifact artifact) { |
| - return false; |
| - } |
| - |
| - @Override |
| - public PermissionStatus hasBranchPermission(BranchId branch, PermissionEnum permission, Level level) { |
| - return new PermissionStatus(); |
| - } |
| - |
| - @Override |
| - public PermissionStatus hasAttributeTypePermission(Collection<? extends ArtifactToken> artifacts, AttributeTypeId attributeType, PermissionEnum permission, Level level) { |
| - return new PermissionStatus(); |
| - } |
| - |
| - @Override |
| - public PermissionStatus hasArtifactPermission(Collection<Artifact> artifacts, PermissionEnum permission, Level level) { |
| - return new PermissionStatus(); |
| - } |
| - |
| - @Override |
| - public PermissionStatus canRelationBeModified(Artifact subject, Collection<Artifact> toBeRelated, RelationTypeSide relationTypeSide, Level level) { |
| - return new PermissionStatus(); |
| - } |
| - |
| - @Override |
| - public void removePermissions(BranchId branch) { |
| - // |
| - } |
| - |
| - @Override |
| - public XResultData isDeleteable(Collection<? extends ArtifactToken> artifacts, XResultData results) { |
| - return new XResultData(); |
| - } |
| - |
| - @Override |
| - public XResultData isRenamable(Collection<? extends ArtifactToken> artifacts, XResultData results) { |
| - return new XResultData(); |
| - } |
| - |
| - @Override |
| - public XResultData isDeleteableRelation(ArtifactToken artifact, RelationTypeToken relationType, XResultData results) { |
| - return new XResultData(); |
| - } |
| - |
| - @Override |
| - public void ensurePopulated() { |
| - // do nothing |
| - } |
| - |
| - } |
| - |
| - private static class MockPromptFactory implements IPromptFactory { |
| - @Override |
| - public IHandlePromptChange createPrompt(AttributeTypeToken attributeType, String displayName, Collection<? extends Artifact> artifacts, boolean persist, boolean multiLine) { |
| - return new TestPromptChange(attributeType, persist); |
| - } |
| - } |
| - private static class TestPromptChange implements IHandlePromptChange { |
| - private final AttributeTypeId attributeType; |
| - private final boolean persist; |
| - |
| - public TestPromptChange(AttributeTypeId attributeType, boolean persist) { |
| - super(); |
| - this.attributeType = attributeType; |
| - this.persist = persist; |
| - } |
| - |
| - @Override |
| - public boolean promptOk() { |
| - return true; |
| - } |
| - |
| - @Override |
| - public boolean store() { |
| - return persist && attributeType.equals(Name); |
| - } |
| - } |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactTestSuite.java b/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactTestSuite.java |
| deleted file mode 100644 |
| index 1e5e9c37e4..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactTestSuite.java |
| +++ /dev/null |
| @@ -1,26 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2012 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.ui.skynet.artifact; |
| - |
| -import org.junit.runner.RunWith; |
| -import org.junit.runners.Suite; |
| - |
| -@RunWith(Suite.class) |
| -@Suite.SuiteClasses({ArtifactPromptChangeTest.class}) |
| -/** |
| - * @author Roberto E. Escobar |
| - */ |
| -public class ArtifactTestSuite { |
| - // Test Suite |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF |
| index a36d3a2676..f0ae4f7cba 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF |
| @@ -10,8 +10,6 @@ Service-Component: OSGI-INF/*.xml |
| Bundle-Vendor: Eclipse Open System Engineering Environment |
| Import-Package: com.fasterxml.jackson.core.type, |
| com.fasterxml.jackson.databind, |
| - org.apache.cxf.jaxrs.client, |
| - org.apache.cxf.jaxrs.client.spec, |
| com.google.common.base, |
| com.google.common.cache, |
| com.google.common.collect, |
| @@ -27,6 +25,8 @@ Import-Package: com.fasterxml.jackson.core.type, |
| org.apache.commons.io, |
| org.apache.commons.lang, |
| org.apache.commons.lang.mutable, |
| + org.apache.cxf.jaxrs.client, |
| + org.apache.cxf.jaxrs.client.spec, |
| org.eclipse.compare, |
| org.eclipse.compare.structuremergeviewer, |
| org.eclipse.core.commands, |
| @@ -68,9 +68,10 @@ Import-Package: com.fasterxml.jackson.core.type, |
| org.eclipse.osee.account.rest.model, |
| org.eclipse.osee.ats.api.data, |
| org.eclipse.osee.define.api, |
| - org.eclipse.osee.framework.access, |
| org.eclipse.osee.framework.core, |
| org.eclipse.osee.framework.core.access, |
| + org.eclipse.osee.framework.core.access.event, |
| + org.eclipse.osee.framework.core.access.object, |
| org.eclipse.osee.framework.core.client, |
| org.eclipse.osee.framework.core.client.server, |
| org.eclipse.osee.framework.core.data, |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/OSGI-INF/access.control.service.ref.xml b/plugins/org.eclipse.osee.framework.ui.skynet/OSGI-INF/access.control.service.ref.xml |
| deleted file mode 100644 |
| index e553ff6084..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/OSGI-INF/access.control.service.ref.xml |
| +++ /dev/null |
| @@ -1,5 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0"> |
| - <implementation class="org.eclipse.osee.framework.ui.skynet.access.AccessControlService"/> |
| - <reference bind="setAccessService" cardinality="1..1" interface="org.eclipse.osee.framework.core.access.IAccessControlService" name="IAccessControlService" policy="static"/> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/OSGI-INF/artifact.prompt.change.xml b/plugins/org.eclipse.osee.framework.ui.skynet/OSGI-INF/artifact.prompt.change.xml |
| deleted file mode 100644 |
| index c94091ad49..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/OSGI-INF/artifact.prompt.change.xml |
| +++ /dev/null |
| @@ -1,5 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop"> |
| - <implementation class="org.eclipse.osee.framework.ui.skynet.artifact.ArtifactPromptChange"/> |
| - <reference bind="setAccessPolicy" cardinality="1..1" interface="org.eclipse.osee.framework.skynet.core.AccessPolicy" name="AccessPolicy" policy="static"/> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactContentProvider.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactContentProvider.java |
| index e4bdcfdb9b..4b94a11142 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactContentProvider.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactContentProvider.java |
| @@ -24,7 +24,6 @@ import org.eclipse.jface.viewers.IContentProvider; |
| import org.eclipse.jface.viewers.IStructuredContentProvider; |
| import org.eclipse.jface.viewers.ITreeContentProvider; |
| import org.eclipse.jface.viewers.Viewer; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.enums.CoreRelationTypes; |
| import org.eclipse.osee.framework.core.enums.DeletionFlag; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| @@ -34,6 +33,7 @@ import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.ArtifactChangeListener; |
| import org.eclipse.osee.framework.skynet.core.relation.RelationLink; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.explorer.ArtifactExplorerLinkNode; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| |
| @@ -86,7 +86,8 @@ public class ArtifactContentProvider implements ITreeContentProvider, ArtifactCh |
| if (parentElement instanceof Artifact) { |
| Artifact parentItem = (Artifact) parentElement; |
| try { |
| - if (AccessControlManager.hasPermission(parentItem, PermissionEnum.READ)) { |
| + if (OseeApiService.get().getAccessControlService().hasArtifactPermission(parentItem, PermissionEnum.READ, |
| + null).isSuccess()) { |
| Collection<Artifact> children = parentItem.getChildren(); |
| List<RelationLink> relationsAll = parentItem.getRelationsAll(DeletionFlag.EXCLUDE_DELETED); |
| List<Object> allChildren = new ArrayList<>(); |
| @@ -180,7 +181,8 @@ public class ArtifactContentProvider implements ITreeContentProvider, ArtifactCh |
| if (element instanceof Artifact) { |
| Artifact artifact = (Artifact) element; |
| try { |
| - if (AccessControlManager.hasPermission(artifact, PermissionEnum.READ)) { |
| + if (OseeApiService.get().getAccessControlService().hasArtifactPermission(artifact, PermissionEnum.READ, |
| + null).isSuccess()) { |
| if (artifact.isDeleted()) { |
| return false; |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactImageManager.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactImageManager.java |
| index 76b40bc24d..1aaa806316 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactImageManager.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactImageManager.java |
| @@ -21,7 +21,6 @@ import java.util.Set; |
| import java.util.concurrent.ConcurrentHashMap; |
| import java.util.logging.Level; |
| import org.eclipse.jface.resource.ImageDescriptor; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.enums.ModificationType; |
| import org.eclipse.osee.framework.core.model.change.ChangeIgnoreType; |
| @@ -35,6 +34,7 @@ import org.eclipse.osee.framework.skynet.core.change.Change; |
| import org.eclipse.osee.framework.skynet.core.conflict.ArtifactConflict; |
| import org.eclipse.osee.framework.skynet.core.conflict.AttributeConflict; |
| import org.eclipse.osee.framework.skynet.core.conflict.Conflict; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.artifact.annotation.ArtifactAnnotation; |
| import org.eclipse.osee.framework.ui.skynet.artifact.annotation.AttributeAnnotationManager; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| @@ -300,7 +300,7 @@ public final class ArtifactImageManager { |
| } else { |
| KeyedImage imageKey = getArtifactTypeImage(type); |
| if (imageKey != null) { |
| - if (AccessControlManager.hasLock(artifact)) { |
| + if (OseeApiService.get().getAccessControlService().hasLock(artifact)) { |
| return getLockedImage(imageKey, artifact); |
| } |
| return ImageManager.setupImage(imageKey); |
| @@ -318,7 +318,7 @@ public final class ArtifactImageManager { |
| try { |
| baseImageEnum = BaseImage.getBaseImageEnum(artifact); |
| |
| - if (AccessControlManager.hasLock(artifact)) { |
| + if (OseeApiService.get().getAccessControlService().hasLock(artifact)) { |
| return getLockedImage(baseImageEnum, artifact); |
| } |
| |
| @@ -335,7 +335,7 @@ public final class ArtifactImageManager { |
| |
| private static String getLockedImage(KeyedImage baseImageEnum, Artifact artifact) { |
| KeyedImage locked = FrameworkImage.LOCKED_NO_ACCESS; |
| - if (AccessControlManager.hasLockAccess(artifact)) { |
| + if (OseeApiService.get().getAccessControlService().isReadOnly(artifact)) { |
| locked = FrameworkImage.LOCKED_WITH_ACCESS; |
| } |
| return ImageManager.setupImageWithOverlay(baseImageEnum, locked, Location.TOP_LEFT).getImageKey(); |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/FrameworkImage.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/FrameworkImage.java |
| index ea4457e8b4..c6b00fe650 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/FrameworkImage.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/FrameworkImage.java |
| @@ -145,6 +145,7 @@ public enum FrameworkImage implements KeyedImage { |
| LINK("link.gif"), |
| LOAD("load.gif"), |
| LOCKED("lock.gif"), |
| + LOCK_DETAILS("lock_details.gif"), |
| LOCK_LOCKED("lock_locked.gif"), |
| LOCK_UNLOCKED("lock_unlocked.gif"), |
| LOCK_OVERLAY("lock_overlay.gif"), |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationCellModifier.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationCellModifier.java |
| index 07c41826e6..f274e64fb1 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationCellModifier.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationCellModifier.java |
| @@ -18,14 +18,14 @@ import java.util.logging.Level; |
| import org.eclipse.jface.viewers.ICellModifier; |
| import org.eclipse.jface.viewers.TreeViewer; |
| import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| +import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| 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.relation.RelationLink; |
| import org.eclipse.osee.framework.skynet.core.relation.RelationManager; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| import org.eclipse.osee.framework.ui.swt.IDirtiableEditor; |
| import org.eclipse.swt.widgets.Item; |
| |
| @@ -45,22 +45,12 @@ public class RelationCellModifier implements ICellModifier { |
| public boolean canModify(Object element, String property) { |
| if (element instanceof WrapperForRelationLink) { |
| WrapperForRelationLink relLink = (WrapperForRelationLink) element; |
| - RelationTypeSide rts = new RelationTypeSide(relLink.getRelationType(), relLink.getRelationSide()); |
| - boolean canModify = false; |
| - AccessPolicy policyHandlerService = null; |
| - try { |
| - policyHandlerService = ServiceUtil.getAccessPolicy(); |
| - } catch (OseeCoreException ex1) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex1); |
| - } |
| - if (policyHandlerService != null) { |
| - try { |
| - canModify = policyHandlerService.canRelationBeModified(relLink.getArtifactA(), |
| - Arrays.asList(relLink.getArtifactB()), rts, Level.INFO).matched(); |
| - } catch (OseeCoreException ex) { |
| - canModify = false; |
| - } |
| - } |
| + RelationTypeSide relationTypeSide = new RelationTypeSide(relLink.getRelationType(), relLink.getRelationSide()); |
| + |
| + boolean canModify = |
| + OseeApiService.get().getAccessControlService().hasRelationTypePermission(relLink.getArtifactA(), |
| + relationTypeSide, Arrays.asList(relLink.getArtifactB()), PermissionEnum.WRITE, null).isSuccess(); |
| + |
| return canModify; |
| } |
| return 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 c45d951754..501070722b 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 |
| @@ -13,23 +13,23 @@ |
| |
| 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.access.PermissionStatus; |
| import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| +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.jdk.core.type.OseeCoreException; |
| 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.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| import org.eclipse.osee.framework.ui.swt.ImageManager; |
| import org.eclipse.swt.graphics.Image; |
| |
| @@ -65,12 +65,11 @@ public class RelationLabelProvider implements ITableLabelProvider, ILabelProvide |
| |
| private boolean isLocked(RelationTypeSide relationTypeSide) { |
| boolean isLocked = true; |
| - AccessPolicy policyHandlerService; |
| try { |
| - policyHandlerService = ServiceUtil.getAccessPolicy(); |
| - PermissionStatus permissionStatus = |
| - policyHandlerService.canRelationBeModified(artifact, null, relationTypeSide, Level.FINE); |
| - isLocked = !permissionStatus.matched(); |
| + |
| + boolean hasPermission = OseeApiService.get().getAccessControlService().hasRelationTypePermission(artifact, |
| + relationTypeSide, Collections.emptyList(), PermissionEnum.WRITE, null).isSuccess(); |
| + isLocked = !hasPermission; |
| } catch (OseeCoreException ex) { |
| OseeLog.log(Activator.class, Level.SEVERE, ex); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationSkynetDragAndDrop.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationSkynetDragAndDrop.java |
| index e41efb974b..ddf5cee9dd 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationSkynetDragAndDrop.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/RelationSkynetDragAndDrop.java |
| @@ -15,9 +15,11 @@ package org.eclipse.osee.framework.ui.skynet; |
| |
| import java.io.File; |
| import java.net.URI; |
| +import java.util.ArrayList; |
| import java.util.Arrays; |
| import java.util.Collection; |
| import java.util.LinkedList; |
| +import java.util.List; |
| import java.util.logging.Level; |
| import org.eclipse.core.runtime.IProgressMonitor; |
| import org.eclipse.core.runtime.jobs.IJobChangeEvent; |
| @@ -28,6 +30,7 @@ import org.eclipse.jface.viewers.TreeViewer; |
| import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| import org.eclipse.osee.framework.core.enums.CoreRelationTypes; |
| +import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.enums.RelationSide; |
| import org.eclipse.osee.framework.core.operation.AbstractOperation; |
| import org.eclipse.osee.framework.core.operation.IOperation; |
| @@ -35,15 +38,14 @@ import org.eclipse.osee.framework.core.operation.Operations; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| 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.importing.parsers.HandleImport; |
| import org.eclipse.osee.framework.skynet.core.relation.RelationManager; |
| import org.eclipse.osee.framework.skynet.core.relation.RelationTypeSideSorter; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactTransfer; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| import org.eclipse.osee.framework.ui.skynet.relation.explorer.RelationExplorerWindow; |
| import org.eclipse.osee.framework.ui.skynet.util.SkynetDragAndDrop; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| @@ -117,36 +119,38 @@ public final class RelationSkynetDragAndDrop extends SkynetDragAndDrop { |
| if (selected != null && selected.getData() instanceof RelationTypeSideSorter) { |
| ArtifactTransfer artTransfer = ArtifactTransfer.getInstance(); |
| FileTransfer fileTransfer = FileTransfer.getInstance(); |
| - RelationTypeSideSorter data = (RelationTypeSideSorter) selected.getData(); |
| + RelationTypeSideSorter relTypeSorter = (RelationTypeSideSorter) selected.getData(); |
| if (artTransfer.isSupportedType(event.currentDataType)) { |
| try { |
| ArtifactData artData = artTransfer.nativeToJava(event.currentDataType); |
| - Artifact[] selectedArtifacts = artData.getArtifacts(); |
| + List<Artifact> relatedArts = new ArrayList<Artifact>(); |
| + for (Artifact relatedArt : artData.getArtifacts()) { |
| + relatedArts.add(relatedArt); |
| + } |
| + |
| String toolTipText = ""; |
| - Artifact relationArtifact = data.getArtifact(); |
| + Artifact relationArtifact = relTypeSorter.getArtifact(); |
| |
| boolean canRelate = false; |
| - for (Artifact i : selectedArtifacts) { |
| - Artifact sideA = i; |
| + for (Artifact art : relatedArts) { |
| + Artifact sideA = art; |
| Artifact sideB = relationArtifact; |
| - if (data.getSide() == RelationSide.SIDE_B) { |
| + if (relTypeSorter.getSide() == RelationSide.SIDE_B) { |
| sideA = relationArtifact; |
| - sideB = i; |
| + sideB = art; |
| } |
| - canRelate = ensureRelationCanBeAdded(data.getRelationType(), sideA, sideB); |
| + canRelate = ensureRelationCanBeAdded(relTypeSorter.getRelationType(), sideA, sideB); |
| if (!canRelate) { |
| toolTipText += String.format("Relation: [%s] \n\tcannot be added to [%s]\n\tof [%s]\n", |
| - i.getName(), data.getSide().name(), data.getRelationType().getName()); |
| + art.getName(), relTypeSorter, relTypeSorter.getRelationType().getName()); |
| |
| } |
| } |
| |
| - AccessPolicy policyHandlerService = ServiceUtil.getAccessPolicy(); |
| - |
| - boolean matched = policyHandlerService.canRelationBeModified(artifact, Arrays.asList(selectedArtifacts), |
| - data, Level.INFO).matched(); |
| + boolean hadPermission = OseeApiService.get().getAccessControlService().hasRelationTypePermission(artifact, |
| + relTypeSorter, relatedArts, PermissionEnum.WRITE, null).isSuccess(); |
| |
| - if (matched) { |
| + if (canRelate) { |
| event.detail = DND.DROP_COPY; |
| tree.setInsertMark(null, false); |
| } else { |
| @@ -154,7 +158,7 @@ public final class RelationSkynetDragAndDrop extends SkynetDragAndDrop { |
| toolTipText += "Access: Access Control has prevented this relation"; |
| |
| } |
| - if (!matched || !canRelate) { |
| + if (!hadPermission || !canRelate) { |
| getErrorToolTip().setText("RELATION ERROR"); |
| getErrorToolTip().setMessage(toolTipText); |
| getErrorToolTip().setVisible(true); |
| @@ -164,29 +168,33 @@ public final class RelationSkynetDragAndDrop extends SkynetDragAndDrop { |
| } |
| |
| } else if (fileTransfer.isSupportedType(event.currentDataType)) { |
| - RelationTypeToken relationType = data.getRelationType(); |
| + RelationTypeToken relationType = relTypeSorter.getRelationType(); |
| if (relationType.equals(CoreRelationTypes.Verification_Verifier) || relationType.equals( |
| CoreRelationTypes.Uses_TestUnit)) { |
| - AccessPolicy policyHandlerService = null; |
| - try { |
| - policyHandlerService = ServiceUtil.getAccessPolicy(); |
| - } catch (OseeCoreException ex1) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex1); |
| + RelationTypeSide relTypeSide = null; |
| + if (relationType.equals(CoreRelationTypes.Verification_Verifier)) { |
| + relTypeSide = CoreRelationTypes.Verification_Verifier; |
| + } else { |
| + relTypeSide = CoreRelationTypes.Verification_Verifier; |
| } |
| - boolean matched = false; |
| - if (policyHandlerService != null) { |
| - try { |
| - matched = policyHandlerService.canRelationBeModified(artifact, null, data, Level.INFO).matched(); |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex); |
| - } |
| + ArtifactData artData = artTransfer.nativeToJava(event.currentDataType); |
| + List<Artifact> relatedArts = new ArrayList<Artifact>(); |
| + for (Artifact relatedArt : artData.getArtifacts()) { |
| + relatedArts.add(relatedArt); |
| } |
| + Artifact artifact = relTypeSorter.getArtifact(); |
| |
| - if (matched) { |
| + boolean hasPermission = false; |
| + try { |
| + hasPermission = OseeApiService.get().getAccessControlService().hasRelationTypePermission(artifact, |
| + relTypeSide, relatedArts, PermissionEnum.WRITE, null).isSuccess(); |
| + } catch (OseeCoreException ex) { |
| + OseeLog.log(Activator.class, Level.SEVERE, ex); |
| + } |
| + if (hasPermission) { |
| event.detail = DND.DROP_COPY; |
| } |
| } |
| - |
| } |
| |
| } else if (selected != null && selected.getData() instanceof WrapperForRelationLink) { |
| @@ -195,18 +203,19 @@ public final class RelationSkynetDragAndDrop extends SkynetDragAndDrop { |
| Object obj = selection.getFirstElement(); |
| if (obj instanceof WrapperForRelationLink) { |
| WrapperForRelationLink dropTarget = (WrapperForRelationLink) obj; |
| - boolean matched = false; |
| + boolean hasPermission = false; |
| try { |
| - AccessPolicy policyHandlerService = ServiceUtil.getAccessPolicy(); |
| RelationTypeSide rts = new RelationTypeSide(dropTarget.getRelationType(), dropTarget.getRelationSide()); |
| + List<Artifact> related = Arrays.asList( |
| + artifact.equals(dropTarget.getArtifactA()) ? dropTarget.getArtifactB() : dropTarget.getArtifactA()); |
| + |
| + hasPermission = OseeApiService.get().getAccessControlService().hasRelationTypePermission(artifact, rts, |
| + related, PermissionEnum.WRITE, null).isSuccess(); |
| |
| - matched = policyHandlerService.canRelationBeModified(artifact, Arrays.asList( |
| - artifact.equals(dropTarget.getArtifactA()) ? dropTarget.getArtifactB() : dropTarget.getArtifactA()), |
| - rts, Level.INFO).matched(); |
| } catch (OseeCoreException ex) { |
| OseeLog.log(Activator.class, Level.SEVERE, ex); |
| } |
| - if (!matched) { |
| + if (!hasPermission) { |
| event.detail = DND.DROP_NONE; |
| getErrorToolTip().setText("MOVE ERROR"); |
| getErrorToolTip().setMessage("Access Control has restricted this action."); |
| 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 3359144cc5..1d3766c8d4 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 |
| @@ -34,6 +34,7 @@ import org.eclipse.jface.viewers.TreeViewer; |
| import org.eclipse.osee.framework.core.OrcsTokenService; |
| import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| +import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.enums.PresentationType; |
| import org.eclipse.osee.framework.core.enums.RelationSorter; |
| import org.eclipse.osee.framework.help.ui.OseeHelpContext; |
| @@ -41,7 +42,6 @@ import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| 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.ISelectedArtifacts; |
| import org.eclipse.osee.framework.skynet.core.relation.RelationManager; |
| @@ -49,6 +49,7 @@ import org.eclipse.osee.framework.skynet.core.relation.RelationTypeSideSorter; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| import org.eclipse.osee.framework.ui.plugin.util.HelpUtil; |
| import org.eclipse.osee.framework.ui.skynet.RelationOrderContributionItem.SelectionListener; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| import org.eclipse.osee.framework.ui.skynet.render.RendererManager; |
| @@ -395,15 +396,15 @@ public class RelationsComposite extends Composite implements ISelectedArtifacts |
| |
| if (selection.getFirstElement() instanceof WrapperForRelationLink) { |
| WrapperForRelationLink data = (WrapperForRelationLink) selection.getFirstElement(); |
| - AccessPolicy policyHandlerService; |
| try { |
| - policyHandlerService = ServiceUtil.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(); |
| + RelationTypeSide relationTypeSide = new RelationTypeSide(data.getRelationType(), data.getRelationSide()); |
| + Set<Artifact> relArts = java.util.Collections.singleton( |
| + data.getArtifactA().equals(artifact) ? data.getArtifactB() : data.getArtifactA()); |
| + |
| + valid = OseeApiService.get().getAccessControlService().hasRelationTypePermission(artifact, relationTypeSide, |
| + relArts, PermissionEnum.WRITE, null).isSuccess(); |
| + |
| } catch (OseeCoreException ex) { |
| OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex); |
| } |
| @@ -553,11 +554,8 @@ public class RelationsComposite extends Composite implements ISelectedArtifacts |
| artifacts.add(group.getArtifact()); |
| } |
| |
| - AccessPolicy policyHandlerService = ServiceUtil.getAccessPolicy(); |
| - |
| - hasPermission = |
| - policyHandlerService.canRelationBeModified(toCheck, artifacts, relationTypeSide, Level.INFO).matched(); |
| - |
| + hasPermission = OseeApiService.get().getAccessControlService().hasRelationTypePermission(toCheck, relationTypeSide, |
| + artifacts, PermissionEnum.WRITE, null).isSuccess(); |
| } catch (OseeCoreException ex) { |
| OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/SessionContributionItem.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/SessionContributionItem.java |
| index 11695ec7ae..44620f74fb 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/SessionContributionItem.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/SessionContributionItem.java |
| @@ -17,13 +17,13 @@ import java.util.logging.Level; |
| import org.eclipse.jface.action.Action; |
| import org.eclipse.jface.action.IContributionItem; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEvent; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEventPayload; |
| import org.eclipse.osee.framework.core.client.ClientSessionManager; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| 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.model.AccessTopicEvent; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEventPayload; |
| import org.eclipse.osee.framework.ui.plugin.OseeStatusContributionItem; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| import org.eclipse.osee.framework.ui.skynet.dialogs.AuthenticationDialog; |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/AccessControlService.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/AccessControlService.java |
| deleted file mode 100644 |
| index 574c63ad9f..0000000000 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/AccessControlService.java |
| +++ /dev/null |
| @@ -1,33 +0,0 @@ |
| -/********************************************************************* |
| - * Copyright (c) 2014 Boeing |
| - * |
| - * This program and the accompanying materials are made |
| - * available under the terms of the Eclipse Public License 2.0 |
| - * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| - * |
| - * SPDX-License-Identifier: EPL-2.0 |
| - * |
| - * Contributors: |
| - * Boeing - initial API and implementation |
| - **********************************************************************/ |
| - |
| -package org.eclipse.osee.framework.ui.skynet.access; |
| - |
| -import org.eclipse.osee.framework.core.access.IAccessControlService; |
| - |
| -/** |
| - * @author Donald G. Dunne |
| - */ |
| -public class AccessControlService { |
| - |
| - private static IAccessControlService accessService; |
| - |
| - public static IAccessControlService getAccessService() { |
| - return accessService; |
| - } |
| - |
| - public void setAccessService(IAccessControlService accessService) { |
| - AccessControlService.accessService = accessService; |
| - } |
| - |
| -} |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyContentProvider.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyContentProvider.java |
| index 76e7f5b076..0f345d101a 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyContentProvider.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyContentProvider.java |
| @@ -18,16 +18,17 @@ import java.util.Collection; |
| import java.util.Map; |
| import org.eclipse.jface.viewers.ITreeContentProvider; |
| import org.eclipse.jface.viewers.Viewer; |
| -import org.eclipse.osee.framework.access.AccessControlData; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| +import org.eclipse.osee.framework.core.access.AccessControlData; |
| +import org.eclipse.osee.framework.core.data.ArtifactToken; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| |
| public class PolicyContentProvider implements ITreeContentProvider { |
| |
| - private final Map<String, AccessControlData> accessControlList; |
| + private final Map<ArtifactToken, AccessControlData> accessControlList; |
| private final Collection<AccessControlData> deleteControlList; |
| private final Object accessControlledObject; |
| |
| - public PolicyContentProvider(Map<String, AccessControlData> accessControlList, Object accessControlledObject, Collection<AccessControlData> deleteControlList) { |
| + public PolicyContentProvider(Map<ArtifactToken, AccessControlData> accessControlList, Object accessControlledObject, Collection<AccessControlData> deleteControlList) { |
| this.accessControlList = accessControlList; |
| this.accessControlledObject = accessControlledObject; |
| this.deleteControlList = deleteControlList; |
| @@ -46,16 +47,17 @@ public class PolicyContentProvider implements ITreeContentProvider { |
| @Override |
| public Object[] getElements(Object object) { |
| |
| - Collection<AccessControlData> data = AccessControlManager.getAccessControlList(accessControlledObject); |
| + Collection<AccessControlData> data = |
| + OseeApiService.get().getAccessControlService().getAccessControlList(accessControlledObject); |
| for (AccessControlData entry : data) { |
| if (!deleteControlList.contains(entry)) { |
| - accessControlList.put(entry.getSubject().getGuid(), entry); |
| + accessControlList.put(entry.getSubject(), entry); |
| } |
| } |
| |
| - AccessControlData lockData = AccessControlManager.getAccessControlForLock(accessControlledObject); |
| - if (lockData != null) { |
| - accessControlList.put(lockData.getSubject().getGuid(), lockData); |
| + for (AccessControlData lockData : OseeApiService.get().getAccessControlService().getAccessControlList( |
| + accessControlledObject)) { |
| + accessControlList.put(lockData.getSubject(), lockData); |
| } |
| |
| Object[] accessControlListArray = accessControlList.values().toArray(); |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyDialog.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyDialog.java |
| index 489732ed8b..11af8eeed9 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyDialog.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyDialog.java |
| @@ -20,27 +20,35 @@ import java.util.List; |
| import java.util.logging.Level; |
| import org.eclipse.jface.dialogs.Dialog; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| -import org.eclipse.osee.framework.access.AccessControlData; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| +import org.eclipse.osee.framework.core.access.AccessControlData; |
| +import org.eclipse.osee.framework.core.access.event.AccessArtifactLockTopicEvent; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEvent; |
| +import org.eclipse.osee.framework.core.access.object.AccessObject; |
| +import org.eclipse.osee.framework.core.access.object.ArtifactAccessObject; |
| +import org.eclipse.osee.framework.core.access.object.BranchAccessObject; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| +import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| -import org.eclipse.osee.framework.core.data.IUserGroup; |
| import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| import org.eclipse.osee.framework.core.enums.CoreBranches; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| +import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.jdk.core.util.Strings; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.UserManager; |
| -import org.eclipse.osee.framework.skynet.core.access.UserGroupService; |
| +import org.eclipse.osee.framework.skynet.core.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; |
| import org.eclipse.osee.framework.skynet.core.event.OseeEventManager; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessArtifactLockTopicEvent; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEvent; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| +import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| +import org.eclipse.osee.framework.ui.swt.FontManager; |
| +import org.eclipse.osee.framework.ui.swt.HyperLinkLabel; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.events.SelectionAdapter; |
| import org.eclipse.swt.events.SelectionEvent; |
| @@ -50,8 +58,10 @@ import org.eclipse.swt.widgets.Button; |
| import org.eclipse.swt.widgets.Combo; |
| import org.eclipse.swt.widgets.Composite; |
| import org.eclipse.swt.widgets.Control; |
| +import org.eclipse.swt.widgets.Event; |
| import org.eclipse.swt.widgets.Group; |
| import org.eclipse.swt.widgets.Label; |
| +import org.eclipse.swt.widgets.Listener; |
| import org.eclipse.swt.widgets.Shell; |
| |
| /** |
| @@ -65,39 +75,47 @@ public class PolicyDialog extends Dialog { |
| private Button chkChildrenPermission; |
| private Combo userCombo; |
| private Combo permissionLevelCombo; |
| - private final Object accessControlledObject; |
| - private Label accessLabel, objectLabel; |
| + private final AccessObject accessControlledObject; |
| + private Label accessErrorLabel, accessTitleLabel; |
| private final Shell parentShell; |
| - Boolean isArtifactLockedBeforeDialog = null; |
| + Boolean isArtifactLockedBeforeDialog; |
| + private XResultData accessModifyEnabled; |
| |
| - public PolicyDialog(Shell parentShell, Object accessControlledObject) { |
| + public PolicyDialog(Shell parentShell, AccessObject accessControlledObject) { |
| super(parentShell); |
| this.parentShell = parentShell; |
| this.accessControlledObject = accessControlledObject; |
| setShellStyle(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL | getDefaultOrientation() | SWT.RESIZE); |
| } |
| |
| + public static PolicyDialog createPolicyDialog(Shell activeShell, Object object) { |
| + if (object instanceof ArtifactToken) { |
| + return new PolicyDialog(activeShell, ArtifactAccessObject.valueOf((ArtifactToken) object)); |
| + } else if (object instanceof BranchToken) { |
| + return new PolicyDialog(activeShell, BranchAccessObject.valueOf((BranchToken) object)); |
| + } |
| + throw new OseeArgumentException("Unhandled object %", object); |
| + } |
| + |
| @Override |
| protected Control createDialogArea(Composite parent) { |
| - getShell().setText("Access Control List: " + getHeaderName(accessControlledObject)); |
| + final String title = "Access Control for " + (accessControlledObject.isArtifact() ? "Artifact" : "Branch"); |
| + getShell().setText(title); |
| |
| Composite mainComposite = new Composite(parent, SWT.NONE); |
| mainComposite.setFont(parent.getFont()); |
| mainComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); |
| mainComposite.setLayout(new GridLayout(1, false)); |
| |
| - accessLabel = new Label(mainComposite, SWT.NONE); |
| - accessLabel.setForeground(Displays.getSystemColor(SWT.COLOR_RED)); |
| + createTitleComp(mainComposite, title); |
| + |
| + accessErrorLabel = new Label(mainComposite, SWT.NONE); |
| + accessErrorLabel.setForeground(Displays.getSystemColor(SWT.COLOR_RED)); |
| |
| Group group = new Group(mainComposite, SWT.NULL); |
| group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); |
| group.setLayout(new GridLayout(1, false)); |
| |
| - // Setup policy table |
| - objectLabel = new Label(group, SWT.NONE); |
| - objectLabel.setText( |
| - String.format("Access Control for [%s]", Strings.truncate(accessControlledObject.toString(), 70))); |
| - |
| policyTableViewer = new PolicyTableViewer(group, accessControlledObject); |
| |
| // Create Input Widgets |
| @@ -136,13 +154,46 @@ public class PolicyDialog extends Dialog { |
| checkEnabled(); |
| setMaxModificationLevel(); |
| |
| - if (accessControlledObject instanceof Artifact) { |
| - isArtifactLockedBeforeDialog = AccessControlManager.hasLock((Artifact) accessControlledObject); |
| + if (accessControlledObject instanceof ArtifactAccessObject) { |
| + isArtifactLockedBeforeDialog = OseeApiService.get().getAccessControlService().hasLock( |
| + ((ArtifactAccessObject) accessControlledObject).getArtifact()); |
| } |
| |
| return mainComposite; |
| } |
| |
| + private void createTitleComp(Composite parent, final String title) { |
| + Composite titleComposite = new Composite(parent, SWT.NONE); |
| + titleComposite.setFont(parent.getFont()); |
| + titleComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); |
| + titleComposite.setLayout(new GridLayout(2, false)); |
| + |
| + accessTitleLabel = new Label(titleComposite, SWT.NONE); |
| + accessTitleLabel.setText(String.format("Access Control for %s\nUser %s", |
| + Strings.truncate(accessControlledObject.toString(), 70), UserManager.getUser().toStringWithId())); |
| + accessTitleLabel.setFont(FontManager.getCourierNew12Bold()); |
| + |
| + HyperLinkLabel edit = new HyperLinkLabel(titleComposite, SWT.None); |
| + edit.setText(" Show Access Details"); |
| + edit.addListener(SWT.MouseUp, new Listener() { |
| + |
| + @Override |
| + public void handleEvent(Event event) { |
| + XResultData rd = null; |
| + String useTitle = "Modify " + title; |
| + if (accessControlledObject.isArtifact()) { |
| + rd = AccessControlArtifactUtil.getXResultAccessHeader(useTitle, |
| + (Artifact) ((ArtifactAccessObject) accessControlledObject).getArtifact()); |
| + } else { |
| + rd = AccessControlArtifactUtil.getXResultAccessHeader(useTitle, accessControlledObject.getBranch()); |
| + } |
| + rd.addRaw(accessModifyEnabled.toString()); |
| + XResultDataUI.report(rd, useTitle); |
| + close(); |
| + } |
| + }); |
| + } |
| + |
| private void populateInputWidgets() { |
| |
| // Setup permissions combo |
| @@ -207,26 +258,29 @@ public class PolicyDialog extends Dialog { |
| } |
| |
| private void setMaxModificationLevel() { |
| - PermissionEnum permission = AccessControlManager.getPermission(accessControlledObject); |
| + PermissionEnum permission = null; |
| + if (accessControlledObject.isArtifact()) { |
| + permission = OseeApiService.get().getAccessControlService().getPermission( |
| + ((ArtifactAccessObject) accessControlledObject).getArtifact()); |
| + } else if (accessControlledObject.isBranch()) { |
| + permission = OseeApiService.get().getAccessControlService().getPermission( |
| + ((BranchAccessObject) accessControlledObject).getBranch()); |
| + } else { |
| + throw new OseeArgumentException("Unhandled object %s", accessControlledObject); |
| + } |
| policyTableViewer.setMaxModificationLevel(permission); |
| } |
| |
| private void checkEnabled() { |
| - boolean isAccessEnabled = isAddAccessEnabled(); |
| - boolean isModifyEnabled = isModifyAccessEnabled(); |
| + boolean isAccessEnabled = isAccessEnabled(); |
| |
| String displayText = ""; |
| if (!isAccessEnabled) { |
| - displayText = "You do not have permissions to add/delete users"; |
| - if (!isModifyEnabled) { |
| - displayText += " or modify access"; |
| - } |
| - } else if (!isModifyEnabled) { |
| displayText = "You do not have permissions to modify access"; |
| } |
| |
| - accessLabel.setText(displayText); |
| - boolean isArtifact = accessControlledObject instanceof Artifact; |
| + accessErrorLabel.setText(displayText); |
| + boolean isArtifact = accessControlledObject.isArtifact(); |
| |
| userCombo.setEnabled(isAccessEnabled); |
| permissionLevelCombo.setEnabled(isAccessEnabled); |
| @@ -236,35 +290,18 @@ public class PolicyDialog extends Dialog { |
| } |
| |
| private boolean isAccessEnabled() { |
| - return isModifyAccessEnabled() || isAddAccessEnabled(); |
| - } |
| - |
| - private boolean isModifyAccessEnabled() { |
| - return isAccessEnabled(PermissionEnum.USER_LOCK); |
| - } |
| - |
| - private boolean isAddAccessEnabled() { |
| - return isAccessEnabled(PermissionEnum.FULLACCESS); |
| - } |
| - |
| - private boolean isAccessEnabled(PermissionEnum permission) { |
| - boolean enabled; |
| - try { |
| - IUserGroup oseeAccessGroup = UserGroupService.getOseeAccessAdmin(); |
| - boolean isOseeAccessAdmin = oseeAccessGroup.isCurrentUserMember(); |
| - boolean objectHasAccessSet = !policyTableViewer.getAccessControlList().isEmpty(); |
| - if (isOseeAccessAdmin) { |
| - enabled = true; |
| - } else if (objectHasAccessSet) { |
| - enabled = AccessControlManager.hasPermission(accessControlledObject, permission); |
| - } else { |
| - enabled = false; |
| - } |
| - } catch (OseeCoreException ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex); |
| - enabled = false; |
| + accessModifyEnabled = new XResultData(); |
| + if (accessControlledObject.isArtifact()) { |
| + OseeApiService.get().getAccessControlService().isModifyAccessEnabled(UserManager.getUser(), |
| + ((ArtifactAccessObject) accessControlledObject).getArtifact(), accessModifyEnabled); |
| + } else if (accessControlledObject.isBranch()) { |
| + OseeApiService.get().getAccessControlService().isModifyAccessEnabled(UserManager.getUser(), |
| + accessControlledObject.getBranch(), accessModifyEnabled); |
| + } else { |
| + accessModifyEnabled.errorf("User %s DOES NOT have Access Modify rights for %s: Reason [Unhandled Object]", |
| + UserManager.getUser().getName(), accessControlledObject); |
| } |
| - return enabled; |
| + return accessModifyEnabled.isSuccess(); |
| } |
| |
| @Override |
| @@ -272,17 +309,17 @@ public class PolicyDialog extends Dialog { |
| for (AccessControlData data : policyTableViewer.getAccessControlList().values()) { |
| if (data.isDirty()) { |
| boolean isRecursionAllowed = chkChildrenPermission.getSelection(); |
| - AccessControlManager.persistPermission(data, isRecursionAllowed); |
| + OseeApiService.get().getAccessControlService().persistPermission(data, isRecursionAllowed); |
| } |
| } |
| policyTableViewer.removeDataFromDB(); |
| - AccessControlManager.clearCaches(); |
| + OseeApiService.get().getAccessControlService().clearCaches(); |
| |
| // Send artifact locked event if changed in dialog |
| if (isArtifactLockedBeforeDialog != null) { |
| try { |
| - Artifact artifact = (Artifact) accessControlledObject; |
| - boolean isArtifactLockedAfterDialog = AccessControlManager.hasLock(artifact); |
| + Artifact artifact = (Artifact) ((ArtifactAccessObject) accessControlledObject).getArtifact(); |
| + boolean isArtifactLockedAfterDialog = OseeApiService.get().getAccessControlService().hasLock(artifact); |
| if (isArtifactLockedAfterDialog != isArtifactLockedBeforeDialog) { |
| AccessArtifactLockTopicEvent event = new AccessArtifactLockTopicEvent(); |
| event.setBranch(artifact.getBranch()); |
| @@ -297,16 +334,6 @@ public class PolicyDialog extends Dialog { |
| super.okPressed(); |
| } |
| |
| - private String getHeaderName(Object object) { |
| - String name = ""; |
| - if (object instanceof Artifact) { |
| - name = ((Artifact) object).getName(); |
| - } else if (object instanceof BranchToken) { |
| - name = ((BranchToken) object).getName(); |
| - } |
| - return name; |
| - } |
| - |
| private static final class UserComparator<T> implements Comparator<T> { |
| @Override |
| public int compare(T o1, T o2) { |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyLabelProvider.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyLabelProvider.java |
| index 9ea5cec201..2da3da6e4d 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyLabelProvider.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyLabelProvider.java |
| @@ -17,7 +17,7 @@ import org.eclipse.jface.viewers.ILabelProviderListener; |
| import org.eclipse.nebula.widgets.xviewer.XViewer; |
| import org.eclipse.nebula.widgets.xviewer.XViewerLabelProvider; |
| import org.eclipse.nebula.widgets.xviewer.core.model.XViewerColumn; |
| -import org.eclipse.osee.framework.access.AccessControlData; |
| +import org.eclipse.osee.framework.core.access.AccessControlData; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| import org.eclipse.osee.framework.ui.swt.ImageManager; |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyTableCellModifier.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyTableCellModifier.java |
| index fc3bdeee79..79ca4780b4 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyTableCellModifier.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyTableCellModifier.java |
| @@ -15,10 +15,10 @@ package org.eclipse.osee.framework.ui.skynet.access; |
| |
| import java.util.Collections; |
| import org.eclipse.jface.viewers.ICellModifier; |
| -import org.eclipse.osee.framework.access.AccessControlData; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| +import org.eclipse.osee.framework.core.access.AccessControlData; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.skynet.core.UserManager; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.swt.widgets.TreeItem; |
| |
| /** |
| @@ -60,8 +60,8 @@ public class PolicyTableCellModifier implements ICellModifier { |
| TreeItem item = (TreeItem) element; |
| AccessControlData data = (AccessControlData) item.getData(); |
| if (policyTableViewer.isArtifact() && data.getPermission() == PermissionEnum.USER_LOCK) { |
| - AccessControlManager.unLockObjects(Collections.singleton(policyTableViewer.getArtifact()), |
| - UserManager.getUser()); |
| + OseeApiService.get().getAccessControlService().unLockArtifacts(UserManager.getUser(), |
| + Collections.singleton(policyTableViewer.getArtifact())); |
| policyTableViewer.removeData(data); |
| } else { |
| if (canDelete() && property.equals(PolicyTableColumns.delete.toString())) { |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyTableViewer.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyTableViewer.java |
| index 72fb223506..36bba40c20 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyTableViewer.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyTableViewer.java |
| @@ -21,9 +21,9 @@ import java.util.logging.Level; |
| import org.eclipse.jface.viewers.CellEditor; |
| import org.eclipse.jface.viewers.CheckboxCellEditor; |
| import org.eclipse.jface.viewers.ComboBoxCellEditor; |
| -import org.eclipse.osee.framework.access.AccessControlData; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| -import org.eclipse.osee.framework.access.AccessObject; |
| +import org.eclipse.osee.framework.core.access.AccessControlData; |
| +import org.eclipse.osee.framework.core.access.object.AccessObject; |
| +import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.IUserGroup; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| @@ -32,6 +32,7 @@ import org.eclipse.osee.framework.skynet.core.UserManager; |
| import org.eclipse.osee.framework.skynet.core.access.UserGroupService; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.PolicyTableXViewerFactory; |
| import org.eclipse.swt.SWT; |
| @@ -45,7 +46,7 @@ import org.eclipse.swt.widgets.Composite; |
| */ |
| public class PolicyTableViewer { |
| |
| - private final Map<String, AccessControlData> accessControlList = new HashMap<>(); |
| + private final Map<ArtifactToken, AccessControlData> accessControlList = new HashMap<>(); |
| private final Collection<AccessControlData> deleteControlList = new ArrayList<>(); |
| private final Object object; |
| private final Composite parent; |
| @@ -65,14 +66,14 @@ public class PolicyTableViewer { |
| } |
| |
| public void addOrModifyItem(Artifact subject, Object object, PermissionEnum permission) { |
| - AccessObject accessObject = AccessControlManager.getAccessObject(object); |
| - AccessControlData data = accessControlList.get(subject.getGuid()); |
| + AccessObject accessObject = AccessObject.valueOf(object); |
| + AccessControlData data = accessControlList.get(subject); |
| if (data == null) { |
| data = new AccessControlData(subject, accessObject, permission, true); |
| } else { |
| modifyPermissionLevel(data, permission); |
| } |
| - accessControlList.put(data.getSubject().getGuid(), data); |
| + accessControlList.put(data.getSubject(), data); |
| tableXViewer.refresh(); |
| } |
| |
| @@ -107,7 +108,7 @@ public class PolicyTableViewer { |
| tableXViewer.setTableViewer(this); |
| } |
| |
| - public Map<String, AccessControlData> getAccessControlList() { |
| + public Map<ArtifactToken, AccessControlData> getAccessControlList() { |
| return accessControlList; |
| } |
| |
| @@ -121,13 +122,13 @@ public class PolicyTableViewer { |
| } catch (OseeCoreException ex) { |
| OseeLog.log(Activator.class, Level.SEVERE, ex); |
| } |
| - accessControlList.remove(data.getSubject().getGuid()); |
| + accessControlList.remove(data.getSubject()); |
| } |
| |
| public void removeDataFromDB() { |
| try { |
| for (AccessControlData data : deleteControlList) { |
| - AccessControlManager.removeAccessControlDataIf(true, data); |
| + OseeApiService.get().getAccessControlService().removeAccessControlDataIf(true, data); |
| } |
| } catch (OseeCoreException ex) { |
| OseeLog.log(Activator.class, Level.SEVERE, ex); |
| @@ -162,8 +163,10 @@ public class PolicyTableViewer { |
| IUserGroup oseeAccessGroup = UserGroupService.getOseeAccessAdmin(); |
| boolean isOseeAccessAdmin = oseeAccessGroup.isCurrentUserMember(); |
| |
| - boolean canUnlockObject = AccessControlManager.canUnlockObject(artifact, UserManager.getUser()); |
| - boolean isUserFullAccess = AccessControlManager.getPermission(artifact).matches(PermissionEnum.FULLACCESS); |
| + boolean canUnlockObject = |
| + OseeApiService.get().getAccessControlService().canUnlockObject(artifact, UserManager.getUser()); |
| + boolean isUserFullAccess = OseeApiService.get().getAccessControlService().hasArtifactPermission(artifact, |
| + PermissionEnum.FULLACCESS, null).isSuccess(); |
| return isOseeAccessAdmin || canUnlockObject || isUserFullAccess; |
| } |
| return false; |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyTableXviewer.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyTableXviewer.java |
| index 27de196983..c5b69ff1e0 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyTableXviewer.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/access/PolicyTableXviewer.java |
| @@ -30,7 +30,7 @@ import org.eclipse.jface.window.Window; |
| import org.eclipse.nebula.widgets.xviewer.IMultiColumnEditProvider; |
| import org.eclipse.nebula.widgets.xviewer.IXViewerFactory; |
| import org.eclipse.nebula.widgets.xviewer.XViewer; |
| -import org.eclipse.osee.framework.access.AccessControlData; |
| +import org.eclipse.osee.framework.core.access.AccessControlData; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| import org.eclipse.osee.framework.ui.plugin.util.StringLabelProvider; |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPrompt.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPrompt.java |
| index 828c5c9723..ab12cf7d5d 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPrompt.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPrompt.java |
| @@ -16,11 +16,13 @@ package org.eclipse.osee.framework.ui.skynet.artifact; |
| import java.util.Collection; |
| import org.eclipse.osee.framework.core.data.AttributeTypeToken; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.logging.OseeLevel; |
| -import org.eclipse.osee.framework.skynet.core.AccessPolicy; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| +import org.eclipse.osee.framework.skynet.core.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| 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.widgets.dialog.XResultDataDialog; |
| |
| /** |
| * @author Jeff C. Phillips |
| @@ -29,24 +31,27 @@ import org.eclipse.osee.framework.ui.skynet.artifact.prompt.IPromptFactory; |
| public final class ArtifactPrompt { |
| |
| private final IPromptFactory promptFactory; |
| - private final AccessPolicy policyHandler; |
| |
| - public ArtifactPrompt(IPromptFactory promptFactory, AccessPolicy policyHandler) { |
| + public ArtifactPrompt(IPromptFactory promptFactory) { |
| this.promptFactory = promptFactory; |
| - this.policyHandler = policyHandler; |
| } |
| |
| - public boolean promptChangeAttribute(AttributeTypeToken attributeType, final Collection<? extends Artifact> artifacts, boolean persist, boolean multiLine) { |
| + public boolean promptChangeAttribute(AttributeTypeToken attributeType, final Collection<Artifact> artifacts, boolean persist, boolean multiLine) { |
| boolean toReturn = false; |
| - boolean hasPermission = policyHandler.hasAttributeTypePermission(artifacts, attributeType, PermissionEnum.WRITE, |
| - OseeLevel.SEVERE_POPUP).matched(); |
| - |
| - if (hasPermission) { |
| - IHandlePromptChange promptChange = promptFactory.createPrompt(attributeType, |
| - attributeType.getUnqualifiedName(), artifacts, persist, multiLine); |
| - if (promptChange.promptOk()) { |
| - toReturn = promptChange.store(); |
| - } |
| + XResultData rd = |
| + OseeApiService.get().getAccessControlService().hasAttributeTypePermission(artifacts, attributeType, |
| + PermissionEnum.WRITE, AccessControlArtifactUtil.getXResultAccessHeader("Change Attribute", artifacts, attributeType)); |
| + |
| + if (rd.isErrors()) { |
| + XResultDataDialog.open(rd, "Change Attribute", "Permission Denied Changing Attribute %s", |
| + attributeType.toStringWithId()); |
| + return false; |
| + } |
| + |
| + IHandlePromptChange promptChange = |
| + promptFactory.createPrompt(attributeType, attributeType.getUnqualifiedName(), artifacts, persist, multiLine); |
| + if (promptChange.promptOk()) { |
| + toReturn = promptChange.store(); |
| } |
| return toReturn; |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPromptChange.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPromptChange.java |
| index e9819d58f9..ad210852be 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPromptChange.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPromptChange.java |
| @@ -17,7 +17,6 @@ import java.util.Collection; |
| import org.eclipse.osee.framework.core.data.AttributeTypeToken; |
| 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.ui.skynet.artifact.prompt.PromptFactory; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| @@ -30,21 +29,10 @@ public final class ArtifactPromptChange { |
| |
| private static ArtifactPrompt prompt; |
| |
| - private AccessPolicy accessPolicy; |
| - |
| - public void setAccessPolicy(AccessPolicy accessPolicy) { |
| - this.accessPolicy = accessPolicy; |
| - } |
| - |
| - public void start() { |
| - prompt = new ArtifactPrompt(new PromptFactory(), accessPolicy); |
| - } |
| - |
| - public void stop() { |
| - prompt = null; |
| - } |
| - |
| private static ArtifactPrompt getArtifactPrompt() { |
| + if (prompt == null) { |
| + prompt = new ArtifactPrompt(new PromptFactory()); |
| + } |
| return ArtifactPromptChange.prompt; |
| } |
| |
| @@ -52,12 +40,13 @@ public final class ArtifactPromptChange { |
| return promptChangeAttribute(attributeType, artifacts, persist, true); |
| } |
| |
| + @SuppressWarnings("unchecked") |
| public static boolean promptChangeAttribute(AttributeTypeToken attributeType, final Collection<? extends Artifact> artifacts, boolean persist, boolean multiLine) { |
| boolean result = false; |
| ArtifactPrompt prompt = getArtifactPrompt(); |
| if (prompt != null) { |
| try { |
| - result = prompt.promptChangeAttribute(attributeType, artifacts, persist, multiLine); |
| + result = prompt.promptChangeAttribute(attributeType, (Collection<Artifact>) artifacts, persist, multiLine); |
| } catch (Exception ex) { |
| OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/OpenArtifactEditorLoopbackCmd.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/OpenArtifactEditorLoopbackCmd.java |
| index 0f4e2efcb2..ba85c78e78 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/OpenArtifactEditorLoopbackCmd.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/OpenArtifactEditorLoopbackCmd.java |
| @@ -16,7 +16,6 @@ package org.eclipse.osee.framework.ui.skynet.artifact; |
| import java.net.HttpURLConnection; |
| import java.util.Map; |
| import java.util.logging.Level; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.client.server.HttpResponse; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.jdk.core.type.MutableBoolean; |
| @@ -25,6 +24,7 @@ import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.httpRequests.BaseArtifactLoopbackCmd; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.ArtifactEditor; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.ArtifactEditorInput; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| @@ -47,7 +47,8 @@ public class OpenArtifactEditorLoopbackCmd extends BaseArtifactLoopbackCmd { |
| try { |
| boolean hasPermissionToRead = false; |
| try { |
| - hasPermissionToRead = AccessControlManager.hasPermission(artifact, PermissionEnum.READ); |
| + hasPermissionToRead = OseeApiService.get().getAccessControlService().hasArtifactPermission(artifact, |
| + PermissionEnum.READ, null).isSuccess(); |
| } catch (Exception ex) { |
| OseeLog.log(Activator.class, Level.SEVERE, ex); |
| } |
| 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 3671f58a0e..58ebcc310d 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 |
| @@ -17,22 +17,25 @@ import java.util.logging.Level; |
| import org.eclipse.core.runtime.IProgressMonitor; |
| import org.eclipse.core.runtime.IStatus; |
| import org.eclipse.core.runtime.Status; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| 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.plugin.core.util.Jobs; |
| +import org.eclipse.osee.framework.skynet.core.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| import org.eclipse.osee.framework.ui.skynet.OseeStatusContributionItemFactory; |
| import org.eclipse.osee.framework.ui.skynet.RelationsComposite; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.pages.ArtifactEditorOutlinePage; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.pages.ArtifactEditorReloadTab; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.pages.ArtifactFormPage; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.tab.attr.ArtEdAttrTab; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| +import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| import org.eclipse.osee.framework.ui.swt.Widgets; |
| import org.eclipse.ui.IEditorReference; |
| @@ -109,7 +112,10 @@ public class ArtifactEditor extends AbstractEventArtifactEditor { |
| firePropertyChange(PROP_DIRTY); |
| } catch (OseeCoreException ex) { |
| onDirtied(); |
| - OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex); |
| + XResultData rd = |
| + AccessControlArtifactUtil.getXResultAccessHeader("Artifact Editor - Save", getEditorInput().getArtifact()); |
| + rd.logf("\n\n%s", Lib.exceptionToString(ex)); |
| + XResultDataUI.report(rd, "Artifact Editor - Save"); |
| } |
| } |
| |
| @@ -191,7 +197,7 @@ public class ArtifactEditor extends AbstractEventArtifactEditor { |
| } |
| |
| private void createAttributesTab() { |
| - if (AccessControlManager.isOseeAdmin()) { |
| + if (OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| attrTab = new ArtEdAttrTab(this, getArtifactFromEditorInput()); |
| try { |
| addPage(attrTab); |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorActionBarContributor.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorActionBarContributor.java |
| index fa2ab212b3..9b63bad508 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorActionBarContributor.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorActionBarContributor.java |
| @@ -22,19 +22,25 @@ import org.eclipse.jface.action.Separator; |
| import org.eclipse.jface.dialogs.IDialogConstants; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.window.Window; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| +import org.eclipse.osee.framework.core.access.AccessControlUtil; |
| +import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.logging.OseeLevel; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| +import org.eclipse.osee.framework.skynet.core.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.ISelectedArtifacts; |
| import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| import org.eclipse.osee.framework.ui.skynet.OpenContributionItem; |
| +import org.eclipse.osee.framework.ui.skynet.access.AccessControlDetails; |
| import org.eclipse.osee.framework.ui.skynet.access.PolicyDialog; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.action.RevealInExplorerAction; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.action.CopyArtifactURLAction; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.action.OpenArtifactInBrowserAction; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.action.OpenHistoryAction; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| +import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; |
| import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchView; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| import org.eclipse.osee.framework.ui.swt.ImageManager; |
| @@ -63,13 +69,16 @@ public class ArtifactEditorActionBarContributor implements IActionContributor, I |
| manager.add(new RevealBranchAction()); |
| manager.add(new Separator()); |
| manager.add(new AccessControlAction()); |
| + if (AccessControlUtil.isDebugOn()) { |
| + manager.add(new AccessControlDetails(artifact)); |
| + } |
| manager.add(new Separator()); |
| if (CopyArtifactURLAction.isApplicable(artifact)) { |
| manager.add(new CopyArtifactURLAction(artifact)); |
| } |
| manager.add(new OpenArtifactInBrowserAction(artifact)); |
| manager.add(new Separator()); |
| - if (AccessControlManager.isOseeAdmin()) { |
| + if (OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| manager.add(new DirtyReportAction(artifact)); |
| } |
| } |
| @@ -108,6 +117,15 @@ public class ArtifactEditorActionBarContributor implements IActionContributor, I |
| @Override |
| public void run() { |
| try { |
| + XResultData rd = OseeApiService.get().getAccessControlService().hasArtifactPermission( |
| + Collections.singleton(artifact), PermissionEnum.WRITE, |
| + AccessControlArtifactUtil.getXResultAccessHeader("Delete Artifact Failed", artifact)); |
| + if (rd.isErrors()) { |
| + XResultDataDialog.open(rd, "Delete Artifact Failed", "You do not have valid access to delete %s", |
| + artifact.toStringWithId()); |
| + return; |
| + } |
| + |
| MessageDialog dialog = new MessageDialog(Displays.getActiveShell(), "Confirm Artifact Deletion", null, |
| String.format( |
| "Are you sure you want to delete the artifact\n\n%s\n\nand all of the default hierarchy children?", |
| @@ -133,7 +151,7 @@ public class ArtifactEditorActionBarContributor implements IActionContributor, I |
| @Override |
| public void run() { |
| try { |
| - PolicyDialog pd = new PolicyDialog(Displays.getActiveShell(), artifact); |
| + PolicyDialog pd = PolicyDialog.createPolicyDialog(Displays.getActiveShell(), artifact); |
| pd.open(); |
| } catch (Exception ex) { |
| OseeLog.log(getClass(), OseeLevel.SEVERE_POPUP, ex); |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorEventManager.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorEventManager.java |
| index 6f2a8f68d1..2e1d81ac10 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorEventManager.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorEventManager.java |
| @@ -17,6 +17,8 @@ import java.util.Collection; |
| import java.util.List; |
| import java.util.concurrent.CopyOnWriteArrayList; |
| import java.util.logging.Level; |
| +import org.eclipse.osee.framework.core.access.event.AccessArtifactLockTopicEvent; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEvent; |
| import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| import org.eclipse.osee.framework.core.event.EventUtil; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| @@ -25,8 +27,6 @@ import org.eclipse.osee.framework.skynet.core.event.OseeEventManager; |
| import org.eclipse.osee.framework.skynet.core.event.filter.IEventFilter; |
| import org.eclipse.osee.framework.skynet.core.event.listener.IArtifactEventListener; |
| import org.eclipse.osee.framework.skynet.core.event.listener.IBranchEventListener; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessArtifactLockTopicEvent; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEvent; |
| import org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent; |
| import org.eclipse.osee.framework.skynet.core.event.model.BranchEvent; |
| import org.eclipse.osee.framework.skynet.core.event.model.BranchEventType; |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/pages/ArtifactFormPage.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/pages/ArtifactFormPage.java |
| index bf055a248c..390464d053 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/pages/ArtifactFormPage.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/pages/ArtifactFormPage.java |
| @@ -28,7 +28,7 @@ import org.eclipse.jface.action.Action; |
| import org.eclipse.jface.action.IToolBarManager; |
| import org.eclipse.jface.action.Separator; |
| import org.eclipse.jface.dialogs.Dialog; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| +import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.operation.AbstractOperation; |
| import org.eclipse.osee.framework.core.operation.IOperation; |
| import org.eclipse.osee.framework.core.operation.Operations; |
| @@ -43,6 +43,7 @@ import org.eclipse.osee.framework.ui.plugin.util.HelpUtil; |
| import org.eclipse.osee.framework.ui.skynet.ArtifactImageManager; |
| import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| import org.eclipse.osee.framework.ui.skynet.RelationsComposite; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.ArtifactEditor; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.ArtifactEditorInput; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.ArtifactEditorProviders; |
| @@ -317,8 +318,8 @@ public class ArtifactFormPage extends FormPage { |
| } |
| |
| private String getLockedString(Artifact artifact) { |
| - Artifact subject = AccessControlManager.getSubjectFromLockedObject(artifact); |
| - if (subject != null) { |
| + ArtifactToken subject = OseeApiService.get().getAccessControlService().getSubjectFromLockedObject(artifact); |
| + if (subject.isValid()) { |
| return "<b>LOCKED:</b> " + subject.getName() + " "; |
| } |
| return ""; |
| 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 a418fab1f8..7b7775e226 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 |
| @@ -27,14 +27,12 @@ import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.jdk.core.util.Strings; |
| 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.utility.OseeInfo; |
| import org.eclipse.osee.framework.ui.plugin.util.HelpUtil; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.ArtifactEditor; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.sections.AttributeTypeUtil; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| import org.eclipse.osee.framework.ui.skynet.widgets.ArtifactStoredWidget; |
| import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener; |
| import org.eclipse.osee.framework.ui.skynet.widgets.XOption; |
| @@ -89,8 +87,7 @@ public class AttributeFormPart extends AbstractFormPart { |
| public AttributeFormPart(ArtifactEditor editor) { |
| this.editor = editor; |
| try { |
| - AccessPolicy policy = ServiceUtil.getAccessPolicy(); |
| - decorator.addProvider(new XWidgetAccessDecorationProvider(policy)); |
| + decorator.addProvider(new XWidgetAccessDecorationProvider()); |
| } catch (Exception ex) { |
| OseeLog.log(Activator.class, Level.SEVERE, ex.toString(), ex); |
| } |
| @@ -378,4 +375,4 @@ public class AttributeFormPart extends AbstractFormPart { |
| } |
| } |
| } |
| -} |
| \ No newline at end of file |
| +} |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/sections/DetailsFormSection.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/sections/DetailsFormSection.java |
| index e75daa4740..d951e8c97c 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/sections/DetailsFormSection.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/sections/DetailsFormSection.java |
| @@ -18,8 +18,11 @@ import org.eclipse.osee.framework.help.ui.OseeHelpContext; |
| import org.eclipse.osee.framework.jdk.core.util.Lib; |
| import org.eclipse.osee.framework.skynet.core.utility.Artifacts; |
| import org.eclipse.osee.framework.ui.plugin.util.HelpUtil; |
| +import org.eclipse.osee.framework.ui.skynet.access.AccessControlDetails; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.ArtifactEditor; |
| +import org.eclipse.osee.framework.ui.skynet.widgets.XButtonViaAction; |
| import org.eclipse.osee.framework.ui.swt.ALayout; |
| +import org.eclipse.osee.framework.ui.swt.FontManager; |
| import org.eclipse.osee.framework.ui.swt.Widgets; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.SWTError; |
| @@ -31,6 +34,7 @@ import org.eclipse.swt.layout.GridData; |
| import org.eclipse.swt.layout.GridLayout; |
| import org.eclipse.swt.widgets.Composite; |
| import org.eclipse.swt.widgets.Event; |
| +import org.eclipse.swt.widgets.Label; |
| import org.eclipse.swt.widgets.Listener; |
| import org.eclipse.ui.forms.IManagedForm; |
| import org.eclipse.ui.forms.widgets.FormToolkit; |
| @@ -54,6 +58,7 @@ public class DetailsFormSection extends ArtifactEditorFormSection { |
| super.initialize(form); |
| section = getSection(); |
| section.setText("Details"); |
| + section.setExpanded(false); |
| section.setLayout(new GridLayout()); |
| section.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); |
| // Only load when users selects section |
| @@ -71,7 +76,7 @@ public class DetailsFormSection extends ArtifactEditorFormSection { |
| if (!sectionCreated) { |
| final FormToolkit toolkit = getManagedForm().getToolkit(); |
| Composite composite = toolkit.createComposite(getSection(), toolkit.getBorderStyle() | SWT.WRAP); |
| - composite.setLayout(ALayout.getZeroMarginLayout()); |
| + composite.setLayout(ALayout.getZeroMarginLayout(2, false)); |
| composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); |
| |
| composite.addDisposeListener(new DisposeListener() { |
| @@ -84,16 +89,8 @@ public class DetailsFormSection extends ArtifactEditorFormSection { |
| } |
| }); |
| |
| - GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); |
| - gd.widthHint = 200; |
| - gd.heightHint = 250; |
| - |
| - try { |
| - browser = new Browser(composite, SWT.NONE); |
| - browser.setLayoutData(gd); |
| - } catch (SWTError e) { |
| - // do nothing |
| - } |
| + createDetailsBrowser(composite); |
| + createOperationsSection(composite); |
| |
| getSection().setClient(composite); |
| toolkit.paintBordersFor(composite); |
| @@ -114,8 +111,8 @@ public class DetailsFormSection extends ArtifactEditorFormSection { |
| try { |
| FontData systemFont = browser.getDisplay().getSystemFont().getFontData()[0]; |
| Map<String, String> detailsKeyValues = Artifacts.getDetailsKeyValues(getEditorInput().getArtifact()); |
| - browser.setText( |
| - Artifacts.getDetailsFormText(detailsKeyValues, systemFont.getName(), systemFont.getHeight())); |
| + String html = Artifacts.getDetailsFormText(detailsKeyValues, systemFont.getName(), systemFont.getHeight()); |
| + browser.setText(html); |
| } catch (Exception ex) { |
| browser.setText(Lib.exceptionToString(ex)); |
| } |
| @@ -123,4 +120,31 @@ public class DetailsFormSection extends ArtifactEditorFormSection { |
| } |
| } |
| |
| + private void createOperationsSection(Composite parent) { |
| + Composite composite = new Composite(parent, SWT.NONE); |
| + composite.setLayout(new GridLayout(1, false)); |
| + composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); |
| + |
| + Label opsLabel = new Label(composite, SWT.BOLD); |
| + opsLabel.setFont(FontManager.getDefaultLabelFont()); |
| + opsLabel.setText("Operations"); |
| + |
| + new XButtonViaAction(new AccessControlDetails(getEditor().getArtifactFromEditorInput())).createWidgets( |
| + composite, 1); |
| + |
| + } |
| + |
| + private void createDetailsBrowser(Composite composite) { |
| + try { |
| + GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); |
| + gd.widthHint = 200; |
| + gd.heightHint = 250; |
| + |
| + browser = new Browser(composite, SWT.NONE); |
| + browser.setLayoutData(gd); |
| + } catch (SWTError e) { |
| + // do nothing |
| + } |
| + } |
| + |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassArtifactEditor.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassArtifactEditor.java |
| index 1f837e13ac..0e0922476b 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassArtifactEditor.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassArtifactEditor.java |
| @@ -27,7 +27,6 @@ import org.eclipse.jface.action.IMenuManager; |
| import org.eclipse.jface.action.MenuManager; |
| import org.eclipse.jface.action.Separator; |
| import org.eclipse.nebula.widgets.xviewer.XViewer; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.help.ui.OseeHelpContext; |
| @@ -42,6 +41,7 @@ import org.eclipse.osee.framework.ui.plugin.PluginUiImage; |
| 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.xnavigate.XNavigateComposite.TableLoadOption; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.AbstractArtifactEditor; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.swt.ALayout; |
| @@ -103,7 +103,8 @@ public class MassArtifactEditor extends AbstractArtifactEditor { |
| try { |
| Set<Artifact> accessibleArts = new HashSet<>(); |
| for (Artifact artifact : artifacts) { |
| - if (!AccessControlManager.hasPermission(artifact, PermissionEnum.READ)) { |
| + if (OseeApiService.get().getAccessControlService().hasArtifactPermission(artifact, |
| + PermissionEnum.READ, null).isErrors()) { |
| OseeLog.log(Activator.class, Level.INFO, |
| "The user " + UserManager.getUser() + " does not have read access to " + artifact); |
| accessControlFilteredResults = true; |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassXViewer.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassXViewer.java |
| index f5fb5fa790..8a3909f2c4 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassXViewer.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/massEditor/MassXViewer.java |
| @@ -27,15 +27,16 @@ import org.eclipse.jface.action.Separator; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.nebula.widgets.xviewer.XViewer; |
| import org.eclipse.nebula.widgets.xviewer.core.model.XViewerColumn; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.AttributeTypeToken; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.enums.PresentationType; |
| import org.eclipse.osee.framework.core.exception.OseeTypeDoesNotExist; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.logging.OseeLevel; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.UserManager; |
| +import org.eclipse.osee.framework.skynet.core.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.access.UserGroupService; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.ArtifactData; |
| @@ -46,6 +47,7 @@ import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| import org.eclipse.osee.framework.ui.skynet.ArtifactDoubleClick; |
| import org.eclipse.osee.framework.ui.skynet.action.PurgeAction; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactPromptChange; |
| import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactTransfer; |
| import org.eclipse.osee.framework.ui.skynet.artifact.editor.action.AddRelationColumnAction; |
| @@ -53,6 +55,7 @@ import org.eclipse.osee.framework.ui.skynet.change.ChangeUiUtil; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.render.RendererManager; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredCheckboxAttributeTypeDialog; |
| +import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; |
| import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.skynet.column.ViewApplicabilityColumn; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| import org.eclipse.osee.framework.ui.swt.IDirtiableEditor; |
| @@ -199,7 +202,7 @@ public class MassXViewer extends XViewer implements IMassViewerEventHandler { |
| @Override |
| public void run() { |
| try { |
| - handleDeleteArtifacts(); |
| + handleDeleteArtifactsAdminOnly(); |
| } catch (Exception ex) { |
| OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex); |
| } |
| @@ -217,12 +220,14 @@ public class MassXViewer extends XViewer implements IMassViewerEventHandler { |
| }; |
| } |
| |
| - protected void handleDeleteArtifacts() { |
| + protected void handleDeleteArtifactsAdminOnly() { |
| ArrayList<Artifact> selectedArtifacts = getSelectedArtifacts(); |
| if (selectedArtifacts.isEmpty()) { |
| AWorkbench.popup("Must select items to delete"); |
| return; |
| } |
| + |
| + // Admin-Only action, no access control is checked |
| if (MessageDialog.openConfirm(Displays.getActiveShell(), "Delete Artifacts", |
| "Delete " + selectedArtifacts.size() + " Artifacts")) { |
| SkynetTransaction transaction = TransactionManager.createTransaction( |
| @@ -241,6 +246,12 @@ public class MassXViewer extends XViewer implements IMassViewerEventHandler { |
| AWorkbench.popup("Must select items to delete"); |
| return; |
| } |
| + XResultData rd = OseeApiService.get().getAccessControlService().hasArtifactPermission(selectedArtifacts, |
| + PermissionEnum.WRITE, AccessControlArtifactUtil.getXResultAccessHeader("Delete Attributes Error", selectedArtifacts)); |
| + if (rd.isErrors()) { |
| + XResultDataDialog.open(rd, "Delete Attributes Failed", "Access Denied for artifacts"); |
| + return; |
| + } |
| // get attributes that can be deleted (from artifact and validity) |
| Set<AttributeTypeToken> attrTypesUsed = new HashSet<>(); |
| for (Artifact art : artifacts) { |
| @@ -372,7 +383,7 @@ public class MassXViewer extends XViewer implements IMassViewerEventHandler { |
| |
| PresentationType type = ArtifactDoubleClick.getPresentationType(artifact); |
| PermissionEnum perEnum = ArtifactDoubleClick.getPermissionEnum(artifact); |
| - if (AccessControlManager.hasPermission(artifacts, perEnum)) { |
| + if (OseeApiService.get().getAccessControlService().hasArtifactPermission(artifacts, perEnum, null).isSuccess()) { |
| RendererManager.openInJob(getSelectedArtifacts(), type); |
| } else { |
| OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamContributionManager.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamContributionManager.java |
| index 3eee332ff7..febcd46ba3 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamContributionManager.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamContributionManager.java |
| @@ -19,7 +19,6 @@ import java.util.List; |
| import java.util.Map; |
| import java.util.TreeMap; |
| import java.util.logging.Level; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.jdk.core.util.Collections; |
| @@ -32,6 +31,7 @@ import org.eclipse.osee.framework.ui.plugin.xnavigate.IXNavigateCommonItem; |
| import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateCommonItems; |
| import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; |
| import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam; |
| |
| @@ -105,8 +105,9 @@ public class BlamContributionManager implements IXNavigateCommonItem { |
| // Create categories first (so can have them up top) |
| for (String category : blamOperation.getCategories()) { |
| try { |
| - if (AccessControlManager.isOseeAdmin() || !category.contains("Admin") || category.contains( |
| - "Admin") && AccessControlManager.isOseeAdmin()) { |
| + if (OseeApiService.get().getAccessControlService().isOseeAdmin() || !category.contains( |
| + "Admin") || category.contains( |
| + "Admin") && OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| createCategories(category.split("\\."), 0, blamOperationItems, nameToParent); |
| } |
| } catch (OseeCoreException ex) { |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/DatabaseHealth.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/DatabaseHealth.java |
| index adff5736a1..3beccbfe40 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/DatabaseHealth.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/DatabaseHealth.java |
| @@ -19,7 +19,6 @@ import java.util.Collections; |
| import java.util.HashSet; |
| import java.util.Set; |
| import org.eclipse.core.runtime.IProgressMonitor; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; |
| import org.eclipse.osee.framework.core.enums.CoreUserGroups; |
| import org.eclipse.osee.framework.core.exception.OseeAccessDeniedException; |
| @@ -29,6 +28,7 @@ import org.eclipse.osee.framework.jdk.core.result.Manipulations; |
| import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.util.AXml; |
| import org.eclipse.osee.framework.jdk.core.util.Strings; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; |
| import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; |
| import org.eclipse.osee.framework.ui.skynet.dbHealth.DatabaseHealthOperation; |
| @@ -155,7 +155,7 @@ public class DatabaseHealth extends AbstractBlam { |
| protected void doWork(IProgressMonitor monitor) throws Exception { |
| int totalTasks = fixOperations.size() + verifyOperations.size(); |
| double workPercentage = 1.0 / totalTasks; |
| - if (!AccessControlManager.isOseeAdmin()) { |
| + if (!OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| throw new OseeAccessDeniedException("Must be a Developer to run this BLAM"); |
| } else { |
| for (DatabaseHealthOperation operation : fixOperations) { |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ReportAttributeTypesUsageBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ReportAttributeTypesUsageBlam.java |
| index 94fa018671..640dc38000 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ReportAttributeTypesUsageBlam.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ReportAttributeTypesUsageBlam.java |
| @@ -43,7 +43,7 @@ public class ReportAttributeTypesUsageBlam extends AbstractBlam { |
| |
| @Override |
| public void runOperation(VariableMap variableMap, IProgressMonitor monitor) throws Exception { |
| - monitor.beginTask("Report Usage of AttributeTypes on Branch", IProgressMonitor.UNKNOWN); |
| + monitor.beginTask("Report Usage of AttributeType on Branch", IProgressMonitor.UNKNOWN); |
| |
| XResultData xResultData = new XResultData(); |
| BranchId branch = variableMap.getBranch("Branch"); |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ValidateArtifactsToDelete.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ValidateArtifactsToDelete.java |
| index e6efabbc2b..89bb033b53 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ValidateArtifactsToDelete.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ValidateArtifactsToDelete.java |
| @@ -21,11 +21,10 @@ import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; |
| import org.eclipse.osee.framework.core.enums.CoreUserGroups; |
| import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| 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.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; |
| import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; |
| -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; |
| |
| /** |
| @@ -57,8 +56,7 @@ public class ValidateArtifactsToDelete extends AbstractBlam { |
| rd.log("Validation Artifacts: " + Collections.toString("; ", artifacts)); |
| // Confirm artifacts are fit to delete |
| try { |
| - AccessPolicy policy = ServiceUtil.getAccessPolicy(); |
| - policy.isDeleteable(Collections.castAll(artifacts), rd); |
| + OseeApiService.get().getAccessControlService().isDeleteable(Collections.castAll(artifacts), rd); |
| rd.log("\n"); |
| rd.log("Validation Complete - Any errors will be displayed."); |
| XResultDataUI.report(rd, "Validate Artifacts to Delete"); |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/branch/ViewApplicabilityUtil.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/branch/ViewApplicabilityUtil.java |
| index e603afa279..f3c3528981 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/branch/ViewApplicabilityUtil.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/branch/ViewApplicabilityUtil.java |
| @@ -19,17 +19,18 @@ import java.util.List; |
| import java.util.Map; |
| import java.util.logging.Level; |
| import org.eclipse.jface.window.Window; |
| -import org.eclipse.osee.framework.core.access.PermissionStatus; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.TransactionToken; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.jdk.core.type.Pair; |
| 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.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.ViewApplicabilityFilterTreeDialog; |
| @@ -42,7 +43,6 @@ public class ViewApplicabilityUtil { |
| |
| public static String CHANGE_APPLICABILITY_INVAILD = "User does not have permissions to change View Applicability"; |
| public static String SAVE_OTHER_CHANGES = "Save all other changes before making View Applicability update"; |
| - private static AccessPolicy policy; |
| |
| public static Pair<Boolean, String> changeApplicability(List<? extends ArtifactToken> artifacts) { |
| BranchId branch = artifacts.iterator().next().getBranch(); |
| @@ -62,13 +62,6 @@ public class ViewApplicabilityUtil { |
| return new Pair<>(false, ""); |
| } |
| |
| - private static AccessPolicy getAccessPolicy() { |
| - if (policy == null) { |
| - policy = ServiceUtil.getAccessPolicy(); |
| - } |
| - return policy; |
| - } |
| - |
| public static boolean isChangeApplicabilityValid(Collection<Artifact> artifacts) { |
| try { |
| for (Artifact artifact : artifacts) { |
| @@ -76,9 +69,9 @@ public class ViewApplicabilityUtil { |
| return false; |
| } |
| } |
| - PermissionStatus permissionStatus = new PermissionStatus(); |
| - permissionStatus = getAccessPolicy().hasArtifactPermission(artifacts, PermissionEnum.WRITE, Level.FINE); |
| - boolean isWriteable = permissionStatus.matched(); |
| + XResultData rd = OseeApiService.get().getAccessControlService().hasArtifactPermission(UserManager.getUser(), artifacts, |
| + PermissionEnum.WRITE, null); |
| + boolean isWriteable = rd.isSuccess(); |
| if (!isWriteable) { |
| return false; |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/change/ChangeUiUtil.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/change/ChangeUiUtil.java |
| index 79f36ac296..565f37481d 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/change/ChangeUiUtil.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/change/ChangeUiUtil.java |
| @@ -17,7 +17,6 @@ import org.eclipse.core.runtime.IProgressMonitor; |
| import org.eclipse.core.runtime.IStatus; |
| import org.eclipse.core.runtime.Status; |
| import org.eclipse.core.runtime.jobs.Job; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.data.TransactionToken; |
| @@ -25,14 +24,18 @@ import org.eclipse.osee.framework.core.enums.BranchState; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.model.Branch; |
| import org.eclipse.osee.framework.core.model.TransactionDelta; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| import org.eclipse.osee.framework.jdk.core.util.Conditions; |
| import org.eclipse.osee.framework.plugin.core.util.Jobs; |
| +import org.eclipse.osee.framework.skynet.core.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.change.view.ChangeReportEditor; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| +import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; |
| import org.eclipse.ui.PartInitException; |
| import org.eclipse.ui.progress.UIJob; |
| |
| @@ -59,10 +62,12 @@ public final class ChangeUiUtil { |
| * @return true if permissions denied |
| */ |
| public static boolean permissionsDeniedWithDialog(BranchToken branch) { |
| - boolean hasPermission = AccessControlManager.hasPermission(branch, PermissionEnum.READ); |
| - if (!hasPermission) { |
| - AWorkbench.popup("Access Denied", |
| - String.format("Access denied to branch:\n\n%s", BranchManager.toStringWithId(branch))); |
| + XResultData rd = |
| + OseeApiService.get().getAccessControlService().hasBranchPermission(BranchManager.getBranch(branch), |
| + PermissionEnum.READ, AccessControlArtifactUtil.getXResultAccessHeader("Branch Access Denied", branch)); |
| + if (rd.isErrors()) { |
| + XResultDataDialog.open(rd, "Branch Access Denied", "Access denied to branch:\n\n%s", |
| + BranchManager.toStringWithId(branch)); |
| return true; |
| } |
| return false; |
| @@ -140,16 +145,16 @@ public final class ChangeUiUtil { |
| Jobs.startJob(job, true); |
| } |
| |
| - public static void open(BranchToken workingBranchId, BranchId parentBranchId, boolean b) { |
| - Branch workingBranch = BranchManager.getBranch(workingBranchId); |
| - if (workingBranch.isInvalid() || permissionsDeniedWithDialog(workingBranchId)) { |
| + public static void open(BranchToken workingBranch, BranchId parentBranchId, boolean loadOnOpen) { |
| + Branch branch = BranchManager.getBranch(workingBranch); |
| + if (branch.isInvalid() || permissionsDeniedWithDialog(workingBranch)) { |
| return; |
| } |
| Branch parentBranch = BranchManager.getBranch(parentBranchId); |
| if (parentBranch.isInvalid() || permissionsDeniedWithDialog(parentBranch)) { |
| return; |
| } |
| - ChangeReportEditorInput input = createInput(workingBranch, true); |
| + ChangeReportEditorInput input = createInput(workingBranch, loadOnOpen); |
| open(input); |
| } |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/AccessControlHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/AccessControlHandler.java |
| index b7545b65fb..e24775c99e 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/AccessControlHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/AccessControlHandler.java |
| @@ -32,7 +32,7 @@ public class AccessControlHandler extends CommandHandler { |
| public Object executeWithException(ExecutionEvent event, IStructuredSelection selection) { |
| Object object = getSelection(selection); |
| if (object != null) { |
| - PolicyDialog pd = new PolicyDialog(Displays.getActiveShell(), object); |
| + PolicyDialog pd = PolicyDialog.createPolicyDialog(Displays.getActiveShell(), object); |
| pd.open(); |
| } else { |
| AWorkbench.popup("Selection can not be determined"); |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/CompressWordAttributesHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/CompressWordAttributesHandler.java |
| index b5cfebc346..71a87b3cea 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/CompressWordAttributesHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/CompressWordAttributesHandler.java |
| @@ -21,12 +21,12 @@ import org.eclipse.core.runtime.Status; |
| import org.eclipse.core.runtime.jobs.Job; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.plugin.core.util.Jobs; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.word.WordUtil; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| import org.eclipse.ui.PlatformUI; |
| @@ -43,8 +43,9 @@ public class CompressWordAttributesHandler extends CommandHandler { |
| artifacts = Handlers.getArtifactsFromStructuredSelection(structuredSelection); |
| |
| if (!artifacts.isEmpty()) { |
| - boolean writePermission = AccessControlManager.hasPermission(artifacts.get(0), PermissionEnum.WRITE); |
| - enabled = writePermission && AccessControlManager.isOseeAdmin(); |
| + boolean writePermission = OseeApiService.get().getAccessControlService().hasArtifactPermission(artifacts.get(0), |
| + PermissionEnum.WRITE, null).isSuccess(); |
| + enabled = writePermission && OseeApiService.get().getAccessControlService().isOseeAdmin(); |
| } |
| return enabled; |
| } |
| 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 c09ca86753..22a229a278 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 |
| @@ -25,7 +25,6 @@ import org.eclipse.jface.viewers.IStructuredSelection; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| import org.eclipse.osee.framework.ui.skynet.util.ArtifactClipboard; |
| import org.eclipse.search.ui.text.Match; |
| import org.eclipse.ui.IWorkbenchPartSite; |
| @@ -78,7 +77,7 @@ public class CopyHandler extends AbstractHandler { |
| clipboard.setTextToClipboard(names); |
| } else if (!names.isEmpty() && !artifacts.isEmpty()) { |
| try { |
| - clipboard.setArtifactsToClipboard(ServiceUtil.getAccessPolicy(), artifacts); |
| + clipboard.setArtifactsToClipboard(artifacts); |
| } catch (OseeCoreException ex) { |
| clipboard.dispose(); |
| throw new ExecutionException(ex.getLocalizedMessage()); |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/DeleteArtifactHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/DeleteArtifactHandler.java |
| index b8c1022ac3..2c515a7ea5 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/DeleteArtifactHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/DeleteArtifactHandler.java |
| @@ -18,13 +18,13 @@ import org.eclipse.core.commands.ExecutionEvent; |
| import org.eclipse.jface.dialogs.IDialogConstants; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.ArtifactPersistenceManager; |
| import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; |
| import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| |
| /** |
| @@ -55,7 +55,8 @@ public class DeleteArtifactHandler extends CommandHandler { |
| boolean enabled = false; |
| artifacts = Handlers.getArtifactsFromStructuredSelection(structuredSelection); |
| if (!artifacts.isEmpty()) { |
| - enabled = AccessControlManager.hasPermission(artifacts, PermissionEnum.WRITE); |
| + enabled = OseeApiService.get().getAccessControlService().hasArtifactPermission(artifacts, PermissionEnum.WRITE, |
| + null).isSuccess(); |
| } |
| return enabled; |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/PurgeArtifactHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/PurgeArtifactHandler.java |
| index ba10bd7910..8ece1fb21d 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/PurgeArtifactHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/PurgeArtifactHandler.java |
| @@ -22,7 +22,6 @@ import org.eclipse.core.runtime.Status; |
| import org.eclipse.core.runtime.jobs.Job; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.operation.Operations; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| @@ -30,6 +29,7 @@ import org.eclipse.osee.framework.plugin.core.util.Jobs; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.PurgeArtifacts; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.ui.PlatformUI; |
| |
| @@ -70,6 +70,7 @@ public class PurgeArtifactHandler extends CommandHandler { |
| @Override |
| public boolean isEnabledWithException(IStructuredSelection structuredSelection) { |
| artifacts = Handlers.getArtifactsFromStructuredSelection(structuredSelection); |
| - return AccessControlManager.isOseeAdmin() && AccessControlManager.hasPermission(artifacts, PermissionEnum.WRITE); |
| + return OseeApiService.get().getAccessControlService().isOseeAdmin() && OseeApiService.get().getAccessControlService().hasArtifactPermission( |
| + artifacts, PermissionEnum.WRITE, null).isSuccess(); |
| } |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/ReplaceWithBaselineHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/ReplaceWithBaselineHandler.java |
| index 0255e75370..98ca892041 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/ReplaceWithBaselineHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/ReplaceWithBaselineHandler.java |
| @@ -26,7 +26,6 @@ import org.eclipse.jface.viewers.ISelection; |
| import org.eclipse.jface.viewers.ISelectionProvider; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| import org.eclipse.jface.window.Window; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.model.change.ChangeType; |
| import org.eclipse.osee.framework.core.operation.AbstractOperation; |
| @@ -38,6 +37,7 @@ import org.eclipse.osee.framework.logging.OseeLevel; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.change.Change; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.blam.operation.ReplaceArtifactWithBaselineOperation; |
| import org.eclipse.osee.framework.ui.skynet.blam.operation.ReplaceAttributeWithBaselineOperation; |
| import org.eclipse.osee.framework.ui.skynet.change.view.ChangeReportEditor; |
| @@ -85,7 +85,8 @@ public class ReplaceWithBaselineHandler extends AbstractHandler { |
| |
| try { |
| isEnabled = |
| - isEnabled && AccessControlManager.hasPermission(change.getChangeArtifact(), PermissionEnum.WRITE); |
| + isEnabled && OseeApiService.get().getAccessControlService().hasArtifactPermission(change.getChangeArtifact(), |
| + PermissionEnum.WRITE, null).isSuccess(); |
| } catch (OseeCoreException ex) { |
| OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, "Error loading changes for change report handler"); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/ArchiveBranchHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/ArchiveBranchHandler.java |
| index 6f3ae6bdee..ef69f0154e 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/ArchiveBranchHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/ArchiveBranchHandler.java |
| @@ -18,7 +18,6 @@ import java.util.List; |
| import org.eclipse.core.commands.ExecutionEvent; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.enums.BranchArchivedState; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| @@ -26,6 +25,7 @@ import org.eclipse.osee.framework.skynet.core.event.OseeEventManager; |
| import org.eclipse.osee.framework.skynet.core.event.model.BranchEvent; |
| import org.eclipse.osee.framework.skynet.core.event.model.BranchEventType; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| |
| @@ -37,7 +37,7 @@ public class ArchiveBranchHandler extends CommandHandler { |
| @Override |
| public boolean isEnabledWithException(IStructuredSelection structuredSelection) { |
| List<? extends BranchId> branches = Handlers.getBranchesFromStructuredSelection(structuredSelection); |
| - return !branches.isEmpty() && AccessControlManager.isOseeAdmin(); |
| + return !branches.isEmpty() && OseeApiService.get().getAccessControlService().isOseeAdmin(); |
| } |
| |
| @Override |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/BranchCreationHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/BranchCreationHandler.java |
| index c5b8255cad..bcc2200278 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/BranchCreationHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/BranchCreationHandler.java |
| @@ -19,9 +19,9 @@ import org.eclipse.core.runtime.IStatus; |
| import org.eclipse.core.runtime.Status; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| +import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.data.TransactionToken; |
| import org.eclipse.osee.framework.core.enums.CoreBranches; |
| import org.eclipse.osee.framework.core.enums.DemoUsers; |
| @@ -33,6 +33,7 @@ import org.eclipse.osee.framework.skynet.core.UserManager; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryCheckDialog; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| @@ -70,8 +71,8 @@ public class BranchCreationHandler extends CommandHandler { |
| BranchId branch = parentTransactionId.getBranch(); |
| if (branch.equals(CoreBranches.SYSTEM_ROOT)) { |
| BranchManager.createTopLevelBranch(dialog.getEntry()); |
| - AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), branch, |
| - PermissionEnum.FULLACCESS); |
| + OseeApiService.get().getAccessControlService().setPermission(UserManager.getUser(DemoUsers.Joe_Smith), |
| + branch, PermissionEnum.FULLACCESS); |
| } else { |
| if (dialog.isChecked()) { |
| BranchManager.createWorkingBranchFromTx(parentTransactionId, dialog.getEntry(), null); |
| @@ -98,19 +99,20 @@ public class BranchCreationHandler extends CommandHandler { |
| } |
| |
| Object object = structuredSelection.getFirstElement(); |
| - BranchId branch = null; |
| + BranchToken branch = null; |
| |
| if (object instanceof BranchId) { |
| - branch = (BranchId) object; |
| + branch = BranchManager.getBranch((BranchId) object); |
| } else if (object instanceof TransactionToken) { |
| - branch = ((TransactionToken) object).getBranch(); |
| + branch = BranchManager.getBranch(((TransactionToken) object).getBranch()); |
| } |
| |
| if (branch == null || BranchManager.isArchived(branch)) { |
| return false; |
| } |
| |
| - enabled = AccessControlManager.hasPermission(branch, PermissionEnum.READ); |
| + enabled = OseeApiService.get().getAccessControlService().hasBranchPermission(branch, PermissionEnum.READ, |
| + null).isSuccess(); |
| return enabled; |
| } |
| } |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/GeneralBranchHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/GeneralBranchHandler.java |
| index 8559e7af30..89c9d51e79 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/GeneralBranchHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/GeneralBranchHandler.java |
| @@ -17,14 +17,15 @@ import java.util.List; |
| import org.eclipse.core.commands.ExecutionEvent; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; |
| +import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| |
| /** |
| @@ -63,7 +64,8 @@ public abstract class GeneralBranchHandler extends CommandHandler { |
| List<BranchToken> selectedBranches = Handlers.getBranchesFromStructuredSelection(selection); |
| for (BranchToken branch : selectedBranches) { |
| confirmDialogResults.logf("Branch: %s\n", branch.toStringWithId()); |
| - if (!AccessControlManager.hasPermission(branch, PermissionEnum.WRITE)) { |
| + if (!OseeApiService.get().getAccessControlService().hasBranchPermission(branch, PermissionEnum.WRITE, |
| + errorResults).isSuccess()) { |
| errorResults.errorf("No write permission for Branch %s.\n\n", branch.toStringWithId()); |
| } |
| if (BranchManager.hasChildren(branch)) { |
| @@ -72,7 +74,7 @@ public abstract class GeneralBranchHandler extends CommandHandler { |
| } |
| |
| if (errorResults.isErrors()) { |
| - MessageDialog.openError(Displays.getActiveShell(), type.dialogTitle, errorResults.toString()); |
| + XResultDataDialog.open(errorResults, type.dialogTitle, type.dialogTitle); |
| } else { |
| if (MessageDialog.openQuestion(Displays.getActiveShell(), type.dialogTitle, confirmDialogResults.toString())) { |
| performOperation(selectedBranches); |
| @@ -85,7 +87,8 @@ public abstract class GeneralBranchHandler extends CommandHandler { |
| @Override |
| public boolean isEnabledWithException(IStructuredSelection structuredSelection) { |
| List<? extends BranchId> branches = Handlers.getBranchesFromStructuredSelection(structuredSelection); |
| - return !branches.isEmpty() && (AccessControlManager.isOseeAdmin() || canEnableBranches(branches)); |
| + return !branches.isEmpty() && (OseeApiService.get().getAccessControlService().isOseeAdmin() || canEnableBranches( |
| + branches)); |
| } |
| |
| private boolean canEnableBranches(List<? extends BranchId> branches) { |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/OpenAssociatedArtifactHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/OpenAssociatedArtifactHandler.java |
| index d9303aa482..5c1d02d60d 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/OpenAssociatedArtifactHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/OpenAssociatedArtifactHandler.java |
| @@ -16,7 +16,6 @@ package org.eclipse.osee.framework.ui.skynet.commandHandlers.branch; |
| import java.util.List; |
| import org.eclipse.core.commands.ExecutionEvent; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.enums.PresentationType; |
| @@ -28,6 +27,7 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.cm.IOseeCmService; |
| import org.eclipse.osee.framework.ui.skynet.cm.OseeCmEditor; |
| import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; |
| @@ -54,7 +54,8 @@ public class OpenAssociatedArtifactHandler extends CommandHandler { |
| AWorkbench.popup("ERROR", "No Associated Artifact"); |
| return null; |
| } |
| - if (AccessControlManager.hasPermission(associatedArtifact, PermissionEnum.READ)) { |
| + if (OseeApiService.get().getAccessControlService().hasArtifactPermission(associatedArtifact, PermissionEnum.READ, |
| + null).isSuccess()) { |
| IOseeCmService cmService = ServiceUtil.getOseeCmService(); |
| if (cmService.isPcrArtifact(associatedArtifact)) { |
| cmService.openArtifact(associatedArtifact, OseeCmEditor.CmPcrEditor); |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/PurgeTransactionHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/PurgeTransactionHandler.java |
| index d32c6834c6..abdf0de291 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/PurgeTransactionHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/PurgeTransactionHandler.java |
| @@ -16,9 +16,9 @@ package org.eclipse.osee.framework.ui.skynet.commandHandlers.branch; |
| import java.util.List; |
| import org.eclipse.core.commands.ExecutionEvent; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.TransactionToken; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.action.PurgeTransactionAction; |
| import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; |
| |
| @@ -40,6 +40,6 @@ public class PurgeTransactionHandler extends CommandHandler { |
| @Override |
| public boolean isEnabledWithException(IStructuredSelection structuredSelection) { |
| List<TransactionToken> transactions = Handlers.getTransactionsFromStructuredSelection(structuredSelection); |
| - return transactions.size() > 0 && AccessControlManager.isOseeAdmin(); |
| + return transactions.size() > 0 && OseeApiService.get().getAccessControlService().isOseeAdmin(); |
| } |
| } |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/RenameBranchHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/RenameBranchHandler.java |
| index ded99d54c9..af019d0e3f 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/RenameBranchHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/RenameBranchHandler.java |
| @@ -18,11 +18,11 @@ import org.eclipse.core.commands.ExecutionEvent; |
| import org.eclipse.jface.viewers.ISelectionProvider; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| import org.eclipse.jface.viewers.TreeViewer; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.skynet.core.UserManager; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; |
| import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchXViewerFactory; |
| import org.eclipse.osee.framework.ui.swt.Widgets; |
| @@ -124,7 +124,7 @@ public class RenameBranchHandler extends CommandHandler { |
| return false; |
| } |
| BranchToken branch = branches.get(0); |
| - return AccessControlManager.isOseeAdmin() || BranchManager.getType( |
| + return OseeApiService.get().getAccessControlService().isOseeAdmin() || BranchManager.getType( |
| branch).isWorkingBranch() || BranchManager.getBaseTransaction(branch).getAuthor().equals( |
| UserManager.getUser()); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/SetAssociatedBranchArtifactHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/SetAssociatedBranchArtifactHandler.java |
| index 664e355c6c..fb2f878b73 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/SetAssociatedBranchArtifactHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/SetAssociatedBranchArtifactHandler.java |
| @@ -18,7 +18,6 @@ import java.util.List; |
| import org.eclipse.core.commands.ExecutionEvent; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| @@ -26,6 +25,7 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| @@ -57,6 +57,6 @@ public class SetAssociatedBranchArtifactHandler extends CommandHandler { |
| @Override |
| public boolean isEnabledWithException(IStructuredSelection structuredSelection) { |
| List<? extends BranchId> branches = Handlers.getBranchesFromStructuredSelection(structuredSelection); |
| - return branches.size() == 1 && AccessControlManager.isOseeAdmin(); |
| + return branches.size() == 1 && OseeApiService.get().getAccessControlService().isOseeAdmin(); |
| } |
| } |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/ShowArchivedBranchHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/ShowArchivedBranchHandler.java |
| index f35e2bbc30..ee9dfe0aac 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/ShowArchivedBranchHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/ShowArchivedBranchHandler.java |
| @@ -20,11 +20,11 @@ import org.eclipse.core.commands.ExecutionException; |
| import org.eclipse.core.runtime.Platform; |
| import org.eclipse.core.runtime.preferences.InstanceScope; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.utility.DbUtil; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.util.DbConnectionUtility; |
| import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchOptionsEnum; |
| @@ -79,7 +79,7 @@ public class ShowArchivedBranchHandler extends CommandHandler implements IElemen |
| if (!DbUtil.isDbInit() && DbConnectionUtility.isApplicationServerAlive()) { |
| service.refreshElements(COMMAND_ID, null); |
| try { |
| - isValid = AccessControlManager.isOseeAdmin(); |
| + isValid = OseeApiService.get().getAccessControlService().isOseeAdmin(); |
| } catch (OseeCoreException ex) { |
| OseeLog.log(Activator.class, Level.SEVERE, ex); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/ShowMergeBranchPresentationHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/ShowMergeBranchPresentationHandler.java |
| index a56681d997..6825b0a0f9 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/ShowMergeBranchPresentationHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/ShowMergeBranchPresentationHandler.java |
| @@ -20,10 +20,10 @@ import org.eclipse.core.commands.ExecutionEvent; |
| import org.eclipse.core.commands.ExecutionException; |
| import org.eclipse.core.runtime.Platform; |
| import org.eclipse.core.runtime.preferences.InstanceScope; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.utility.DbUtil; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchOptionsEnum; |
| import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchView; |
| @@ -72,7 +72,7 @@ public final class ShowMergeBranchPresentationHandler extends AbstractHandler im |
| IWorkbench workbench = PlatformUI.getWorkbench(); |
| if (!workbench.isStarting() && !workbench.isClosing()) { |
| try { |
| - isValid = AccessControlManager.isOseeAdmin(); |
| + isValid = OseeApiService.get().getAccessControlService().isOseeAdmin(); |
| } catch (OseeCoreException ex) { |
| OseeLog.log(Activator.class, Level.SEVERE, ex); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/commit/CommitHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/commit/CommitHandler.java |
| index 17a4224c31..ed75c360fa 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/commit/CommitHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/commit/CommitHandler.java |
| @@ -25,7 +25,6 @@ import org.eclipse.core.runtime.jobs.Job; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| import org.eclipse.jface.window.Window; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.data.TransactionResult; |
| @@ -36,6 +35,7 @@ import org.eclipse.osee.framework.plugin.core.util.Jobs; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.skynet.core.conflict.ConflictManagerExternal; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.util.MergeInProgressHandler; |
| @@ -140,7 +140,8 @@ public abstract class CommitHandler extends CommandHandler { |
| |
| if (branches.size() == 1) { |
| BranchToken branch = branches.iterator().next(); |
| - return useParentBranchValid(branch) || !useParentBranch && AccessControlManager.isOseeAdmin(); |
| + return useParentBranchValid( |
| + branch) || !useParentBranch && OseeApiService.get().getAccessControlService().isOseeAdmin(); |
| } |
| return false; |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/commit/CommitIntoHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/commit/CommitIntoHandler.java |
| index ceb442128e..d6b68724b4 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/commit/CommitIntoHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/branch/commit/CommitIntoHandler.java |
| @@ -19,13 +19,13 @@ import org.eclipse.core.commands.ExecutionEvent; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| import org.eclipse.jface.window.Window; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.enums.BranchArchivedState; |
| import org.eclipse.osee.framework.core.enums.BranchType; |
| import org.eclipse.osee.framework.plugin.core.util.Jobs; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.branch.BranchSelectionDialog; |
| import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.CheckBoxDialog; |
| @@ -47,7 +47,7 @@ public class CommitIntoHandler extends CommitHandler { |
| BranchId sourceBranch = Handlers.getBranchesFromStructuredSelection(selection).iterator().next(); |
| |
| BranchType[] allowedTypes; |
| - if (AccessControlManager.isOseeAdmin()) { |
| + if (OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| allowedTypes = new BranchType[] {BranchType.WORKING, BranchType.BASELINE}; |
| } else { |
| allowedTypes = new BranchType[] {BranchType.WORKING}; |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/change/SingleNativeDiffHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/change/SingleNativeDiffHandler.java |
| index 094d364a76..ee13efc77c 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/change/SingleNativeDiffHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/change/SingleNativeDiffHandler.java |
| @@ -19,7 +19,6 @@ import java.util.HashMap; |
| import java.util.Map; |
| import org.eclipse.core.commands.ExecutionEvent; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.util.RendererOption; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| @@ -27,6 +26,7 @@ import org.eclipse.osee.framework.skynet.core.change.ArtifactDelta; |
| import org.eclipse.osee.framework.skynet.core.change.Change; |
| import org.eclipse.osee.framework.skynet.core.revision.ChangeManager; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; |
| import org.eclipse.osee.framework.ui.skynet.render.RendererManager; |
| import org.eclipse.osee.framework.ui.skynet.render.RenderingUtil; |
| @@ -42,7 +42,8 @@ public class SingleNativeDiffHandler extends CommandHandler { |
| changes = new ArrayList<>(Handlers.getArtifactChangesFromStructuredSelection(structuredSelection)); |
| if (changes.size() == 1) { |
| Artifact sampleArtifact = changes.iterator().next().getChangeArtifact(); |
| - return AccessControlManager.hasPermission(sampleArtifact, PermissionEnum.READ); |
| + return OseeApiService.get().getAccessControlService().hasArtifactPermission(sampleArtifact, PermissionEnum.READ, |
| + null).isSuccess(); |
| } |
| return false; |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/renderer/handlers/AbstractEditorHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/renderer/handlers/AbstractEditorHandler.java |
| index 61f07ffe52..16f627492c 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/renderer/handlers/AbstractEditorHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/renderer/handlers/AbstractEditorHandler.java |
| @@ -16,10 +16,10 @@ package org.eclipse.osee.framework.ui.skynet.commandHandlers.renderer.handlers; |
| import java.util.List; |
| import org.eclipse.jface.viewers.ISelectionProvider; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; |
| |
| /** |
| @@ -39,7 +39,8 @@ public abstract class AbstractEditorHandler extends CommandHandler { |
| public boolean isEnabledWithException(IStructuredSelection structuredSelection) { |
| artifacts = Handlers.getArtifactsFromStructuredSelection(structuredSelection); |
| if (!artifacts.isEmpty()) { |
| - return AccessControlManager.hasPermission(artifacts, getPermissionLevel()); |
| + return OseeApiService.get().getAccessControlService().hasArtifactPermission(artifacts, getPermissionLevel(), |
| + null).isSuccess(); |
| } |
| return false; |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorer.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorer.java |
| index b3a868992d..a94327d718 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorer.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorer.java |
| @@ -13,6 +13,7 @@ |
| |
| package org.eclipse.osee.framework.ui.skynet.explorer; |
| |
| +import java.util.ArrayList; |
| import java.util.Arrays; |
| import java.util.Collection; |
| import java.util.LinkedList; |
| @@ -23,7 +24,6 @@ import org.eclipse.jface.viewers.ISelectionChangedListener; |
| import org.eclipse.jface.viewers.ISelectionProvider; |
| import org.eclipse.jface.viewers.SelectionChangedEvent; |
| import org.eclipse.jface.viewers.TreeViewer; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| @@ -53,6 +53,7 @@ import org.eclipse.osee.framework.ui.skynet.ArtifactLabelProvider; |
| import org.eclipse.osee.framework.ui.skynet.ArtifactStructuredSelection; |
| import org.eclipse.osee.framework.ui.skynet.IArtifactExplorerEventHandler; |
| import org.eclipse.osee.framework.ui.skynet.OseeStatusContributionItemFactory; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.explorer.menu.ArtifactExplorerMenu; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.listener.IRebuildMenuListener; |
| @@ -76,9 +77,11 @@ import org.eclipse.swt.widgets.Label; |
| import org.eclipse.swt.widgets.Listener; |
| import org.eclipse.swt.widgets.Tree; |
| import org.eclipse.ui.IMemento; |
| +import org.eclipse.ui.IViewReference; |
| import org.eclipse.ui.IViewSite; |
| import org.eclipse.ui.IWorkbenchPage; |
| import org.eclipse.ui.PartInitException; |
| +import org.eclipse.ui.PlatformUI; |
| |
| /** |
| * @author Ryan D. Brooks |
| @@ -330,8 +333,8 @@ public class ArtifactExplorer extends GenericViewPart implements IArtifactExplor |
| if (memento != null && memento.getString(ROOT_UUID) != null && memento.getString(ROOT_BRANCH) != null) { |
| BranchId branch = BranchId.valueOf(memento.getString(ROOT_BRANCH)); |
| |
| - if (BranchManager.branchExists( |
| - branch) && !BranchManager.isArchived(branch) || AccessControlManager.isOseeAdmin()) { |
| + if (BranchManager.branchExists(branch) && !BranchManager.isArchived( |
| + branch) || OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| Artifact previousArtifact = |
| ArtifactQuery.checkArtifactFromId(ArtifactId.valueOf(memento.getString(ROOT_UUID)), branch); |
| if (previousArtifact != null) { |
| @@ -464,6 +467,18 @@ public class ArtifactExplorer extends GenericViewPart implements IArtifactExplor |
| return this; |
| } |
| |
| + public static List<ArtifactExplorer> getEditors() { |
| + List<ArtifactExplorer> results = new ArrayList<>(); |
| + IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); |
| + IViewReference views[] = page.getViewReferences(); |
| + for (IViewReference view : views) { |
| + if (view.getPart(false) instanceof ArtifactExplorer) { |
| + results.add((ArtifactExplorer) view.getPart(false)); |
| + } |
| + } |
| + return results; |
| + } |
| + |
| @Override |
| public boolean isDisposed() { |
| return treeViewer.getTree() == null || treeViewer.getTree().isDisposed(); |
| @@ -513,4 +528,8 @@ public class ArtifactExplorer extends GenericViewPart implements IArtifactExplor |
| this.refreshing = refreshing; |
| } |
| |
| + public void resetMenu() { |
| + artifactExplorerMenu.resetMenu(); |
| + } |
| + |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerDragAndDrop.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerDragAndDrop.java |
| index 4ac8745765..aa64d14067 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerDragAndDrop.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerDragAndDrop.java |
| @@ -16,9 +16,9 @@ package org.eclipse.osee.framework.ui.skynet.explorer; |
| import static org.eclipse.osee.framework.core.enums.RelationSorter.USER_DEFINED; |
| import java.io.File; |
| import java.util.Arrays; |
| +import java.util.Collections; |
| import java.util.LinkedList; |
| import java.util.List; |
| -import java.util.logging.Level; |
| import org.apache.commons.io.FilenameUtils; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| @@ -31,13 +31,13 @@ import org.eclipse.osee.framework.core.data.JsonAttribute; |
| import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; |
| import org.eclipse.osee.framework.core.enums.CoreRelationTypes; |
| +import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.operation.IOperation; |
| import org.eclipse.osee.framework.core.operation.Operations; |
| import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| 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.OseeSystemArtifacts; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.ArtifactData; |
| @@ -55,6 +55,7 @@ import org.eclipse.osee.framework.ui.skynet.Import.ArtifactImportOperationParame |
| import org.eclipse.osee.framework.ui.skynet.Import.ArtifactImportWizard; |
| import org.eclipse.osee.framework.ui.skynet.Import.ArtifactResolverFactory; |
| import org.eclipse.osee.framework.ui.skynet.Import.ArtifactResolverFactory.ArtifactCreationStrategy; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactTransfer; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| @@ -123,7 +124,6 @@ public class ArtifactExplorerDragAndDrop extends SkynetDragAndDrop { |
| ArtifactData toBeDropped = ArtifactTransfer.getInstance().nativeToJava(event.currentDataType); |
| if (dropTarget != null) { |
| try { |
| - AccessPolicy policy = ServiceUtil.getAccessPolicy(); |
| Artifact[] artifactsBeingDropped = toBeDropped.getArtifacts(); |
| List<Artifact> artsOnSameBranchAsDestination = new LinkedList<>(); |
| BranchId destinationBranch = dropTarget.getBranch(); |
| @@ -132,15 +132,19 @@ public class ArtifactExplorerDragAndDrop extends SkynetDragAndDrop { |
| artsOnSameBranchAsDestination.add(art); |
| } |
| } |
| - valid = policy.canRelationBeModified(dropTarget, artsOnSameBranchAsDestination, |
| - CoreRelationTypes.DefaultHierarchical_Child, Level.FINE).matched(); |
| + |
| + valid = OseeApiService.get().getAccessControlService().hasRelationTypePermission(dropTarget, |
| + CoreRelationTypes.DefaultHierarchical_Child, artsOnSameBranchAsDestination, PermissionEnum.WRITE, |
| + null).isSuccess(); |
| |
| // if we are deparenting ourself, make sure our parent's child side can be modified |
| if (valid) { |
| for (Artifact art : artsOnSameBranchAsDestination) { |
| if (art.hasParent()) { |
| - valid = policy.canRelationBeModified(art.getParent(), null, |
| - CoreRelationTypes.DefaultHierarchical_Child, Level.FINE).matched(); |
| + valid = |
| + OseeApiService.get().getAccessControlService().hasRelationTypePermission(art.getParent(), |
| + CoreRelationTypes.DefaultHierarchical_Child, Collections.emptyList(), |
| + PermissionEnum.WRITE, null).isSuccess(); |
| } |
| if (!valid) { |
| break; |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerEventManager.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerEventManager.java |
| index 9cee894142..33f6c2f46c 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerEventManager.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerEventManager.java |
| @@ -18,6 +18,7 @@ import java.util.Collection; |
| import java.util.List; |
| import java.util.concurrent.CopyOnWriteArrayList; |
| import java.util.logging.Level; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEvent; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.enums.BranchState; |
| import org.eclipse.osee.framework.core.event.EventUtil; |
| @@ -27,7 +28,6 @@ import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.skynet.core.event.OseeEventManager; |
| import org.eclipse.osee.framework.skynet.core.event.filter.IEventFilter; |
| import org.eclipse.osee.framework.skynet.core.event.listener.IArtifactEventListener; |
| -import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEvent; |
| import org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent; |
| import org.eclipse.osee.framework.skynet.core.event.model.EventBasicGuidArtifact; |
| import org.eclipse.osee.framework.skynet.core.event.model.EventModType; |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerToolbar.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerToolbar.java |
| index d5f543647b..d9c430faf1 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerToolbar.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerToolbar.java |
| @@ -22,7 +22,7 @@ import org.eclipse.jface.action.Action; |
| import org.eclipse.jface.action.IToolBarManager; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.window.Window; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| +import org.eclipse.osee.framework.core.access.IAccessControlService; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.jdk.core.util.GUID; |
| @@ -34,7 +34,7 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| -import org.eclipse.osee.framework.ui.skynet.access.AccessControlService; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.action.OpenAssociatedArtifactFromBranchProvider; |
| import org.eclipse.osee.framework.ui.skynet.change.ChangeUiUtil; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| @@ -109,8 +109,8 @@ public class ArtifactExplorerToolbar { |
| |
| @Override |
| protected IStatus run(IProgressMonitor monitor) { |
| - AccessControlService.getAccessService().clearCache(); |
| - AccessControlService.getAccessService().ensurePopulated(); |
| + OseeApiService.get().getAccessControlService().clearCaches(); |
| + OseeApiService.get().getAccessControlService().ensurePopulated(); |
| |
| Displays.ensureInDisplayThread(new Runnable() { |
| |
| @@ -119,14 +119,14 @@ public class ArtifactExplorerToolbar { |
| artifactExplorer.setRefreshing(false); |
| artifactExplorer.refreshBranchWarning(); |
| ArtifactExplorer.exploreBranch(artifactExplorer.getBranch()); |
| - if (AccessControlManager.isOseeAdmin()) { |
| + if (OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| CheckBoxDialog dialog = |
| new CheckBoxDialog("Admin - Enable Debug", "Enable Branch Access Debug", |
| "Check to enable Branch Access Debug if instructed to do so"); |
| if (dialog.open() == Window.OK) { |
| - System.setProperty(AccessControlManager.DEBUG_BRANCH_ACCESS, "true"); |
| + System.setProperty(IAccessControlService.DEBUG_BRANCH_ACCESS, "true"); |
| } else { |
| - System.setProperty(AccessControlManager.DEBUG_BRANCH_ACCESS, "false"); |
| + System.setProperty(IAccessControlService.DEBUG_BRANCH_ACCESS, "false"); |
| } |
| } |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerUtil.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerUtil.java |
| index ad29e63020..47bce876cf 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerUtil.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerUtil.java |
| @@ -22,12 +22,13 @@ import org.eclipse.core.runtime.jobs.Job; |
| import org.eclipse.core.runtime.jobs.JobChangeAdapter; |
| import org.eclipse.jface.viewers.StructuredSelection; |
| import org.eclipse.jface.viewers.TreeViewer; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| +import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.enums.BranchState; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.operation.IOperation; |
| import org.eclipse.osee.framework.core.operation.Operations; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.jdk.core.util.GUID; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| @@ -36,6 +37,7 @@ import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| import org.eclipse.osee.framework.ui.swt.Widgets; |
| @@ -77,7 +79,7 @@ public class ArtifactExplorerUtil { |
| } |
| } |
| |
| - public static void refreshBranchWarning(ArtifactExplorer artifactExplorer, TreeViewer treeViewer, BranchId branch, BranchWarningComposite branchWarningComposite) { |
| + public static void refreshBranchWarning(ArtifactExplorer artifactExplorer, TreeViewer treeViewer, BranchToken branch, BranchWarningComposite branchWarningComposite) { |
| Displays.ensureInDisplayThread(new Runnable() { |
| @Override |
| public void run() { |
| @@ -89,7 +91,8 @@ public class ArtifactExplorerUtil { |
| Control control = treeViewer.getTree(); |
| if (branch.isValid()) { |
| String warningStr = null; |
| - boolean branchReadable = AccessControlManager.hasPermission(branch, PermissionEnum.READ); |
| + boolean branchReadable = OseeApiService.get().getAccessControlService().hasBranchPermission(branch, |
| + PermissionEnum.READ, new XResultData()).isSuccess(); |
| if (artifactExplorer.isRefreshing()) { |
| warningStr = "Refreshing Artifact Explorer"; |
| } else if (!branchReadable) { |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/MenuPermissions.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/MenuPermissions.java |
| index 93059b4345..fd8ebf8291 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/MenuPermissions.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/MenuPermissions.java |
| @@ -16,12 +16,13 @@ package org.eclipse.osee.framework.ui.skynet.explorer; |
| import java.util.Arrays; |
| import java.util.Collection; |
| import java.util.Collections; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| +import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.skynet.core.UserManager; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| |
| /** |
| * @author Donald G. Dunne |
| @@ -46,21 +47,27 @@ public class MenuPermissions { |
| fullAccess = true; |
| isLocked = false; |
| accessToRemoveLock = true; |
| - Artifact combinationSubject = null; |
| + ArtifactToken combinationSubject = null; |
| |
| for (Artifact objectArtifact : artifacts) { |
| - writePermission = writePermission && AccessControlManager.hasPermission(objectArtifact, |
| - PermissionEnum.WRITE) && BranchManager.isEditable(objectArtifact.getBranch()); |
| - readPermission = readPermission && AccessControlManager.hasPermission(objectArtifact, PermissionEnum.READ); |
| - fullAccess = fullAccess && AccessControlManager.hasPermission(objectArtifact, PermissionEnum.FULLACCESS); |
| - isLocked = isLocked || AccessControlManager.hasLock(objectArtifact); |
| + writePermission = |
| + writePermission && OseeApiService.get().getAccessControlService().hasArtifactPermission(objectArtifact, |
| + PermissionEnum.WRITE, null).isSuccess() && BranchManager.isEditable(objectArtifact.getBranch()); |
| + readPermission = |
| + readPermission && OseeApiService.get().getAccessControlService().hasArtifactPermission(objectArtifact, |
| + PermissionEnum.READ, null).isSuccess(); |
| + fullAccess = fullAccess && OseeApiService.get().getAccessControlService().hasArtifactPermission(objectArtifact, |
| + PermissionEnum.FULLACCESS, null).isSuccess(); |
| + isLocked = isLocked || OseeApiService.get().getAccessControlService().hasLock(objectArtifact); |
| accessToRemoveLock = |
| - accessToRemoveLock && AccessControlManager.canUnlockObject(objectArtifact, UserManager.getUser()); |
| + accessToRemoveLock && OseeApiService.get().getAccessControlService().canUnlockObject(objectArtifact, |
| + UserManager.getUser()); |
| |
| // acquire the name of the subject that has the lock |
| - Artifact subject = AccessControlManager.getSubjectFromLockedObject(objectArtifact); |
| + ArtifactToken subject = |
| + OseeApiService.get().getAccessControlService().getSubjectFromLockedObject(objectArtifact); |
| |
| - if (isLocked && subject != null) { |
| + if (isLocked && subject.isValid()) { |
| if (combinationSubject == null) { |
| combinationSubject = subject; |
| subjectFromLockedObjectName = combinationSubject.getName(); |
| @@ -96,7 +103,8 @@ public class MenuPermissions { |
| } |
| |
| public boolean isBranchReadable(BranchId branch) { |
| - return AccessControlManager.hasPermission(branch, PermissionEnum.READ); |
| + return OseeApiService.get().getAccessControlService().hasBranchPermission(BranchManager.getBranch(branch), |
| + PermissionEnum.READ, null).isSuccess(); |
| } |
| |
| public boolean isHasArtifacts() { |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/menu/ArtifactExplorerMenu.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/menu/ArtifactExplorerMenu.java |
| index 4cfaebade8..892680f6dc 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/menu/ArtifactExplorerMenu.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/menu/ArtifactExplorerMenu.java |
| @@ -20,28 +20,29 @@ import java.util.Iterator; |
| import java.util.List; |
| import java.util.Set; |
| 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.jface.window.Window; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| -import org.eclipse.osee.framework.core.access.PermissionStatus; |
| +import org.eclipse.osee.framework.core.access.AccessControlUtil; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| +import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| import org.eclipse.osee.framework.core.enums.CoreArtifactTokens; |
| import org.eclipse.osee.framework.core.enums.CoreRelationTypes; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.enums.PresentationType; |
| import org.eclipse.osee.framework.core.operation.Operations; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| +import org.eclipse.osee.framework.jdk.core.util.Collections; |
| import org.eclipse.osee.framework.jdk.core.util.Strings; |
| 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.OseeSystemArtifacts; |
| import org.eclipse.osee.framework.skynet.core.UserManager; |
| +import org.eclipse.osee.framework.skynet.core.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| @@ -54,7 +55,9 @@ import org.eclipse.osee.framework.ui.skynet.ArtifactContentProvider; |
| import org.eclipse.osee.framework.ui.skynet.ArtifactStructuredSelection; |
| import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| import org.eclipse.osee.framework.ui.skynet.OpenContributionItem; |
| +import org.eclipse.osee.framework.ui.skynet.access.AccessControlDetails; |
| import org.eclipse.osee.framework.ui.skynet.access.PolicyDialog; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.action.DeleteAction; |
| import org.eclipse.osee.framework.ui.skynet.action.PurgeAction; |
| import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactNameConflictHandler; |
| @@ -71,6 +74,7 @@ import org.eclipse.osee.framework.ui.skynet.render.RendererManager; |
| import org.eclipse.osee.framework.ui.skynet.util.ArtifactClipboard; |
| import org.eclipse.osee.framework.ui.skynet.util.ArtifactPasteConfiguration; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeArtifactTypeEntryDialog; |
| +import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| import org.eclipse.osee.framework.ui.swt.ImageManager; |
| import org.eclipse.osee.framework.ui.swt.MenuItems; |
| @@ -107,6 +111,7 @@ public class ArtifactExplorerMenu implements ISelectedArtifacts { |
| private MenuItem createMenuItem; |
| private CreateRelatedMenuItem createRelatedMenuItem; |
| private MenuItem accessControlMenuItem; |
| + private MenuItem showAccessControlMenuItem; |
| private MenuItem lockMenuItem; |
| private MenuItem goIntoMenuItem; |
| private MenuItem copyMenuItem; |
| @@ -122,6 +127,7 @@ public class ArtifactExplorerMenu implements ISelectedArtifacts { |
| private Text myTextBeingRenamed; |
| private MenuItem deleteMenuItem; |
| private MenuItem purgeMenuItem; |
| + private Menu popupMenu; |
| |
| public ArtifactExplorerMenu(ArtifactExplorer artifactExplorer) { |
| this.artifactExplorer = artifactExplorer; |
| @@ -138,22 +144,22 @@ public class ArtifactExplorerMenu implements ISelectedArtifacts { |
| try { |
| IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); |
| Object obj = selection.getFirstElement(); |
| - AccessPolicy service = ServiceUtil.getAccessPolicy(); |
| boolean canModifyDH = false; |
| boolean isArtifact = false; |
| MenuPermissions permiss; |
| if (obj instanceof Artifact) { |
| isArtifact = true; |
| Artifact art = (Artifact) obj; |
| - canModifyDH = service.canRelationBeModified(art, null, CoreRelationTypes.DefaultHierarchical_Child, |
| - Level.FINE).matched(); |
| + canModifyDH = OseeApiService.get().getAccessControlService().hasRelationTypePermission(art, |
| + CoreRelationTypes.DefaultHierarchical_Child, java.util.Collections.emptyList(), PermissionEnum.WRITE, |
| + null).isSuccess(); |
| permiss = new MenuPermissions(art); |
| } else { |
| permiss = new MenuPermissions((Artifact) null); |
| } |
| boolean isBranchEditable = |
| - BranchManager.isEditable(getBranch()) && AccessControlManager.hasPermission(getBranch(), |
| - PermissionEnum.WRITE); |
| + BranchManager.isEditable(getBranch()) && OseeApiService.get().getAccessControlService().hasBranchPermission( |
| + getBranch(), PermissionEnum.WRITE, null).isSuccess(); |
| |
| boolean locked = permiss.isLocked(); |
| if (isArtifact) { |
| @@ -183,11 +189,11 @@ public class ArtifactExplorerMenu implements ISelectedArtifacts { |
| accessControlMenuItem.setEnabled(isArtifact); |
| refreshMenuItem.setEnabled(isArtifact); |
| |
| - createRelatedMenuItem.setCreateRelatedEnabled(obj, service); |
| + createRelatedMenuItem.setCreateRelatedEnabled(obj); |
| |
| deleteMenuItem.setEnabled(isArtifact && permiss.isWritePermission()); |
| purgeMenuItem.setEnabled( |
| - isArtifact && permiss.isHasArtifacts() && permiss.isWritePermission() && AccessControlManager.isOseeAdmin()); |
| + isArtifact && permiss.isHasArtifacts() && permiss.isWritePermission() && UserManager.getUser().isOseeAdmin()); |
| |
| } catch (Exception ex) { |
| OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex); |
| @@ -197,7 +203,7 @@ public class ArtifactExplorerMenu implements ISelectedArtifacts { |
| |
| public void setupPopupMenu() { |
| |
| - Menu popupMenu = new Menu(treeViewer.getTree().getParent()); |
| + popupMenu = new Menu(treeViewer.getTree().getParent()); |
| needArtifactListener = new NeedArtifactMenuListener(artifactExplorer); |
| needProjectListener = new NeedProjectMenuListener(artifactExplorer); |
| popupMenu.addMenuListener(needArtifactListener); |
| @@ -243,10 +249,13 @@ public class ArtifactExplorerMenu implements ISelectedArtifacts { |
| new MenuItem(popupMenu, SWT.SEPARATOR); |
| |
| createAccessControlMenuItem(popupMenu); |
| + if (AccessControlUtil.isDebugOn()) { |
| + createShowAccessControlMenuItem(popupMenu); |
| + } |
| treeViewer.getTree().setMenu(popupMenu); |
| } |
| |
| - private BranchId getBranch() { |
| + private BranchToken getBranch() { |
| return artifactExplorer.getBranch(); |
| } |
| |
| @@ -261,32 +270,22 @@ public class ArtifactExplorerMenu implements ISelectedArtifacts { |
| IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); |
| |
| Artifact parent = null; |
| - // If artifact is selected, check permissions of artifact |
| - if (selection.size() == 1) { |
| + // Get selected and check permissions |
| + if (selection.size() > 1) { |
| + AWorkbench.popup("Select single or no artifact to Add Child"); |
| + return; |
| + } else if (selection.size() == 1) { |
| parent = getParent(); |
| - |
| - AccessPolicy policy = ServiceUtil.getAccessPolicy(); |
| - |
| - PermissionStatus status = policy.canRelationBeModified(parent, null, |
| - CoreRelationTypes.DefaultHierarchical_Child, Level.FINE); |
| - if (!status.matched()) { |
| - MessageDialog.openError(AWorkbench.getActiveShell(), "New Child Error", |
| - "Access control has restricted this action. The current user does not have sufficient permission to create relations on this artifact."); |
| - return; |
| - } |
| + } else { |
| + parent = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(getBranch()); |
| } |
| - // check branch permissions |
| - else { |
| - boolean isBranchEditable = |
| - BranchManager.isEditable(getBranch()) && AccessControlManager.hasPermission(getBranch(), |
| - PermissionEnum.WRITE); |
| - if (!isBranchEditable) { |
| - MessageDialog.openError(AWorkbench.getActiveShell(), "New Child Error", |
| - "Access control has restricted this action. The current user does not have sufficient permission to create relations on this artifact."); |
| - return; |
| - } |
| |
| - parent = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(getBranch()); |
| + XResultData rd = OseeApiService.get().getAccessControlService().hasArtifactPermission(parent, |
| + PermissionEnum.WRITE, AccessControlArtifactUtil.getXResultAccessHeader("New Child Error", parent)); |
| + if (rd.isErrors()) { |
| + XResultDataDialog.open(rd, "New Child Error", |
| + "You do not have permissions to add related to artifact %s", parent.toStringWithId()); |
| + return; |
| } |
| handleCreateChild(parent, treeViewer); |
| } catch (Exception ex) { |
| @@ -586,7 +585,7 @@ public class ArtifactExplorerMenu implements ISelectedArtifacts { |
| Artifact selectedArtifact = (Artifact) selection.getFirstElement(); |
| try { |
| if (selectedArtifact != null) { |
| - PolicyDialog pd = new PolicyDialog(Displays.getActiveShell(), selectedArtifact); |
| + PolicyDialog pd = PolicyDialog.createPolicyDialog(Displays.getActiveShell(), selectedArtifact); |
| pd.open(); |
| artifactExplorer.refreshBranchWarning(); |
| } |
| @@ -597,6 +596,25 @@ public class ArtifactExplorerMenu implements ISelectedArtifacts { |
| }); |
| } |
| |
| + private void createShowAccessControlMenuItem(Menu parentMenu) { |
| + showAccessControlMenuItem = new MenuItem(parentMenu, SWT.PUSH); |
| + showAccessControlMenuItem.setImage(ImageManager.getImage(FrameworkImage.LOCK_DETAILS)); |
| + showAccessControlMenuItem.setText(AccessControlDetails.NAME); |
| + showAccessControlMenuItem.addSelectionListener(new SelectionAdapter() { |
| + |
| + @Override |
| + public void widgetSelected(SelectionEvent e) { |
| + IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); |
| + Artifact selectedArtifact = (Artifact) selection.getFirstElement(); |
| + try { |
| + (new AccessControlDetails(selectedArtifact)).run(); |
| + } catch (Exception ex) { |
| + OseeLog.log(Activator.class, Level.SEVERE, ex); |
| + } |
| + } |
| + }); |
| + } |
| + |
| private void createLockMenuItem(Menu parentMenu) { |
| lockMenuItem = new MenuItem(parentMenu, SWT.PUSH); |
| lockMenuItem.addSelectionListener(new SelectionAdapter() { |
| @@ -622,10 +640,11 @@ public class ArtifactExplorerMenu implements ISelectedArtifacts { |
| |
| try { |
| if (!unlockArtifacts.isEmpty()) { |
| - AccessControlManager.unLockObjects(unlockArtifacts, UserManager.getUser()); |
| + OseeApiService.get().getAccessControlService().unLockArtifacts(UserManager.getUser(), |
| + Collections.castAll(unlockArtifacts)); |
| } |
| if (!lockArtifacts.isEmpty()) { |
| - AccessControlManager.lockObjects(lockArtifacts, UserManager.getUser()); |
| + OseeApiService.get().getAccessControlService().lockArtifacts(UserManager.getUser(), lockArtifacts); |
| } |
| } catch (Exception ex) { |
| OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex); |
| @@ -668,7 +687,7 @@ public class ArtifactExplorerMenu implements ISelectedArtifacts { |
| artifactTransferData.add(artifact); |
| } |
| } |
| - artifactClipboard.setArtifactsToClipboard(ServiceUtil.getAccessPolicy(), artifactTransferData); |
| + artifactClipboard.setArtifactsToClipboard(artifactTransferData); |
| } |
| } |
| |
| @@ -799,4 +818,8 @@ public class ArtifactExplorerMenu implements ISelectedArtifacts { |
| return getSelection().toList(); |
| } |
| |
| + public void resetMenu() { |
| + setupPopupMenu(); |
| + } |
| + |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/menu/CreateRelatedMenuItem.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/menu/CreateRelatedMenuItem.java |
| index 570f146e72..14af4fadc1 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/menu/CreateRelatedMenuItem.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/menu/CreateRelatedMenuItem.java |
| @@ -15,25 +15,26 @@ package org.eclipse.osee.framework.ui.skynet.explorer.menu; |
| |
| import java.util.ArrayList; |
| import java.util.Collection; |
| +import java.util.Collections; |
| import java.util.LinkedList; |
| import java.util.List; |
| -import java.util.logging.Level; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| import org.eclipse.jface.window.Window; |
| import org.eclipse.osee.framework.core.OrcsTokenService; |
| -import org.eclipse.osee.framework.core.access.PermissionStatus; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.data.RelationTypeSide; |
| import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| import org.eclipse.osee.framework.core.enums.CoreRelationTypes; |
| +import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.enums.PresentationType; |
| import org.eclipse.osee.framework.core.enums.RelationSide; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.util.Strings; |
| 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.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| @@ -41,6 +42,7 @@ import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; |
| import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| import org.eclipse.osee.framework.ui.plugin.util.StringLabelProvider; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.explorer.ArtifactExplorer; |
| import org.eclipse.osee.framework.ui.skynet.explorer.ArtifactExplorerLinkNode; |
| import org.eclipse.osee.framework.ui.skynet.explorer.MenuPermissions; |
| @@ -50,6 +52,7 @@ import org.eclipse.osee.framework.ui.skynet.render.RendererManager; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeArtifactTypeEntryDialog; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeRelationTypeDialog; |
| +import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.events.SelectionEvent; |
| import org.eclipse.swt.events.SelectionListener; |
| @@ -93,25 +96,23 @@ public class CreateRelatedMenuItem implements SelectionListener { |
| relationTypeSide = RelationTypeSide.create(relationType, RelationSide.SIDE_A); |
| } |
| |
| - AccessPolicy service = ServiceUtil.getAccessPolicy(); |
| + XResultData rd = OseeApiService.get().getAccessControlService().hasRelationTypePermission(existingArtifact, |
| + relationTypeSide, null, PermissionEnum.WRITE, AccessControlArtifactUtil.getXResultAccessHeader("New Related", |
| + Collections.singleton(existingArtifact), relationTypeSide)); |
| |
| - // check permissions |
| - PermissionStatus status = |
| - service.canRelationBeModified(existingArtifact, null, relationTypeSide, Level.FINE); |
| - if (status.matched()) { |
| + if (rd.isSuccess()) { |
| handleCreateRelated(existingArtifact, relationType, relationTypeSide, relationSide); |
| } else { |
| - MessageDialog.openError(AWorkbench.getActiveShell(), "New Child Error", |
| - "Access control has restricted this action. The current user does not have sufficient permission to create relations on this artifact."); |
| + XResultDataDialog.open(rd, "New Child Error", |
| + "You do not have permissions to add a New Related artifact"); |
| } |
| } else if (obj instanceof Artifact) { |
| Artifact parentArt = (Artifact) obj; |
| |
| - AccessPolicy policy = ServiceUtil.getAccessPolicy(); |
| + boolean hasPermission = OseeApiService.get().getAccessControlService().hasRelationTypePermission(parentArt, |
| + CoreRelationTypes.DefaultHierarchical_Child, null, PermissionEnum.WRITE, null).isSuccess(); |
| |
| - PermissionStatus status = |
| - policy.canRelationBeModified(parentArt, null, CoreRelationTypes.DefaultHierarchical_Child, Level.FINE); |
| - if (!status.matched()) { |
| + if (!hasPermission) { |
| MessageDialog.openError(AWorkbench.getActiveShell(), "New Child Error", |
| "Access control has restricted this action. The current user does not have sufficient permission to create relations on this artifact."); |
| return; |
| @@ -208,7 +209,7 @@ public class CreateRelatedMenuItem implements SelectionListener { |
| return dialog; |
| } |
| |
| - public void setCreateRelatedEnabled(Object obj, AccessPolicy service) { |
| + public void setCreateRelatedEnabled(Object obj) { |
| if (obj instanceof ArtifactExplorerLinkNode) { |
| ArtifactExplorerLinkNode linkNode = (ArtifactExplorerLinkNode) obj; |
| Artifact artifact = linkNode.getArtifact(); |
| @@ -222,8 +223,10 @@ public class CreateRelatedMenuItem implements SelectionListener { |
| |
| MenuPermissions permiss = new MenuPermissions(artifact); |
| |
| - boolean canModifyRelation = service.canRelationBeModified(artifact, null, relationSide, Level.FINE).matched(); |
| - menuItem.setEnabled(permiss.isWritePermission() && canModifyRelation); |
| + boolean hasPermission = OseeApiService.get().getAccessControlService().hasRelationTypePermission(artifact, |
| + relationSide, Collections.emptyList(), PermissionEnum.WRITE, null).isSuccess(); |
| + |
| + menuItem.setEnabled(permiss.isWritePermission() && hasPermission); |
| } else if (obj instanceof Artifact) { |
| Artifact artifact = (Artifact) obj; |
| MenuPermissions permiss = new MenuPermissions(artifact); |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/ServiceUtil.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/ServiceUtil.java |
| index b54ea2898c..3614236549 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/ServiceUtil.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/internal/ServiceUtil.java |
| @@ -13,19 +13,13 @@ |
| |
| package org.eclipse.osee.framework.ui.skynet.internal; |
| |
| -import java.util.logging.Level; |
| -import org.eclipse.core.runtime.Platform; |
| import org.eclipse.osee.account.rest.client.AccountClient; |
| import org.eclipse.osee.framework.core.OrcsTokenService; |
| import org.eclipse.osee.framework.core.services.IOseeCachingService; |
| import org.eclipse.osee.framework.core.util.OsgiUtil; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| -import org.eclipse.osee.framework.logging.OseeLog; |
| -import org.eclipse.osee.framework.skynet.core.AccessPolicy; |
| import org.eclipse.osee.framework.ui.skynet.cm.IOseeCmService; |
| import org.eclipse.osee.orcs.rest.client.OseeClient; |
| -import org.osgi.framework.Bundle; |
| -import org.osgi.framework.BundleException; |
| import org.osgi.service.packageadmin.PackageAdmin; |
| |
| @SuppressWarnings("deprecation") |
| @@ -59,18 +53,6 @@ public final class ServiceUtil { |
| return getService(PackageAdmin.class); |
| } |
| |
| - public static AccessPolicy getAccessPolicy() { |
| - try { |
| - Bundle bundle = Platform.getBundle("org.eclipse.osee.framework.access"); |
| - if (bundle.getState() != Bundle.ACTIVE) { |
| - bundle.start(); |
| - } |
| - } catch (BundleException ex) { |
| - OseeLog.log(Activator.class, Level.SEVERE, ex); |
| - } |
| - return getService(AccessPolicy.class); |
| - } |
| - |
| public static IOseeCmService getOseeCmService() { |
| return getService(IOseeCmService.class); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/ConfigurationDetails.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/ConfigurationDetails.java |
| index a0ba09c53b..952777caee 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/ConfigurationDetails.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/ConfigurationDetails.java |
| @@ -131,7 +131,7 @@ public class ConfigurationDetails extends PreferencePage implements IWorkbenchPr |
| String bundleVerStr = OseeCodeVersion.getBundleVersion(); |
| String display = verStr; |
| if (!verStr.equals(bundleVerStr)) { |
| - display = String.format("%s / %s/", verStr, bundleVerStr); |
| + display = String.format("%s / %s", verStr, bundleVerStr); |
| } |
| builder.append("<tr><td><b>OSEE Client Version</b></td><td colspan=2>" + display + "</td></tr>"); |
| } catch (NullPointerException ex) { |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/EditorsPreferencePage.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/EditorsPreferencePage.java |
| index 4eaa95b9a7..df6bdc3e6d 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/EditorsPreferencePage.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/EditorsPreferencePage.java |
| @@ -246,9 +246,9 @@ public class EditorsPreferencePage extends PreferencePage implements IWorkbenchP |
| boolean editOnOpen = editButton.getSelection(); |
| UserManager.setSetting(UserManager.DOUBLE_CLICK_SETTING_KEY_EDIT, String.valueOf(editOnOpen)); |
| if (editOnOpen) { |
| - UserGroupService.get(CoreUserGroups.DefaultArtifactEditor).removeMember(UserManager.getUser()); |
| + UserGroupService.get(CoreUserGroups.DefaultArtifactEditor).removeMember(UserManager.getUser(), true); |
| } else { |
| - UserGroupService.get(CoreUserGroups.DefaultArtifactEditor).addMember(UserManager.getUser()); |
| + UserGroupService.get(CoreUserGroups.DefaultArtifactEditor).addMember(UserManager.getUser(), true); |
| } |
| RendererManager.clearCaches(); |
| |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/XResultDataDialogExample.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/XResultDataDialogExample.java |
| index 0b562cca84..4937d304e3 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/XResultDataDialogExample.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/XResultDataDialogExample.java |
| @@ -37,9 +37,8 @@ public final class XResultDataDialogExample extends XNavigateItemAction { |
| rd.log("This is a log message"); |
| rd.error("This is a error message"); |
| rd.warning("This is a warn message"); |
| - XResultDataDialog diag = new XResultDataDialog(getName(), |
| - "This is the message.\n\nTo XResultData contents, select the hyperlink below.", rd); |
| - diag.open(); |
| + XResultDataDialog.open(rd, getName(), |
| + "This is the message.\n\nTo XResultData contents, select the hyperlink below."); |
| } |
| |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/search/ArtifactSearchPage.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/search/ArtifactSearchPage.java |
| index bb087b6921..bd7f881f7d 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/search/ArtifactSearchPage.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/search/ArtifactSearchPage.java |
| @@ -30,24 +30,24 @@ import org.eclipse.jface.viewers.SelectionChangedEvent; |
| import org.eclipse.osee.framework.core.OrcsTokenService; |
| import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| import org.eclipse.osee.framework.core.data.AttributeTypeToken; |
| -import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.enums.RelationSide; |
| import org.eclipse.osee.framework.help.ui.OseeHelpContext; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.logging.OseeLevel; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| +import org.eclipse.osee.framework.skynet.core.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.skynet.core.attribute.AttributeTypeManager; |
| -import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| import org.eclipse.osee.framework.ui.plugin.util.ArrayTreeContentProvider; |
| import org.eclipse.osee.framework.ui.plugin.util.HelpUtil; |
| import org.eclipse.osee.framework.ui.plugin.util.StringLabelProvider; |
| import org.eclipse.osee.framework.ui.skynet.ToStringViewerSorter; |
| -import org.eclipse.osee.framework.ui.skynet.access.AccessControlService; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.change.ChangeUiUtil; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; |
| @@ -60,6 +60,7 @@ import org.eclipse.osee.framework.ui.skynet.util.NamedLabelProvider; |
| import org.eclipse.osee.framework.ui.skynet.widgets.XBranchSelectWidget; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredCheckboxTree; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTree; |
| +import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| import org.eclipse.osee.framework.ui.swt.HyperLinkLabel; |
| import org.eclipse.osee.framework.ui.swt.ToStringContainsPatternFilter; |
| @@ -161,9 +162,10 @@ public class ArtifactSearchPage extends DialogPage implements ISearchPage, IRepl |
| |
| @Override |
| public void handleEvent(Event event) { |
| - BranchId branch = branchSelect.getSelection(); |
| - if (!isBranchReadable(branch)) { |
| - AWorkbench.popup(String.format("Read Access Denied for branch [%s]", branch)); |
| + BranchToken branch = branchSelect.getSelection(); |
| + XResultData rd = isBranchReadable(branch); |
| + if (rd.isErrors()) { |
| + XResultDataDialog.open(rd, "Branch Access", "Read Access Denied for branch %s", branch.toStringWithId()); |
| } |
| } |
| } |
| @@ -557,20 +559,20 @@ public class ArtifactSearchPage extends DialogPage implements ISearchPage, IRepl |
| } |
| |
| public void updateOKStatus() { |
| - if (isBranchReadable( |
| - getSelectedBranch()) && filterviewer == null || filterviewer.getFilterList().getFilters().isEmpty()) { |
| + XResultData rd = isBranchReadable(getSelectedBranch()); |
| + if (rd.isSuccess() && filterviewer == null || filterviewer.getFilterList().getFilters().isEmpty()) { |
| getContainer().setPerformActionEnabled(false); |
| } else { |
| getContainer().setPerformActionEnabled(true); |
| } |
| } |
| |
| - private static boolean isBranchReadable(BranchId branch) { |
| - boolean read = false; |
| + private static XResultData isBranchReadable(BranchToken branch) { |
| if (branch != null) { |
| - read = AccessControlService.getAccessService().hasPermission(branch, PermissionEnum.READ); |
| + return OseeApiService.get().getAccessControlService().hasBranchPermission(branch, PermissionEnum.READ, |
| + AccessControlArtifactUtil.getXResultAccessHeader("Branch Selection", branch)); |
| } |
| - return read; |
| + return null; |
| } |
| |
| private String asString(FilterModel model) { |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/search/QuickSearchView.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/search/QuickSearchView.java |
| index 847e6772ae..3223134127 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/search/QuickSearchView.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/search/QuickSearchView.java |
| @@ -23,7 +23,6 @@ import java.util.List; |
| import java.util.logging.Level; |
| import org.eclipse.jface.action.Action; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ApplicabilityToken; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| @@ -32,20 +31,23 @@ import org.eclipse.osee.framework.core.enums.DeletionFlag; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.util.ArtifactSearchOptions; |
| import org.eclipse.osee.framework.help.ui.OseeHelpContext; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.jdk.core.util.Collections; |
| import org.eclipse.osee.framework.jdk.core.util.GUID; |
| import org.eclipse.osee.framework.jdk.core.util.Strings; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| +import org.eclipse.osee.framework.skynet.core.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; |
| import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| import org.eclipse.osee.framework.ui.skynet.OseeStatusContributionItemFactory; |
| -import org.eclipse.osee.framework.ui.skynet.access.AccessControlService; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.panels.SearchComposite; |
| import org.eclipse.osee.framework.ui.skynet.util.DbConnectionExceptionComposite; |
| import org.eclipse.osee.framework.ui.skynet.widgets.GenericViewPart; |
| import org.eclipse.osee.framework.ui.skynet.widgets.XBranchSelectWidget; |
| +import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; |
| import org.eclipse.osee.framework.ui.swt.ALayout; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| import org.eclipse.osee.framework.ui.swt.ImageManager; |
| @@ -246,7 +248,7 @@ public class QuickSearchView extends GenericViewPart { |
| panel.setLayout(gL); |
| panel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); |
| |
| - if (AccessControlManager.isOseeAdmin()) { |
| + if (OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| idSearchComposite = new SearchComposite(panel, SWT.NONE, "Search", "Search by ID:", this, false); |
| idSearchComposite.addListener(idSearchListener); |
| } |
| @@ -274,7 +276,7 @@ public class QuickSearchView extends GenericViewPart { |
| |
| applicability = new QuickSearchApplicabilityToken(appSearchGroup, this); |
| applicability.create(); |
| - if (!AccessControlManager.isOseeAdmin()) { |
| + if (!OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| idSearchComposite = new SearchComposite(panel, SWT.NONE, "Search", "Search by ID:", this, false); |
| idSearchComposite.addListener(idSearchListener); |
| } |
| @@ -345,11 +347,15 @@ public class QuickSearchView extends GenericViewPart { |
| public void handleEvent(Event event) { |
| if (Widgets.isAccessible(branchLabel) && branchSelect != null) { |
| branchLabel.setText(""); |
| - final BranchId branch = branchSelect.getData(); |
| + final BranchToken branch = branchSelect.getData(); |
| if (branch == null) { |
| branchLabel.setText("Error: Must Select a Branch"); |
| - } else if (!AccessControlService.getAccessService().hasPermission(branch, PermissionEnum.READ)) { |
| - AWorkbench.popup(String.format("Access Denied for branch [%s]", branch)); |
| + } |
| + |
| + XResultData rd = OseeApiService.get().getAccessControlService().hasBranchPermission(branch, |
| + PermissionEnum.READ, AccessControlArtifactUtil.getXResultAccessHeader("Select Branch", branch)); |
| + if (rd.isErrors()) { |
| + XResultDataDialog.open(rd, "Branch Select Failed", "Access Denied for branch [%s]", branch); |
| } else if (Widgets.isAccessible(attrSearchComposite) && attrSearchComposite.isExecuteSearchEvent( |
| event) && Widgets.isAccessible(optionsComposite)) { |
| |
| @@ -393,11 +399,12 @@ public class QuickSearchView extends GenericViewPart { |
| public void handleEvent(Event event) { |
| if (Widgets.isAccessible(branchLabel) && branchSelect != null) { |
| branchLabel.setText(""); |
| - final BranchId branch = branchSelect.getData(); |
| + final BranchToken branch = branchSelect.getData(); |
| if (branch == null) { |
| branchLabel.setText("Error: Must Select a Branch"); |
| - } else if (!AccessControlService.getAccessService().hasPermission(branch, PermissionEnum.READ)) { |
| - // since AttributeSearchListener is called when Select Branch is actioned, only display if this is the guid search button |
| + } else if (!OseeApiService.get().getAccessControlService().hasBranchPermission(branch, PermissionEnum.READ, |
| + null).isSuccess()) { |
| + // since AttributeSearchListener is called when Select Branch is selected, only display if this is the guid search button |
| if (event.widget instanceof Button && ((Button) event.widget).getText().equals("Search")) { |
| AWorkbench.popup(String.format("Access Denied for branch [%s]", branch)); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/update/InterArtifactExplorerDropHandlerOperation.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/update/InterArtifactExplorerDropHandlerOperation.java |
| index 5d19111a20..8461a1793f 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/update/InterArtifactExplorerDropHandlerOperation.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/update/InterArtifactExplorerDropHandlerOperation.java |
| @@ -20,22 +20,25 @@ import java.util.List; |
| import java.util.logging.Level; |
| import org.eclipse.core.runtime.IProgressMonitor; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.enums.DeletionFlag; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.operation.AbstractOperation; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| +import org.eclipse.osee.framework.skynet.core.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.skynet.core.artifact.IntroduceArtifactOperation; |
| import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; |
| import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.CheckBoxDialog; |
| +import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| |
| /** |
| @@ -66,7 +69,7 @@ public class InterArtifactExplorerDropHandlerOperation extends AbstractOperation |
| if (destinationParentArtifact == null || sourceArtifacts == null || sourceArtifacts.isEmpty()) { |
| throw new OseeArgumentException("Invalid arguments"); |
| } |
| - BranchId sourceBranch = sourceArtifacts.iterator().next().getBranchToken(); |
| + BranchToken sourceBranch = sourceArtifacts.iterator().next().getBranchToken(); |
| final BranchToken destinationBranch = destinationParentArtifact.getBranchToken(); |
| |
| if (isUpdateFromParent(sourceBranch, destinationBranch)) { |
| @@ -76,7 +79,9 @@ public class InterArtifactExplorerDropHandlerOperation extends AbstractOperation |
| MessageDialog.openError(Displays.getActiveShell(), ACCESS_ERROR_MSG_TITLE, UPDATE_FROM_PARENT_ERROR_MSG); |
| } |
| }); |
| - } else if (isAccessAllowed(sourceBranch, destinationBranch)) { |
| + } |
| + XResultData rd = isAccessAllowed(sourceBranch, destinationBranch); |
| + if (rd.isSuccess()) { |
| Displays.ensureInDisplayThread(new Runnable() { |
| @Override |
| public void run() { |
| @@ -108,16 +113,22 @@ public class InterArtifactExplorerDropHandlerOperation extends AbstractOperation |
| Displays.ensureInDisplayThread(new Runnable() { |
| @Override |
| public void run() { |
| - MessageDialog.openError(Displays.getActiveShell(), ACCESS_ERROR_MSG_TITLE, ACCESS_ERROR_MSG); |
| + XResultDataDialog.open(rd, ACCESS_ERROR_MSG_TITLE, ACCESS_ERROR_MSG); |
| } |
| }); |
| } |
| monitor.done(); |
| } |
| |
| - private boolean isAccessAllowed(BranchId sourceBranch, BranchId destinationBranch) { |
| - return AccessControlManager.hasPermission(destinationBranch, |
| - PermissionEnum.WRITE) && AccessControlManager.hasPermission(sourceBranch, PermissionEnum.READ); |
| + private XResultData isAccessAllowed(BranchToken sourceBranch, BranchToken destinationBranch) { |
| + XResultData rd = OseeApiService.get().getAccessControlService().hasBranchPermission(destinationBranch, |
| + PermissionEnum.WRITE, AccessControlArtifactUtil.getXResultAccessHeader("Drag/Drop Artifact", sourceBranch)); |
| + if (rd.isErrors()) { |
| + return rd; |
| + } |
| + rd = OseeApiService.get().getAccessControlService().hasBranchPermission(sourceBranch, PermissionEnum.READ, |
| + AccessControlArtifactUtil.getXResultAccessHeader("Drag/Drop Artifact", sourceBranch)); |
| + return rd; |
| } |
| |
| private boolean isUpdateFromParent(BranchId sourceBranch, BranchId destinationBranch) { |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/UserNavigateViewItems.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/UserNavigateViewItems.java |
| index 1abd9316a2..55cfc4382d 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/UserNavigateViewItems.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/UserNavigateViewItems.java |
| @@ -17,7 +17,6 @@ import java.util.Arrays; |
| import java.util.List; |
| import java.util.concurrent.CopyOnWriteArrayList; |
| import java.util.logging.Level; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.enums.Active; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| @@ -28,6 +27,7 @@ import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; |
| import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction; |
| import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateViewItems; |
| import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.blam.operation.CreateNewUser; |
| import org.eclipse.osee.framework.ui.skynet.blam.operation.PopulateUserGroupBlam; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| @@ -77,7 +77,7 @@ public class UserNavigateViewItems implements XNavigateViewItems, IXNavigateComm |
| items.add(new XNavigateItemAction(parentItem, new OpenUsersInMassEditor("Open All Users", Active.Both), |
| FrameworkImage.USER)); |
| |
| - if (AccessControlManager.isOseeAdmin()) { |
| + if (OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| items.add(new XNavigateItemBlam(parentItem, new CreateNewUser(), FrameworkImage.ADD_GREEN)); |
| items.add(new XNavigateItemBlam(parentItem, new PopulateUserGroupBlam(), FrameworkImage.GROUP)); |
| } |
| @@ -98,7 +98,7 @@ public class UserNavigateViewItems implements XNavigateViewItems, IXNavigateComm |
| @Override |
| public void createCommonSection(List<XNavigateItem> items, List<String> excludeSectionIds) { |
| try { |
| - boolean admin = AccessControlManager.isOseeAdmin(); |
| + boolean admin = OseeApiService.get().getAccessControlService().isOseeAdmin(); |
| if (admin) { |
| XNavigateItem reviewItem = new XNavigateItem(null, "User Management", FrameworkImage.USER); |
| addOseeUserSectionChildren(reviewItem); |
| 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 bc9657cbe3..316f58d9e3 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 |
| @@ -18,14 +18,13 @@ 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.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.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactTransfer; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| import org.eclipse.swt.dnd.Clipboard; |
| @@ -46,15 +45,14 @@ public class ArtifactClipboard { |
| this.viewId = viewId; |
| } |
| |
| - private List<Artifact> getArtifactsWithPermission(AccessPolicy accessService, PermissionEnum permission, List<Artifact> artifacts) { |
| + private List<Artifact> getArtifactsWithPermission(PermissionEnum permission, List<Artifact> artifacts) { |
| ArrayList<Artifact> toReturn = new ArrayList<>(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()) { |
| + Artifact art = artIterator.next(); |
| + if (!OseeApiService.get().getAccessControlService().hasArtifactPermission(art, permission, null).isSuccess()) { |
| artIterator.remove(); |
| } |
| } |
| @@ -67,7 +65,7 @@ public class ArtifactClipboard { |
| } |
| } |
| |
| - public void setArtifactsToClipboard(AccessPolicy policyHandlerService, List<Artifact> artifactTransferData) { |
| + public void setArtifactsToClipboard(List<Artifact> artifactTransferData) { |
| if (artifactTransferData == null) { |
| throw new IllegalArgumentException("Artifacts can not be null for artifact copy."); |
| } |
| @@ -79,8 +77,7 @@ public class ArtifactClipboard { |
| } |
| |
| List<Artifact> authFailedList = new ArrayList<>(artifactTransferData); |
| - List<Artifact> authorizedArtifacts = |
| - getArtifactsWithPermission(policyHandlerService, PermissionEnum.READ, artifactTransferData); |
| + List<Artifact> authorizedArtifacts = getArtifactsWithPermission(PermissionEnum.READ, artifactTransferData); |
| |
| authFailedList.removeAll(authorizedArtifacts); |
| |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/MergeInProgressHandler.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/MergeInProgressHandler.java |
| index 925eb2054e..870b9c2483 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/MergeInProgressHandler.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/MergeInProgressHandler.java |
| @@ -22,7 +22,6 @@ import java.util.List; |
| import java.util.logging.Level; |
| import org.apache.commons.lang.mutable.MutableBoolean; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.TransactionResult; |
| import org.eclipse.osee.framework.jdk.core.type.MutableInteger; |
| @@ -30,6 +29,7 @@ import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.skynet.core.conflict.ConflictManagerExternal; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.widgets.xmerge.MergeView; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| @@ -173,7 +173,7 @@ public class MergeInProgressHandler { |
| String[] choices; |
| boolean isAdmin = false; |
| try { |
| - if (AccessControlManager.isOseeAdmin()) { |
| + if (OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| isAdmin = true; |
| } |
| } catch (OseeCoreException ex) { |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/email/EmailUserGroups.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/email/EmailUserGroups.java |
| index bfa87c363e..ffa562558c 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/email/EmailUserGroups.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/email/EmailUserGroups.java |
| @@ -17,7 +17,6 @@ import static org.eclipse.osee.framework.core.enums.CoreBranches.COMMON; |
| import java.util.HashSet; |
| import java.util.Set; |
| import java.util.logging.Level; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; |
| import org.eclipse.osee.framework.core.enums.CoreRelationTypes; |
| import org.eclipse.osee.framework.core.enums.DeletionFlag; |
| @@ -35,6 +34,7 @@ import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLo |
| import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; |
| import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction; |
| import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.results.ResultsEditor; |
| import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredCheckboxTreeArtifactDialog; |
| @@ -57,7 +57,8 @@ public class EmailUserGroups extends XNavigateItemAction { |
| for (Artifact art : ArtifactQuery.getArtifactListFromTypeWithInheritence(CoreArtifactTypes.UserGroup, COMMON, |
| DeletionFlag.EXCLUDE_DELETED)) { |
| // Only add group if have read permissions |
| - if (!art.getName().equals("Root Artifact") && AccessControlManager.hasPermission(art, PermissionEnum.READ)) { |
| + if (!art.getName().equals("Root Artifact") && OseeApiService.get().getAccessControlService().hasArtifactPermission(art, |
| + PermissionEnum.READ, null).isSuccess()) { |
| artifacts.add(art); |
| } |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XTextDam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XTextDam.java |
| index 01df07e256..6465ca29bf 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XTextDam.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XTextDam.java |
| @@ -31,7 +31,7 @@ import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| */ |
| public class XTextDam extends XText implements AttributeWidget { |
| |
| - public static final String WIDGET_ID = XStackedDam.class.getSimpleName(); |
| + public static final String WIDGET_ID = XTextDam.class.getSimpleName(); |
| private Artifact artifactStrongRef; |
| private AttributeTypeToken attributeType; |
| private final boolean isWeakReference; |
| 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 6a592ca2fa..3c78ddaea5 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 |
| @@ -15,18 +15,23 @@ package org.eclipse.osee.framework.ui.skynet.widgets; |
| |
| import java.util.Collections; |
| import java.util.logging.Level; |
| -import org.eclipse.osee.framework.core.access.PermissionStatus; |
| -import org.eclipse.osee.framework.core.data.AttributeTypeId; |
| +import org.eclipse.osee.framework.core.data.AttributeTypeToken; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| +import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| +import org.eclipse.osee.framework.jdk.core.util.Lib; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| -import org.eclipse.osee.framework.skynet.core.AccessPolicy; |
| +import org.eclipse.osee.framework.skynet.core.access.AccessControlArtifactUtil; |
| import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| +import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; |
| 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; |
| +import org.eclipse.swt.events.MouseAdapter; |
| +import org.eclipse.swt.events.MouseEvent; |
| import org.eclipse.swt.graphics.Image; |
| import org.eclipse.swt.widgets.Control; |
| import org.eclipse.swt.widgets.Label; |
| @@ -37,12 +42,7 @@ import org.eclipse.swt.widgets.Label; |
| public class XWidgetAccessDecorationProvider implements XWidgetDecorator.DecorationProvider { |
| |
| private static final Image LOCK_IMAGE = ImageManager.getImage(FrameworkImage.LOCK_OVERLAY); |
| - |
| - private final AccessPolicy policyHandlerService; |
| - |
| - public XWidgetAccessDecorationProvider(AccessPolicy policyHandlerService) { |
| - this.policyHandlerService = policyHandlerService; |
| - } |
| + private static final Image UNLOCK_IMAGE = ImageManager.getImage(FrameworkImage.LOCK_UNLOCKED); |
| |
| @Override |
| public int getPriority() { |
| @@ -53,34 +53,45 @@ public class XWidgetAccessDecorationProvider implements XWidgetDecorator.Decorat |
| public void onUpdate(XWidget xWidget, Decorator decorator) { |
| if (xWidget instanceof AttributeWidget) { |
| AttributeWidget attributeWidget = (AttributeWidget) xWidget; |
| - AttributeTypeId attributeType = attributeWidget.getAttributeType(); |
| + AttributeTypeToken attributeType = attributeWidget.getAttributeType(); |
| |
| - PermissionStatus permissionStatus = new PermissionStatus(); |
| Artifact artifact = attributeWidget.getArtifact(); |
| + final XResultData rd = AccessControlArtifactUtil.getXResultAccessHeader("Change Attribute", |
| + Collections.singleton(artifact), attributeType); |
| try { |
| - permissionStatus = policyHandlerService.hasAttributeTypePermission(Collections.singletonList(artifact), |
| - attributeType, PermissionEnum.WRITE, Level.FINE); |
| + OseeApiService.get().getAccessControlService().hasAttributeTypePermission(Collections.singleton(artifact), |
| + attributeType, PermissionEnum.WRITE, rd); |
| } catch (OseeCoreException ex) { |
| + rd.errorf("Error computing access permissions %s", Lib.exceptionToString(ex)); |
| OseeLog.log(Activator.class, Level.SEVERE, ex); |
| } |
| |
| // Get Info from AccessControlServiceImpl and take in to account if widget was editable before; |
| - boolean isWriteable = permissionStatus.matched(); |
| - boolean isLocked = !isWriteable || artifact.isReadOnly(); |
| - String reason = permissionStatus.getReason(); |
| + boolean isWriteable = rd.isSuccess(); |
| + String reason = rd.toString(); |
| |
| Control control = xWidget.getControl(); |
| if (Widgets.isAccessible(control)) { |
| - xWidget.setEditable(!isLocked); |
| + xWidget.setEditable(isWriteable); |
| } |
| Label label = xWidget.getLabelWidget(); |
| if (Widgets.isAccessible(label)) { |
| - label.setEnabled(!isLocked); |
| + label.setEnabled(isWriteable); |
| + label.addMouseListener(new MouseAdapter() { |
| + |
| + @Override |
| + public void mouseUp(MouseEvent e) { |
| + if (e.button == 3) { |
| + XResultDataUI.report(rd, "Access Control Details"); |
| + } |
| + } |
| + |
| + }); |
| } |
| |
| - decorator.setImage(isLocked ? LOCK_IMAGE : null); |
| - decorator.setDescription(isLocked ? reason : null); |
| - decorator.setVisible(isLocked); |
| + decorator.setImage(isWriteable ? UNLOCK_IMAGE : LOCK_IMAGE); |
| + decorator.setDescription(reason); |
| + decorator.setVisible(!isWriteable); |
| } |
| } |
| }; |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/dialog/XResultDataDialog.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/dialog/XResultDataDialog.java |
| index 6bad95a079..6d152fe3d0 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/dialog/XResultDataDialog.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/dialog/XResultDataDialog.java |
| @@ -45,12 +45,15 @@ public class XResultDataDialog extends MessageDialog { |
| |
| private final List<IShellCloseEvent> closeEventListeners = new ArrayList<>(); |
| private final String dialogTitle; |
| - private XResultData rd; |
| + private XResultData detailsResultsData; |
| |
| - public XResultDataDialog(String dialogTitle, String dialogMessage, XResultData rd) { |
| + /** |
| + * @param detailsResultsData - Will open if Show Details is selected |
| + */ |
| + public XResultDataDialog(String dialogTitle, String dialogMessage, XResultData detailsResultsData) { |
| this(Displays.getActiveShell(), dialogTitle, null, dialogMessage, MessageDialog.QUESTION, |
| new String[] {"OK", "Cancel"}, 0); |
| - this.rd = rd; |
| + this.detailsResultsData = detailsResultsData; |
| } |
| |
| public XResultDataDialog(Shell parentShell, String dialogTitle, Image dialogTitleImage, String dialogMessage, int dialogImageType, String[] dialogButtonLabels, int defaultIndex) { |
| @@ -84,7 +87,7 @@ public class XResultDataDialog extends MessageDialog { |
| |
| @Override |
| public void handleEvent(Event event) { |
| - XResultDataUI.report(rd, dialogTitle); |
| + XResultDataUI.report(detailsResultsData, dialogTitle); |
| close(); |
| } |
| }); |
| @@ -113,4 +116,9 @@ public class XResultDataDialog extends MessageDialog { |
| closeEventListeners.add(event); |
| } |
| |
| + public static void open(XResultData rd, String title, String format, Object... data) { |
| + XResultDataDialog diag = new XResultDataDialog(title, String.format(format, data), rd); |
| + diag.open(); |
| + } |
| + |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/DefaultAttributeXWidgetProvider.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/DefaultAttributeXWidgetProvider.java |
| index 906cae4cf7..60f8bd67f9 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/DefaultAttributeXWidgetProvider.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/DefaultAttributeXWidgetProvider.java |
| @@ -26,7 +26,6 @@ import org.eclipse.osee.framework.skynet.core.utility.AttributeTypeToXWidgetName |
| import org.eclipse.osee.framework.ui.skynet.widgets.XBranchSelectWidget; |
| import org.eclipse.osee.framework.ui.skynet.widgets.XIntegerDam; |
| import org.eclipse.osee.framework.ui.skynet.widgets.XOption; |
| -import org.eclipse.osee.framework.ui.skynet.widgets.XStackedDam; |
| import org.eclipse.osee.framework.ui.skynet.widgets.XTextDam; |
| import org.eclipse.osee.framework.ui.skynet.widgets.XTextFlatDam; |
| |
| @@ -72,8 +71,9 @@ public class DefaultAttributeXWidgetProvider implements IAttributeXWidgetProvide |
| defaultData.getXOptionHandler().add(XOption.FILL_VERTICALLY); |
| xWidgetName = XTextDam.WIDGET_ID; |
| } else if (useMultiLineWidget(attributeType)) { |
| - xWidgetName = XStackedDam.WIDGET_ID; |
| + xWidgetName = XTextDam.WIDGET_ID; |
| defaultData.getXOptionHandler().add(XOption.NOT_EDITABLE); |
| + defaultData.getXOptionHandler().add(XOption.FILL_VERTICALLY); |
| } else if (attributeType.isBranchId()) { |
| xWidgetName = XBranchSelectWidget.WIDGET_ID; |
| } else if (attributeType.isArtifactId()) { |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/BranchXViewer.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/BranchXViewer.java |
| index 332ed8c224..ab0065a61f 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/BranchXViewer.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/BranchXViewer.java |
| @@ -18,7 +18,6 @@ import java.util.Collection; |
| import org.eclipse.jface.action.MenuManager; |
| import org.eclipse.nebula.widgets.xviewer.XViewer; |
| import org.eclipse.nebula.widgets.xviewer.XViewerTextFilter; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.enums.CoreBranches; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| @@ -30,10 +29,11 @@ import org.eclipse.osee.framework.logging.OseeLevel; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.ui.plugin.util.HelpUtil; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.explorer.ArtifactExplorer; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| -import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; |
| import org.eclipse.osee.framework.ui.skynet.util.PromptChangeUtil; |
| +import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; |
| import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.XBranchWidget.IBranchWidgetMenuListener; |
| import org.eclipse.osee.framework.ui.skynet.widgets.xmerge.MergeView; |
| import org.eclipse.swt.widgets.Composite; |
| @@ -58,8 +58,8 @@ public class BranchXViewer extends XViewer { |
| ArrayList<BranchToken> branches = xBranchViewer.getSelectedBranches(); |
| if (branches != null && !branches.isEmpty()) { |
| for (BranchToken branch : branches) { |
| - boolean hasPermission = AccessControlManager.hasPermission(branch, PermissionEnum.READ); |
| - if (hasPermission) { |
| + OseeApiService.get().getAccessControlService().hasBranchPermission(branch, PermissionEnum.READ, rd); |
| + if (rd.isSuccess()) { |
| if (branch.notEqual(CoreBranches.SYSTEM_ROOT)) { |
| if (!BranchManager.getType(branch).isMergeBranch()) { |
| ArtifactExplorer.exploreBranch(branch); |
| @@ -79,7 +79,7 @@ public class BranchXViewer extends XViewer { |
| } |
| } |
| if (rd.isErrors()) { |
| - XResultDataUI.report(rd, "Branch Access Denied"); |
| + XResultDataDialog.open(rd, "Branch Access Denied", "Branch Access Denied"); |
| } |
| } |
| |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchContentProvider.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchContentProvider.java |
| index 7176e28d89..64f0f7d91b 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchContentProvider.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchContentProvider.java |
| @@ -23,7 +23,6 @@ import java.util.Set; |
| import java.util.logging.Level; |
| import org.eclipse.jface.viewers.ITreeContentProvider; |
| import org.eclipse.jface.viewers.Viewer; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.enums.BranchArchivedState; |
| @@ -32,6 +31,7 @@ import org.eclipse.osee.framework.core.model.cache.BranchFilter; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.change.ChangeUiUtil; |
| |
| /** |
| @@ -99,7 +99,7 @@ public class XBranchContentProvider implements ITreeContentProvider { |
| List<BranchType> branchTypes = new ArrayList<>(4); |
| |
| try { |
| - boolean isAdmin = AccessControlManager.isOseeAdmin(); |
| + boolean isAdmin = OseeApiService.get().getAccessControlService().isOseeAdmin(); |
| if (isAdmin) { |
| branchTypes.add(BranchType.SYSTEM_ROOT); |
| } |
| @@ -119,7 +119,7 @@ public class XBranchContentProvider implements ITreeContentProvider { |
| branchesToReturn.addAll(BranchManager.getBranches(BranchArchivedState.UNARCHIVED, BranchType.WORKING)); |
| } |
| if (!showChildBranchesAtMainLevel) { |
| - if (AccessControlManager.isOseeAdmin()) { |
| + if (OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| branchesToReturn.add(SYSTEM_ROOT); |
| } |
| branchTypes.add(BranchType.BASELINE); |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchLabelProvider.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchLabelProvider.java |
| index 6cb6f0deb9..f9340eb3be 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchLabelProvider.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchLabelProvider.java |
| @@ -23,14 +23,11 @@ import org.eclipse.jface.viewers.ILabelProviderListener; |
| import org.eclipse.nebula.widgets.xviewer.XViewerCells; |
| import org.eclipse.nebula.widgets.xviewer.XViewerLabelProvider; |
| import org.eclipse.nebula.widgets.xviewer.core.model.XViewerColumn; |
| -import org.eclipse.osee.framework.core.data.AccessContextToken; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.enums.CoreBranches; |
| import org.eclipse.osee.framework.core.model.Branch; |
| import org.eclipse.osee.framework.core.model.TransactionRecord; |
| -import org.eclipse.osee.framework.core.services.CmAccessControl; |
| -import org.eclipse.osee.framework.core.util.OsgiUtil; |
| import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| import org.eclipse.osee.framework.logging.OseeLog; |
| import org.eclipse.osee.framework.skynet.core.UserManager; |
| @@ -162,24 +159,10 @@ public class XBranchLabelProvider extends XViewerLabelProvider { |
| } |
| } else if (cCol.equals(BranchXViewerFactory.inheritAccessControl)) { |
| return String.valueOf(branch.isInheritAccessControl()); |
| - } else if (cCol.equals(BranchXViewerFactory.branchAccessContextId)) { |
| - return getBranchAccessContextId(branch); |
| } |
| return ""; |
| } |
| |
| - private String getBranchAccessContextId(Branch branch) { |
| - String accessContextId = ""; |
| - try { |
| - CmAccessControl cmAccessControl = OsgiUtil.getService(getClass(), CmAccessControl.class); |
| - Collection<? extends AccessContextToken> ids = cmAccessControl.getContextId(UserManager.getUser(), branch); |
| - accessContextId = ids.toString(); |
| - } catch (Exception ex) { |
| - return String.format("Exception %s", ex.getLocalizedMessage()); |
| - } |
| - return accessContextId; |
| - } |
| - |
| protected String getTransactionText(TransactionRecord transaction, XViewerColumn cCol, int columnIndex) { |
| String columnText = ""; |
| |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchWidget.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchWidget.java |
| index e7012bf6cc..11eb302fa3 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchWidget.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchWidget.java |
| @@ -25,7 +25,6 @@ import org.eclipse.jface.action.ActionContributionItem; |
| import org.eclipse.jface.action.MenuManager; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| import org.eclipse.jface.viewers.StructuredSelection; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.data.TransactionId; |
| @@ -38,6 +37,7 @@ import org.eclipse.osee.framework.plugin.core.util.Jobs; |
| import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; |
| import org.eclipse.osee.framework.ui.plugin.PluginUiImage; |
| import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.change.BranchTransactionUiData; |
| import org.eclipse.osee.framework.ui.skynet.internal.Activator; |
| import org.eclipse.osee.framework.ui.skynet.widgets.GenericXWidget; |
| @@ -262,7 +262,7 @@ public class XBranchWidget extends GenericXWidget implements IOseeTreeReportProv |
| } |
| }); |
| |
| - if (AccessControlManager.isOseeAdmin()) { |
| + if (OseeApiService.get().getAccessControlService().isOseeAdmin()) { |
| allButton = new ToolItem(toolBar, SWT.CHECK); |
| allButton.setImage(ImageManager.getImage(FrameworkImage.ADD_GREEN)); |
| allButton.setToolTipText("Show All Branches (Admin)"); |
| diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xHistory/HistoryView.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xHistory/HistoryView.java |
| index a42aee09b2..a7abb3c6d4 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xHistory/HistoryView.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xHistory/HistoryView.java |
| @@ -33,7 +33,6 @@ import org.eclipse.jface.action.MenuManager; |
| import org.eclipse.jface.action.Separator; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| import org.eclipse.nebula.widgets.xviewer.customize.XViewerCustomMenu; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.TransactionId; |
| @@ -65,6 +64,7 @@ import org.eclipse.osee.framework.ui.skynet.FrameworkImage; |
| import org.eclipse.osee.framework.ui.skynet.OpenContributionItem; |
| import org.eclipse.osee.framework.ui.skynet.OseeStatusContributionItemFactory; |
| import org.eclipse.osee.framework.ui.skynet.action.CompareArtifactAction; |
| +import org.eclipse.osee.framework.ui.skynet.access.internal.OseeApiService; |
| import org.eclipse.osee.framework.ui.skynet.action.EditTransactionComment; |
| import org.eclipse.osee.framework.ui.skynet.action.ITransactionRecordSelectionProvider; |
| import org.eclipse.osee.framework.ui.skynet.action.WasIsCompareEditorAction; |
| @@ -243,7 +243,7 @@ public class HistoryView extends GenericViewPart implements IBranchEventListener |
| final MenuItem replaceWithMenu = new MenuItem(popupMenu, SWT.CASCADE); |
| replaceWithMenu.setText("&Replace Attribute with Version"); |
| try { |
| - replaceWithMenu.setEnabled(AccessControlManager.isOseeAdmin()); |
| + replaceWithMenu.setEnabled(OseeApiService.get().getAccessControlService().isOseeAdmin()); |
| } catch (Exception ex) { |
| replaceWithMenu.setEnabled(false); |
| } |
| diff --git a/plugins/org.eclipse.osee.framework.ui.swt/src/org/eclipse/osee/framework/ui/swt/FontManager.java b/plugins/org.eclipse.osee.framework.ui.swt/src/org/eclipse/osee/framework/ui/swt/FontManager.java |
| index 49e3282b9f..537f648fc4 100644 |
| --- a/plugins/org.eclipse.osee.framework.ui.swt/src/org/eclipse/osee/framework/ui/swt/FontManager.java |
| +++ b/plugins/org.eclipse.osee.framework.ui.swt/src/org/eclipse/osee/framework/ui/swt/FontManager.java |
| @@ -22,7 +22,7 @@ import org.eclipse.swt.graphics.FontData; |
| |
| /** |
| * Share font resources among OSEE applications |
| - * |
| + * |
| * @author Donald G. Dunne |
| */ |
| public final class FontManager { |
| diff --git a/plugins/org.eclipse.osee.orcs.account.admin/OSGI-INF/orcs.account.ds.xml b/plugins/org.eclipse.osee.orcs.account.admin/OSGI-INF/orcs.account.ds.xml |
| deleted file mode 100644 |
| index 0549830ef3..0000000000 |
| --- a/plugins/org.eclipse.osee.orcs.account.admin/OSGI-INF/orcs.account.ds.xml |
| +++ /dev/null |
| @@ -1,11 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop"> |
| - <implementation class="org.eclipse.osee.orcs.account.admin.internal.OrcsAccountStorage"/> |
| - <service> |
| - <provide interface="org.eclipse.osee.account.admin.ds.AccountStorage"/> |
| - </service> |
| - <reference bind="setLogger" cardinality="1..1" interface="org.eclipse.osee.logger.Log" name="Log" policy="static"/> |
| - <reference bind="setOrcsApi" cardinality="1..1" interface="org.eclipse.osee.orcs.OrcsApi" name="OrcsApi" policy="static"/> |
| - <reference bind="setAccountFactory" cardinality="1..1" interface="org.eclipse.osee.orcs.account.admin.internal.AccountFactory" name="AccountFactory" policy="static"/> |
| - <reference bind="setJdbcService" cardinality="1..1" interface="org.eclipse.osee.jdbc.JdbcService" name="JdbcService" policy="static"/> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.orcs.account.admin/OSGI-INF/orcs.subscription.ds.xml b/plugins/org.eclipse.osee.orcs.account.admin/OSGI-INF/orcs.subscription.ds.xml |
| deleted file mode 100644 |
| index 2ccb565de5..0000000000 |
| --- a/plugins/org.eclipse.osee.orcs.account.admin/OSGI-INF/orcs.subscription.ds.xml |
| +++ /dev/null |
| @@ -1,10 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop"> |
| - <implementation class="org.eclipse.osee.orcs.account.admin.internal.OrcsSubscriptionStorage"/> |
| - <service> |
| - <provide interface="org.eclipse.osee.account.admin.ds.SubscriptionStorage"/> |
| - </service> |
| - <reference bind="setLogger" cardinality="1..1" interface="org.eclipse.osee.logger.Log" name="Log" policy="static"/> |
| - <reference bind="setOrcsApi" cardinality="1..1" interface="org.eclipse.osee.orcs.OrcsApi" name="OrcsApi" policy="static"/> |
| - <reference bind="setAccountFactory" cardinality="1..1" interface="org.eclipse.osee.orcs.account.admin.internal.AccountFactory" name="AccountFactory" policy="static"/> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/transaction/TxDataManagerTest.java b/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/transaction/TxDataManagerTest.java |
| index 3c4b8c06ec..5332f8b7d5 100644 |
| --- a/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/transaction/TxDataManagerTest.java |
| +++ b/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/transaction/TxDataManagerTest.java |
| @@ -133,9 +133,9 @@ public class TxDataManagerTest { |
| r2Guid = GUID.create(); |
| r3Guid = GUID.create(); |
| |
| - Long id1 = Lib.generateUuid(); |
| - Long id2 = Lib.generateUuid(); |
| - Long id3 = Lib.generateUuid(); |
| + Long id1 = Lib.generateArtifactIdAsInt(); |
| + Long id2 = Lib.generateArtifactIdAsInt(); |
| + Long id3 = Lib.generateArtifactIdAsInt(); |
| |
| artifactId1 = ArtifactToken.valueOf(id1, r1Guid, "", COMMON, null); |
| artifactId2 = ArtifactToken.valueOf(id2, r2Guid, "", COMMON, null); |
| diff --git a/plugins/org.eclipse.osee.orcs.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.orcs.core/META-INF/MANIFEST.MF |
| index d1f3517cac..dc309f9325 100644 |
| --- a/plugins/org.eclipse.osee.orcs.core/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.orcs.core/META-INF/MANIFEST.MF |
| @@ -27,11 +27,11 @@ Import-Package: com.fasterxml.jackson.annotation, |
| org.eclipse.osee.console.admin, |
| org.eclipse.osee.framework.core, |
| org.eclipse.osee.framework.core.access, |
| + org.eclipse.osee.framework.core.access.event, |
| + org.eclipse.osee.framework.core.access.object, |
| + org.eclipse.osee.framework.core.access.operation, |
| org.eclipse.osee.framework.core.applicability, |
| org.eclipse.osee.framework.core.data, |
| - org.eclipse.osee.framework.core.dsl, |
| - org.eclipse.osee.framework.core.dsl.oseeDsl, |
| - org.eclipse.osee.framework.core.dsl.oseeDsl.util, |
| org.eclipse.osee.framework.core.enums, |
| org.eclipse.osee.framework.core.enums.token, |
| org.eclipse.osee.framework.core.exception, |
| diff --git a/plugins/org.eclipse.osee.orcs.core/OSGI-INF/access.control.service.xml b/plugins/org.eclipse.osee.orcs.core/OSGI-INF/access.control.service.xml |
| index c161084841..242ca2ff31 100644 |
| --- a/plugins/org.eclipse.osee.orcs.core/OSGI-INF/access.control.service.xml |
| +++ b/plugins/org.eclipse.osee.orcs.core/OSGI-INF/access.control.service.xml |
| @@ -1,5 +1,6 @@ |
| <?xml version="1.0" encoding="UTF-8"?> |
| <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true"> |
| <implementation class="org.eclipse.osee.orcs.core.internal.access.AccessControlServiceImpl"/> |
| - <reference bind="addArtifactCheck" cardinality="0..n" interface="org.eclipse.osee.framework.core.access.ArtifactCheck" name="IArtifactCheck" policy="dynamic"/> |
| + <reference bind="addArtifactCheck" cardinality="0..n" interface="org.eclipse.osee.framework.core.access.ArtifactCheck" name="ArtifactCheck" policy="dynamic"/> |
| + <reference bind="addOseeAccessProvider" cardinality="1..1" interface="org.eclipse.osee.framework.core.access.IOseeAccessProvider" name="IOseeAccessProvider" policy="static"/> |
| </scr:component> |
| diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/CreateDemoBranches.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/CreateDemoBranches.java |
| index f02856dd6a..3ad5f423f5 100644 |
| --- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/CreateDemoBranches.java |
| +++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/CreateDemoBranches.java |
| @@ -22,6 +22,7 @@ import java.util.Arrays; |
| import org.eclipse.osee.framework.core.applicability.FeatureDefinition; |
| import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| +import org.eclipse.osee.framework.core.data.Branch; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.BranchToken; |
| import org.eclipse.osee.framework.core.data.ConfigurationGroupDefinition; |
| @@ -72,8 +73,10 @@ public class CreateDemoBranches { |
| createDemoProgramBranch(CIS_Bld_1, account); |
| |
| branchOps.createBaselineBranch(DemoBranches.SAW_PL, DemoUsers.Joe_Smith, SAW_Bld_1, ArtifactId.SENTINEL); |
| - branchOps.createBaselineBranch(DemoBranches.SAW_PL_Hardening_Branch, DemoUsers.Joe_Smith, SAW_PL, |
| - ArtifactId.SENTINEL); |
| + |
| + Branch hardeningBranch = branchOps.createBaselineBranch(DemoBranches.SAW_PL_Hardening_Branch, DemoUsers.Joe_Smith, |
| + SAW_PL, ArtifactId.SENTINEL); |
| + orcsApi.getAccessControlService().removePermissions(hardeningBranch); |
| |
| createProductLineConfig(DemoBranches.SAW_PL, account); |
| branchOps.createWorkingBranch(DemoBranches.SAW_PL_Working_Branch, DemoUsers.Joe_Smith, SAW_PL, |
| @@ -88,7 +91,7 @@ public class CreateDemoBranches { |
| CoreArtifactTokens.DefaultHierarchyRoot, tx, orcsApi); |
| Artifacts.getOrCreate(CoreArtifactTokens.ProductsFolder, plFolder, tx, orcsApi); |
| ArtifactToken featuresFolder = Artifacts.getOrCreate(CoreArtifactTokens.FeaturesFolder, plFolder, tx, orcsApi); |
| - ArtifactToken cfgFolder = Artifacts.getOrCreate(CoreArtifactTokens.PlCfgGroupsFolder, plFolder, tx, orcsApi); |
| + Artifacts.getOrCreate(CoreArtifactTokens.PlCfgGroupsFolder, plFolder, tx, orcsApi); |
| |
| ArtifactToken productA = tx.createView(branch, "Product A"); |
| ArtifactToken productB = tx.createView(branch, "Product B"); |
| diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/OrcsApiImpl.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/OrcsApiImpl.java |
| index f1c3bae265..0e03b574f8 100644 |
| --- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/OrcsApiImpl.java |
| +++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/OrcsApiImpl.java |
| @@ -84,9 +84,9 @@ public class OrcsApiImpl extends OseeApiBase implements OrcsApi { |
| private TxCallableFactory txCallableFactory; |
| private OrcsApplicabilityOps applicability; |
| private UserGroupService userGroupService; |
| - private IAccessControlService accessControlService; |
| private ActivityLog activityLog; |
| private OrcsTypes orcsTypes; |
| + IAccessControlService accessControlService; |
| |
| ExternalArtifactManager proxyManager; |
| |
| @@ -173,7 +173,6 @@ public class OrcsApiImpl extends OseeApiBase implements OrcsApi { |
| indexerModule.start(getSystemSession(), tokenService()); |
| |
| applicability = new OrcsApplicabilityOps(this, logger); |
| - accessControlService = new AccessControlServiceImpl(); |
| } |
| |
| public void stop() { |
| @@ -269,11 +268,6 @@ public class OrcsApiImpl extends OseeApiBase implements OrcsApi { |
| return userGroupService; |
| } |
| |
| - @Override |
| - public IAccessControlService getAccessControlService() { |
| - return accessControlService; |
| - } |
| - |
| @Override |
| public JdbcService getJdbcService() { |
| return dataStore.getJdbcService(); |
| @@ -283,4 +277,14 @@ public class OrcsApiImpl extends OseeApiBase implements OrcsApi { |
| public ActivityLog getActivityLog() { |
| return activityLog; |
| } |
| + |
| + @Override |
| + public IAccessControlService getAccessControlService() { |
| + if (accessControlService == null) { |
| + accessControlService = |
| + new AccessControlServiceImpl(this, dataStore.getJdbcService().getClient(), tokenService()); |
| + } |
| + return accessControlService; |
| + } |
| + |
| } |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/AccessControlServiceImpl.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/AccessControlServiceImpl.java |
| index d5c8d6e29f..5b06b1cc38 100644 |
| --- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/AccessControlServiceImpl.java |
| +++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/AccessControlServiceImpl.java |
| @@ -10,87 +10,180 @@ |
| * Contributors: |
| * Boeing - initial API and implementation |
| **********************************************************************/ |
| - |
| package org.eclipse.osee.orcs.core.internal.access; |
| |
| import java.util.Collection; |
| -import java.util.LinkedList; |
| -import org.eclipse.osee.framework.core.access.AccessDataQuery; |
| -import org.eclipse.osee.framework.core.access.ArtifactCheck; |
| -import org.eclipse.osee.framework.core.access.IAccessControlService; |
| +import java.util.function.Consumer; |
| +import org.eclipse.osee.framework.core.OrcsTokenService; |
| +import org.eclipse.osee.framework.core.access.AbstractAccessControlService; |
| +import org.eclipse.osee.framework.core.access.AccessQueries; |
| +import org.eclipse.osee.framework.core.access.event.AccessTopicEventPayload; |
| +import org.eclipse.osee.framework.core.data.ArtifactId; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| +import org.eclipse.osee.framework.core.data.ArtifactTypeToken; |
| +import org.eclipse.osee.framework.core.data.Branch; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| -import org.eclipse.osee.framework.core.data.RelationTypeToken; |
| +import org.eclipse.osee.framework.core.data.BranchToken; |
| +import org.eclipse.osee.framework.core.data.IUserGroupService; |
| +import org.eclipse.osee.framework.core.data.TransactionId; |
| +import org.eclipse.osee.framework.core.data.UserId; |
| +import org.eclipse.osee.framework.core.enums.CoreBranches; |
| +import org.eclipse.osee.framework.core.enums.CoreRelationTypes; |
| +import org.eclipse.osee.framework.core.enums.CoreUserGroups; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| -import org.eclipse.osee.framework.jdk.core.result.XResultData; |
| +import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; |
| +import org.eclipse.osee.framework.jdk.core.type.ResultSet; |
| +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; |
| +import org.eclipse.osee.jdbc.JdbcClient; |
| +import org.eclipse.osee.jdbc.JdbcStatement; |
| +import org.eclipse.osee.orcs.OrcsApi; |
| +import org.eclipse.osee.orcs.data.ArtifactReadable; |
| |
| /** |
| * @author Donald G. Dunne |
| */ |
| -public class AccessControlServiceImpl implements IAccessControlService { |
| +public class AccessControlServiceImpl extends AbstractAccessControlService { |
| |
| - private final static Collection<ArtifactCheck> artifactChecks = new LinkedList<ArtifactCheck>(); |
| + // for ReviewOsgiXml public void addOseeAccessProvider(IOseeAccessProvider provider) |
| + // for ReviewOsgiXml public void addArtifactCheck(ArtifactCheck artifactCheck) |
| |
| - public void addArtifactCheck(ArtifactCheck artifactCheck) { |
| - artifactChecks.add(artifactCheck); |
| - } |
| + protected JdbcClient jdbcClient; |
| + private OrcsApi orcsApi; |
| |
| public AccessControlServiceImpl() { |
| - // for osgi instantiation |
| + super(null, null); |
| + // for jax-rs |
| } |
| |
| + public AccessControlServiceImpl(OrcsApi orcsApi, JdbcClient jdbcClient, OrcsTokenService tokenService) { |
| + super(tokenService, new AccessStoreOperations(orcsApi, jdbcClient)); |
| + this.orcsApi = orcsApi; |
| + this.jdbcClient = jdbcClient; |
| + } |
| + |
| + // Caches not needed on server, load as needed |
| @Override |
| - public boolean hasPermission(Object object, PermissionEnum permission) { |
| - throw new UnsupportedOperationException("Not available on server yet"); |
| + public synchronized void ensurePopulated() { |
| + cache.initializeCaches(); |
| + populateArtifactAccessControlList(); |
| + populateBranchAccessControlList(); |
| } |
| |
| @Override |
| public void removePermissions(BranchId branch) { |
| - throw new UnsupportedOperationException("Not available on server yet"); |
| + jdbcClient.runPreparedUpdate(AccessQueries.DELETE_ARTIFACT_ACL_FROM_BRANCH, branch); |
| + jdbcClient.runPreparedUpdate(AccessQueries.DELETE_BRANCH_ACL_FROM_BRANCH, branch); |
| + // NOTE: No events are produced, so the IDE clients will not be notified. Fix this when servers talk to clients. |
| } |
| |
| @Override |
| - public AccessDataQuery getAccessData(ArtifactToken userArtifact, Collection<?> itemsToCheck) { |
| - throw new UnsupportedOperationException("Not available on server yet"); |
| + public boolean isReadOnly(ArtifactToken artifact) { |
| + try { |
| + if (artifact instanceof ArtifactReadable) { |
| + boolean deleted = ((ArtifactReadable) artifact).isDeleted(); |
| + boolean historical = ((ArtifactReadable) artifact).isHistorical(); |
| + boolean hasPermission = hasArtifactPermission(artifact, PermissionEnum.WRITE, null).isSuccess(); |
| + return deleted || historical || !hasPermission; |
| + } |
| + return true; |
| + } catch (OseeCoreException ex) { |
| + return true; |
| + } |
| } |
| |
| @Override |
| - public XResultData isDeleteable(Collection<? extends ArtifactToken> artifacts, XResultData results) { |
| - for (ArtifactCheck check : artifactChecks) { |
| - check.isDeleteable(artifacts, results); |
| - } |
| - return results; |
| + public boolean isOseeAdmin() { |
| + return orcsApi.getUserGroupService().getUserGroup(CoreUserGroups.OseeAdmin).isCurrentUserMember(); |
| } |
| |
| @Override |
| - public XResultData isRenamable(Collection<? extends ArtifactToken> artifacts, XResultData results) { |
| - for (ArtifactCheck check : artifactChecks) { |
| - check.isRenamable(artifacts, results); |
| - } |
| - return results; |
| + public ArtifactToken getUserByArtId(ArtifactId subjectArtId) { |
| + return orcsApi.getQueryFactory().fromBranch(CoreBranches.COMMON).andId(subjectArtId).getArtifactOrNull(); |
| } |
| |
| @Override |
| - public XResultData isDeleteableRelation(ArtifactToken artifact, RelationTypeToken relationType, XResultData results) { |
| - for (ArtifactCheck check : artifactChecks) { |
| - check.isDeleteableRelation(artifact, relationType, results); |
| - } |
| - return results; |
| + public void kickAccessTopicEvent(AccessTopicEventPayload event) { |
| + // do nothing |
| } |
| |
| @Override |
| - public void ensurePopulated() { |
| - throw new UnsupportedOperationException("Not available on server yet"); |
| + public IUserGroupService getUserGroupService() { |
| + return orcsApi.getUserGroupService(); |
| } |
| |
| @Override |
| - public void clearCache() { |
| - // No server caches to clear |
| + public Collection<ArtifactToken> getArtifactListFromType(ArtifactTypeToken artType, BranchToken branch) { |
| + return orcsApi.getQueryFactory().fromBranch(branch).andIsOfType(artType).asArtifactTokens(); |
| } |
| |
| @Override |
| - public boolean isOseeAdmin() { |
| + public boolean isBaselineBranch(BranchToken branch) { |
| + ResultSet<Branch> branches = orcsApi.getQueryFactory().branchQuery().andId(branch).getResults(); |
| + if (branches.size() == 1) { |
| + return branches.iterator().next().getBranchType().isBaselineBranch(); |
| + } |
| return false; |
| } |
| |
| + @Override |
| + protected boolean isInDbInit() { |
| + return OseeProperties.isInDbInit(); |
| + } |
| + |
| + @Override |
| + public boolean isInDb(ArtifactToken artifact) { |
| + return ((ArtifactReadable) artifact).getTransaction().equals(TransactionId.SENTINEL); |
| + } |
| + |
| + @Override |
| + public ArtifactToken getUser() { |
| + return null; |
| + } |
| + |
| + @Override |
| + public ArtifactToken getArtifactFromId(ArtifactId subjectId, BranchToken branch) { |
| + return orcsApi.getQueryFactory().fromBranch(branch).andId(subjectId).asArtifactTokenOrSentinel(); |
| + } |
| + |
| + @Override |
| + public void populateBranchAccessControlList() { |
| + Consumer<JdbcStatement> consumer = stmt -> { |
| + ArtifactId subjectId = ArtifactId.valueOf(stmt.getLong("privilege_entity_id")); |
| + BranchId branchId = BranchId.valueOf(stmt.getLong("branch_id")); |
| + BranchToken branch = orcsApi.getQueryFactory().branchQuery().andId(branchId).getOneOrSentinel(); |
| + if (branch.isValid()) { |
| + PermissionEnum permission = PermissionEnum.getPermission(stmt.getInt("permission_id")); |
| + ArtifactTypeToken subjectArtifactType = tokenService.getArtifactType(stmt.getLong("art_type_id")); |
| + brchAclOps.populateBranchAccessControlListEntry(subjectId, subjectArtifactType, branch, permission); |
| + } |
| + }; |
| + jdbcClient.runQuery(consumer, AccessQueries.GET_ALL_BRANCH_ACCESS_CONTROL_LIST); |
| + } |
| + |
| + @Override |
| + public void populateArtifactAccessControlList() { |
| + Consumer<JdbcStatement> consumer = stmt -> { |
| + ArtifactId subjectId = UserId.valueOf(stmt.getLong("privilege_entity_id")); |
| + ArtifactId artifactId = ArtifactId.valueOf(stmt.getLong("art_id")); |
| + BranchId branchId = BranchId.valueOf(stmt.getLong("branch_id")); |
| + PermissionEnum permission = PermissionEnum.getPermission(stmt.getInt("permission_id")); |
| + ArtifactTypeToken subjectArtifactType = tokenService.getArtifactType(stmt.getLong("art_type_id")); |
| + |
| + artAclOps.populateArtifactAccessControlListEntry(subjectId, artifactId, branchId, permission, |
| + subjectArtifactType); |
| + }; |
| + |
| + jdbcClient.runQuery(consumer, AccessQueries.GET_ALL_ARTIFACT_ACCESS_CONTROL_LIST); |
| + } |
| + |
| + @Override |
| + public void populateGroupMembers(ArtifactId groupId) { |
| + if (!cache.groupToSubjectsCache.containsKey(groupId.getId())) { |
| + jdbcClient.runQuery(stmt -> { |
| + ArtifactId groupMember = ArtifactId.valueOf(stmt.getLong("b_art_id")); |
| + userGrpOps.populateGroupMembersEntry(groupId, groupMember); |
| + }, AccessQueries.USER_GROUP_MEMBERS, groupId, CoreRelationTypes.Users_User); |
| + } |
| + } |
| + |
| } |
| diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserGroupImpl.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserGroupImpl.java |
| index c4403901eb..6c0c63874c 100644 |
| --- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserGroupImpl.java |
| +++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserGroupImpl.java |
| @@ -55,7 +55,7 @@ public class UserGroupImpl extends AbstractUserGroupImpl { |
| } |
| |
| @Override |
| - public boolean addMember(UserId user) { |
| + public boolean addMember(UserId user, boolean persist) { |
| throw new UnsupportedOperationException(); |
| } |
| |
| @@ -88,7 +88,7 @@ public class UserGroupImpl extends AbstractUserGroupImpl { |
| } |
| |
| @Override |
| - public boolean removeMember(UserId user) { |
| + public boolean removeMember(UserId user, boolean persist) { |
| throw new UnsupportedOperationException(); |
| } |
| |
| diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserGroupService.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserGroupService.java |
| index 48af029d5f..00003b70d5 100644 |
| --- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserGroupService.java |
| +++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserGroupService.java |
| @@ -81,6 +81,11 @@ public class UserGroupService implements IUserGroupService { |
| } |
| } |
| |
| + @Override |
| + public IUserGroup getUserGroup(ArtifactToken userGroupArt) { |
| + return new UserGroupImpl(userGroupArt); |
| + } |
| + |
| @Override |
| public Collection<IUserGroupArtifactToken> getMyUserGroups() { |
| return UserGroupService.getUserGroupService().getMyUserGroups(); |
| @@ -112,4 +117,9 @@ public class UserGroupService implements IUserGroupService { |
| throw new UnsupportedOperationException(); |
| } |
| |
| + @Override |
| + public boolean isUserMember(IUserGroupArtifactToken userGroup, ArtifactId user) { |
| + return isUserMember(userGroup, user.getId()); |
| + } |
| + |
| } |
| diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/search/BranchQueryImpl.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/search/BranchQueryImpl.java |
| index 0dd9c217ad..b057a02555 100644 |
| --- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/search/BranchQueryImpl.java |
| +++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/search/BranchQueryImpl.java |
| @@ -71,4 +71,13 @@ public class BranchQueryImpl extends BranchQueryBuilderImpl<BranchQuery> impleme |
| public boolean isArchived(BranchId branchId) { |
| return queryEngine.isArchived(branchId); |
| } |
| + |
| + @Override |
| + public BranchToken getOneOrSentinel() { |
| + ResultSet<Branch> branches = getResults(); |
| + if (branches.size() == 1) { |
| + return branches.iterator().next(); |
| + } |
| + return BranchToken.SENTINEL; |
| + } |
| } |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.orcs.parent/pom.xml b/plugins/org.eclipse.osee.orcs.parent/pom.xml |
| index 18d3b21418..151525a388 100644 |
| --- a/plugins/org.eclipse.osee.orcs.parent/pom.xml |
| +++ b/plugins/org.eclipse.osee.orcs.parent/pom.xml |
| @@ -28,9 +28,6 @@ |
| <modules> |
| <module>../../plugins/org.eclipse.osee.framework.core</module> |
| <module>../../plugins/org.eclipse.osee.framework.core.test</module> |
| - <module>../../plugins/org.eclipse.osee.framework.core.dsl</module> |
| - <module>../../plugins/org.eclipse.osee.framework.core.dsl.integration</module> |
| - <module>../../plugins/org.eclipse.osee.framework.core.dsl.integration.test</module> |
| <module>../../plugins/org.eclipse.osee.framework.core.model</module> |
| <module>../../plugins/org.eclipse.osee.framework.core.model.test</module> |
| <module>../../plugins/org.eclipse.osee.framework.resource.management</module> |
| @@ -68,9 +65,6 @@ |
| <modules> |
| <module>../../plugins/org.eclipse.osee.framework.core</module> |
| <module>../../plugins/org.eclipse.osee.framework.core.test</module> |
| - <module>../../plugins/org.eclipse.osee.framework.core.dsl</module> |
| - <module>../../plugins/org.eclipse.osee.framework.core.dsl.integration</module> |
| - <module>../../plugins/org.eclipse.osee.framework.core.dsl.integration.test</module> |
| <module>../../plugins/org.eclipse.osee.framework.core.model</module> |
| <module>../../plugins/org.eclipse.osee.framework.core.model.test</module> |
| <module>../../plugins/org.eclipse.osee.framework.resource.management</module> |
| diff --git a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java |
| index 2d1700dfa5..74080ed848 100644 |
| --- a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java |
| +++ b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java |
| @@ -25,6 +25,7 @@ import org.eclipse.osee.define.api.DefineBranchEndpointApi; |
| import org.eclipse.osee.define.api.ImportEndpoint; |
| import org.eclipse.osee.define.api.RenderEndpoint; |
| import org.eclipse.osee.framework.core.OseeApiBase; |
| +import org.eclipse.osee.framework.core.access.IAccessControlService; |
| import org.eclipse.osee.framework.core.data.ArtifactToken; |
| import org.eclipse.osee.framework.core.data.BranchId; |
| import org.eclipse.osee.framework.core.data.TransactionId; |
| @@ -61,6 +62,9 @@ import org.eclipse.osee.orcs.rest.model.search.artifact.SearchResult; |
| */ |
| public class OseeClientImpl extends OseeApiBase implements OseeClient, QueryExecutor { |
| |
| + // for ReviewOsgiXml public void setJaxRsApi(JaxRsApi jaxRsApi) |
| + // for ReviewOsgiXml public void setOrcsTokenService(OrcsTokenService tokenService) |
| + |
| private PredicateFactory predicateFactory; |
| |
| public void start(Map<String, Object> properties) { |
| @@ -218,4 +222,8 @@ public class OseeClientImpl extends OseeApiBase implements OseeClient, QueryExec |
| return target.request(MediaType.TEXT_PLAIN).get(String.class); |
| } |
| |
| -} |
| \ No newline at end of file |
| + @Override |
| + public IAccessControlService getAccessControlService() { |
| + throw new UnsupportedOperationException("Not supported yet"); |
| + } |
| +} |
| diff --git a/plugins/org.eclipse.osee.orcs.rest/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.orcs.rest/META-INF/MANIFEST.MF |
| index 98a58e93b3..2c0fae7899 100644 |
| --- a/plugins/org.eclipse.osee.orcs.rest/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.orcs.rest/META-INF/MANIFEST.MF |
| @@ -23,6 +23,7 @@ Import-Package: com.fasterxml.jackson.core, |
| org.eclipse.jdt.core.dom, |
| org.eclipse.osee.activity.api, |
| org.eclipse.osee.framework.core, |
| + org.eclipse.osee.framework.core.access, |
| org.eclipse.osee.framework.core.applicability, |
| org.eclipse.osee.framework.core.data, |
| org.eclipse.osee.framework.core.enums, |
| diff --git a/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/OrcsApi.java b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/OrcsApi.java |
| index 146a975e12..c674453850 100644 |
| --- a/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/OrcsApi.java |
| +++ b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/OrcsApi.java |
| @@ -15,7 +15,6 @@ package org.eclipse.osee.orcs; |
| |
| import org.eclipse.osee.activity.api.ActivityLog; |
| import org.eclipse.osee.framework.core.OseeApi; |
| -import org.eclipse.osee.framework.core.access.IAccessControlService; |
| import org.eclipse.osee.framework.core.data.IUserGroupService; |
| import org.eclipse.osee.jdbc.JdbcService; |
| import org.eclipse.osee.orcs.search.QueryFactory; |
| @@ -50,8 +49,6 @@ public interface OrcsApi extends OseeApi { |
| |
| IUserGroupService getUserGroupService(); |
| |
| - IAccessControlService getAccessControlService(); |
| - |
| JdbcService getJdbcService(); |
| |
| ActivityLog getActivityLog(); |
| diff --git a/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/search/BranchQuery.java b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/search/BranchQuery.java |
| index d59247844d..4ec780aedc 100644 |
| --- a/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/search/BranchQuery.java |
| +++ b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/search/BranchQuery.java |
| @@ -36,6 +36,8 @@ public interface BranchQuery extends BranchQueryBuilder<BranchQuery>, Query { |
| |
| boolean isArchived(BranchId branchId); |
| |
| + BranchToken getOneOrSentinel(); |
| + |
| public static BranchQuery createSentinel() { |
| final class BranchQuerySentinel extends NamedIdBase implements BranchQuery { |
| |
| @@ -158,7 +160,13 @@ public interface BranchQuery extends BranchQueryBuilder<BranchQuery>, Query { |
| public boolean isArchived(BranchId branchId) { |
| return false; |
| } |
| + |
| + @Override |
| + public BranchToken getOneOrSentinel() { |
| + return null; |
| + } |
| } |
| return new BranchQuerySentinel(); |
| } |
| + |
| } |
| \ No newline at end of file |
| diff --git a/plugins/org.eclipse.osee.ote.ui.define/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ote.ui.define/META-INF/MANIFEST.MF |
| index 355b0c591c..6b30ebfc8c 100644 |
| --- a/plugins/org.eclipse.osee.ote.ui.define/META-INF/MANIFEST.MF |
| +++ b/plugins/org.eclipse.osee.ote.ui.define/META-INF/MANIFEST.MF |
| @@ -36,8 +36,8 @@ Import-Package: com.lowagie.text, |
| org.apache.commons.lang, |
| org.eclipse.nebula.widgets.xviewer.core.model, |
| org.eclipse.osee.ats.api.data, |
| - org.eclipse.osee.framework.access, |
| org.eclipse.osee.framework.core, |
| + org.eclipse.osee.framework.core.access, |
| org.eclipse.osee.framework.core.client, |
| org.eclipse.osee.framework.core.client.server, |
| org.eclipse.osee.framework.core.data, |
| @@ -48,9 +48,11 @@ Import-Package: com.lowagie.text, |
| org.eclipse.osee.framework.core.model.type, |
| org.eclipse.osee.framework.core.util, |
| org.eclipse.osee.framework.help.ui, |
| + org.eclipse.osee.framework.jdk.core.result, |
| org.eclipse.osee.framework.jdk.core.type, |
| org.eclipse.osee.framework.jdk.core.util, |
| org.eclipse.osee.framework.jdk.core.util.io.xml, |
| org.eclipse.osee.framework.logging, |
| org.eclipse.ui.forms.widgets, |
| org.osgi.service.event |
| +Service-Component: OSGI-INF/*.xml |
| diff --git a/plugins/org.eclipse.osee.ote.ui.define/OSGI/access.user.authenticated.topic.handler.xml b/plugins/org.eclipse.osee.ote.ui.define/OSGI/access.user.authenticated.topic.handler.xml |
| deleted file mode 100644 |
| index 3ae3bd05a7..0000000000 |
| --- a/plugins/org.eclipse.osee.ote.ui.define/OSGI/access.user.authenticated.topic.handler.xml |
| +++ /dev/null |
| @@ -1,8 +0,0 @@ |
| -<?xml version="1.0" encoding="UTF-8"?> |
| -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true"> |
| -<implementation class="org.eclipse.osee.ote.ui.define.panels.GrayableBranchSelectionComposite"/> |
| -<service> |
| - <provide interface="org.osgi.service.event.EventHandler"/> |
| -</service> |
| - <property name="event.topics" value="framework/access/user/authenticated" /> |
| -</scr:component> |
| diff --git a/plugins/org.eclipse.osee.ote.ui.define/build.properties b/plugins/org.eclipse.osee.ote.ui.define/build.properties |
| index b39251a31e..ee8a84f8cc 100644 |
| --- a/plugins/org.eclipse.osee.ote.ui.define/build.properties |
| +++ b/plugins/org.eclipse.osee.ote.ui.define/build.properties |
| @@ -4,5 +4,5 @@ bin.includes = META-INF/,\ |
| .,\ |
| plugin.xml,\ |
| OSEE-INF/images/,\ |
| - OSGI/,\ |
| + OSGI-INF/,\ |
| OSEE-INF/ |
| diff --git a/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/viewers/actions/EditDispositionAction.java b/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/viewers/actions/EditDispositionAction.java |
| index 8bca47f025..0bba60a2c3 100644 |
| --- a/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/viewers/actions/EditDispositionAction.java |
| +++ b/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/viewers/actions/EditDispositionAction.java |
| @@ -16,7 +16,6 @@ package org.eclipse.osee.ote.ui.define.viewers.actions; |
| import java.util.logging.Level; |
| import org.eclipse.jface.resource.ImageDescriptor; |
| import org.eclipse.jface.viewers.StructuredViewer; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.enums.PresentationType; |
| import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| @@ -26,6 +25,7 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.ui.skynet.render.RendererManager; |
| import org.eclipse.osee.ote.define.artifacts.ArtifactTestRunOperator; |
| import org.eclipse.osee.ote.ui.define.internal.Activator; |
| +import org.eclipse.osee.ote.ui.define.internal.OseeApiService; |
| import org.eclipse.osee.ote.ui.define.utilities.SelectionHelper; |
| |
| /** |
| @@ -66,7 +66,8 @@ public class EditDispositionAction extends AbstractActionHandler { |
| } |
| |
| private void checkPermissions(Artifact artifact) { |
| - if (true != AccessControlManager.hasPermission(artifact, PermissionEnum.READ)) { |
| + if (OseeApiService.get().getAccessControlService().hasArtifactPermission(artifact, PermissionEnum.READ, |
| + null).isErrors()) { |
| throw new OseeArgumentException("The user %s does not have read access to %s", UserManager.getUser(), |
| artifact); |
| } |
| diff --git a/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/viewers/actions/OpenInArtifactEditor.java b/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/viewers/actions/OpenInArtifactEditor.java |
| index d920401746..8a6417f67e 100644 |
| --- a/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/viewers/actions/OpenInArtifactEditor.java |
| +++ b/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/viewers/actions/OpenInArtifactEditor.java |
| @@ -16,7 +16,6 @@ package org.eclipse.osee.ote.ui.define.viewers.actions; |
| import java.util.logging.Level; |
| import org.eclipse.jface.resource.ImageDescriptor; |
| import org.eclipse.jface.viewers.StructuredViewer; |
| -import org.eclipse.osee.framework.access.AccessControlManager; |
| import org.eclipse.osee.framework.core.enums.PermissionEnum; |
| import org.eclipse.osee.framework.core.enums.PresentationType; |
| import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; |
| @@ -26,6 +25,7 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; |
| import org.eclipse.osee.framework.ui.skynet.render.RendererManager; |
| import org.eclipse.osee.ote.define.artifacts.ArtifactTestRunOperator; |
| import org.eclipse.osee.ote.ui.define.internal.Activator; |
| +import org.eclipse.osee.ote.ui.define.internal.OseeApiService; |
| import org.eclipse.osee.ote.ui.define.utilities.SelectionHelper; |
| |
| /** |
| @@ -66,7 +66,8 @@ public class OpenInArtifactEditor extends AbstractActionHandler { |
| } |
| |
| private void checkPermissions(Artifact artifact) { |
| - if (true != AccessControlManager.hasPermission(artifact, PermissionEnum.READ)) { |
| + if (true != OseeApiService.get().getAccessControlService().hasArtifactPermission(artifact, PermissionEnum.READ, |
| + null).isSuccess()) { |
| throw new OseeArgumentException("The user %s does not have read access to %s", UserManager.getUser(), |
| artifact); |
| } |
| diff --git a/plugins/org.eclipse.osee.support.config/launchConfig/OSEE_IDE_[localhost].launch b/plugins/org.eclipse.osee.support.config/launchConfig/OSEE_IDE_[localhost].launch |
| index 26392035f2..abb13b17e4 100644 |
| --- a/plugins/org.eclipse.osee.support.config/launchConfig/OSEE_IDE_[localhost].launch |
| +++ b/plugins/org.eclipse.osee.support.config/launchConfig/OSEE_IDE_[localhost].launch |
| @@ -29,7 +29,7 @@ |
| <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> |
| <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -debug -perspective org.eclipse.osee.OseePerspective -console"/> |
| <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> |
| -<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx1024M -Dosee.log.default=INFO -Dosee.application.server=http://localhost:8089 -Dlogback.configurationFile=${project_loc:org.eclipse.osee.server.p2}\logback-dev.xml -Duser.name=3333"/> |
| +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx1024M -Dosee.log.default=INFO -Dosee.application.server=http://localhost:8089 -Dlogback.configurationFile=${project_loc:org.eclipse.osee.server.p2}\logback-dev.xml -Duser.name=3333 -Daccess.debug=true"/> |
| <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${env_var:UserProfile}\Documents\"/> |
| <stringAttribute key="pde.version" value="3.3"/> |
| <stringAttribute key="product" value="org.eclipse.osee.framework.ui.product.osee"/> |