Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordonald.g.dunne2013-11-25 21:03:04 +0000
committerdonald.g.dunne2013-12-02 16:36:35 +0000
commit9aea9fb473cf52835ed0bbffd28d5e505133fd4b (patch)
tree1fd3a54fc5ecdee687422e5912c238f1899f6892 /plugins/org.eclipse.osee.ats.rest
parentee0a9cc053fba7fb13a2c3125e9fbf289c4dd0d1 (diff)
downloadorg.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
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.java33
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());

Back to the top