diff options
author | donald.g.dunne | 2013-11-25 21:03:04 +0000 |
---|---|---|
committer | donald.g.dunne | 2013-12-02 16:36:35 +0000 |
commit | 9aea9fb473cf52835ed0bbffd28d5e505133fd4b (patch) | |
tree | 1fd3a54fc5ecdee687422e5912c238f1899f6892 /plugins/org.eclipse.osee.ats.rest | |
parent | ee0a9cc053fba7fb13a2c3125e9fbf289c4dd0d1 (diff) | |
download | org.eclipse.osee-9aea9fb473cf52835ed0bbffd28d5e505133fd4b.tar.gz org.eclipse.osee-9aea9fb473cf52835ed0bbffd28d5e505133fd4b.tar.xz org.eclipse.osee-9aea9fb473cf52835ed0bbffd28d5e505133fd4b.zip |
feature[ats_75PG4]: Switch AtsUserService.isAtsAdmin to accept user
Change-Id: Idb640648b698a39848a4b74dc91f54dd276e7e17
Diffstat (limited to 'plugins/org.eclipse.osee.ats.rest')
-rw-r--r-- | plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/user/AtsUserServiceImpl.java | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/user/AtsUserServiceImpl.java b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/user/AtsUserServiceImpl.java index 26819929cb7..89e744f4be5 100644 --- a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/user/AtsUserServiceImpl.java +++ b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/user/AtsUserServiceImpl.java @@ -13,8 +13,8 @@ package org.eclipse.osee.ats.rest.internal.user; import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.logging.Level; import org.eclipse.osee.ats.api.IAtsWorkItem; +import org.eclipse.osee.ats.api.data.AtsArtifactToken; import org.eclipse.osee.ats.api.user.IAtsUser; import org.eclipse.osee.ats.api.user.IAtsUserService; import org.eclipse.osee.ats.rest.internal.util.AtsUtilRest; @@ -27,7 +27,6 @@ import org.eclipse.osee.framework.core.enums.SystemUser; import org.eclipse.osee.framework.core.util.Conditions; 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.orcs.OrcsApi; import org.eclipse.osee.orcs.data.ArtifactReadable; @@ -118,28 +117,20 @@ public class AtsUserServiceImpl implements IAtsUserService { } @Override - public boolean isAtsAdmin() { - boolean admin = false; - try { - ArtifactReadable atsAdminGroup = - orcsApi.getQueryFactory(AtsUtilRest.getApplicationContext()).fromBranch(CoreBranches.COMMON).andIsOfType( - CoreArtifactTypes.UserGroup).and(CoreAttributeTypes.Name, - org.eclipse.osee.framework.core.enums.Operator.EQUAL, "AtsAdmin").getResults().getExactlyOne(); - if (atsAdminGroup != null) { - ArtifactReadable currentUserArt = getCurrentUserArt(); - for (ArtifactReadable adminArt : atsAdminGroup.getRelated(CoreRelationTypes.Users_User)) { - if (adminArt.equals(currentUserArt)) { - admin = true; - break; - } - } - } - } catch (OseeCoreException ex) { - OseeLog.log(AtsUserServiceImpl.class, Level.SEVERE, ex); - } + public boolean isAtsAdmin(IAtsUser user) { + boolean admin = + orcsApi.getQueryFactory(null).fromBranch(AtsUtilRest.getAtsBranch()).andGuid( + AtsArtifactToken.AtsAdmin.getGuid()).andRelatedTo(CoreRelationTypes.Users_User, getUserArt(user)).getCount() == 1; return admin; } + private ArtifactReadable getUserArt(IAtsUser user) { + if (user.getStoreObject() instanceof ArtifactReadable) { + return (ArtifactReadable) user.getStoreObject(); + } + return orcsApi.getQueryFactory(null).fromBranch(AtsUtilRest.getAtsBranch()).andGuid(user.getGuid()).getResults().getExactlyOne(); + } + @Override public boolean isAssigneeMe(IAtsWorkItem workItem) throws OseeCoreException { return workItem.getStateMgr().getAssignees().contains(getCurrentUser()); |