diff options
author | Ryan D. Brooks | 2020-05-27 18:46:50 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2020-05-27 18:46:50 +0000 |
commit | de396a98fe960c5e5e0112303c417fbff0206266 (patch) | |
tree | 6f1bc1245b4904c3c354336c5f371ee232ea1eaa | |
parent | 54ed29a363bdf5b1cbd63beec0219c3fda8a5cff (diff) | |
download | org.eclipse.osee-dev_0.26.0.tar.gz org.eclipse.osee-dev_0.26.0.tar.xz org.eclipse.osee-dev_0.26.0.zip |
refactor: Remove patch filedev_0.26.0
Change-Id: Ic7bab5701c9c0c9bfa42ea51b33f444af31ffe55
-rw-r--r-- | 0001-feature-TW16544-Improve-OSEE-Navigator-performance.patch | 772 |
1 files changed, 0 insertions, 772 deletions
diff --git a/0001-feature-TW16544-Improve-OSEE-Navigator-performance.patch b/0001-feature-TW16544-Improve-OSEE-Navigator-performance.patch deleted file mode 100644 index df383e21913..00000000000 --- a/0001-feature-TW16544-Improve-OSEE-Navigator-performance.patch +++ /dev/null @@ -1,772 +0,0 @@ -From dcc1cbaffc2130a624ac2fa86adbd121096b6b49 Mon Sep 17 00:00:00 2001 -From: "donald.g.dunne" <donald.g.dunne@boeing.com> -Date: Tue, 3 Mar 2020 21:10:36 -0700 -Subject: [PATCH] feature[TW16544]: Improve OSEE Navigator performance - -Change-Id: I515ab5937cb191c25140c59c7ea4e7e8459d0db0 ---- - .../src/org/eclipse/osee/ats/api/AtsApi.java | 3 -- - .../osee/ats/api/user/IAtsUserService.java | 8 ++++ - .../OSGI-INF/user.group.service.ref.xml | 5 --- - .../ats/core/access/UserGroupService.java | 40 ------------------- - .../core/users/AbstractAtsUserService.java | 31 +++++++++----- - .../osee/ats/core/util/AtsApiImpl.java | 6 --- - .../AtsIde_Integration_TestSuite.launch | 4 +- - .../META-INF/MANIFEST.MF | 1 + - .../tests/ats/access/UserGroupImplTest.java | 10 ++--- - .../world/search/AtsQueryServiceImplTest.java | 14 ++++--- - .../ats/ide/config/AtsCurrentUserService.java | 10 ++++- - .../osee/ats/ide/internal/Activator.java | 2 + - .../ats/ide/navigate/NavigateViewItems.java | 5 +-- - .../RecentlyVisitedNavigateItems.java | 31 ++++++++------ - .../osee/ats/ide/navigate/ToggleAtsAdmin.java | 13 +++--- - .../internal/query/AtsQueryServiceImpl.java | 2 +- - .../internal/AtsUserServiceClientImpl.java | 27 +++++++++++-- - .../widgets/XWorkingBranchButtonLock.java | 4 +- - .../osee/ats/ide/world/WorldXViewerUtil.java | 25 +++++++++--- - .../config/AtsUserServiceServerImpl.java | 15 +++++-- - .../skynet/core/access/UserGroupService.java | 2 +- - 21 files changed, 138 insertions(+), 120 deletions(-) - delete mode 100644 plugins/org.eclipse.osee.ats.core/OSGI-INF/user.group.service.ref.xml - delete mode 100644 plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/access/UserGroupService.java - -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 963b3744da..e8bedeac10 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 -@@ -57,7 +57,6 @@ 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.IOseeBranch; --import org.eclipse.osee.framework.core.data.IUserGroupService; - import org.eclipse.osee.jdbc.JdbcService; - import org.eclipse.osee.logger.Log; - import org.osgi.service.event.EventAdmin; -@@ -169,8 +168,6 @@ public interface AtsApi extends IAtsEarnedValueServiceProvider, IAtsWorkItemServ - - IAtsTaskRelatedService getTaskRelatedService(); - -- IUserGroupService getUserGroupService(); -- - IAtsHealthService getHealthService(); - - IAtsWorkDefinitionProviderService getWorkDefinitionProviderService(); -diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/user/IAtsUserService.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/user/IAtsUserService.java -index 06e79f9ad7..9f93ddaf58 100644 ---- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/user/IAtsUserService.java -+++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/user/IAtsUserService.java -@@ -18,7 +18,9 @@ import org.eclipse.osee.ats.api.IAtsWorkItem; - import org.eclipse.osee.ats.api.config.IAtsConfigurationsService; - import org.eclipse.osee.framework.core.data.ArtifactId; - import org.eclipse.osee.framework.core.data.ArtifactToken; -+import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; - import org.eclipse.osee.framework.core.data.RelationTypeSide; -+import org.eclipse.osee.framework.core.data.UserId; - import org.eclipse.osee.framework.core.enums.Active; - - /** -@@ -85,4 +87,10 @@ public interface IAtsUserService { - - AtsUser getCurrentUserNoCache(); - -+ boolean isOseeAdmin(); -+ -+ Boolean isUserMember(IUserGroupArtifactToken userGroup, UserId user); -+ -+ Boolean isUserMember(IUserGroupArtifactToken userGroup); -+ - } -diff --git a/plugins/org.eclipse.osee.ats.core/OSGI-INF/user.group.service.ref.xml b/plugins/org.eclipse.osee.ats.core/OSGI-INF/user.group.service.ref.xml -deleted file mode 100644 -index 062f721a5f..0000000000 ---- a/plugins/org.eclipse.osee.ats.core/OSGI-INF/user.group.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.ats.core.access.UserGroupService"/> -- <reference bind="setUserGroupService" cardinality="1..1" interface="org.eclipse.osee.framework.core.data.IUserGroupService" name="IUserGroupService" policy="static"/> --</scr:component> -diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/access/UserGroupService.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/access/UserGroupService.java -deleted file mode 100644 -index a4153f97ef..0000000000 ---- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/access/UserGroupService.java -+++ /dev/null -@@ -1,40 +0,0 @@ --/******************************************************************************* -- * Copyright (c) 2019 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.ats.core.access; -- --import org.eclipse.osee.ats.api.data.AtsUserGroups; --import org.eclipse.osee.framework.core.data.IUserGroup; --import org.eclipse.osee.framework.core.data.IUserGroupService; -- --/** -- * @author Donald G. Dunne -- */ --public class UserGroupService { -- -- private static IUserGroupService userGroupService; -- -- public static IUserGroupService get() { -- return userGroupService; -- } -- -- public void setUserGroupService(IUserGroupService userGroupService) { -- UserGroupService.userGroupService = userGroupService; -- } -- -- public static IUserGroup getAtsAdmin() { -- return userGroupService.getUserGroup(AtsUserGroups.AtsAdmin); -- } -- -- public static IUserGroup getAtsTemmpAdmin() { -- return userGroupService.getUserGroup(AtsUserGroups.AtsTempAdmin); -- } -- --} -diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/users/AbstractAtsUserService.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/users/AbstractAtsUserService.java -index 993bb8f188..c099af2e30 100644 ---- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/users/AbstractAtsUserService.java -+++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/users/AbstractAtsUserService.java -@@ -26,10 +26,13 @@ import org.eclipse.osee.ats.api.user.IAtsUserService; - import org.eclipse.osee.ats.api.util.AtsUserNameComparator; - import org.eclipse.osee.framework.core.data.ArtifactId; - import org.eclipse.osee.framework.core.data.ArtifactToken; -+import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; - import org.eclipse.osee.framework.core.data.RelationTypeSide; -+import org.eclipse.osee.framework.core.data.UserId; - import org.eclipse.osee.framework.core.data.UserToken; - import org.eclipse.osee.framework.core.enums.Active; - import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -+import org.eclipse.osee.framework.core.enums.CoreUserGroups; - import org.eclipse.osee.framework.core.exception.UserNotInDatabase; - import org.eclipse.osee.framework.jdk.core.util.Conditions; - import org.eclipse.osee.framework.jdk.core.util.Strings; -@@ -40,7 +43,6 @@ import org.eclipse.osee.framework.jdk.core.util.Strings; - public abstract class AbstractAtsUserService implements IAtsUserService { - - protected IAtsConfigurationsService configurationService; -- protected AtsUser currentUser; - - @Override - public void setConfigurationService(IAtsConfigurationsService configurationService) { -@@ -137,6 +139,11 @@ public abstract class AbstractAtsUserService implements IAtsUserService { - return isAtsAdmin(getCurrentUser()); - } - -+ @Override -+ public boolean isOseeAdmin() { -+ return getCurrentUser().getUserGroups().contains(CoreUserGroups.OseeAdmin); -+ } -+ - @Override - public Collection<AtsUser> getUsers(Active active) { - List<AtsUser> users = new ArrayList<>(); -@@ -151,12 +158,12 @@ public abstract class AbstractAtsUserService implements IAtsUserService { - @Override - public void reloadCache() { - configurationService.getConfigurationsWithPend(); -- currentUser = null; -+ setCurrentUser(null); - } - - @Override - public void releaseUser() { -- currentUser = null; -+ setCurrentUser(null); - } - - @Override -@@ -174,11 +181,6 @@ public abstract class AbstractAtsUserService implements IAtsUserService { - return users; - } - -- @Override -- public void setCurrentUser(AtsUser currentUser) { -- this.currentUser = currentUser; -- } -- - @Override - public AtsUser getAtsUser(AtsUser user) { - AtsUser atsUser = new AtsUser(); -@@ -212,8 +214,17 @@ public abstract class AbstractAtsUserService implements IAtsUserService { - } - - @Override -- public void clearCaches() { -- currentUser = null; -+ public Boolean isUserMember(IUserGroupArtifactToken userGroup, UserId userId) { -+ AtsUser user = getUserByAccountId(userId.getId()); -+ if (user != null) { -+ return user.getUserGroups().contains(userGroup); -+ } -+ return false; -+ } -+ -+ @Override -+ public Boolean isUserMember(IUserGroupArtifactToken userGroup) { -+ return isUserMember(userGroup, getCurrentUser()); - } - - } -\ No newline at end of file -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 46db813eea..de0bc0fa23 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 -@@ -73,7 +73,6 @@ import org.eclipse.osee.framework.core.data.Branch; - import org.eclipse.osee.framework.core.data.BranchId; - import org.eclipse.osee.framework.core.data.IAttribute; - import org.eclipse.osee.framework.core.data.IOseeBranch; --import org.eclipse.osee.framework.core.data.IUserGroupService; - import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; - import org.eclipse.osee.framework.core.enums.CoreBranches; - import org.eclipse.osee.framework.jdk.core.util.Conditions; -@@ -504,11 +503,6 @@ public abstract class AtsApiImpl implements AtsApi { - return configurationsService; - } - -- @Override -- public IUserGroupService getUserGroupService() { -- return org.eclipse.osee.ats.core.access.UserGroupService.get(); -- } -- - @Override - public IAtsWorkDefinitionProviderService getWorkDefinitionProviderService() { - return workDefinitionProviderService; -diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/AtsIde_Integration_TestSuite.launch b/plugins/org.eclipse.osee.ats.ide.integration.tests/AtsIde_Integration_TestSuite.launch -index e01d647434..9ff5fce9d2 100644 ---- a/plugins/org.eclipse.osee.ats.ide.integration.tests/AtsIde_Integration_TestSuite.launch -+++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/AtsIde_Integration_TestSuite.launch -@@ -5,7 +5,7 @@ - <setEntry value="org.eclipse.osee.client.integration.tests:0.26.0.qualifier:default:true"/> - <setEntry value="org.eclipse.osee.client.test.framework:0.26.0.qualifier:default:true"/> - <setEntry value="org.hamcrest.core:1.3.0.v20180420-1519:default:true"/> --<setEntry value="rest.assured:3.0.2.v201909032047-DEV:default:true"/> -+<setEntry value="rest.assured:3.0.2.qualifier:default:true"/> - </setAttribute> - <booleanAttribute key="append.args" value="true"/> - <booleanAttribute key="askclear" value="false"/> -@@ -38,7 +38,7 @@ - <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -nosplash"/> - <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.osee.ats.ide.integration.tests"/> - <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=WARNING -Dequinox.ds.debug=true -Dosee.application.server=http://localhost:8089 -DeventDebug=log -DeventSystem=new -Dosee.is.in.db.init=true -Dlogback.configurationFile=C:\UserData\logback-dev.xml"/> -+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx1024M -Dosee.log.default=WARNING -Dequinox.ds.debug=true -Dosee.application.server=http://localhost:8089 -DeventDebug=log -DeventSystem=new -Dosee.is.in.db.init=true -Dlogback.configurationFile=C:\UserData\logback-dev.xml -Duser.name=3333"/> - <stringAttribute key="pde.version" value="3.3"/> - <stringAttribute key="product" value="org.eclipse.osee.framework.ui.product.osee"/> - <booleanAttribute key="run_in_ui_thread" value="true"/> -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 d9437fd543..283e9a7b0d 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 -@@ -114,6 +114,7 @@ Import-Package: com.fasterxml.jackson.core, - org.eclipse.osee.framework.server.ide.api.client.model, - org.eclipse.osee.framework.server.ide.api.model, - 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.attribute, -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 245054fd18..1732c43c8d 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 -@@ -11,8 +11,7 @@ - package org.eclipse.osee.ats.ide.integration.tests.ats.access; - - import org.eclipse.osee.ats.api.data.AtsUserGroups; --import org.eclipse.osee.ats.core.access.UserGroupService; --import org.eclipse.osee.framework.core.data.IUserGroupService; -+import org.eclipse.osee.framework.skynet.core.access.UserGroupService; - import org.junit.Assert; - import org.junit.Test; - -@@ -25,12 +24,9 @@ public class UserGroupImplTest { - - @Test - public void test() { -- IUserGroupService svc = UserGroupService.get(); -- Assert.assertNotNull(svc); -- - // Joe Smith is no admin by default, but is temp admin -- Assert.assertFalse(svc.getUserGroup(AtsUserGroups.AtsAdmin).isCurrentUserMember()); -- Assert.assertTrue(svc.getUserGroup(AtsUserGroups.AtsTempAdmin).isCurrentUserMember()); -+ 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/world/search/AtsQueryServiceImplTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/AtsQueryServiceImplTest.java -index ad73b847a7..f0fedfc0ad 100644 ---- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/AtsQueryServiceImplTest.java -+++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/world/search/AtsQueryServiceImplTest.java -@@ -14,6 +14,7 @@ import java.util.ArrayList; - import org.eclipse.osee.ats.api.query.AtsSearchData; - import org.eclipse.osee.ats.api.query.AtsSearchUtil; - import org.eclipse.osee.ats.api.user.AtsUser; -+import org.eclipse.osee.ats.api.util.AtsUtil; - import org.eclipse.osee.ats.ide.integration.tests.AtsClientService; - import org.junit.Assert; - import org.junit.Test; -@@ -47,12 +48,13 @@ public class AtsQueryServiceImplTest { - */ - @Test - public void testSaveSearchAndGetSavedSearchesAndRemoveSearch() { -- AtsUser user = AtsClientService.get().getUserService().getCurrentUser(); -+ AtsUser user = AtsClientService.get().getUserService().getCurrentUserNoCache(); -+ AtsUtil.setIsInText(true); - - String namespace = AtsSearchUtil.ATS_QUERY_NAMESPACE; - ArrayList<AtsSearchData> savedSearches = - AtsClientService.get().getQueryService().getSavedSearches(user, namespace); -- Assert.assertEquals(0, savedSearches.size()); -+ Assert.assertEquals(savedSearches.toString(), 0, savedSearches.size()); - - AtsSearchData data = new AtsSearchData("my search"); - data.setColorTeam("blue"); -@@ -60,7 +62,7 @@ public class AtsQueryServiceImplTest { - AtsClientService.get().getQueryService().saveSearch(user, data); - - savedSearches = AtsClientService.get().getQueryService().getSavedSearches(user, namespace); -- Assert.assertEquals(1, savedSearches.size()); -+ Assert.assertEquals(savedSearches.toString(), 1, savedSearches.size()); - - AtsSearchData data2 = new AtsSearchData("my search 2"); - data2.setColorTeam("green"); -@@ -68,7 +70,7 @@ public class AtsQueryServiceImplTest { - AtsClientService.get().getQueryService().saveSearch(user, data2); - - savedSearches = AtsClientService.get().getQueryService().getSavedSearches(user, namespace); -- Assert.assertEquals(2, savedSearches.size()); -+ Assert.assertEquals(savedSearches.toString(), 2, savedSearches.size()); - - String namespace2 = AtsSearchUtil.ATS_QUERY_GOAL_NAMESPACE; - data = new AtsSearchData("my search 3"); -@@ -77,7 +79,7 @@ public class AtsQueryServiceImplTest { - AtsClientService.get().getQueryService().saveSearch(user, data); - - savedSearches = AtsClientService.get().getQueryService().getSavedSearches(user, namespace2); -- Assert.assertEquals(1, savedSearches.size()); -+ Assert.assertEquals(savedSearches.toString(), 1, savedSearches.size()); - - // retrieve the saved search cause it has the search it - data = savedSearches.iterator().next(); -@@ -85,7 +87,7 @@ public class AtsQueryServiceImplTest { - AtsClientService.get().getQueryService().removeSearch(user, data); - - savedSearches = AtsClientService.get().getQueryService().getSavedSearches(user, namespace2); -- Assert.assertEquals(0, savedSearches.size()); -+ Assert.assertEquals(savedSearches.toString(), 0, savedSearches.size()); - - } - -diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/AtsCurrentUserService.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/AtsCurrentUserService.java -index f4bdbc3513..41012cde99 100644 ---- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/AtsCurrentUserService.java -+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/AtsCurrentUserService.java -@@ -21,13 +21,17 @@ import org.eclipse.osee.jaxrs.client.JaxRsWebTarget; - */ - public class AtsCurrentUserService implements IAtsCurrentUserService { - -- private AtsUser currentUser; -+ private static AtsUser currentUser; - private AtsConfigEndpointApi configEp; - - public AtsCurrentUserService() { - // for jax-rs - } - -+ public static AtsUser getUser() { -+ return currentUser; -+ } -+ - @Override - public AtsUser getCurrentUser() { - if (currentUser == null) { -@@ -45,4 +49,8 @@ public class AtsCurrentUserService implements IAtsCurrentUserService { - return configEp; - } - -+ public static void clearCaches() { -+ currentUser = null; -+ } -+ - } -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 3abc8bb80d..fb48f65b1e 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 -@@ -13,6 +13,7 @@ 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.ide.config.AtsCurrentUserService; - import org.eclipse.osee.ats.ide.navigate.SavedSearchesNavigateItem; - import org.eclipse.osee.ats.ide.workflow.AtsWorkItemEventHandler; - import org.eclipse.osee.framework.plugin.core.OseeActivator; -@@ -38,6 +39,7 @@ public class Activator extends OseeActivator { - AtsUtil.hashTable(EventConstants.EVENT_TOPIC, FrameworkEvents.NAVIGATE_VIEW_LOADED)); - context.registerService(EventHandler.class.getName(), new SavedSearchesNavigateItem(), - AtsUtil.hashTable(EventConstants.EVENT_TOPIC, AtsTopicEvent.SAVED_SEARCHES_MODIFIED)); -+ (new AtsCurrentUserService()).getCurrentUser(); - } - - } -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 787e3e68ae..e629a6f0af 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 -@@ -87,7 +87,6 @@ import org.eclipse.osee.framework.core.operation.IOperation; - 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.UserGroupService; - import org.eclipse.osee.framework.ui.plugin.PluginUiImage; - import org.eclipse.osee.framework.ui.plugin.util.OpenPerspectiveNavigateItem; - import org.eclipse.osee.framework.ui.plugin.xnavigate.IOperationFactory; -@@ -311,8 +310,8 @@ public final class NavigateViewItems implements XNavigateViewItems, IXNavigateCo - } - - private void createExampleItems(XNavigateItem parent, List<XNavigateItem> items) { -- if (UserGroupService.getOseeAdmin().isCurrentUserMember() || AtsClientService.get().getUserGroupService().isInUserGroup( -- CoreUserGroups.Everyone)) { -+ if (AtsClientService.get().getUserService().isUserMember( -+ CoreUserGroups.OseeAdmin) || AtsClientService.get().getUserService().isUserMember(CoreUserGroups.Everyone)) { - XNavigateItem exampleItems = new XNavigateItem(parent, "Examples", AtsImage.REPORT); - - new ResultsEditorExample(exampleItems); -diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/RecentlyVisitedNavigateItems.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/RecentlyVisitedNavigateItems.java -index dc4e8c53bf..d0060b64f2 100644 ---- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/RecentlyVisitedNavigateItems.java -+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/RecentlyVisitedNavigateItems.java -@@ -14,6 +14,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; - import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.ArrayList; - import java.util.List; -+import java.util.logging.Level; - import org.eclipse.osee.ats.api.IAtsWorkItem; - import org.eclipse.osee.ats.core.util.RecentlyVisistedItem; - import org.eclipse.osee.ats.core.util.RecentlyVisitedItems; -@@ -25,6 +26,7 @@ import org.eclipse.osee.framework.core.data.ArtifactToken; - import org.eclipse.osee.framework.core.util.JsonUtil; - 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.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; - import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; - import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction; -@@ -99,21 +101,26 @@ public class RecentlyVisitedNavigateItems extends XNavigateItemAction implements - } - - private static void ensureLoaded() { -- if (visitedItems == null) { -- try { -- String recentlyVisistedTokensJson = AtsClientService.get().getUserConfigValue(RECENTLY_VISITED_TOKENS); -- if (Strings.isValid(recentlyVisistedTokensJson)) { -- ObjectMapper mapper = JsonUtil.getMapper(); -- visitedItems = mapper.readValue(recentlyVisistedTokensJson, RecentlyVisitedItems.class); -- } else { -+ try { -+ if (visitedItems == null) { -+ try { -+ String recentlyVisistedTokensJson = AtsClientService.get().getUserConfigValue(RECENTLY_VISITED_TOKENS); -+ if (Strings.isValid(recentlyVisistedTokensJson)) { -+ ObjectMapper mapper = JsonUtil.getMapper(); -+ visitedItems = mapper.readValue(recentlyVisistedTokensJson, RecentlyVisitedItems.class); -+ } else { -+ visitedItems = new RecentlyVisitedItems(); -+ } -+ } catch (Exception ex) { -+ AtsClientService.get().getLogger().error( -+ "Unable to read visited items from Ats Config attribute on user artifact %s", -+ AtsClientService.get().getUserService().getCurrentUser()); - visitedItems = new RecentlyVisitedItems(); - } -- } catch (Exception ex) { -- AtsClientService.get().getLogger().error( -- "Unable to read visited items from Ats Config attribute on user artifact %s", -- AtsClientService.get().getUserService().getCurrentUser()); -- visitedItems = new RecentlyVisitedItems(); - } -+ } catch (Exception ex) { -+ OseeLog.log(RecentlyVisitedNavigateItems.class, Level.SEVERE, Lib.exceptionToString(ex)); -+ visitedItems = new RecentlyVisitedItems(); - } - } - -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 9684987788..07b0a2e74b 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 -@@ -12,7 +12,6 @@ package org.eclipse.osee.ats.ide.navigate; - - import org.eclipse.jface.dialogs.MessageDialog; - import org.eclipse.osee.ats.api.data.AtsUserGroups; --import org.eclipse.osee.ats.core.access.UserGroupService; - import org.eclipse.osee.ats.ide.editor.WorkflowEditor; - import org.eclipse.osee.ats.ide.internal.Activator; - import org.eclipse.osee.ats.ide.internal.AtsClientService; -@@ -23,6 +22,7 @@ import org.eclipse.osee.framework.jdk.core.util.Conditions; - 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.UserGroupService; - import org.eclipse.osee.framework.skynet.core.artifact.Artifact; - import org.eclipse.osee.framework.ui.plugin.PluginUiImage; - import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; -@@ -48,8 +48,7 @@ public class ToggleAtsAdmin extends XNavigateItemAction { - - public static void run() { - try { -- if (!AtsClientService.get().getUserGroupService().getUserGroup( -- AtsUserGroups.AtsTempAdmin).isCurrentUserMember()) { -+ if (!UserGroupService.get(AtsUserGroups.AtsTempAdmin).isCurrentUserMember()) { - AWorkbench.popup("Current User not configured for Temporary Admin"); - return; - } -@@ -57,7 +56,7 @@ public class ToggleAtsAdmin extends XNavigateItemAction { - String message = "Currently " + (isAdmin ? "ADMIN" : "NOT ADMIN") + " - Toggle?"; - if (MessageDialog.openConfirm(Displays.getActiveShell(), "Toggle Admin", message)) { - if (!isAdmin) { -- IUserGroup atsAdminGroup = UserGroupService.getAtsAdmin(); -+ IUserGroup atsAdminGroup = UserGroupService.get(AtsUserGroups.AtsAdmin); - if (!atsAdminGroup.isCurrentUserMember()) { - atsAdminGroup.addMember(UserManager.getUser()); - Conditions.assertTrue(atsAdminGroup.getArtifact() instanceof Artifact, "Must be artifact."); -@@ -72,16 +71,14 @@ public class ToggleAtsAdmin extends XNavigateItemAction { - ((Artifact) oseeAdminGroup.getArtifact()).persist("Toggle Admin"); - } - } else { -- IUserGroup atsAdminGroup = -- AtsClientService.get().getUserGroupService().getUserGroup(AtsUserGroups.AtsAdmin); -+ IUserGroup atsAdminGroup = UserGroupService.get(AtsUserGroups.AtsAdmin); - if (atsAdminGroup.isCurrentUserMember()) { - atsAdminGroup.removeMember(UserManager.getUser()); - Conditions.assertTrue(atsAdminGroup.getArtifact() instanceof Artifact, "Must be artifact."); - ((Artifact) atsAdminGroup.getArtifact()).persist("Toggle Admin"); - } - -- IUserGroup oseeAdminGroup = -- AtsClientService.get().getUserGroupService().getUserGroup(CoreUserGroups.OseeAdmin); -+ IUserGroup oseeAdminGroup = UserGroupService.get(CoreUserGroups.OseeAdmin); - if (oseeAdminGroup.isCurrentUserMember()) { - oseeAdminGroup.removeMember(UserManager.getUser()); - Conditions.assertTrue(oseeAdminGroup.getArtifact() instanceof Artifact, "Must be artifact."); -diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/search/internal/query/AtsQueryServiceImpl.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/search/internal/query/AtsQueryServiceImpl.java -index 33aff3961c..3c22e81160 100644 ---- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/search/internal/query/AtsQueryServiceImpl.java -+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/search/internal/query/AtsQueryServiceImpl.java -@@ -102,7 +102,7 @@ public class AtsQueryServiceImpl extends AbstractAtsQueryService { - public ArrayList<AtsSearchData> getSavedSearches(AtsUser atsUser, String namespace) { - ArrayList<AtsSearchData> searches = new ArrayList<>(); - // Reload if current user -- if (atsApi.getUserService().getCurrentUser().equals(atsUser) && AtsUtil.isInTest()) { -+ if (atsApi.getUserService().getCurrentUser().equals(atsUser) || AtsUtil.isInTest()) { - atsUser = atsApi.getUserService().getCurrentUserNoCache(); - } - for (String jsonValue : atsUser.getSavedSearches()) { -diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/internal/AtsUserServiceClientImpl.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/internal/AtsUserServiceClientImpl.java -index 3f0f5c1bb0..bd7fc3f3b9 100644 ---- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/internal/AtsUserServiceClientImpl.java -+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/internal/AtsUserServiceClientImpl.java -@@ -22,6 +22,7 @@ import org.eclipse.osee.ats.api.data.AtsUserGroups; - import org.eclipse.osee.ats.api.user.AtsCoreUsers; - import org.eclipse.osee.ats.api.user.AtsUser; - import org.eclipse.osee.ats.core.users.AbstractAtsUserService; -+import org.eclipse.osee.ats.ide.config.AtsCurrentUserService; - import org.eclipse.osee.ats.ide.config.IAtsUserServiceClient; - import org.eclipse.osee.ats.ide.internal.AtsClientService; - import org.eclipse.osee.framework.core.data.ArtifactId; -@@ -43,15 +44,30 @@ import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; - */ - public class AtsUserServiceClientImpl extends AbstractAtsUserService implements IAtsUserServiceClient { - -+ Boolean atsAdmin = null; -+ private AtsUser currentUser; -+ - public AtsUserServiceClientImpl() { - // For OSGI Instantiation - } - -+ @Override -+ public void setCurrentUser(AtsUser currentUser) { -+ this.currentUser = currentUser; -+ } -+ -+ @Override -+ public void clearCaches() { -+ AtsCurrentUserService.clearCaches(); -+ } -+ - @Override - public AtsUser getCurrentUser() { - if (currentUser == null) { - if (UserManager.isBootstrap()) { - currentUser = configurationService.getUserByUserId(AtsCoreUsers.BOOTSTRAP_USER.getUserId()); -+ } else if (AtsCurrentUserService.getUser() != null) { -+ currentUser = AtsCurrentUserService.getUser(); - } else { - currentUser = configurationService.getUserByLoginId(System.getProperty("user.name")); - } -@@ -172,10 +188,15 @@ public class AtsUserServiceClientImpl extends AbstractAtsUserService implements - - @Override - public boolean isAtsAdmin() { -- if (getCurrentUser().getUserGroups().contains(AtsUserGroups.AtsAdmin)) { -- return true; -+ if (atsAdmin == null) { -+ if (AtsCurrentUserService.getUser() != null) { -+ atsAdmin = AtsCurrentUserService.getUser().getUserGroups().contains(AtsUserGroups.AtsAdmin); -+ } else if (getCurrentUser().getUserGroups().contains(AtsUserGroups.AtsAdmin)) { -+ atsAdmin = true; -+ } -+ atsAdmin = configurationService.getConfigurations().getAtsAdmins().contains(getCurrentUser().getArtifactId()); - } -- return configurationService.getConfigurations().getAtsAdmins().contains(getCurrentUser().getArtifactId()); -+ return atsAdmin; - } - - @Override -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 2100807f0a..24af790e4f 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 -@@ -25,6 +25,7 @@ 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.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.EventUtil; - import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEvent; -@@ -121,8 +122,7 @@ public class XWorkingBranchButtonLock extends XWorkingBranchButtonAbstract imple - if (isLocked) { - AccessControlManager.removeAccessControlDataIf(true, datas.iterator().next()); - } else { -- IUserGroup everyoneGroup = -- AtsClientService.get().getUserGroupService().getUserGroup(CoreUserGroups.Everyone); -+ IUserGroup everyoneGroup = UserGroupService.get(CoreUserGroups.Everyone); - Conditions.assertTrue(everyoneGroup.getArtifact() instanceof Artifact, "Must be Artifact"); - AccessControlManager.setPermission((Artifact) everyoneGroup.getArtifact(), branch, PermissionEnum.READ); - } -diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/world/WorldXViewerUtil.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/world/WorldXViewerUtil.java -index 0a222aa26c..ce7449bfa1 100644 ---- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/world/WorldXViewerUtil.java -+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/world/WorldXViewerUtil.java -@@ -11,6 +11,7 @@ - package org.eclipse.osee.ats.ide.world; - - import java.util.ArrayList; -+import java.util.Collection; - import java.util.List; - import java.util.logging.Level; - import org.eclipse.nebula.widgets.xviewer.core.model.SortDataType; -@@ -22,9 +23,10 @@ import org.eclipse.osee.ats.ide.internal.Activator; - import org.eclipse.osee.ats.ide.internal.AtsClientService; - import org.eclipse.osee.ats.ide.util.AtsEditors; - import org.eclipse.osee.ats.ide.util.xviewer.column.XViewerAtsAttributeValueColumn; -+import org.eclipse.osee.framework.core.data.ArtifactId; -+import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; - import org.eclipse.osee.framework.core.exception.OseeTypeDoesNotExist; - import org.eclipse.osee.framework.core.model.type.AttributeType; --import org.eclipse.osee.framework.jdk.core.util.Collections; - import org.eclipse.osee.framework.logging.OseeLog; - import org.eclipse.osee.framework.skynet.core.attribute.AttributeTypeManager; - import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.skynet.OseeTargetXViewerFactory; -@@ -42,13 +44,19 @@ public class WorldXViewerUtil { - registerConfigurationsColumns(factory); - } - -- @SuppressWarnings("unchecked") - public static void registerPluginColumns(OseeTargetXViewerFactory factory) { - // Register any columns from other plugins - try { - for (IAtsWorldEditorItem item : AtsWorldEditorItems.getItems()) { -- if (!Collections.setUnion(item.getUserGroups(), -- AtsClientService.get().getUserGroupService().getMyUserGroups()).isEmpty()) { -+ boolean found = false; -+ Collection<IUserGroupArtifactToken> userGroups = item.getUserGroups(); -+ for (ArtifactId myUserGroup : AtsClientService.get().getUserService().getCurrentUser().getUserGroups()) { -+ if (userGroups.contains(myUserGroup)) { -+ found = true; -+ break; -+ } -+ } -+ if (found) { - for (XViewerColumn xCol : item.getXViewerColumns()) { - factory.registerColumns(xCol); - } -@@ -123,8 +131,13 @@ public class WorldXViewerUtil { - - @SuppressWarnings("unchecked") - private static boolean isInUserGroup(OseeTargetXViewerFactory factory) { -- return !Collections.setUnion(factory.getUserGroups(), -- AtsClientService.get().getUserGroupService().getMyUserGroups()).isEmpty(); -+ Collection<IUserGroupArtifactToken> userGroups = factory.getUserGroups(); -+ for (ArtifactId myUserGroup : AtsClientService.get().getUserService().getCurrentUser().getUserGroups()) { -+ if (userGroups.contains(myUserGroup)) { -+ return true; -+ } -+ } -+ return false; - } - - public static XViewerColumn getConfigColumn(String columnId, List<XViewerAtsAttributeValueColumn> configCols) { -diff --git a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/config/AtsUserServiceServerImpl.java b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/config/AtsUserServiceServerImpl.java -index 3ade0e7ca8..b938f64956 100644 ---- a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/config/AtsUserServiceServerImpl.java -+++ b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/config/AtsUserServiceServerImpl.java -@@ -50,10 +50,7 @@ public class AtsUserServiceServerImpl extends AbstractAtsUserService { - - @Override - public AtsUser getCurrentUser() { -- if (currentUser == null) { -- currentUser = AtsCoreUsers.SYSTEM_USER; -- } -- return currentUser; -+ return AtsCoreUsers.SYSTEM_USER; - } - - @Override -@@ -185,4 +182,14 @@ public class AtsUserServiceServerImpl extends AbstractAtsUserService { - } - return user; - } -+ -+ @Override -+ public void setCurrentUser(AtsUser user) { -+ // TBD -+ } -+ -+ @Override -+ public void clearCaches() { -+ // do nothing -+ } - } -\ No newline at end of file -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 442d9074af..e397384420 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 -@@ -42,7 +42,7 @@ public class UserGroupService implements IUserGroupService { - return get(CoreUserGroups.OseeAccessAdmin); - } - -- private static IUserGroup get(IUserGroupArtifactToken userGroupArtToken) { -+ public static IUserGroup get(IUserGroupArtifactToken userGroupArtToken) { - return getUserGroupService().getUserGroup(userGroupArtToken); - } - --- -2.19.1.windows.1 - |