diff options
author | donald.g.dunne | 2021-08-24 20:41:23 +0000 |
---|---|---|
committer | donald.g.dunne | 2021-09-08 22:20:47 +0000 |
commit | 5fd2144ba06bfb59c5326f3dd0c6ffb0d2f867c2 (patch) | |
tree | 7d84e4f6b748fdd4647ed37b2f2e7c5424a0a80e | |
parent | ce5ed7967513377068348b764571ca959c0415c1 (diff) | |
download | org.eclipse.osee-5fd2144ba06bfb59c5326f3dd0c6ffb0d2f867c2.tar.gz org.eclipse.osee-5fd2144ba06bfb59c5326f3dd0c6ffb0d2f867c2.tar.xz org.eclipse.osee-5fd2144ba06bfb59c5326f3dd0c6ffb0d2f867c2.zip |
feature[TW19351]: Improve Navigate Item contribution
Change-Id: I2ceabe0ff9360d1583d079091ff1ca5538d190b0
258 files changed, 2443 insertions, 3259 deletions
diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/AtsImage.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/AtsImage.java index 662c586f720..cfbe368ed06 100644 --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/AtsImage.java +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/AtsImage.java @@ -93,7 +93,7 @@ public class AtsImage extends OseeImage { public static AtsImage TEAM_DEFINITION = new AtsImage("team.gif"); public static AtsImage WORKFLOW = new AtsImage("workflow.gif"); public static AtsImage WORKFLOW_DEFINITION = new AtsImage("workDef.gif"); - public static AtsImage TRACE = new AtsImage("trace.gif"); + public static AtsImage DEMO = new AtsImage("demo.gif"); public static AtsImage TRANSITION = new AtsImage("transition.gif"); public static AtsImage VERSION = new AtsImage("version.gif"); public static AtsImage VERSION_LOCKED = new AtsImage("yellowV_8_8.gif"); diff --git a/plugins/org.eclipse.osee.ats.ide.demo/plugin.xml b/plugins/org.eclipse.osee.ats.ide.demo/plugin.xml index 53ba5d4565f..0ceb0b5675e 100644 --- a/plugins/org.eclipse.osee.ats.ide.demo/plugin.xml +++ b/plugins/org.eclipse.osee.ats.ide.demo/plugin.xml @@ -25,12 +25,6 @@ </DatabaseInitializationTask> </extension> <extension - point="org.eclipse.osee.ats.ide.AtsNavigateItem"> - <AtsNavigateItem - classname="org.eclipse.osee.ats.ide.demo.navigate.DemoNavigateViewItems"> - </AtsNavigateItem> - </extension> - <extension point="org.eclipse.osee.framework.ui.skynet.ArtifactImageProvider"> <ArtifactImageProvider class="org.eclipse.osee.ats.ide.demo.artifact.DemoArtifactImageProvider"> @@ -51,4 +45,10 @@ classname="org.eclipse.osee.ats.ide.demo.workflow.DemoPlAndSawWizardItem"> </AtsWizardItem> </extension> + <extension + point="org.eclipse.osee.framework.ui.plugin.XNavigateItemProvider"> + <XNavigateItemProvider + classname="org.eclipse.osee.ats.ide.demo.navigate.DemoNavigateViewItems"> + </XNavigateItemProvider> + </extension> </plugin> diff --git a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/navigate/CreateGoalTestDemoArtifacts.java b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/navigate/CreateGoalTestDemoArtifacts.java index 5d73f4d27b3..7594f0bef65 100644 --- a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/navigate/CreateGoalTestDemoArtifacts.java +++ b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/navigate/CreateGoalTestDemoArtifacts.java @@ -36,8 +36,8 @@ import org.eclipse.osee.ats.ide.world.WorldEditorSimpleProvider; import org.eclipse.osee.framework.core.enums.DemoUsers; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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; import org.eclipse.osee.framework.ui.swt.Displays; @@ -48,8 +48,8 @@ public class CreateGoalTestDemoArtifacts extends XNavigateItemAction { private Date createdDate; private AtsUser createdBy; - public CreateGoalTestDemoArtifacts(XNavigateItem parent) { - super(parent, "Create Test Goal Artifacts - Demo", AtsImage.GOAL); + public CreateGoalTestDemoArtifacts(XNavItemCat xNavItemCat) { + super("Create Test Goal Artifacts - Demo", AtsImage.GOAL, xNavItemCat); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/navigate/DemoNavigateViewItems.java b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/navigate/DemoNavigateViewItems.java index 68dddd79958..a081582d418 100644 --- a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/navigate/DemoNavigateViewItems.java +++ b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/navigate/DemoNavigateViewItems.java @@ -13,7 +13,9 @@ package org.eclipse.osee.ats.ide.demo.navigate; -import java.util.ArrayList; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat.MID_TOP; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat.PROG; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat.SUBCAT; import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -22,12 +24,16 @@ import org.eclipse.osee.ats.api.data.AtsArtifactTypes; import org.eclipse.osee.ats.api.demo.DemoArtifactToken; import org.eclipse.osee.ats.api.query.ReleasedOption; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.util.AtsImage; +import org.eclipse.osee.ats.ide.config.AtsConfig2ExampleNavigateItem; import org.eclipse.osee.ats.ide.config.version.CreateNewVersionItem; import org.eclipse.osee.ats.ide.config.version.ReleaseVersionItem; +import org.eclipse.osee.ats.ide.demo.DemoUtil; import org.eclipse.osee.ats.ide.demo.internal.Activator; import org.eclipse.osee.ats.ide.demo.internal.AtsApiService; -import org.eclipse.osee.ats.ide.navigate.IAtsNavigateItem; import org.eclipse.osee.ats.ide.navigate.SearchNavigateItem; +import org.eclipse.osee.ats.ide.navigate.ToggleAtsAdmin; +import org.eclipse.osee.ats.ide.util.CreateActionUsingAllActionableItems; import org.eclipse.osee.ats.ide.world.search.ArtifactTypeSearchItem; import org.eclipse.osee.ats.ide.world.search.ArtifactTypeWithInheritenceSearchItem; import org.eclipse.osee.ats.ide.world.search.ILazyTeamDefinitionProvider; @@ -38,121 +44,163 @@ import org.eclipse.osee.ats.ide.world.search.WorldSearchItem.LoadView; import org.eclipse.osee.framework.core.client.ClientSessionManager; import org.eclipse.osee.framework.core.data.ArtifactToken; import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemFolder; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemProvider; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateUrlItem; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; -import org.eclipse.osee.framework.ui.skynet.util.DbConnectionUtility; /** * Provides the ATS Navigator items for the sample XYZ company's teams * * @author Donald G. Dunne */ -public class DemoNavigateViewItems implements IAtsNavigateItem { +public class DemoNavigateViewItems implements XNavigateItemProvider { - public DemoNavigateViewItems() { - super(); - } + private static final XNavItemCat JOHN_HOPKINS_UNIV_JHU = new XNavItemCat("John Hopkins Univ (JHU)"); + private static final XNavItemCat JHU_ADMIN = new XNavItemCat(JOHN_HOPKINS_UNIV_JHU + ".Admin"); + private static final XNavItemCat JHU_HEALTH = new XNavItemCat(JOHN_HOPKINS_UNIV_JHU + ".Health"); - private static IAtsTeamDefinition getTeamDef(ArtifactToken team) { - IAtsTeamDefinition results = null; - // Add check to keep exception from occurring for OSEE developers running against production - if (!ClientSessionManager.isProductionDataStore()) { - try { - results = AtsApiService.get().getTeamDefinitionService().getTeamDefinitionById(team); - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - } - return results; + @Override + public boolean isApplicable() { + return getTeamDef(DemoArtifactToken.Process_Team) != null; } @Override - public List<XNavigateItem> getNavigateItems(XNavigateItem parentItem) { - ArtifactToken[] teams = new ArtifactToken[] { - DemoArtifactToken.Process_Team, - DemoArtifactToken.Tools_Team, - DemoArtifactToken.SAW_HW, - DemoArtifactToken.SAW_Code, - DemoArtifactToken.SAW_Test, - DemoArtifactToken.SAW_SW_Design, - DemoArtifactToken.SAW_Requirements, - DemoArtifactToken.SAW_SW, - DemoArtifactToken.CIS_SW, - DemoArtifactToken.CIS_Code, - DemoArtifactToken.CIS_Test, - DemoArtifactToken.Facilities_Team}; - - List<XNavigateItem> items = new ArrayList<>(); - - if (DbConnectionUtility.areOSEEServicesAvailable().isFalse()) { - return items; + public List<XNavigateItem> getNavigateItems(List<XNavigateItem> items) { + + if (DemoUtil.isDbPopulatedWithDemoData().isTrue()) { + + items.add(new XNavigateItemFolder(XNavigateItem.DEMO.getName(), AtsImage.DEMO, MID_TOP)); + items.add(new XNavigateItemFolder(JOHN_HOPKINS_UNIV_JHU.getName(), JOHN_HOPKINS_UNIV_JHU, PROG)); + + items.add(new ToggleAtsAdmin()); + + addTeamItems(items); + + items.add( + new SearchNavigateItem(new ArtifactTypeSearchItem("Show all Actions", AtsArtifactTypes.Action), JHU_ADMIN)); + items.add(new SearchNavigateItem( + new ArtifactTypeSearchItem("Show all Decision Review", AtsArtifactTypes.DecisionReview), JHU_ADMIN)); + items.add(new SearchNavigateItem( + new ArtifactTypeSearchItem("Show all PeerToPeer Review", AtsArtifactTypes.PeerToPeerReview), JHU_ADMIN)); + items.add(new SearchNavigateItem( + new ArtifactTypeWithInheritenceSearchItem("Show all Team Workflows", AtsArtifactTypes.TeamWorkflow), + JHU_ADMIN, XNavItemCat.OSEE_ADMIN)); + items.add( + new SearchNavigateItem(new ArtifactTypeSearchItem("Show all Tasks", AtsArtifactTypes.Task), JHU_ADMIN)); + + items.add(new CreateGoalTestDemoArtifacts(JHU_HEALTH)); + items.add(new CreateActionUsingAllActionableItems(XNavigateItem.DEMO)); + items.add(new AtsConfig2ExampleNavigateItem()); } - // If Demo Teams not configured, ignore these navigate items - try { - if (getTeamDef(DemoArtifactToken.Process_Team) == null) { - return items; + return items; + } + + private void addTeamItems(List<XNavigateItem> items) { + for (ArtifactToken team : teams) { + String teamCatName = getTeamCategoryName(team); + XNavItemCat teamCat = new XNavItemCat(teamCatName); + items.add(new XNavigateItemFolder(team.getName(), teamCat, SUBCAT)); + } + for (ArtifactToken prog : Arrays.asList(DemoArtifactToken.SAW_SW, DemoArtifactToken.CIS_SW)) { + List<ArtifactToken> progTeams = null; + if (prog.equals(DemoArtifactToken.SAW_SW)) { + progTeams = swTeams; + } else { + progTeams = cisTeams; + } + for (ArtifactToken team : progTeams) { + String teamCatName = getProgTeamCategoryName(prog, team); + XNavItemCat teamCat = new XNavItemCat(teamCatName); + items.add(new XNavigateItemFolder(team.getName(), teamCat, SUBCAT)); } - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.INFO, "Demo Teams Not Cofigured", ex); - return items; } - XNavigateItem jhuItem = new XNavigateItemFolder(parentItem, "John Hopkins Univ (JHU)"); - new XNavigateUrlItem(jhuItem, "Open JHU Website - Externally", "http://www.jhu.edu/", true); - new XNavigateUrlItem(jhuItem, "Open JHU Website - Internally", "http://www.jhu.edu/", false); - items.add(jhuItem); + items.add(new XNavigateItemFolder("JHU Admin", FrameworkImage.LASER, JHU_ADMIN, SUBCAT)); + items.add(new XNavigateItemFolder("Health", FrameworkImage.HEALTH, JHU_HEALTH, SUBCAT)); + + items.add( + new XNavigateUrlItem("Open JHU Website - Externally", "http://www.jhu.edu/", true, JOHN_HOPKINS_UNIV_JHU)); + items.add( + new XNavigateUrlItem("Open JHU Website - Internally", "http://www.jhu.edu/", false, JOHN_HOPKINS_UNIV_JHU)); for (ArtifactToken team : teams) { try { IAtsTeamDefinition teamDef = getTeamDef(team); - XNavigateItem teamItems = new XNavigateItemFolder(jhuItem, "JHU " + team.getName().replaceAll("_", " ")); - new SearchNavigateItem(teamItems, new OpenWorkflowsByTeamDefSearchItem( - "Show Open " + teamDef + " Workflows", new SimpleTeamDefinitionProvider(Arrays.asList(teamDef)))); - // Handle all children teams - for (IAtsTeamDefinition childTeamDef : AtsApiService.get().getTeamDefinitionService().getChildren( - teamDef, true)) { - new SearchNavigateItem(teamItems, - new OpenWorkflowsByTeamDefSearchItem("Show Open " + childTeamDef + " Workflows", - new SimpleTeamDefinitionProvider(Arrays.asList(childTeamDef)))); - } + String teamCatName = getTeamCategoryName(team); + XNavItemCat teamCat = new XNavItemCat(teamCatName); + + items.add(new SearchNavigateItem(new OpenWorkflowsByTeamDefSearchItem("Show Open " + teamDef + " Workflows", + new SimpleTeamDefinitionProvider(Arrays.asList(teamDef))), teamCat)); + if (AtsApiService.get().getVersionService().isTeamUsesVersions(teamDef)) { if (team.getName().contains("SAW")) { - new XNavigateUrlItem(teamItems, "Open SAW Website", "http://www.cisst.org/cisst/saw/", false); + items.add( + new XNavigateUrlItem("Open SAW Website", "http://www.cisst.org/cisst/saw/", false, teamCat)); } else if (team.getName().contains("CIS")) { - new XNavigateUrlItem(teamItems, "Open CIS Website", "http://www.cisst.org/cisst/cis/", false); + items.add( + new XNavigateUrlItem("Open CIS Website", "http://www.cisst.org/cisst/cis/", false, teamCat)); } - new SearchNavigateItem(teamItems, new NextVersionSearchItem(teamDef, LoadView.WorldEditor)); - new SearchNavigateItem(teamItems, - new VersionTargetedForTeamSearchItem(teamDef, null, false, LoadView.WorldEditor)); - new SearchNavigateItem(teamItems, new OpenWorkflowsByTeamDefSearchItem("Show Un-Released Team Workflows", - new SimpleTeamDefinitionProvider(Arrays.asList(teamDef)), true, ReleasedOption.UnReleased)); - new ReleaseVersionItem(teamItems, teamDef); - new CreateNewVersionItem(teamItems, teamDef); + items.add(new SearchNavigateItem(new NextVersionSearchItem(teamDef, LoadView.WorldEditor), teamCat)); + items.add(new SearchNavigateItem( + new VersionTargetedForTeamSearchItem(teamDef, null, false, LoadView.WorldEditor), teamCat)); + items.add(new SearchNavigateItem( + new OpenWorkflowsByTeamDefSearchItem("Show Un-Released Team Workflows", + new SimpleTeamDefinitionProvider(Arrays.asList(teamDef)), true, ReleasedOption.UnReleased), + teamCat)); + items.add(new ReleaseVersionItem(teamDef, teamCat)); + items.add(new CreateNewVersionItem(teamDef, teamCat)); } } catch (Exception ex) { OseeLog.log(Activator.class, Level.SEVERE, ex); } } - XNavigateItem adminItems = new XNavigateItem(jhuItem, "JHU Admin", FrameworkImage.LASER); - - new SearchNavigateItem(adminItems, new ArtifactTypeSearchItem("Show all Actions", AtsArtifactTypes.Action)); - new SearchNavigateItem(adminItems, - new ArtifactTypeSearchItem("Show all Decision Review", AtsArtifactTypes.DecisionReview)); - new SearchNavigateItem(adminItems, - new ArtifactTypeSearchItem("Show all PeerToPeer Review", AtsArtifactTypes.PeerToPeerReview)); - new SearchNavigateItem(adminItems, - new ArtifactTypeWithInheritenceSearchItem("Show all Team Workflows", AtsArtifactTypes.TeamWorkflow)); - new SearchNavigateItem(adminItems, new ArtifactTypeSearchItem("Show all Tasks", AtsArtifactTypes.Task)); + // Handle programs + for (ArtifactToken prog : Arrays.asList(DemoArtifactToken.SAW_SW, DemoArtifactToken.CIS_SW)) { + List<ArtifactToken> progTeams = null; + if (prog.equals(DemoArtifactToken.SAW_SW)) { + progTeams = swTeams; + } else { + progTeams = cisTeams; + } + for (ArtifactToken team : progTeams) { + try { + IAtsTeamDefinition teamDef = getTeamDef(team); + String teamCatName = getProgTeamCategoryName(prog, team); + XNavItemCat teamCat = new XNavItemCat(teamCatName); + + items.add( + new SearchNavigateItem(new OpenWorkflowsByTeamDefSearchItem("Show Open " + teamDef + " Workflows", + new SimpleTeamDefinitionProvider(Arrays.asList(teamDef))), teamCat)); + + if (AtsApiService.get().getVersionService().isTeamUsesVersions(teamDef)) { + items.add(new SearchNavigateItem( + new OpenWorkflowsByTeamDefSearchItem("Show Un-Released Team Workflows", + new SimpleTeamDefinitionProvider(Arrays.asList(teamDef)), true, ReleasedOption.UnReleased), + teamCat)); + items.add(new SearchNavigateItem(new NextVersionSearchItem(teamDef, LoadView.WorldEditor), teamCat)); + items.add(new SearchNavigateItem( + new VersionTargetedForTeamSearchItem(teamDef, null, false, LoadView.WorldEditor), teamCat)); + } + } catch (Exception ex) { + OseeLog.log(Activator.class, Level.SEVERE, ex); + } + } + } + } - XNavigateItem healthItems = new XNavigateItem(adminItems, "Health", FrameworkImage.LASER); - new CreateGoalTestDemoArtifacts(healthItems); + private String getTeamCategoryName(ArtifactToken team) { + return JOHN_HOPKINS_UNIV_JHU + "." + team.getName().replaceAll("_", " "); + } - return items; + private String getProgTeamCategoryName(ArtifactToken prog, ArtifactToken team) { + return JOHN_HOPKINS_UNIV_JHU + "." + prog.getName().replaceAll("_", "") + "." + team.getName().replaceAll("_", + " "); } private class SimpleTeamDefinitionProvider implements ILazyTeamDefinitionProvider { @@ -170,4 +218,26 @@ public class DemoNavigateViewItems implements IAtsNavigateItem { } + private final List<ArtifactToken> teams = Arrays.asList(DemoArtifactToken.Process_Team, DemoArtifactToken.Tools_Team, + DemoArtifactToken.SAW_SW, DemoArtifactToken.CIS_SW); + + private final List<ArtifactToken> swTeams = Arrays.asList(DemoArtifactToken.SAW_HW, DemoArtifactToken.SAW_Code, + DemoArtifactToken.SAW_Test, DemoArtifactToken.SAW_SW_Design, DemoArtifactToken.SAW_Requirements); + + private final List<ArtifactToken> cisTeams = + Arrays.asList(DemoArtifactToken.CIS_Code, DemoArtifactToken.CIS_Test, DemoArtifactToken.Facilities_Team); + + private static IAtsTeamDefinition getTeamDef(ArtifactToken team) { + IAtsTeamDefinition results = null; + // Add check to keep exception from occurring for OSEE developers running against production + if (!ClientSessionManager.isProductionDataStore()) { + try { + results = AtsApiService.get().getTeamDefinitionService().getTeamDefinitionById(team); + } catch (Exception ex) { + OseeLog.log(Activator.class, Level.SEVERE, ex); + } + } + return results; + } + } diff --git a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/workflow/cr/CreateNewDemoChangeRequestBlam.java b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/workflow/cr/CreateNewDemoChangeRequestBlam.java index 37b1e9b3359..d5809736762 100644 --- a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/workflow/cr/CreateNewDemoChangeRequestBlam.java +++ b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/workflow/cr/CreateNewDemoChangeRequestBlam.java @@ -12,6 +12,7 @@ *******************************************************************************/ package org.eclipse.osee.ats.ide.demo.workflow.cr; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import org.eclipse.osee.ats.api.ai.IAtsActionableItem; @@ -19,8 +20,7 @@ import org.eclipse.osee.ats.api.demo.DemoArtifactToken; import org.eclipse.osee.ats.ide.demo.DemoUtil; import org.eclipse.osee.ats.ide.demo.internal.AtsApiService; import org.eclipse.osee.ats.ide.workflow.cr.CreateNewChangeRequestBlam; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; /** * @author Donald G. Dunne @@ -37,11 +37,6 @@ public class CreateNewDemoChangeRequestBlam extends CreateNewChangeRequestBlam { } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return java.util.Collections.singleton(CoreUserGroups.Everyone); - } - - @Override public Collection<IAtsActionableItem> getProgramCrAis() { IAtsActionableItem ai = AtsApiService.get().getActionableItemService().getActionableItemById(DemoArtifactToken.SAW_PL_CR_AI); @@ -58,4 +53,9 @@ public class CreateNewDemoChangeRequestBlam extends CreateNewChangeRequestBlam { return !AtsApiService.get().getStoreService().isProductionDb() && DemoUtil.isDbPopulatedWithDemoData().isTrue(); } + @Override + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavItemCat.TOP_NEW); + } + } diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/util/AtsXWidgetsExampleBlamTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/util/AtsXWidgetsExampleBlamTest.java index ca8b10c3b7c..4a7ae4dbdab 100644 --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/util/AtsXWidgetsExampleBlamTest.java +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/util/AtsXWidgetsExampleBlamTest.java @@ -17,9 +17,8 @@ import java.util.Map; import org.eclipse.osee.framework.logging.SevereLoggingMonitor; 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.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; -import org.eclipse.osee.framework.ui.skynet.blam.BlamContributionManager; +import org.eclipse.osee.framework.ui.skynet.blam.BlamNavigateViewItems; import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam; import org.eclipse.osee.support.test.util.TestUtil; import org.junit.Assert; @@ -41,12 +40,11 @@ public class AtsXWidgetsExampleBlamTest { SevereLoggingMonitor monitorLog = TestUtil.severeLoggingStart(); XNavigateItemBlam item = null; - Map<String, AbstractBlam> blams = BlamContributionManager.getBlamMap(); + Map<String, AbstractBlam> blams = BlamNavigateViewItems.getBlamMap(); boolean foundBlam = blams.containsKey(NAME_OF_ATS_ITEM); if (foundBlam) { - item = new XNavigateItemBlam(new XNavigateItem(null, "Blam Operations", FrameworkImage.BLAM), - blams.get(NAME_OF_ATS_ITEM)); + item = new XNavigateItemBlam(blams.get(NAME_OF_ATS_ITEM), XNavigateItem.UTILITY_EXAMPLES); } Assert.assertTrue(String.format("%s not found from list of provided Blams.", NAME_OF_ATS_ITEM), foundBlam); diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/version/MassEditTeamVersionItemTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/version/MassEditTeamVersionItemTest.java index 27cb9f5af1c..7ad5bc05a3c 100644 --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/version/MassEditTeamVersionItemTest.java +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/version/MassEditTeamVersionItemTest.java @@ -35,10 +35,10 @@ public class MassEditTeamVersionItemTest { @Test public void test() { - IAtsTeamDefinition teamDef = AtsApiService.get().getTeamDefinitionService().getTeamDefinitions( - Arrays.asList("SAW SW")).iterator().next(); + IAtsTeamDefinition teamDef = + AtsApiService.get().getTeamDefinitionService().getTeamDefinitions(Arrays.asList("SAW SW")).iterator().next(); - MassEditTeamVersionItem search = new MassEditTeamVersionItem("Search", null, AtsImage.ACTION); + MassEditTeamVersionItem search = new MassEditTeamVersionItem("Search", AtsImage.ACTION); search.setSelectedTeamDef(teamDef); Collection<Artifact> results = search.getResults(); Assert.assertEquals(3, results.size()); diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/workflow/review/GenerateReviewParticipationReportTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/workflow/review/GenerateReviewParticipationReportTest.java index 756232b1b9a..76f446132fa 100644 --- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/workflow/review/GenerateReviewParticipationReportTest.java +++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/workflow/review/GenerateReviewParticipationReportTest.java @@ -31,7 +31,7 @@ public class GenerateReviewParticipationReportTest { @Test public void test() { - GenerateReviewParticipationReport report = new GenerateReviewParticipationReport(null); + GenerateReviewParticipationReport report = new GenerateReviewParticipationReport(); report.setSelectedUser(AtsApiService.get().getUserService().getUserByToken(DemoUsers.Joe_Smith)); Set<Artifact> results = report.getResults(); Assert.assertEquals(6, results.size()); 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 4cad95b737f..dc0c823c5c2 100644 --- a/plugins/org.eclipse.osee.ats.ide/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.ats.ide/META-INF/MANIFEST.MF @@ -210,6 +210,7 @@ Import-Package: com.fasterxml.jackson.annotation, org.eclipse.osee.framework.ui.skynet.artifact.editor.tab.attr, org.eclipse.osee.framework.ui.skynet.artifact.massEditor, org.eclipse.osee.framework.ui.skynet.blam, + org.eclipse.osee.framework.ui.skynet.blam.operation, org.eclipse.osee.framework.ui.skynet.branch, org.eclipse.osee.framework.ui.skynet.change, org.eclipse.osee.framework.ui.skynet.cm, diff --git a/plugins/org.eclipse.osee.ats.ide/OSEE-INF/extensionPts/AtsNavigateItem.exsd b/plugins/org.eclipse.osee.ats.ide/OSEE-INF/extensionPts/AtsNavigateItem.exsd deleted file mode 100644 index 15afe992716..00000000000 --- a/plugins/org.eclipse.osee.ats.ide/OSEE-INF/extensionPts/AtsNavigateItem.exsd +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.eclipse.osee.ats.ide"> -<annotation> - <appInfo> - <meta.schema plugin="org.eclipse.osee.ats.ide" id="AtsNavigateItem" name="AtsNavigateItem"/> - </appInfo> - <documentation> - [Enter description of this extension point.] - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <sequence minOccurs="1" maxOccurs="unbounded"> - <element ref="AtsNavigateItem"/> - </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="AtsNavigateItem"> - <complexType> - <attribute name="classname" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - <appInfo> - <meta.attribute kind="java" basedOn=":org.eclipse.osee.ats.ide.navigate.IAtsNavigateItem"/> - </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.ats.ide/OSEE-INF/images/trace.gif b/plugins/org.eclipse.osee.ats.ide/OSEE-INF/images/demo.gif Binary files differindex f1e585bdf72..f1e585bdf72 100644 --- a/plugins/org.eclipse.osee.ats.ide/OSEE-INF/images/trace.gif +++ b/plugins/org.eclipse.osee.ats.ide/OSEE-INF/images/demo.gif diff --git a/plugins/org.eclipse.osee.ats.ide/plugin.xml b/plugins/org.eclipse.osee.ats.ide/plugin.xml index c9db15f1380..3ca21bfd3fa 100644 --- a/plugins/org.eclipse.osee.ats.ide/plugin.xml +++ b/plugins/org.eclipse.osee.ats.ide/plugin.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.0"?> <plugin> - <extension-point id="AtsNavigateItem" name="AtsNavigateItem" schema="OSEE-INF/extensionPts/AtsNavigateItem.exsd"/> <extension-point id="AtsWizardItem" name="AtsWizardItem" schema="OSEE-INF/extensionPts/AtsWizardItem.exsd"/> <extension-point id="AtsWorldEditorItem" name="AtsWorldEditorItem" schema="OSEE-INF/extensionPts/AtsWorldEditorItem.exsd"/> <extension-point id="AtsAdvancedOperationAction" name="AtsAdvancedOperationAction" schema="OSEE-INF/extensionPts/AtsAdvancedOperationAction.exsd"/> @@ -79,12 +78,6 @@ id="org.eclipse.osee.OseePerspective" icon="OSEE-INF/images/osee_16.png"> </perspective> - <perspective - class="org.eclipse.osee.ats.ide.workflow.review.ReviewPerspective" - icon="OSEE-INF/images/review.gif" - id="org.eclipse.osee.ats.ide.review.ReviewPerspective" - name="Review"> - </perspective> </extension> <extension point="org.eclipse.ui.perspectiveExtensions"> @@ -106,10 +99,6 @@ <category name="OSEE" id="org.eclipse.osee.category"/> - <category - id="org.eclipse.osee.ats.ide.review.category" - name="OSEE Review"> - </category> <view class="org.eclipse.osee.ats.ide.navigate.NavigateView" icon="OSEE-INF/images/osee_16.png" @@ -124,13 +113,6 @@ name="Action View" id="org.eclipse.osee.ats.ide.ActionWalkerView"> </view> - <view - category="org.eclipse.osee.ats.ide.review.category" - class="org.eclipse.osee.ats.ide.workflow.review.ReviewNavigateView" - icon="OSEE-INF/images/review.gif" - id="org.eclipse.osee.ats.ide.review.ReviewNavigateView" - name="ReviewNavigator"> - </view> </extension> <extension id="AtsDbConfigBaseIde" @@ -177,6 +159,22 @@ </Operation> </extension> <extension + id="ActionsViaSpreadsheetBlam" + name="ActionsViaSpreadsheetBlam" + point="org.eclipse.osee.framework.ui.skynet.BlamOperation"> + <Operation + className="org.eclipse.osee.ats.ide.util.Import.ImportActionsViaSpreadsheetBlam"> + </Operation> + </extension> + <extension + id="ImportAgileActionsViaSpreadsheetBlam" + name="ImportAgileActionsViaSpreadsheetBlam" + point="org.eclipse.osee.framework.ui.skynet.BlamOperation"> + <Operation + className="org.eclipse.osee.ats.ide.util.Import.ImportAgileActionsViaSpreadsheetBlam"> + </Operation> + </extension> + <extension id="AtsWidgetProvider" name="AtsWidgetProvider" point="org.eclipse.osee.framework.ui.skynet.XWidgetProvider"> @@ -263,16 +261,14 @@ </Operation> </extension> <extension - point="org.eclipse.osee.framework.ui.plugin.XCommonNavigateItem"> - <XCommonNavigateItem - classname="org.eclipse.osee.ats.ide.navigate.NavigateViewItems"> - </XCommonNavigateItem> - <XCommonNavigateItem - classname="org.eclipse.osee.ats.ide.workflow.review.ReviewNavigateViewItems"> - </XCommonNavigateItem> + point="org.eclipse.osee.framework.ui.plugin.XNavigateItemProvider"> + <XNavigateItemProvider + classname="org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems"> + </XNavigateItemProvider> + <XNavigateItemProvider + classname="org.eclipse.osee.ats.ide.agile.navigate.AgileNavigateItemProvider"> + </XNavigateItemProvider> </extension> - - <extension point="org.eclipse.ui.commands"> <category @@ -340,14 +336,6 @@ </menuContribution> </extension> - <extension - id="AtsUserNavigateItems" - name="AtsUserNavigateItems" - point="org.eclipse.osee.framework.ui.skynet.UserNavigateItem"> - <UserNavigateItem - classname="org.eclipse.osee.ats.ide.util.AtsUserNavigateItems"> - </UserNavigateItem> - </extension> <extension id="DetailedTestStatusOld" name="DetailedTestStatusOld" point="org.eclipse.osee.framework.ui.skynet.BlamOperation"> @@ -433,5 +421,23 @@ classname="org.eclipse.osee.ats.ide.util.widgets.AtsArtifactEditorProvider"> </ArtifactEditorProvider> </extension> + <extension + point="org.eclipse.osee.framework.ui.skynet.BlamOperation"> + <Operation + className="org.eclipse.osee.ats.ide.operation.PurgeUser"> + </Operation> + </extension> + <extension + point="org.eclipse.osee.framework.ui.skynet.BlamOperation"> + <Operation + className="org.eclipse.osee.ats.ide.operation.ReAssignAtsObjectsToUser"> + </Operation> + </extension> + <extension + point="org.eclipse.osee.framework.ui.skynet.BlamOperation"> + <Operation + className="org.eclipse.osee.ats.ide.operation.MoveTeamWorkflowsBlam"> + </Operation> + </extension> </plugin> diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/PortPairsBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/PortPairsBlam.java index cce7c193e21..6dba1650c7d 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/PortPairsBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/PortPairsBlam.java @@ -13,12 +13,12 @@ package org.eclipse.osee.ats.ide; +import java.util.Arrays; import java.util.Collection; -import java.util.Collections; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.framework.core.operation.IOperation; import org.eclipse.osee.framework.core.operation.OperationLogger; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -39,8 +39,8 @@ public class PortPairsBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Collections.singletonList("ATS.Admin"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_ADMIN, XNavItemCat.OSEE_ADMIN); } @Override @@ -61,9 +61,4 @@ public class PortPairsBlam extends AbstractBlam { return "Port a given list of workflows represented by either RPCRs or ATS IDs, formated like: <from>,<to>. Each pair should be separated by a return. The BLAM can be run multiple times, as the conflicts are resolved on the port branch merges."; } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/WorkflowPortingBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/WorkflowPortingBlam.java index 6012beecd60..a4526e64f61 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/WorkflowPortingBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/WorkflowPortingBlam.java @@ -28,16 +28,16 @@ import org.eclipse.osee.ats.api.user.AtsUser; import org.eclipse.osee.ats.api.util.IAtsChangeSet; import org.eclipse.osee.ats.api.workflow.IAtsTeamWorkflow; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; import org.eclipse.osee.ats.ide.world.AtsWorldEditorRenderer; import org.eclipse.osee.framework.core.data.ArtifactId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.enums.PresentationType; import org.eclipse.osee.framework.core.util.RendererOption; import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.jdk.core.util.Conditions; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -77,8 +77,8 @@ public class WorkflowPortingBlam extends AbstractBlam { List<AtsUser> assignees = sourceWorkflow.getStateMgr().getAssignees(); destinationWorkflow = AtsApiService.get().getActionService().createTeamWorkflow( - sourceWorkflow.getParentAction(), teamDefinition, actionableItems, assignees, changes, - createdDate, createdBy, null, CreateTeamOption.Duplicate_If_Exists); + sourceWorkflow.getParentAction(), teamDefinition, actionableItems, assignees, changes, createdDate, + createdBy, null, CreateTeamOption.Duplicate_If_Exists); changes.setName(destinationWorkflow, sourceWorkflow.getName()); changes.relate(sourceWorkflow, AtsRelationTypes.Port_To, destinationWorkflow); @@ -98,8 +98,8 @@ public class WorkflowPortingBlam extends AbstractBlam { private List<IAtsActionableItem> getActionableItems(IAtsActionableItem actionableItem) { List<IAtsActionableItem> actionableItems; if (actionableItem == null) { - actionableItems = new ArrayList<>( - AtsApiService.get().getActionableItemService().getActionableItems(sourceWorkflows.get(0))); + actionableItems = + new ArrayList<>(AtsApiService.get().getActionableItemService().getActionableItems(sourceWorkflows.get(0))); } else { actionableItems = java.util.Collections.singletonList(actionableItem); } @@ -117,13 +117,8 @@ public class WorkflowPortingBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS.Admin"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return java.util.Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_ADMIN, XNavItemCat.OSEE_ADMIN); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/OpenReviewPerspectiveHandler.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/OpenReviewPerspectiveHandler.java deleted file mode 100644 index f2c159eda04..00000000000 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/OpenReviewPerspectiveHandler.java +++ /dev/null @@ -1,31 +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.ats.ide.actions; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.osee.ats.ide.workflow.review.ReviewPerspective; -import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; - -/** - * @author Donald G. Dunne - */ -public class OpenReviewPerspectiveHandler extends AbstractHandler { - - @Override - public Object execute(ExecutionEvent event) { - AWorkbench.openPerspective(ReviewPerspective.ID); - return null; - } -} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/newaction/CreateNewActionBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/newaction/CreateNewActionBlam.java index 714a088951a..a6416a2ace9 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/newaction/CreateNewActionBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/newaction/CreateNewActionBlam.java @@ -13,6 +13,7 @@ package org.eclipse.osee.ats.ide.actions.newaction; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Date; @@ -42,12 +43,12 @@ import org.eclipse.osee.ats.ide.util.widgets.XActionableItemWidget; import org.eclipse.osee.ats.ide.workflow.ATSXWidgetOptionResolver; import org.eclipse.osee.ats.ide.workflow.cr.CreateNewChangeRequestBlam; import org.eclipse.osee.framework.core.data.AttributeTypeToken; -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.Strings; import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.widgets.XArtifactTypeComboViewer; @@ -368,13 +369,8 @@ public class CreateNewActionBlam extends AbstractBlam implements INewActionListe } @Override - public boolean showInBlamSection() { - return false; - } - - @Override - public Collection<String> getCategoriesStr() { - return Collections.singleton("ATS"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavItemCat.TOP_NEW, XNavItemCat.OSEE_ADMIN); } @Override @@ -391,11 +387,6 @@ public class CreateNewActionBlam extends AbstractBlam implements INewActionListe return actionResult; } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.emptyList(); - } - protected void addWidgetAfterPriority() { // For sub-class extension } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/AgileNavigateItemProvider.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/AgileNavigateItemProvider.java new file mode 100644 index 00000000000..46086adec7c --- /dev/null +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/AgileNavigateItemProvider.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2021 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.agile.navigate; + +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat.SUBCAT; +import java.util.List; +import java.util.logging.Level; +import org.eclipse.osee.ats.api.data.AtsArtifactImages; +import org.eclipse.osee.ats.api.util.AtsImage; +import org.eclipse.osee.ats.core.agile.AgileUtil; +import org.eclipse.osee.ats.ide.AtsArtifactImageProvider; +import org.eclipse.osee.ats.ide.internal.Activator; +import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; +import org.eclipse.osee.ats.ide.navigate.ConvertVersionToAgileSprint; +import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; +import org.eclipse.osee.framework.jdk.core.util.ElapsedTime; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemFolder; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemProvider; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; +import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam; + +/** + * @author Donald G. Dunne + */ +public class AgileNavigateItemProvider implements XNavigateItemProvider { + + public static final XNavItemCat AGILE = new XNavItemCat("Agile"); + public static final XNavItemCat AGILE_REPORTS = new XNavItemCat("Agile.Reports"); + public static final XNavItemCat AGILE_CONFIG = new XNavItemCat("Agile.Configuration"); + public static final XNavItemCat AGILE_CONVERSIONS = new XNavItemCat("Agile.Conversions"); + + @Override + public boolean isApplicable() { + return AgileUtil.isAgileUser(AtsApiService.get()); + } + + @Override + public List<XNavigateItem> getNavigateItems(List<XNavigateItem> items) { + ElapsedTime time = new ElapsedTime("NVI - agile section", AtsNavigateViewItems.debug); + try { + + items.add(new XNavigateItemFolder(AGILE.getName(), + AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_TEAM), XNavItemCat.MID)); + + items.add(new XNavigateItemFolder("Reports", AtsImage.REPORT, AGILE_REPORTS, SUBCAT)); + items.add(new XNavigateItemFolder("Configuration", FrameworkImage.GEAR, AGILE_CONFIG, SUBCAT)); + items.add(new XNavigateItemFolder("Conversions", FrameworkImage.VERSION, AGILE_CONVERSIONS, SUBCAT)); + + items.add(new OpenAgileBacklog()); + items.add(new OpenAgileSprint()); + items.add(new SortAgileBacklog()); + + // Reports + items.add(new OpenAgileSprintReports()); + items.add(new OpenAgileStoredSprintReports()); + items.add(new XNavigateItemBlam(new SyncJiraAndOseeByEpicBlam(), AGILE_REPORTS)); + + // Configs + items.add(new CreateNewAgileTeam()); + items.add(new CreateNewAgileFeatureGroup()); + items.add(new CreateNewAgileSprint()); + items.add(new CreateNewAgileBacklog()); + + // Conversions + items.add(new ConvertVersionToAgileSprint()); + + } catch (OseeCoreException ex) { + OseeLog.log(Activator.class, Level.SEVERE, "Can't create Agile section"); + } + time.end(); + return items; + } + +} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileBacklog.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileBacklog.java index c87354c4390..d106b6280b3 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileBacklog.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileBacklog.java @@ -35,7 +35,6 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; 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; import org.eclipse.osee.framework.ui.skynet.ArtifactLabelProvider; import org.eclipse.osee.framework.ui.skynet.cm.OseeCmEditor; @@ -48,9 +47,9 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeArtifactD */ public class CreateNewAgileBacklog extends XNavigateItemAction { - public CreateNewAgileBacklog(XNavigateItem parent) { - super(parent, "Create new Agile Backlog", - AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_BACKLOG)); + public CreateNewAgileBacklog() { + super("Create new Agile Backlog", AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_BACKLOG), + AgileNavigateItemProvider.AGILE_CONFIG); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileFeatureGroup.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileFeatureGroup.java index d738fff5e14..c20dffb06c2 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileFeatureGroup.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileFeatureGroup.java @@ -35,7 +35,6 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; 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; import org.eclipse.osee.framework.ui.skynet.ArtifactLabelProvider; import org.eclipse.osee.framework.ui.skynet.cm.OseeCmEditor; @@ -48,9 +47,10 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeArtifactD */ public class CreateNewAgileFeatureGroup extends XNavigateItemAction { - public CreateNewAgileFeatureGroup(XNavigateItem parent) { - super(parent, "Create new Agile Feature Group", - AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_FEATURE_GROUP)); + public CreateNewAgileFeatureGroup() { + super("Create new Agile Feature Group", + AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_FEATURE_GROUP), + AgileNavigateItemProvider.AGILE_CONFIG); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileSprint.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileSprint.java index 1a655c84676..fcf9704e7df 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileSprint.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileSprint.java @@ -35,7 +35,6 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; 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; import org.eclipse.osee.framework.ui.skynet.ArtifactLabelProvider; import org.eclipse.osee.framework.ui.skynet.cm.OseeCmEditor; @@ -48,8 +47,9 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeArtifactD */ public class CreateNewAgileSprint extends XNavigateItemAction { - public CreateNewAgileSprint(XNavigateItem parent) { - super(parent, "Create new Agile Sprint", AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_SPRINT)); + public CreateNewAgileSprint() { + super("Create new Agile Sprint", AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_SPRINT), + AgileNavigateItemProvider.AGILE_CONFIG); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileTeam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileTeam.java index d11ac26a888..3529bceb8ec 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileTeam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/CreateNewAgileTeam.java @@ -29,7 +29,6 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; 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; import org.eclipse.osee.framework.ui.skynet.cm.OseeCmEditor; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog; @@ -39,8 +38,9 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog; */ public class CreateNewAgileTeam extends XNavigateItemAction { - public CreateNewAgileTeam(XNavigateItem parent) { - super(parent, "Create new Agile Team", AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_TEAM)); + public CreateNewAgileTeam() { + super("Create new Agile Team", AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_TEAM), + AgileNavigateItemProvider.AGILE_CONFIG); } @Override @@ -59,8 +59,7 @@ public class CreateNewAgileTeam extends XNavigateItemAction { } if (entity != null) { JaxAgileTeam team = (JaxAgileTeam) entity; - Artifact teamArt = - ArtifactQuery.getArtifactFromId(team.getId(), AtsApiService.get().getAtsBranch()); + Artifact teamArt = ArtifactQuery.getArtifactFromId(team.getId(), AtsApiService.get().getAtsBranch()); teamArt.getParent().reloadAttributesAndRelations(); AtsEditors.openArtifact(teamArt, OseeCmEditor.CmPcrEditor); } else { diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileBacklog.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileBacklog.java index 62d942b09ec..b1e341a9154 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileBacklog.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileBacklog.java @@ -27,7 +27,6 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; 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; import org.eclipse.osee.framework.ui.skynet.ArtifactLabelProvider; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.ArtifactTreeContentProvider; @@ -38,8 +37,9 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeArtifactD */ public class OpenAgileBacklog extends XNavigateItemAction { - public OpenAgileBacklog(XNavigateItem parent) { - super(parent, "Open Agile Backlog", AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_BACKLOG)); + public OpenAgileBacklog() { + super("Open Agile Backlog", AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_BACKLOG), + AgileNavigateItemProvider.AGILE); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileSprint.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileSprint.java index 69b428928f4..40eeb1f140f 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileSprint.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileSprint.java @@ -33,7 +33,6 @@ import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; 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; import org.eclipse.osee.framework.ui.skynet.ArtifactLabelProvider; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.ArtifactTreeContentProvider; @@ -44,8 +43,9 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeArtifactD */ public class OpenAgileSprint extends XNavigateItemAction { - public OpenAgileSprint(XNavigateItem parent) { - super(parent, "Open Agile Sprint", AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_SPRINT)); + public OpenAgileSprint() { + super("Open Agile Sprint", AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_SPRINT), + AgileNavigateItemProvider.AGILE); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileSprintReports.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileSprintReports.java index bcc408dfacf..e24658930be 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileSprintReports.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileSprintReports.java @@ -28,7 +28,6 @@ import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; 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; import org.eclipse.osee.framework.ui.skynet.ArtifactLabelProvider; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.ArtifactTreeContentProvider; @@ -39,8 +38,8 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeArtifactD */ public class OpenAgileSprintReports extends XNavigateItemAction { - public OpenAgileSprintReports(XNavigateItem parent) { - super(parent, "Open Agile Sprint Reports", AtsImage.REPORT); + public OpenAgileSprintReports() { + super("Open Agile Sprint Reports", AtsImage.REPORT, AgileNavigateItemProvider.AGILE_REPORTS); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileStoredSprintReports.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileStoredSprintReports.java index f1f432858b7..3d8544d3ef3 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileStoredSprintReports.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/OpenAgileStoredSprintReports.java @@ -28,7 +28,6 @@ import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; 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; import org.eclipse.osee.framework.ui.skynet.ArtifactLabelProvider; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.ArtifactTreeContentProvider; @@ -39,8 +38,8 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeArtifactD */ public class OpenAgileStoredSprintReports extends XNavigateItemAction { - public OpenAgileStoredSprintReports(XNavigateItem parent) { - super(parent, "Open Agile Stored Sprint Reports", AtsImage.REPORT); + public OpenAgileStoredSprintReports() { + super("Open Agile Stored Sprint Reports", AtsImage.REPORT, AgileNavigateItemProvider.AGILE_REPORTS); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/SortAgileBacklog.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/SortAgileBacklog.java index fe3f9d9911d..8d71e1819a4 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/SortAgileBacklog.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/SortAgileBacklog.java @@ -37,7 +37,6 @@ import org.eclipse.osee.framework.jdk.core.util.AXml; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; 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; import org.eclipse.osee.framework.ui.skynet.ArtifactLabelProvider; import org.eclipse.osee.framework.ui.skynet.compare.CompareHandler; @@ -55,8 +54,9 @@ public class SortAgileBacklog extends XNavigateItemAction { private AtsApiIde atsApi; private final boolean debug = false; - public SortAgileBacklog(XNavigateItem parent) { - super(parent, "Sort Agile Backlog", AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_BACKLOG)); + public SortAgileBacklog() { + super("Sort Agile Backlog", AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_BACKLOG), + AgileNavigateItemProvider.AGILE); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/SyncJiraAndOseeByEpicBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/SyncJiraAndOseeByEpicBlam.java index f64cc9df9d4..099651e631f 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/SyncJiraAndOseeByEpicBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/agile/navigate/SyncJiraAndOseeByEpicBlam.java @@ -12,17 +12,16 @@ **********************************************************************/ package org.eclipse.osee.ats.ide.agile.navigate; +import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.ats.api.agile.jira.JiraByEpicData; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.operation.AbstractOperation; import org.eclipse.osee.framework.core.operation.IOperation; import org.eclipse.osee.framework.core.operation.OperationLogger; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.results.XResultDataUI; @@ -57,8 +56,8 @@ public class SyncJiraAndOseeByEpicBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Collections.singletonList("Agile"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AgileNavigateItemProvider.AGILE); } @Override @@ -77,9 +76,4 @@ public class SyncJiraAndOseeByEpicBlam extends AbstractBlam { + "Report should have Summary, AMS id, Epic Link, Description, Status, Story Points columns"; } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/CreateAtsBaselineBranchBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/CreateAtsBaselineBranchBlam.java index 8c8a1770a35..678e7c0b84d 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/CreateAtsBaselineBranchBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/CreateAtsBaselineBranchBlam.java @@ -14,18 +14,17 @@ package org.eclipse.osee.ats.ide.branch; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.ats.api.branch.BranchData; import org.eclipse.osee.ats.api.data.AtsArtifactToken; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.framework.core.data.ArtifactToken; import org.eclipse.osee.framework.core.data.BranchToken; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.enums.BranchType; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.skynet.core.UserManager; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.results.XResultDataUI; @@ -44,11 +43,6 @@ public class CreateAtsBaselineBranchBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS.Admin"); - } - - @Override public String getDescriptionUsage() { return "Create an ATS Basline Branch including access control and setting associated artifact."; } @@ -109,8 +103,8 @@ public class CreateAtsBaselineBranchBlam extends AbstractBlam { } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.OseeAdmin); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_ADMIN, XNavItemCat.OSEE_ADMIN); } } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/AtsConfig2ExampleNavigateItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/AtsConfig2ExampleNavigateItem.java index e48c0cae32c..089ab31c92f 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/AtsConfig2ExampleNavigateItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/AtsConfig2ExampleNavigateItem.java @@ -21,13 +21,13 @@ import org.eclipse.osee.framework.ui.skynet.FrameworkImage; /** * Create ATS Configuration. See {@link AtsConfig2DataExample} for details. - * + * * @author Donald G. Dunne */ public class AtsConfig2ExampleNavigateItem extends XNavigateItemAction { - public AtsConfig2ExampleNavigateItem(XNavigateItem parent) { - super(parent, "AtsConfig2 Example Configuration", FrameworkImage.GEAR); + public AtsConfig2ExampleNavigateItem() { + super("AtsConfig2 Example Configuration", FrameworkImage.GEAR, XNavigateItem.DEMO); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/copy/CopyAtsConfigurationBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/copy/CopyAtsConfigurationBlam.java index 9e32ba4b546..47de2cc4fd5 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/copy/CopyAtsConfigurationBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/copy/CopyAtsConfigurationBlam.java @@ -15,19 +15,18 @@ package org.eclipse.osee.ats.ide.config.copy; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.ats.api.ai.IAtsActionableItem; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.widgets.XActionableItemCombo; import org.eclipse.osee.ats.ide.util.widgets.XTeamDefinitionCombo; -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.plugin.core.util.Jobs; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCache; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.results.XResultDataUI; @@ -116,11 +115,6 @@ public class CopyAtsConfigurationBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS.Admin"); - } - - @Override public void widgetCreated(XWidget xWidget, FormToolkit toolkit, Artifact art, SwtXWidgetRenderer dynamicXWidgetLayout, XModifiedListener modListener, boolean isEditable) { super.widgetCreated(xWidget, toolkit, art, dynamicXWidgetLayout, modListener, isEditable); if (xWidget.getLabel().equals("Top Team Definition to Copy From (most like new config)")) { @@ -132,8 +126,8 @@ public class CopyAtsConfigurationBlam extends AbstractBlam { } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_ADMIN, XNavItemCat.OSEE_ADMIN); } } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/editor/AtsConfigResultsEditorNavigateItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/editor/AtsConfigResultsEditorNavigateItem.java index 1ae85d1bd5c..803da61ee5a 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/editor/AtsConfigResultsEditorNavigateItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/editor/AtsConfigResultsEditorNavigateItem.java @@ -22,9 +22,9 @@ import org.eclipse.osee.ats.api.IAtsConfigObject; import org.eclipse.osee.ats.api.util.AtsImage; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.framework.core.operation.Operations; 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; /** @@ -32,8 +32,8 @@ import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction; */ public class AtsConfigResultsEditorNavigateItem extends XNavigateItemAction { - public AtsConfigResultsEditorNavigateItem(XNavigateItem parent) { - super(parent, "ATS Config Viewer", AtsImage.REPORT); + public AtsConfigResultsEditorNavigateItem() { + super("ATS Config Viewer", AtsImage.REPORT, AtsNavigateViewItems.ATS_UTIL); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/CreateNewVersionItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/CreateNewVersionItem.java index 5ff662d59ba..c69086f47b8 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/CreateNewVersionItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/CreateNewVersionItem.java @@ -28,6 +28,7 @@ import org.eclipse.osee.ats.core.util.AtsRelationChange; import org.eclipse.osee.ats.core.util.AtsRelationChange.RelationOperation; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.widgets.dialog.TeamDefinitionDialog; import org.eclipse.osee.framework.core.data.ArtifactToken; import org.eclipse.osee.framework.core.enums.Active; @@ -37,8 +38,8 @@ 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.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.artifact.massEditor.MassArtifactEditor; @@ -57,10 +58,13 @@ public class CreateNewVersionItem extends XNavigateItemAction { /** * @param teamDefHoldingVersions Team Definition Artifact that is related to versions or null for popup selection */ - public CreateNewVersionItem(XNavigateItem parent, IAtsTeamDefinition teamDefHoldingVersions) { - super(parent, - "Create New " + (teamDefHoldingVersions != null ? teamDefHoldingVersions + " " : "") + "Version(s) (Admin)", - FrameworkImage.VERSION); + public CreateNewVersionItem(IAtsTeamDefinition teamDefHoldingVersions) { + this(teamDefHoldingVersions, AtsNavigateViewItems.ATS_VERSIONS); + } + + public CreateNewVersionItem(IAtsTeamDefinition teamDefHoldingVersions, XNavItemCat xNavItemCat) { + super("Create New " + (teamDefHoldingVersions != null ? teamDefHoldingVersions + " " : "") + "Version(s) (Admin)", + FrameworkImage.VERSION, xNavItemCat); this.teamDefHoldingVersions = teamDefHoldingVersions; } @@ -96,8 +100,7 @@ public class CreateNewVersionItem extends XNavigateItemAction { } changes.execute(); if (newVersions.size() == 1) { - RendererManager.open( - AtsApiService.get().getQueryServiceIde().getArtifact(newVersions.iterator().next()), + RendererManager.open(AtsApiService.get().getQueryServiceIde().getArtifact(newVersions.iterator().next()), PresentationType.DEFAULT_OPEN); } else { Collection<ArtifactToken> artToks = diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/GenerateFullVersionReportItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/GenerateFullVersionReportItem.java index f5a262a0f1e..fe80725bcb9 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/GenerateFullVersionReportItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/GenerateFullVersionReportItem.java @@ -22,6 +22,7 @@ import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.widgets.dialog.TeamDefinitionDialog; import org.eclipse.osee.framework.core.enums.Active; import org.eclipse.osee.framework.jdk.core.result.Manipulations; @@ -31,7 +32,6 @@ import org.eclipse.osee.framework.jdk.core.util.DateUtil; import org.eclipse.osee.framework.logging.OseeLevel; 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; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; @@ -44,8 +44,8 @@ public class GenerateFullVersionReportItem extends XNavigateItemAction { private final IAtsTeamDefinition teamDef; - public GenerateFullVersionReportItem(XNavigateItem parent) { - super(parent, "Generate Full Version Report", FrameworkImage.VERSION); + public GenerateFullVersionReportItem() { + super("Generate Full Version Report", FrameworkImage.VERSION, AtsNavigateViewItems.ATS_VERSIONS); this.teamDef = null; } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/GenerateVersionReportItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/GenerateVersionReportItem.java index 65e2f9d83a0..e16d919fc69 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/GenerateVersionReportItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/GenerateVersionReportItem.java @@ -15,10 +15,10 @@ package org.eclipse.osee.ats.ide.config.version; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.osee.ats.api.version.IAtsVersion; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.widgets.dialog.TeamVersionListDialog; import org.eclipse.osee.framework.core.enums.Active; 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; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; @@ -27,8 +27,8 @@ import org.eclipse.osee.framework.ui.skynet.FrameworkImage; */ public class GenerateVersionReportItem extends XNavigateItemAction { - public GenerateVersionReportItem(XNavigateItem parent) { - super(parent, "Generate Version Report", FrameworkImage.VERSION); + public GenerateVersionReportItem() { + super("Generate Version Report", FrameworkImage.VERSION, AtsNavigateViewItems.ATS_VERSIONS); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/MassEditTeamVersionItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/MassEditTeamVersionItem.java index cd5eab0e381..5bb01acee75 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/MassEditTeamVersionItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/MassEditTeamVersionItem.java @@ -20,6 +20,7 @@ import org.eclipse.osee.ats.api.util.AtsImage; import org.eclipse.osee.ats.api.version.IAtsVersion; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.widgets.dialog.TeamDefinitionDialog; import org.eclipse.osee.framework.core.data.ArtifactToken; import org.eclipse.osee.framework.core.enums.Active; @@ -29,7 +30,6 @@ import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; 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; import org.eclipse.osee.framework.ui.skynet.artifact.massEditor.MassArtifactEditor; import org.eclipse.osee.framework.ui.swt.KeyedImage; @@ -41,12 +41,12 @@ public class MassEditTeamVersionItem extends XNavigateItemAction { private IAtsTeamDefinition selectedTeamDef; - public MassEditTeamVersionItem(String name, XNavigateItem parent, KeyedImage oseeImage) { - super(parent, name, oseeImage); + public MassEditTeamVersionItem(String name, KeyedImage oseeImage) { + super(name, oseeImage, AtsNavigateViewItems.ATS_VERSIONS_ADMIN); } - public MassEditTeamVersionItem(String name, XNavigateItem parent, AtsImage oseeImage) { - super(parent, name, oseeImage); + public MassEditTeamVersionItem(String name, AtsImage oseeImage) { + super(name, oseeImage, AtsNavigateViewItems.ATS_VERSIONS_ADMIN); } private IAtsTeamDefinition getTeamDefinition() { diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/ParallelConfigurationView.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/ParallelConfigurationView.java index a14632887ee..af1e2f727f8 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/ParallelConfigurationView.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/ParallelConfigurationView.java @@ -23,14 +23,14 @@ import org.eclipse.nebula.widgets.xviewer.core.model.SortDataType; import org.eclipse.nebula.widgets.xviewer.core.model.XViewerAlign; import org.eclipse.nebula.widgets.xviewer.core.model.XViewerColumn; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.util.AtsImage; import org.eclipse.osee.ats.api.version.IAtsVersion; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.widgets.dialog.TeamDefinitionDialog; import org.eclipse.osee.framework.core.data.BranchId; import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; -import org.eclipse.osee.framework.ui.plugin.PluginUiImage; 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; import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorProvider; import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorTab; @@ -53,8 +53,8 @@ public class ParallelConfigurationView extends XNavigateItemAction { Released; }; - public ParallelConfigurationView(XNavigateItem parent) { - super(parent, TITLE, PluginUiImage.ADMIN); + public ParallelConfigurationView() { + super(TITLE, AtsImage.VERSION, AtsNavigateViewItems.ATS_VERSIONS); } @Override @@ -96,8 +96,8 @@ public class ParallelConfigurationView extends XNavigateItemAction { } List<XViewerColumn> columns = Arrays.asList( - new XViewerColumn(Columns.AtsVersion.name(), Columns.AtsVersion.name(), 260, XViewerAlign.Left, true, SortDataType.String, - false, ""), + new XViewerColumn(Columns.AtsVersion.name(), Columns.AtsVersion.name(), 260, XViewerAlign.Left, true, + SortDataType.String, false, ""), new XViewerColumn(Columns.Branch.name(), Columns.Branch.name(), 260, XViewerAlign.Left, true, SortDataType.String, false, ""), new XViewerColumn(Columns.AllowCreate.name(), Columns.AllowCreate.name(), 126, XViewerAlign.Left, true, diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/ReleaseVersionItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/ReleaseVersionItem.java index 8b147326f41..11e330100ac 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/ReleaseVersionItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/config/version/ReleaseVersionItem.java @@ -24,14 +24,15 @@ import org.eclipse.osee.ats.api.version.VersionReleaseType; 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.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.widgets.dialog.TeamDefinitionDialog; import org.eclipse.osee.ats.ide.util.widgets.dialog.VersionListDialog; import org.eclipse.osee.framework.core.enums.Active; import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.swt.Displays; @@ -47,10 +48,13 @@ public class ReleaseVersionItem extends XNavigateItemAction { /** * @param teamDefHoldingVersions Team Definition Artifact that is related to versions or null for popup selection */ - public ReleaseVersionItem(XNavigateItem parent, IAtsTeamDefinition teamDefHoldingVersions) { - super(parent, - "Release " + (teamDefHoldingVersions != null ? teamDefHoldingVersions + " " : "") + "Version (Admin)", - FrameworkImage.VERSION); + public ReleaseVersionItem(IAtsTeamDefinition teamDefHoldingVersions) { + this(teamDefHoldingVersions, AtsNavigateViewItems.ATS_VERSIONS_ADMIN); + } + + public ReleaseVersionItem(IAtsTeamDefinition teamDefHoldingVersions, XNavItemCat xNavItemCat) { + super("Release " + (teamDefHoldingVersions != null ? teamDefHoldingVersions + " " : "") + "Version (Admin)", + FrameworkImage.VERSION, xNavItemCat); this.teamDefHoldingVersions = teamDefHoldingVersions; } @@ -62,8 +66,8 @@ public class ReleaseVersionItem extends XNavigateItemAction { } try { VersionListDialog dialog = new VersionListDialog("Select Version", "Select Version to Release", - AtsApiService.get().getVersionService().getVersions(teamDefHoldingVersions, - VersionReleaseType.UnReleased, VersionLockedType.Both)); + AtsApiService.get().getVersionService().getVersions(teamDefHoldingVersions, VersionReleaseType.UnReleased, + VersionLockedType.Both)); int result = dialog.open(); if (result == 0) { IAtsVersion version = dialog.getSelectedFirst(); @@ -77,8 +81,7 @@ public class ReleaseVersionItem extends XNavigateItemAction { } // Validate that all Team Workflows are Completed or Cancelled String errorStr = null; - for (IAtsTeamWorkflow team : AtsApiService.get().getVersionService().getTargetedForTeamWorkflows( - version)) { + for (IAtsTeamWorkflow team : AtsApiService.get().getVersionService().getTargetedForTeamWorkflows(version)) { if (!team.getStateMgr().getStateType().isCancelled() && !team.getStateMgr().getStateType().isCompleted()) { errorStr = "All Team Workflows must be either Completed or " + "Cancelled before releasing a version.\n\n" + team.getAtsId() + " - is in the\"" + team.getStateMgr().getCurrentStateName() + "\" state."; diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/ev/EvNavigateItems.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/ev/EvNavigateItems.java deleted file mode 100644 index 231629052fd..00000000000 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/ev/EvNavigateItems.java +++ /dev/null @@ -1,44 +0,0 @@ -/********************************************************************* - * Copyright (c) 2013 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.ev; - -import java.util.List; -import java.util.logging.Level; -import org.eclipse.osee.ats.api.util.AtsImage; -import org.eclipse.osee.ats.ide.internal.Activator; -import org.eclipse.osee.ats.ide.navigate.SearchNavigateItem; -import org.eclipse.osee.ats.ide.world.search.AtsSearchWorkPackageSearchItem; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction; - -/** - * @author Donald G. Dunne - */ -public class EvNavigateItems { - - public static void createSection(XNavigateItem parent, List<XNavigateItem> items) { - try { - XNavigateItem evItems = new XNavigateItem(parent, "Earned Value", AtsImage.E_BOXED); - new XNavigateItemAction(evItems, new OpenWorkPackageByIdAction(), AtsImage.WORK_PACKAGE); - new WorkPackageConfigReport(evItems); - new WorkPackageQBDReport(evItems); - new SearchNavigateItem(evItems, new AtsSearchWorkPackageSearchItem()); - items.add(evItems); - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.SEVERE, "Can't create Goals section"); - } - } - -} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/ev/WorkPackageConfigReport.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/ev/WorkPackageConfigReport.java index 7cf276abe67..1f15d5cfcca 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/ev/WorkPackageConfigReport.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/ev/WorkPackageConfigReport.java @@ -18,10 +18,10 @@ import java.util.Arrays; import java.util.LinkedList; import java.util.List; import org.eclipse.nebula.widgets.xviewer.core.model.XViewerColumn; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.framework.jdk.core.util.DateUtil; import org.eclipse.osee.framework.ui.plugin.PluginUiImage; 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; import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorProvider; import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorTab; @@ -37,8 +37,8 @@ public class WorkPackageConfigReport extends XNavigateItemAction { public static final String TITLE = "Work Package Config Report"; - public WorkPackageConfigReport(XNavigateItem parent) { - super(parent, TITLE, PluginUiImage.ADMIN); + public WorkPackageConfigReport() { + super(TITLE, PluginUiImage.ADMIN, AtsNavigateViewItems.ATS_EARNED_VALUE); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/ev/WorkPackageQBDReport.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/ev/WorkPackageQBDReport.java index e11a51c98b1..7179a673f39 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/ev/WorkPackageQBDReport.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/ev/WorkPackageQBDReport.java @@ -22,6 +22,7 @@ import org.eclipse.osee.ats.api.ev.IAtsWorkPackage; import org.eclipse.osee.ats.api.util.AtsImage; import org.eclipse.osee.ats.ide.column.WorkPackageFilterTreeDialog; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.world.IWorldEditorProvider; import org.eclipse.osee.ats.ide.world.WorldEditor; import org.eclipse.osee.ats.ide.world.WorldEditorSimpleSearchProvider; @@ -31,7 +32,6 @@ import org.eclipse.osee.framework.core.data.ArtifactToken; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; 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; /** @@ -42,8 +42,8 @@ public class WorkPackageQBDReport extends XNavigateItemAction implements IWorldE public static final String TITLE = "Work Package QBD Report"; private IAtsWorkPackage selectedWorkPackage; - public WorkPackageQBDReport(XNavigateItem parent) { - super(parent, TITLE, AtsImage.WORK_PACKAGE); + public WorkPackageQBDReport() { + super(TITLE, AtsImage.WORK_PACKAGE, AtsNavigateViewItems.ATS_EARNED_VALUE); } @Override @@ -69,8 +69,7 @@ public class WorkPackageQBDReport extends XNavigateItemAction implements IWorldE List<ArtifactToken> workItemTokens = ArtifactQuery.getArtifactTokenListFromSoleAttributeInherited( AtsArtifactTypes.AbstractWorkflowArtifact, AtsAttributeTypes.WorkPackageReference, selectedWorkPackage.getIdString(), AtsApiService.get().getAtsBranch()); - List<Artifact> workItems = - ArtifactQuery.getArtifactListFrom(workItemTokens, AtsApiService.get().getAtsBranch()); + List<Artifact> workItems = ArtifactQuery.getArtifactListFrom(workItemTokens, AtsApiService.get().getAtsBranch()); return workItems; } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/export/AtsExportAction.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/export/AtsExportAction.java index 4d9c48350db..29d061e54d9 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/export/AtsExportAction.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/export/AtsExportAction.java @@ -18,6 +18,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import org.eclipse.jface.action.Action; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.ats.ide.actions.ISelectedAtsArtifacts; import org.eclipse.osee.ats.ide.editor.tab.workflow.util.WfePrint; import org.eclipse.osee.ats.ide.workflow.AbstractWorkflowArtifact; @@ -50,7 +51,6 @@ public class AtsExportAction extends Action { public AtsExportAction(ISelectedAtsArtifacts selected) { this.selected = selected; setText("Export Selected ATS Artifacts"); - setImageDescriptor(ImageManager.getImageDescriptor(FrameworkImage.EXPORT_DATA)); } public enum ExportOption { @@ -143,4 +143,8 @@ public class AtsExportAction extends Action { this.popup = popup; } + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.EXPORT); + } } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/export/AtsExportBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/export/AtsExportBlam.java index 564f6d51d14..109eb1deb15 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/export/AtsExportBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/export/AtsExportBlam.java @@ -17,14 +17,13 @@ import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.ats.ide.export.AtsExportAction.ExportOption; import org.eclipse.osee.ats.ide.internal.Activator; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.workflow.AbstractWorkflowArtifact; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.operation.AbstractOperation; import org.eclipse.osee.framework.core.operation.IOperation; import org.eclipse.osee.framework.core.operation.OperationLogger; @@ -34,6 +33,8 @@ 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.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.BlamEditor; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -41,6 +42,8 @@ import org.eclipse.osee.framework.ui.skynet.widgets.XListDropViewer; import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; import org.eclipse.ui.forms.widgets.FormToolkit; /** @@ -93,11 +96,6 @@ public class AtsExportBlam extends AbstractBlam { return sb.toString(); } - @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS"); - } - public Result isEntryValid(VariableMap variableMap) { List<Artifact> artifacts = variableMap.getArtifacts(ARTIFACTS); @@ -176,8 +174,18 @@ public class AtsExportBlam extends AbstractBlam { } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_UTIL); + } + + @Override + public Image getImage() { + return ImageManager.getImage(FrameworkImage.EXPORT); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.EXPORT); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/health/AtsHealthCheckNavigateItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/health/AtsHealthCheckNavigateItem.java index 45541009172..6b99e1e8a32 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/health/AtsHealthCheckNavigateItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/health/AtsHealthCheckNavigateItem.java @@ -13,21 +13,26 @@ package org.eclipse.osee.ats.ide.health; +import java.util.Arrays; +import java.util.Collection; 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.core.runtime.jobs.Job; import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.osee.ats.api.data.AtsUserGroups; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.jdk.core.result.XResultData; import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.plugin.core.util.Jobs; -import org.eclipse.osee.framework.ui.plugin.PluginUiImage; 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.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; import org.eclipse.osee.framework.ui.swt.Displays; @@ -36,8 +41,8 @@ import org.eclipse.osee.framework.ui.swt.Displays; */ public class AtsHealthCheckNavigateItem extends XNavigateItem { - public AtsHealthCheckNavigateItem(XNavigateItem parent) { - super(parent, "ATS Health Check", PluginUiImage.ADMIN); + public AtsHealthCheckNavigateItem() { + super("ATS Health Check", FrameworkImage.HEALTH, AtsNavigateViewItems.ATS_HEALTH); } @Override @@ -72,4 +77,10 @@ public class AtsHealthCheckNavigateItem extends XNavigateItem { return Status.OK_STATUS; } } + + @Override + public Collection<IUserGroupArtifactToken> getUserGroups() { + return Arrays.asList(AtsUserGroups.AtsAdmin); + } + } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ArtifactImpactToActionSearchItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ArtifactImpactToActionSearchItem.java index 9242942ff5a..e7734cf0fe2 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ArtifactImpactToActionSearchItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ArtifactImpactToActionSearchItem.java @@ -40,7 +40,6 @@ import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.revision.ChangeManager; import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; 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; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; @@ -55,8 +54,8 @@ public class ArtifactImpactToActionSearchItem extends XNavigateItemAction { private final static String TITLE = "Search Artifact Impact to Action"; - public ArtifactImpactToActionSearchItem(XNavigateItem parent) { - super(parent, TITLE, FrameworkImage.FLASHLIGHT); + public ArtifactImpactToActionSearchItem() { + super(TITLE, FrameworkImage.FLASHLIGHT, AtsNavigateViewItems.ATS_ADVANCED_SEARCHES); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsNavigateComposite.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsNavigateComposite.java index a568f473eb3..ee009175239 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsNavigateComposite.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsNavigateComposite.java @@ -24,9 +24,9 @@ import org.eclipse.osee.framework.core.data.CoreActivityTypes; import org.eclipse.osee.framework.core.util.Result; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.ui.plugin.xnavigate.NavigateItemCollector; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateViewItems; import org.eclipse.osee.framework.ui.skynet.util.DbConnectionUtility; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; @@ -37,8 +37,8 @@ import org.eclipse.swt.widgets.Label; */ public class AtsNavigateComposite extends XNavigateComposite { - public AtsNavigateComposite(XNavigateViewItems navigateViewItems, Composite parent, int style, String filterText) { - super(navigateViewItems, parent, style, filterText); + public AtsNavigateComposite(NavigateItemCollector navigateItemCollector, Composite parent, int style, String filterText) { + super(navigateItemCollector, parent, style, filterText); Result result = DbConnectionUtility.areOSEEServicesAvailable(); if (result.isFalse()) { new Label(parent, SWT.NONE).setText(result.getText()); diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsNavigateViewItems.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsNavigateViewItems.java new file mode 100644 index 00000000000..0711b8c1e5c --- /dev/null +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsNavigateViewItems.java @@ -0,0 +1,563 @@ +/********************************************************************* + * 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.navigate; + +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat.BOT; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat.MID_BOT; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat.MID_TOP; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat.OSEE_ADMIN; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat.SUBCAT; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat.TOP; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem.DEFINE; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem.EMAIL_NOTIFICATIONS; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem.OTE; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem.REPORTS; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem.TOP_ADMIN; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem.USER_MANAGEMENT; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem.USER_MANAGEMENT_ADMIN; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem.UTILITY; +import static org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem.UTILITY_EXAMPLES; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.logging.Level; +import org.eclipse.osee.ats.api.util.AtsImage; +import org.eclipse.osee.ats.api.workflow.WorkItemType; +import org.eclipse.osee.ats.core.agile.AgileUtil; +import org.eclipse.osee.ats.ide.actions.NewGoal; +import org.eclipse.osee.ats.ide.actions.OpenArtifactEditorById; +import org.eclipse.osee.ats.ide.actions.OpenOrphanedTasks; +import org.eclipse.osee.ats.ide.actions.OpenWorkflowByIdAction; +import org.eclipse.osee.ats.ide.actions.RevertDuplicateAtsTransitionByIdAction; +import org.eclipse.osee.ats.ide.actions.RevertDuplicateAtsTransitionsAction; +import org.eclipse.osee.ats.ide.actions.ValidatePeerDefectsAction; +import org.eclipse.osee.ats.ide.branch.CreateAtsBaselineBranchBlam; +import org.eclipse.osee.ats.ide.config.editor.AtsConfigResultsEditorNavigateItem; +import org.eclipse.osee.ats.ide.config.version.CreateNewVersionItem; +import org.eclipse.osee.ats.ide.config.version.GenerateFullVersionReportItem; +import org.eclipse.osee.ats.ide.config.version.GenerateVersionReportItem; +import org.eclipse.osee.ats.ide.config.version.MassEditTeamVersionItem; +import org.eclipse.osee.ats.ide.config.version.ParallelConfigurationView; +import org.eclipse.osee.ats.ide.config.version.ReleaseVersionItem; +import org.eclipse.osee.ats.ide.ev.OpenWorkPackageByIdAction; +import org.eclipse.osee.ats.ide.ev.WorkPackageConfigReport; +import org.eclipse.osee.ats.ide.ev.WorkPackageQBDReport; +import org.eclipse.osee.ats.ide.export.AtsExportAction; +import org.eclipse.osee.ats.ide.health.AtsHealthCheckNavigateItem; +import org.eclipse.osee.ats.ide.internal.Activator; +import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.EmailTeamsItem.MemberType; +import org.eclipse.osee.ats.ide.notify.EmailActionsBlam; +import org.eclipse.osee.ats.ide.operation.ConvertWorkflowStatesBlam; +import org.eclipse.osee.ats.ide.search.AtsQuickSearchOperationFactory; +import org.eclipse.osee.ats.ide.search.AtsSearchWorkflowSearchItem; +import org.eclipse.osee.ats.ide.util.AtsEditor; +import org.eclipse.osee.ats.ide.util.CleanupOseeSystemAssignedWorkflows; +import org.eclipse.osee.ats.ide.workdef.ValidateWorkDefinitionNavigateItem; +import org.eclipse.osee.ats.ide.workdef.editor.WorkDefinitionViewer; +import org.eclipse.osee.ats.ide.workflow.review.GenerateReviewParticipationReport; +import org.eclipse.osee.ats.ide.workflow.review.NewPeerToPeerReviewItem; +import org.eclipse.osee.ats.ide.world.search.AtsSearchGoalSearchItem; +import org.eclipse.osee.ats.ide.world.search.AtsSearchReviewSearchItem; +import org.eclipse.osee.ats.ide.world.search.AtsSearchTaskSearchItem; +import org.eclipse.osee.ats.ide.world.search.AtsSearchTeamWorkflowSearchItem; +import org.eclipse.osee.ats.ide.world.search.AtsSearchWorkPackageSearchItem; +import org.eclipse.osee.ats.ide.world.search.MultipleIdSearchData; +import org.eclipse.osee.ats.ide.world.search.MultipleIdSearchOperation; +import org.eclipse.osee.ats.ide.world.search.MyFavoritesSearchItem; +import org.eclipse.osee.ats.ide.world.search.MyReviewSearchItem; +import org.eclipse.osee.ats.ide.world.search.MySubscribedSearchItem; +import org.eclipse.osee.ats.ide.world.search.MyWorldSearchItem; +import org.eclipse.osee.ats.ide.world.search.NextVersionSearchItem; +import org.eclipse.osee.ats.ide.world.search.SearchTeamWorkflowsByProgramSearchItem; +import org.eclipse.osee.ats.ide.world.search.ShowOpenWorkflowsByReviewType; +import org.eclipse.osee.ats.ide.world.search.UserRelatedToAtsObjectSearch; +import org.eclipse.osee.ats.ide.world.search.VersionTargetedForTeamSearchItem; +import org.eclipse.osee.ats.ide.world.search.WorldSearchItem.LoadView; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; +import org.eclipse.osee.framework.core.enums.Active; +import org.eclipse.osee.framework.core.enums.CoreUserGroups; +import org.eclipse.osee.framework.core.operation.IOperation; +import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; +import org.eclipse.osee.framework.jdk.core.util.ElapsedTime; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.ui.plugin.PluginUiImage; +import org.eclipse.osee.framework.ui.plugin.xnavigate.IOperationFactory; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +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.XNavigateItemFolder; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemOperation; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemProvider; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; +import org.eclipse.osee.framework.ui.skynet.action.CompareTwoStringsAction; +import org.eclipse.osee.framework.ui.skynet.action.PurgeTransactionAction; +import org.eclipse.osee.framework.ui.skynet.action.XWidgetsDialogExampleAction; +import org.eclipse.osee.framework.ui.skynet.artifact.MassEditDirtyArtifactOperation; +import org.eclipse.osee.framework.ui.skynet.change.OpenChangeReportByTransactionIdAction; +import org.eclipse.osee.framework.ui.skynet.results.example.ResultsEditorExample; +import org.eclipse.osee.framework.ui.skynet.results.example.XResultDataDialogExample; +import org.eclipse.osee.framework.ui.skynet.results.example.XResultDataExample; +import org.eclipse.osee.framework.ui.skynet.results.example.XViewerExample; +import org.eclipse.osee.framework.ui.skynet.user.OpenUsersInMassEditor; +import org.eclipse.osee.framework.ui.skynet.util.email.EmailUserGroups; +import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam; + +/** + * Main ATS Navigate View items for OSEE Navigator. Other XNavigateItems can be provided through similar providers via + * extension points. + * + * @author Donald G. Dunne + */ +public final class AtsNavigateViewItems implements XNavigateItemProvider { + + public static final XNavItemCat GOALS = new XNavItemCat("Goals"); + + public static final XNavItemCat ATS = new XNavItemCat("ATS"); + public static final XNavItemCat ATS_IMPORT = new XNavItemCat("ATS.Import"); + public static final XNavItemCat ATS_UTIL = new XNavItemCat("ATS.Utility"); + public static final XNavItemCat ATS_ADMIN = new XNavItemCat("ATS.Admin"); + public static final XNavItemCat ATS_HEALTH = new XNavItemCat("ATS.Health"); + + public static final XNavItemCat ATS_VERSIONS = new XNavItemCat("ATS.Versions"); + public static final XNavItemCat ATS_VERSIONS_ADMIN = new XNavItemCat("ATS.Versions.Admin"); + + public static final XNavItemCat ATS_WORK_DEFINITION = new XNavItemCat("ATS.Work Definition"); + public static final XNavItemCat ATS_WORK_DEFINITION_ADMIN = new XNavItemCat("ATS.Work Definition.Admin"); + + public static final XNavItemCat ATS_EARNED_VALUE = new XNavItemCat("ATS.Earned Value"); + + public static final XNavItemCat ATS_ADVANCED_SEARCHES = new XNavItemCat("Advanced Searches"); + + public static final XNavItemCat REVIEW = new XNavItemCat("Review"); + + public static boolean debug = false; + private List<XNavigateItem> items; + + @Override + public boolean isApplicable() { + return true; + } + + @Override + public List<XNavigateItem> getNavigateItems(List<XNavigateItem> items) { + this.items = (items == null ? new ArrayList<XNavigateItem>() : items); + ElapsedTime time = new ElapsedTime("NVI - addAtsSectionChildren", debug); + try { + + // TOP + addTopSearchItems(); + + addAdvancedSearchesItems(); + + // Agile + + addEmailItems(); + + addReportItems(); + + addTraceItems(); + + addGoalItems(); + + addDefineItems(); + + addAtsItems(); + + addUtilItems(); + + addUserItems(); + + addReviewItems(); + + addEvNavigateItems(); + + addAdminItems(); + + addExampleItems(); + + addOteItems(); + } catch (OseeCoreException ex) { + OseeLog.log(Activator.class, Level.SEVERE, ex); + } + time.end(); + return items; + } + + private void addTopSearchItems() { + ElapsedTime time2 = new ElapsedTime("NVI - addAtsSectionChildren - My World", debug); + items.add(new SearchNavigateItem(new MyWorldSearchItem("My World", true), TOP)); + time2.end(); + + time2.start("NVI - addAtsSectionChildren - Recently Visited"); + items.add(new RecentlyVisitedNavigateItems(TOP)); + time2.end(); + + time2.start("NVI - addAtsSectionChildren - Search"); + items.add(new SearchNavigateItem(new AtsSearchWorkflowSearchItem(), TOP)); + time2.end(); + + time2.start("NVI - addAtsSectionChildren - Saved Srch"); + items.add(new SavedActionSearchNavigateItem(TOP)); + time2.end(); + + } + + private void addUserItems() { + ElapsedTime time = new ElapsedTime("NVI - addUserItems", debug); + + List<IUserGroupArtifactToken> adminOrUserMgmt = + Arrays.asList(CoreUserGroups.UserMgmtAdmin, CoreUserGroups.OseeAdmin); + + items.add(new XNavigateItemFolder(USER_MANAGEMENT.getName(), FrameworkImage.USER, adminOrUserMgmt, TOP)); + items.add(new XNavigateItemFolder("Admin", FrameworkImage.USER, adminOrUserMgmt, USER_MANAGEMENT_ADMIN, SUBCAT)); + + items.add(new XNavigateItemAction(new OpenUsersInMassEditor("Open Active Users", Active.Active), + FrameworkImage.ARTIFACT_SEARCH, adminOrUserMgmt, XNavigateItem.USER_MANAGEMENT, OSEE_ADMIN)); + items.add(new XNavigateItemAction(new OpenUsersInMassEditor("Open All Users", Active.Both), + FrameworkImage.ARTIFACT_SEARCH, adminOrUserMgmt, XNavigateItem.USER_MANAGEMENT, OSEE_ADMIN)); + + items.add(new CreateNewUsersByNameItem()); + + items.add(new SearchNavigateItem( + new UserRelatedToAtsObjectSearch("Admin - Show User Related Objects", null, false, LoadView.WorldEditor), + USER_MANAGEMENT_ADMIN, OSEE_ADMIN)); + items.add(new SearchNavigateItem( + new UserRelatedToAtsObjectSearch("Show Active User Related Objects", null, true, LoadView.WorldEditor), + USER_MANAGEMENT_ADMIN, OSEE_ADMIN)); + + time.end(); + } + + private void addDefineItems() { + ElapsedTime time = new ElapsedTime("NVI - addDefineItems", debug); + try { + items.add(new XNavigateItemFolder(DEFINE.getName(), FrameworkImage.LASER, TOP)); + items.add(new XNavigateItemFolder("Health", FrameworkImage.HEALTH, XNavigateItem.DEFINE_HEALTH, SUBCAT)); + items.add( + new XNavigateItemFolder("Admin", FrameworkImage.LASER, XNavigateItem.DEFINE_ADMIN, OSEE_ADMIN, SUBCAT)); + } catch (Exception ex) { + OseeLog.log(Activator.class, Level.SEVERE, ex); + } + time.end(); + } + + private void addOteItems() { + ElapsedTime time = new ElapsedTime("NVI - addOteItems", debug); + try { + items.add(new XNavigateItemFolder(OTE.getName(), FrameworkImage.TEST_PROCEDURE, XNavItemCat.MID_BOT)); + } catch (Exception ex) { + OseeLog.log(Activator.class, Level.SEVERE, ex); + } + time.end(); + } + + private void addAtsItems() { + ElapsedTime time = new ElapsedTime("NVI - addAtsItems", debug); + items.add(new XNavigateItemFolder(ATS.getName(), AtsImage.ATS, TOP)); + items.add(new XNavigateItemFolder("Utility", FrameworkImage.GEAR, ATS_UTIL, SUBCAT)); + items.add(new XNavigateItemFolder("Import", FrameworkImage.IMPORT, ATS_IMPORT, SUBCAT)); + items.add(new XNavigateItemFolder("Admin", PluginUiImage.ADMIN, ATS_ADMIN, SUBCAT, OSEE_ADMIN)); + + items.add(new AtsConfigResultsEditorNavigateItem()); + + items.add(new XNavigateItemAction(new AtsExportAction(), FrameworkImage.EXPORT, ATS_UTIL)); + + // Admin + items.add(new ClearAtsConfigCache()); + items.add(new XNavigateItemAction(new OpenOrphanedTasks(), AtsImage.TASK, ATS_ADMIN, OSEE_ADMIN)); + items.add( + new XNavigateItemAction(new RevertDuplicateAtsTransitionByIdAction(), AtsImage.TASK, ATS_ADMIN, OSEE_ADMIN)); + items.add( + new XNavigateItemAction(new RevertDuplicateAtsTransitionsAction(), AtsImage.TASK, ATS_ADMIN, OSEE_ADMIN)); + + addVersionsItems(); + addWorkDefinitionsItems(); + addHealthItems(); + + time.end(); + } + + private void addHealthItems() { + ElapsedTime time = new ElapsedTime("NVI - addAtsItems", debug); + try { + items.add(new XNavigateItemFolder("Health", FrameworkImage.HEALTH, ATS_HEALTH, SUBCAT)); + + items.add(new AtsHealthCheckNavigateItem()); + } catch (Exception ex) { + OseeLog.log(Activator.class, Level.SEVERE, ex); + } + time.end(); + } + + private void addUtilItems() { + ElapsedTime time = new ElapsedTime("NVI - addUtilItems", debug); + try { + items.add(new XNavigateItemFolder(UTILITY.getName(), FrameworkImage.GEAR, XNavItemCat.BOT)); + + items.add(new GenerateIdsAndArtId()); + items.add(new ValidateOseeTypes()); + items.add(new CommaDelimitLines()); + items.add(new ToggleAccessControlDebug()); + items.add(new XNavigateItemAction(new CompareTwoStringsAction(), FrameworkImage.EDIT, UTILITY)); + items.add( + new XNavigateItemAction(new org.eclipse.osee.framework.ui.skynet.action.CompareTwoArtifactIdListsAction(), + FrameworkImage.EDIT, UTILITY)); + items.add(new XNavigateItemOperation(FrameworkImage.ARTIFACT_MASS_EDITOR, MassEditDirtyArtifactOperation.NAME, + new MassEditDirtyArtifactOperation(), UTILITY)); + + } catch (Exception ex) { + OseeLog.log(Activator.class, Level.SEVERE, ex); + } + time.end(); + } + + private void addAdvancedSearchesItems() { + ElapsedTime time = new ElapsedTime("NVI - advSearch", debug); + + items.add(new XNavigateItemFolder(ATS_ADVANCED_SEARCHES.getName(), AtsImage.SEARCH, TOP)); + + items.add(new SearchNavigateItem(new MyFavoritesSearchItem("My Favorites", null), ATS_ADVANCED_SEARCHES)); + items.add(new SearchNavigateItem(new MySubscribedSearchItem("My Subscribed", null), ATS_ADVANCED_SEARCHES)); + items.add(new SearchNavigateItem(new AtsSearchTeamWorkflowSearchItem(), ATS_ADVANCED_SEARCHES)); + items.add(new SearchNavigateItem(new AtsSearchTaskSearchItem(), ATS_ADVANCED_SEARCHES)); + items.add(new SearchNavigateItem(new MyWorldSearchItem("User's World", false), ATS_ADVANCED_SEARCHES)); + items.add(new ArtifactImpactToActionSearchItem()); + items.add(new SearchNavigateItem(new AtsSearchGoalSearchItem(), ATS_ADVANCED_SEARCHES)); + items.add(new SearchNavigateItem( + new SearchTeamWorkflowsByProgramSearchItem("Search Team Workflows by Program", null, false), + ATS_ADVANCED_SEARCHES)); + // Search Items + items.add(new XNavigateItemOperation(FrameworkImage.BRANCH_CHANGE, "Open Change Report(s) by ID(s)", + new MultipleIdSearchOperationFactory("Open Change Report(s) by ID(s)", AtsEditor.ChangeReport), + ATS_ADVANCED_SEARCHES)); + items.add(new XNavigateItemOperation(AtsImage.OPEN_BY_ID, "Search by ID(s) - Open World Editor", + new MultipleIdSearchOperationFactory("Search by ID(s) - Open World Editor", AtsEditor.WorldEditor), + ATS_ADVANCED_SEARCHES)); + items.add(new XNavigateItemOperation(AtsImage.OPEN_BY_ID, "Search by ID(s) - Multi-Line - Open World Editor", + new MultipleIdMultiLineSearchOperationFactory("Search by ID(s) - Open World Editor", AtsEditor.WorldEditor), + ATS_ADVANCED_SEARCHES)); + items.add(new XNavigateItemOperation(AtsImage.WORKFLOW, "Search by ID(s) - Open Workflow Editor", + new MultipleIdSearchOperationFactory("Search by ID(s) - Open Workflow Editor", AtsEditor.WorkflowEditor), + ATS_ADVANCED_SEARCHES)); + items.add(new XNavigateItemOperation(AtsImage.GLOBE, "Action Quick Search", new AtsQuickSearchOperationFactory(), + ATS_ADVANCED_SEARCHES)); + + time.end(); + } + + private void addAdminItems() { + ElapsedTime time = new ElapsedTime("NVI - admin", debug); + if (AtsApiService.get().getUserService().isAtsAdmin()) { + + items.add(new XNavigateItemFolder("Admin", PluginUiImage.ADMIN, MID_TOP, OSEE_ADMIN)); + + items.add(new XNavigateItemBlam(new ConvertWorkflowStatesBlam(), TOP_ADMIN)); + items.add(new DisplayCurrentOseeEventListeners()); + items.add(new XNavigateItemBlam(new CreateAtsBaselineBranchBlam(), TOP_ADMIN)); + items.add(new XNavigateItemAction(new OpenChangeReportByTransactionIdAction(), FrameworkImage.BRANCH_CHANGE, + TOP_ADMIN)); + items.add(new XNavigateItemAction(new OpenArtifactEditorById(), FrameworkImage.ARTIFACT_EDITOR, TOP_ADMIN)); + items.add(new XNavigateItemAction(new PurgeTransactionAction(), FrameworkImage.PURGE, TOP_ADMIN)); + items.add(new CleanupOseeSystemAssignedWorkflows()); + } + time.end(); + } + + private void addEmailItems() { + ElapsedTime time = new ElapsedTime("NVI - email", debug); + items.add(new XNavigateItemFolder(EMAIL_NOTIFICATIONS.getName(), FrameworkImage.EMAIL, BOT)); + + items.add(new EmailTeamsItem(null, MemberType.Both)); + items.add(new EmailTeamsItem(null, MemberType.Leads)); + items.add(new EmailTeamsItem(null, MemberType.Members)); + items.add(new EmailUserGroups()); + items.add(new SubscribeByActionableItem()); + items.add(new SubscribeByTeamDefinition()); + items.add(new XNavigateItemBlam(new EmailActionsBlam(), FrameworkImage.EMAIL, EMAIL_NOTIFICATIONS)); + time.end(); + } + + private void addTraceItems() { + items.add(new XNavigateItemFolder(XNavigateItem.TRACE.getName(), FrameworkImage.TRACE, MID_BOT)); + } + + private void addReportItems() { + ElapsedTime time = new ElapsedTime("NVI - report", debug); + items.add(new XNavigateItemFolder(REPORTS.getName(), AtsImage.REPORT, MID_BOT)); + + items.add(new FirstTimeQualityMetricReportItem()); + time.end(); + } + + private void addGoalItems() { + ElapsedTime time = new ElapsedTime("NVI - goal", debug); + items.add(new XNavigateItemFolder(GOALS.getName(), AtsImage.GOAL, MID_BOT)); + + items.add(new XNavigateItemAction(new NewGoal(), AtsImage.GOAL, GOALS)); + time.end(); + } + + private void addExampleItems() { + ElapsedTime time = new ElapsedTime("NVI - example", debug); + + items.add(new XNavigateItemFolder("Examples", FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES, SUBCAT)); + + items.add(new ResultsEditorExample()); + items.add(new CompareEditorExample()); + items.add(new XViewerExample()); + items.add(new XResultDataExample()); + items.add(new XResultDataDialogExample()); + items.add(new XResultDataTableExample()); + items.add(new FilteredTreeDialogExample()); + items.add(new FilteredTreeDialogSingleExample()); + items.add(new FilteredTreeArtifactDialogExample()); + items.add(new FilteredCheckboxTreeDialogExample()); + items.add(new FilteredCheckboxTreeArtifactDialogExample()); + items.add(new FilteredCheckboxTreeDialogSelectAllExample()); + items.add(new XNavigateItemAction(new XWidgetsDialogExampleAction(), FrameworkImage.EXAMPLE, UTILITY_EXAMPLES)); + + time.end(); + } + + private void addWorkDefinitionsItems() { + ElapsedTime time = new ElapsedTime("NVI - workDef", debug); + + items.add(new XNavigateItemFolder("Work Definition", AtsImage.WORKFLOW_DEFINITION, ATS_WORK_DEFINITION, SUBCAT)); + items.add( + new XNavigateItemFolder("Admin", AtsImage.WORKFLOW_DEFINITION, ATS_WORK_DEFINITION_ADMIN, SUBCAT, OSEE_ADMIN)); + + try { + items.add(new WorkDefinitionViewer(AtsNavigateViewItems.ATS_WORK_DEFINITION)); + items.add(new ValidateWorkDefinitionNavigateItem(ATS_WORK_DEFINITION_ADMIN)); + } catch (OseeCoreException ex) { + OseeLog.log(Activator.class, Level.SEVERE, "Can't create Goals section"); + } + time.end(); + } + + private void addVersionsItems() { + ElapsedTime time = new ElapsedTime("NVI - version", debug); + try { + + items.add(new XNavigateItemFolder("Versions", AtsImage.VERSION, ATS_VERSIONS, SUBCAT)); + items.add(new XNavigateItemFolder("Admin", AtsImage.VERSION, ATS_VERSIONS_ADMIN, SUBCAT, OSEE_ADMIN)); + + items.add(new ParallelConfigurationView()); + items.add(new SearchNavigateItem(new VersionTargetedForTeamSearchItem(null, null, false, LoadView.WorldEditor), + ATS_VERSIONS)); + items.add(new SearchNavigateItem(new NextVersionSearchItem(null, LoadView.WorldEditor), ATS_VERSIONS)); + items.add(new GenerateVersionReportItem()); + items.add(new GenerateFullVersionReportItem()); + + // Admin + if (AtsApiService.get().getUserService().isAtsAdmin()) { + items.add(new MassEditTeamVersionItem("Team Versions (Admin)", FrameworkImage.VERSION)); + items.add(new CreateNewVersionItem(null)); + items.add(new ReleaseVersionItem(null)); + } + } catch (OseeCoreException ex) { + OseeLog.log(Activator.class, Level.SEVERE, "Can't create Versions section"); + } + time.end(); + } + + private void addReviewItems() { + + items.add(new XNavigateItemFolder(REVIEW.getName(), AtsImage.REVIEW, XNavItemCat.MID_BOT)); + + items.add(new SearchNavigateItem(new MyReviewSearchItem(), REVIEW)); + items.add(new SearchNavigateItem(new AtsSearchReviewSearchItem(), REVIEW)); + items.add(new XNavigateItemAction(new OpenWorkflowByIdAction("Open Review by ID"), AtsImage.REVIEW, REVIEW)); + items.add(new SearchNavigateItem( + new ShowOpenWorkflowsByReviewType("Show Open " + WorkItemType.DecisionReview.name() + "s", + WorkItemType.DecisionReview, false, false, AtsImage.DECISION_REVIEW), + REVIEW)); + items.add(new SearchNavigateItem( + new ShowOpenWorkflowsByReviewType("Show Workflows Waiting " + WorkItemType.DecisionReview.name() + "s", + WorkItemType.DecisionReview, false, true, AtsImage.DECISION_REVIEW), + REVIEW)); + items.add( + new SearchNavigateItem(new ShowOpenWorkflowsByReviewType("Show Open " + WorkItemType.PeerReview.name() + "s", + WorkItemType.PeerReview, false, false, AtsImage.PEER_REVIEW), REVIEW)); + items.add(new SearchNavigateItem( + new ShowOpenWorkflowsByReviewType("Show Workflows Waiting " + WorkItemType.PeerReview.name() + "s", + WorkItemType.PeerReview, false, true, AtsImage.PEER_REVIEW), + REVIEW)); + items.add(new NewPeerToPeerReviewItem()); + items.add(new GenerateReviewParticipationReport()); + if (AtsApiService.get().getUserService().isAtsAdmin()) { + items.add(new XNavigateItemAction(new ValidatePeerDefectsAction(), AtsImage.PEER_REVIEW, REVIEW)); + } + } + + private void addEvNavigateItems() { + ElapsedTime time = new ElapsedTime("NVI - addUserItems", debug); + try { + if (AgileUtil.isEarnedValueUser(AtsApiService.get())) { + + items.add(new XNavigateItemFolder("Earned Value", AtsImage.REPORT, ATS_EARNED_VALUE, SUBCAT)); + + items.add( + new XNavigateItemAction(new OpenWorkPackageByIdAction(), AtsImage.WORK_PACKAGE, ATS_EARNED_VALUE)); + items.add(new WorkPackageConfigReport()); + items.add(new WorkPackageQBDReport()); + items.add(new SearchNavigateItem(new AtsSearchWorkPackageSearchItem(), ATS_EARNED_VALUE)); + } + } catch (Exception ex) { + OseeLog.log(Activator.class, Level.SEVERE, ex); + } + time.end(); + } + + private static final class MultipleIdSearchOperationFactory implements IOperationFactory { + + private final AtsEditor atsEditor; + private final String operationName; + + public MultipleIdSearchOperationFactory(String operationName, AtsEditor atsEditor) { + this.operationName = operationName; + this.atsEditor = atsEditor; + } + + @Override + public IOperation createOperation() { + return new MultipleIdSearchOperation(new MultipleIdSearchData(operationName, atsEditor)); + } + } + + private static final class MultipleIdMultiLineSearchOperationFactory implements IOperationFactory { + + private final AtsEditor atsEditor; + private final String operationName; + + public MultipleIdMultiLineSearchOperationFactory(String operationName, AtsEditor atsEditor) { + this.operationName = operationName; + this.atsEditor = atsEditor; + } + + @Override + public IOperation createOperation() { + MultipleIdSearchOperation op = + new MultipleIdSearchOperation(new MultipleIdSearchData(operationName, atsEditor)); + op.setMultiLine(true); + return op; + } + } + + public static boolean isDebug() { + return false; + } + +} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsNavigateViewItemsOperation.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsNavigateViewItemsOperation.java index 98aa8171fd5..2022f7449fb 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsNavigateViewItemsOperation.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsNavigateViewItemsOperation.java @@ -13,35 +13,27 @@ package org.eclipse.osee.ats.ide.navigate; -import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.ats.ide.internal.Activator; +import org.eclipse.osee.ats.ide.internal.AtsApiService; import org.eclipse.osee.framework.core.operation.AbstractOperation; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.plugin.xnavigate.NavigateItemCollector; /** * @author Donald G. Dunne */ public class AtsNavigateViewItemsOperation extends AbstractOperation { - private final NavigateView navigateView; + private final NavigateItemCollector itemCollector; - public AtsNavigateViewItemsOperation(NavigateView navigateView) { + public AtsNavigateViewItemsOperation(NavigateItemCollector itemCollector) { super("Loading ATS Navigate View Items", Activator.PLUGIN_ID); - this.navigateView = navigateView; + this.itemCollector = itemCollector; } @Override protected void doWork(IProgressMonitor monitor) throws Exception { - List<XNavigateItem> navigateItems = NavigateViewItems.getInstance().getSearchNavigateItems(); - setRefresher(navigateItems); - } - - private void setRefresher(List<XNavigateItem> navigateItems) { - for (XNavigateItem item : navigateItems) { - item.setRefresher(navigateView); - setRefresher(item.getChildren()); - } + itemCollector.getComputedNavItems(AtsApiService.get().getUserService().getCurrentUser().getUserGroups()); } } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsRemoteEventTestItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsRemoteEventTestItem.java index 176bd4e2351..1d5c2db426c 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsRemoteEventTestItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/AtsRemoteEventTestItem.java @@ -68,8 +68,8 @@ public class AtsRemoteEventTestItem extends WorldXNavigateItemAction { ArtifactToken SAW_Bld_2 = ArtifactToken.valueOf(7632957, "SAW_Bld_2", COMMON, AtsArtifactTypes.Version); ArtifactToken SAW_Bld_3 = ArtifactToken.valueOf(577781, "SAW_Bld_3", COMMON, AtsArtifactTypes.Version); - public AtsRemoteEventTestItem(XNavigateItem parent) { - super(parent, "ATS Remote Event Test"); + public AtsRemoteEventTestItem() { + super("ATS Remote Event Test", XNavigateItem.DEMO); } @Override @@ -266,8 +266,8 @@ public class AtsRemoteEventTestItem extends WorldXNavigateItemAction { resultData.log("Remote Event Service connected"); // Validate values - testEquals("Description", "description", AtsApiService.get().getAttributeResolver().getSoleAttributeValue( - teamWf, AtsAttributeTypes.Description, null)); + testEquals("Description", "description", + AtsApiService.get().getAttributeResolver().getSoleAttributeValue(teamWf, AtsAttributeTypes.Description, null)); testEquals("Change Type", ChangeType.Improvement, ChangeTypeUtil.getChangeType(teamWf, AtsApiService.get())); testEquals("Priority", "1", AtsApiService.get().getAttributeResolver().getSoleAttributeValue(teamWf, AtsAttributeTypes.Priority, null)); @@ -283,13 +283,13 @@ public class AtsRemoteEventTestItem extends WorldXNavigateItemAction { resultData.log("Remote Event Service connected"); // Validate values - testEquals("Description", "description 4", AtsApiService.get().getAttributeResolver().getSoleAttributeValue( - teamWf, AtsAttributeTypes.Description, null)); + testEquals("Description", "description 4", + AtsApiService.get().getAttributeResolver().getSoleAttributeValue(teamWf, AtsAttributeTypes.Description, null)); testEquals("Change Type", ChangeType.Support, ChangeTypeUtil.getChangeType(teamWf, AtsApiService.get())); testEquals("Priority", "3", AtsApiService.get().getAttributeResolver().getSoleAttributeValue(teamWf, AtsAttributeTypes.Priority, null)); - testEquals("Validation Required", false, AtsApiService.get().getAttributeResolver().getSoleAttributeValue( - teamWf, AtsAttributeTypes.ValidationRequired, null)); + testEquals("Validation Required", false, AtsApiService.get().getAttributeResolver().getSoleAttributeValue(teamWf, + AtsAttributeTypes.ValidationRequired, null)); IAtsVersion verArt = AtsApiService.get().getVersionService().getTargetedVersion(teamWf); String expectedTargetedVersion; diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ClearAtsConfigCache.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ClearAtsConfigCache.java index 27eaed09764..64d974160db 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ClearAtsConfigCache.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ClearAtsConfigCache.java @@ -15,7 +15,6 @@ package org.eclipse.osee.ats.ide.navigate; import org.eclipse.osee.ats.ide.internal.AtsApiService; 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; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; @@ -24,8 +23,8 @@ import org.eclipse.osee.framework.ui.skynet.FrameworkImage; */ public class ClearAtsConfigCache extends XNavigateItemAction { - public ClearAtsConfigCache(XNavigateItem parent) { - super(parent, "Clear ATS Config Cache", FrameworkImage.GEAR); + public ClearAtsConfigCache() { + super("Clear ATS Config Cache", FrameworkImage.GEAR, AtsNavigateViewItems.ATS_UTIL); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/CommaDelimitLines.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/CommaDelimitLines.java index 51880731846..b71140cebe2 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/CommaDelimitLines.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/CommaDelimitLines.java @@ -27,8 +27,8 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryCheckDialog; */ public class CommaDelimitLines extends XNavigateItemAction { - public CommaDelimitLines(XNavigateItem parent) { - super(parent, "Comma Delimit Lines", AtsImage.REPORT); + public CommaDelimitLines() { + super("Comma Delimit Lines", AtsImage.REPORT, XNavigateItem.UTILITY); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/CompareEditorExample.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/CompareEditorExample.java index 5f505488c86..a30255c7e32 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/CompareEditorExample.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/CompareEditorExample.java @@ -26,8 +26,8 @@ import org.eclipse.osee.framework.ui.swt.Displays; */ public class CompareEditorExample extends XNavigateItemAction { - public CompareEditorExample(XNavigateItem parent) { - super(parent, "Compare Editor Example", FrameworkImage.GEAR); + public CompareEditorExample() { + super("Compare Editor Example", FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ConvertVersionToAgileSprint.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ConvertVersionToAgileSprint.java index 93c455f8320..655d38fab2d 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ConvertVersionToAgileSprint.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ConvertVersionToAgileSprint.java @@ -29,6 +29,7 @@ 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.ide.AtsArtifactImageProvider; +import org.eclipse.osee.ats.ide.agile.navigate.AgileNavigateItemProvider; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; import org.eclipse.osee.ats.ide.util.AtsApiIde; @@ -42,7 +43,6 @@ import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; 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; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog; @@ -51,9 +51,10 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog; */ public class ConvertVersionToAgileSprint extends XNavigateItemAction { - public ConvertVersionToAgileSprint(XNavigateItem parent) { - super(parent, "Convert Version(s) to Agile Sprint", - AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_SPRINT)); + public ConvertVersionToAgileSprint() { + super("Convert Version(s) to Agile Sprint", + AtsArtifactImageProvider.getKeyedImage(AtsArtifactImages.AGILE_SPRINT), + AgileNavigateItemProvider.AGILE_CONVERSIONS); } @Override @@ -118,8 +119,7 @@ public class ConvertVersionToAgileSprint extends XNavigateItemAction { if (jaxSprint != null) { long id = jaxSprint.getId(); IAgileSprint sprint = (SprintArtifact) client.getQueryService().getArtifact(id); - AtsApiService.get().getQueryServiceIde().getArtifact( - sprint).getParent().reloadAttributesAndRelations(); + AtsApiService.get().getQueryServiceIde().getArtifact(sprint).getParent().reloadAttributesAndRelations(); IAtsChangeSet changes = client.getStoreService().createAtsChangeSet(getName(), client.getUserService().getCurrentUser()); diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/CreateNewUsersByNameItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/CreateNewUsersByNameItem.java index ded02cbcd74..800d21ce455 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/CreateNewUsersByNameItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/CreateNewUsersByNameItem.java @@ -13,13 +13,17 @@ package org.eclipse.osee.ats.ide.navigate; +import java.util.Arrays; +import java.util.Collection; import java.util.HashSet; import java.util.Set; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; +import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.enums.PresentationType; import org.eclipse.osee.framework.core.exception.UserNotInDatabase; import org.eclipse.osee.framework.jdk.core.result.XResultData; @@ -40,6 +44,8 @@ import org.eclipse.osee.framework.ui.skynet.render.RendererManager; import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog; import org.eclipse.osee.framework.ui.swt.Displays; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; /** * Admin only. Create new users by name, each will be given a id as user id. Development use only. @@ -48,8 +54,8 @@ import org.eclipse.osee.framework.ui.swt.Displays; */ public class CreateNewUsersByNameItem extends XNavigateItemAction { - public CreateNewUsersByNameItem(XNavigateItem parent) { - super(parent, "Admin - Create New Users by Name (Testing Only)", FrameworkImage.USER); + public CreateNewUsersByNameItem() { + super("Create New Users by Name (Testing Only)", FrameworkImage.USER, XNavigateItem.USER_MANAGEMENT_ADMIN); } @Override @@ -109,4 +115,15 @@ public class CreateNewUsersByNameItem extends XNavigateItemAction { } return newVersions; } + + @Override + public Collection<IUserGroupArtifactToken> getUserGroups() { + return Arrays.asList(CoreUserGroups.OseeAdmin); + } + + @Override + public Image getImage() { + return ImageManager.getImage(FrameworkImage.USER_ADD); + } + } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/DisplayCurrentOseeEventListeners.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/DisplayCurrentOseeEventListeners.java index 0771240e7ff..37d86718829 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/DisplayCurrentOseeEventListeners.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/DisplayCurrentOseeEventListeners.java @@ -26,8 +26,8 @@ import org.eclipse.osee.framework.ui.skynet.results.html.XResultPage; */ public class DisplayCurrentOseeEventListeners extends XNavigateItemAction { - public DisplayCurrentOseeEventListeners(XNavigateItem parent) { - super(parent, "Display Current OSEE Event Listeners", PluginUiImage.ADMIN); + public DisplayCurrentOseeEventListeners() { + super("Display Current OSEE Event Listeners", PluginUiImage.ADMIN, XNavigateItem.TOP_ADMIN); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/EmailTeamsItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/EmailTeamsItem.java index d09dc0a0382..b07c3ab34f9 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/EmailTeamsItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/EmailTeamsItem.java @@ -46,12 +46,11 @@ public class EmailTeamsItem extends XNavigateItemAction { /** * @param teamDefHoldingVersions Team Definition Artifact that is related to versions or null for popup selection */ - public EmailTeamsItem(XNavigateItem parent, IAtsTeamDefinition teamDef, MemberType... memberType) { - super(parent, - "Email " + (teamDef == null ? "Team " : "\"" + teamDef + "\" Team ") + (Arrays.asList(memberType).contains( - MemberType.Both) ? "Leads / Members" : Arrays.asList(memberType).contains( - MemberType.Leads) ? "Leads" : "Members"), - FrameworkImage.EMAIL); + public EmailTeamsItem(IAtsTeamDefinition teamDef, MemberType... memberType) { + super("Email " + (teamDef == null ? "Team " : "\"" + teamDef + "\" Team ") + (Arrays.asList(memberType).contains( + MemberType.Both) ? "Leads / Members" : Arrays.asList(memberType).contains( + MemberType.Leads) ? "Leads" : "Members"), + FrameworkImage.EMAIL, XNavigateItem.EMAIL_NOTIFICATIONS); memberTypes = Arrays.asList(memberType); this.teamDef = teamDef; } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredCheckboxTreeArtifactDialogExample.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredCheckboxTreeArtifactDialogExample.java index fdfc81a685c..6b235bde451 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredCheckboxTreeArtifactDialogExample.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredCheckboxTreeArtifactDialogExample.java @@ -32,14 +32,13 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredCheckboxTreeA */ public class FilteredCheckboxTreeArtifactDialogExample extends XNavigateItemAction { - public FilteredCheckboxTreeArtifactDialogExample(XNavigateItem parent) { - super(parent, "FilteredCheckboxTreeArtifactDialog Example", FrameworkImage.GEAR); + public FilteredCheckboxTreeArtifactDialogExample() { + super("FilteredCheckboxTreeArtifactDialog Example", FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES); } @Override public void run(TableLoadOption... tableLoadOptions) throws Exception { - Artifact rootArtifact = - OseeSystemArtifacts.getDefaultHierarchyRootArtifact(AtsApiService.get().getAtsBranch()); + Artifact rootArtifact = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(AtsApiService.get().getAtsBranch()); List<Artifact> initialSelection = new ArrayList<>(); List<Artifact> children = rootArtifact.getChildren(); initialSelection.add(children.iterator().next()); diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredCheckboxTreeDialogExample.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredCheckboxTreeDialogExample.java index 61a72c44a37..47b4a4e02d2 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredCheckboxTreeDialogExample.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredCheckboxTreeDialogExample.java @@ -27,8 +27,8 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredCheckboxTreeD */ public class FilteredCheckboxTreeDialogExample extends XNavigateItemAction { - public FilteredCheckboxTreeDialogExample(XNavigateItem parent) { - super(parent, "FilteredCheckboxTreeDialog Example", FrameworkImage.GEAR); + public FilteredCheckboxTreeDialogExample() { + super("FilteredCheckboxTreeDialog Example", FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredCheckboxTreeDialogSelectAllExample.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredCheckboxTreeDialogSelectAllExample.java index ac3a23d7f95..7937726a9bb 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredCheckboxTreeDialogSelectAllExample.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredCheckboxTreeDialogSelectAllExample.java @@ -27,8 +27,8 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredCheckboxTreeD */ public class FilteredCheckboxTreeDialogSelectAllExample extends XNavigateItemAction { - public FilteredCheckboxTreeDialogSelectAllExample(XNavigateItem parent) { - super(parent, "FilteredCheckboxTreeDialogSelectAll Example", FrameworkImage.GEAR); + public FilteredCheckboxTreeDialogSelectAllExample() { + super("FilteredCheckboxTreeDialogSelectAll Example", FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredTreeArtifactDialogExample.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredTreeArtifactDialogExample.java index 6a8e6dd9665..63560293cdd 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredTreeArtifactDialogExample.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredTreeArtifactDialogExample.java @@ -27,19 +27,18 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeArtifactD /** * Example of using FilteredTreeArtifactDialog - * + * * @author Donald G. Dunne */ public class FilteredTreeArtifactDialogExample extends XNavigateItemAction { - public FilteredTreeArtifactDialogExample(XNavigateItem parent) { - super(parent, "FilteredTreeArtifactDialog Example", FrameworkImage.GEAR); + public FilteredTreeArtifactDialogExample() { + super("FilteredTreeArtifactDialog Example", FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES); } @Override public void run(TableLoadOption... tableLoadOptions) throws Exception { - Artifact rootArtifact = - OseeSystemArtifacts.getDefaultHierarchyRootArtifact(AtsApiService.get().getAtsBranch()); + Artifact rootArtifact = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(AtsApiService.get().getAtsBranch()); List<Artifact> children = rootArtifact.getChildren(); FilteredTreeArtifactDialog dialog = new FilteredTreeArtifactDialog("My Title", "Message", children, new ArtifactTreeContentProvider(), new ArtifactLabelProvider()); diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredTreeDialogExample.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredTreeDialogExample.java index a75a1758ef5..ad5737b8100 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredTreeDialogExample.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredTreeDialogExample.java @@ -21,13 +21,13 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeDialog; /** * Example of using FilteredTreeDialog multi-selection - * + * * @author Donald G. Dunne */ public class FilteredTreeDialogExample extends XNavigateItemAction { - public FilteredTreeDialogExample(XNavigateItem parent) { - super(parent, "FilteredTreeDialog Example", FrameworkImage.GEAR); + public FilteredTreeDialogExample() { + super("FilteredTreeDialog Example", FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredTreeDialogSingleExample.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredTreeDialogSingleExample.java index 12f00f22470..4d9787c9c05 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredTreeDialogSingleExample.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FilteredTreeDialogSingleExample.java @@ -21,13 +21,13 @@ import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredTreeDialog; /** * Example of using FilteredTreeDialog single-selection - * + * * @author Donald G. Dunne */ public class FilteredTreeDialogSingleExample extends XNavigateItemAction { - public FilteredTreeDialogSingleExample(XNavigateItem parent) { - super(parent, "FilteredTreeDialogSingle Example", FrameworkImage.GEAR); + public FilteredTreeDialogSingleExample() { + super("FilteredTreeDialogSingle Example", FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FirstTimeQualityMetricReportItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FirstTimeQualityMetricReportItem.java index b4278ae2006..f72f738645a 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FirstTimeQualityMetricReportItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/FirstTimeQualityMetricReportItem.java @@ -51,8 +51,8 @@ import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; */ public class FirstTimeQualityMetricReportItem extends XNavigateItemAction { - public FirstTimeQualityMetricReportItem(XNavigateItem parent) { - super(parent, "First Time Quality Metric Report", AtsImage.REPORT); + public FirstTimeQualityMetricReportItem() { + super("First Time Quality Metric Report", AtsImage.REPORT, XNavigateItem.REPORTS); } @Override @@ -155,8 +155,7 @@ public class FirstTimeQualityMetricReportItem extends XNavigateItemAction { for (TeamWorkFlowArtifact team : arts) { String priorityStr = team.getSoleAttributeValue(AtsAttributeTypes.Priority, ""); if (!team.isCancelled() && ChangeTypeUtil.getChangeType(team, - AtsApiService.get()) == ChangeType.Problem && (priorityStr.equals( - "1") || priorityStr.equals("2"))) { + AtsApiService.get()) == ChangeType.Problem && (priorityStr.equals("1") || priorityStr.equals("2"))) { numOrigDurningNextReleaseCycle++; } } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/GenerateIdsAndArtId.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/GenerateIdsAndArtId.java index 785c87fa171..c90f8101d36 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/GenerateIdsAndArtId.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/GenerateIdsAndArtId.java @@ -27,8 +27,8 @@ import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; */ public class GenerateIdsAndArtId extends XNavigateItemAction { - public GenerateIdsAndArtId(XNavigateItem parent) { - super(parent, "Generate Id and ArtId", AtsImage.REPORT); + public GenerateIdsAndArtId() { + super("Generate Id and ArtId", AtsImage.REPORT, XNavigateItem.UTILITY); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/IAtsNavigateItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/IAtsNavigateItem.java deleted file mode 100644 index f705329dd07..00000000000 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/IAtsNavigateItem.java +++ /dev/null @@ -1,26 +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.navigate; - -import java.util.List; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; - -/** - * @author Donald G. Dunne - */ -public interface IAtsNavigateItem { - - public List<XNavigateItem> getNavigateItems(XNavigateItem parentItem); - -} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/NavigateView.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/NavigateView.java index fa4b808878b..58c50ee9b75 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/NavigateView.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/NavigateView.java @@ -39,6 +39,8 @@ import org.eclipse.osee.ats.ide.search.AtsQuickSearchComposite; import org.eclipse.osee.framework.core.client.ClientSessionManager; import org.eclipse.osee.framework.core.operation.OperationBuilder; import org.eclipse.osee.framework.core.operation.Operations; +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.Strings; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.access.UserServiceImpl; @@ -46,14 +48,17 @@ import org.eclipse.osee.framework.ui.plugin.util.HelpUtil; import org.eclipse.osee.framework.ui.plugin.util.WorkbenchTargetProvider; import org.eclipse.osee.framework.ui.plugin.xnavigate.INavigateItemRefresher; import org.eclipse.osee.framework.ui.plugin.xnavigate.IXNavigateEventListener; +import org.eclipse.osee.framework.ui.plugin.xnavigate.NavigateItemCollector; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateEventManager; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemProviders; import org.eclipse.osee.framework.ui.skynet.OseeStatusContributionItemFactory; import org.eclipse.osee.framework.ui.skynet.OseeTargetContributionItem; import org.eclipse.osee.framework.ui.skynet.action.CollapseAllAction; import org.eclipse.osee.framework.ui.skynet.action.ExpandAllAction; import org.eclipse.osee.framework.ui.skynet.action.RefreshAction; import org.eclipse.osee.framework.ui.skynet.action.RefreshAction.IRefreshActionHandler; +import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; import org.eclipse.osee.framework.ui.skynet.util.DbConnectionExceptionComposite; import org.eclipse.osee.framework.ui.skynet.util.LoadingComposite; import org.eclipse.osee.framework.ui.swt.Displays; @@ -87,6 +92,8 @@ public class NavigateView extends ViewPart implements IXNavigateEventListener, I private AtsNavigateComposite xNavComp; private Composite parent; private LoadingComposite loadingComposite; + private NavigateItemCollector itemCollector; + private XResultData rd; @Override public void createPartControl(Composite parent) { @@ -103,7 +110,9 @@ public class NavigateView extends ViewPart implements IXNavigateEventListener, I public void refreshData() { OperationBuilder builder = Operations.createBuilder("Load OSEE Navigator"); - builder.addOp(new AtsNavigateViewItemsOperation(this)); + rd = new XResultData(); + itemCollector = new NavigateItemCollector(XNavigateItemProviders.getProviders(), navView, rd); + builder.addOp(new AtsNavigateViewItemsOperation(itemCollector)); Operations.executeAsJob(builder.build(), false, Job.LONG, new ReloadJobChangeAdapter(this)); } @@ -136,8 +145,12 @@ public class NavigateView extends ViewPart implements IXNavigateEventListener, I if (Widgets.isAccessible(parent)) { - xNavComp = - new AtsNavigateComposite(NavigateViewItems.getInstance(), parent, SWT.NONE, savedFilterStr); + xNavComp = new AtsNavigateComposite(itemCollector, parent, SWT.NONE, savedFilterStr); + + if (rd.isErrors()) { + XResultDataUI.report(rd, "OSEE Navigator", Manipulations.ERROR_WARNING_HEADER, + Manipulations.CONVERT_NEWLINES, Manipulations.ERROR_RED); + } XNavigateEventManager.register(navView); HelpUtil.setHelp(xNavComp, AtsHelpContext.NAVIGATOR); 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 deleted file mode 100644 index 6b72e32078d..00000000000 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/NavigateViewItems.java +++ /dev/null @@ -1,575 +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.navigate; - -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; -import java.util.concurrent.CopyOnWriteArrayList; -import java.util.logging.Level; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtension; -import org.eclipse.core.runtime.IExtensionPoint; -import org.eclipse.core.runtime.Platform; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.user.AtsUser; -import org.eclipse.osee.ats.api.util.AtsImage; -import org.eclipse.osee.ats.core.agile.AgileUtil; -import org.eclipse.osee.ats.ide.actions.NewAction; -import org.eclipse.osee.ats.ide.actions.NewGoal; -import org.eclipse.osee.ats.ide.actions.OpenArtifactEditorById; -import org.eclipse.osee.ats.ide.actions.OpenOrphanedTasks; -import org.eclipse.osee.ats.ide.actions.RevertDuplicateAtsTransitionByIdAction; -import org.eclipse.osee.ats.ide.actions.RevertDuplicateAtsTransitionsAction; -import org.eclipse.osee.ats.ide.actions.newaction.CreateNewActionBlam; -import org.eclipse.osee.ats.ide.agile.navigate.CreateNewAgileBacklog; -import org.eclipse.osee.ats.ide.agile.navigate.CreateNewAgileFeatureGroup; -import org.eclipse.osee.ats.ide.agile.navigate.CreateNewAgileSprint; -import org.eclipse.osee.ats.ide.agile.navigate.CreateNewAgileTeam; -import org.eclipse.osee.ats.ide.agile.navigate.OpenAgileBacklog; -import org.eclipse.osee.ats.ide.agile.navigate.OpenAgileSprint; -import org.eclipse.osee.ats.ide.agile.navigate.OpenAgileSprintReports; -import org.eclipse.osee.ats.ide.agile.navigate.OpenAgileStoredSprintReports; -import org.eclipse.osee.ats.ide.agile.navigate.SortAgileBacklog; -import org.eclipse.osee.ats.ide.agile.navigate.SyncJiraAndOseeByEpicBlam; -import org.eclipse.osee.ats.ide.branch.CreateAtsBaselineBranchBlam; -import org.eclipse.osee.ats.ide.config.AtsConfig2ExampleNavigateItem; -import org.eclipse.osee.ats.ide.config.editor.AtsConfigResultsEditorNavigateItem; -import org.eclipse.osee.ats.ide.config.version.CreateNewVersionItem; -import org.eclipse.osee.ats.ide.config.version.GenerateFullVersionReportItem; -import org.eclipse.osee.ats.ide.config.version.GenerateVersionReportItem; -import org.eclipse.osee.ats.ide.config.version.MassEditTeamVersionItem; -import org.eclipse.osee.ats.ide.config.version.ParallelConfigurationView; -import org.eclipse.osee.ats.ide.config.version.ReleaseVersionItem; -import org.eclipse.osee.ats.ide.ev.EvNavigateItems; -import org.eclipse.osee.ats.ide.export.AtsExportAction; -import org.eclipse.osee.ats.ide.health.AtsHealthCheckNavigateItem; -import org.eclipse.osee.ats.ide.internal.Activator; -import org.eclipse.osee.ats.ide.internal.AtsApiService; -import org.eclipse.osee.ats.ide.internal.OseePerspective; -import org.eclipse.osee.ats.ide.navigate.EmailTeamsItem.MemberType; -import org.eclipse.osee.ats.ide.notify.EmailActionsBlam; -import org.eclipse.osee.ats.ide.operation.ConvertWorkflowStatesBlam; -import org.eclipse.osee.ats.ide.operation.MoveTeamWorkflowsBlam; -import org.eclipse.osee.ats.ide.search.AtsQuickSearchOperationFactory; -import org.eclipse.osee.ats.ide.search.AtsSearchWorkflowSearchItem; -import org.eclipse.osee.ats.ide.util.AtsEditor; -import org.eclipse.osee.ats.ide.util.CleanupOseeSystemAssignedWorkflows; -import org.eclipse.osee.ats.ide.util.CreateActionUsingAllActionableItems; -import org.eclipse.osee.ats.ide.util.Import.ImportActionsViaSpreadsheetBlam; -import org.eclipse.osee.ats.ide.util.Import.ImportAgileActionsViaSpreadsheetBlam; -import org.eclipse.osee.ats.ide.workdef.ValidateWorkDefinitionNavigateItem; -import org.eclipse.osee.ats.ide.workdef.editor.WorkDefinitionViewer; -import org.eclipse.osee.ats.ide.workflow.cr.CreateNewChangeRequestBlam; -import org.eclipse.osee.ats.ide.world.search.ArtifactTypeSearchItem; -import org.eclipse.osee.ats.ide.world.search.ArtifactTypeWithInheritenceSearchItem; -import org.eclipse.osee.ats.ide.world.search.AtsSearchGoalSearchItem; -import org.eclipse.osee.ats.ide.world.search.AtsSearchTaskSearchItem; -import org.eclipse.osee.ats.ide.world.search.AtsSearchTeamWorkflowSearchItem; -import org.eclipse.osee.ats.ide.world.search.MultipleIdSearchData; -import org.eclipse.osee.ats.ide.world.search.MultipleIdSearchOperation; -import org.eclipse.osee.ats.ide.world.search.MyFavoritesSearchItem; -import org.eclipse.osee.ats.ide.world.search.MySubscribedSearchItem; -import org.eclipse.osee.ats.ide.world.search.MyWorldSearchItem; -import org.eclipse.osee.ats.ide.world.search.NextVersionSearchItem; -import org.eclipse.osee.ats.ide.world.search.SearchTeamWorkflowsByProgramSearchItem; -import org.eclipse.osee.ats.ide.world.search.VersionTargetedForTeamSearchItem; -import org.eclipse.osee.ats.ide.world.search.WorldSearchItem.LoadView; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; -import org.eclipse.osee.framework.core.operation.IOperation; -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.ElapsedTime; -import org.eclipse.osee.framework.logging.OseeLevel; -import org.eclipse.osee.framework.logging.OseeLog; -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; -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.XNavigateContributionManager; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateExtensionPointData; -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.XNavigateItemFolder; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemOperation; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateViewItems; -import org.eclipse.osee.framework.ui.skynet.FrameworkImage; -import org.eclipse.osee.framework.ui.skynet.action.PurgeTransactionAction; -import org.eclipse.osee.framework.ui.skynet.action.XWidgetsDialogExampleAction; -import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; -import org.eclipse.osee.framework.ui.skynet.blam.BlamContributionManager; -import org.eclipse.osee.framework.ui.skynet.change.OpenChangeReportByTransactionIdAction; -import org.eclipse.osee.framework.ui.skynet.results.example.ResultsEditorExample; -import org.eclipse.osee.framework.ui.skynet.results.example.XResultDataDialogExample; -import org.eclipse.osee.framework.ui.skynet.results.example.XResultDataExample; -import org.eclipse.osee.framework.ui.skynet.results.example.XViewerExample; -import org.eclipse.osee.framework.ui.skynet.util.DbConnectionUtility; -import org.eclipse.osee.framework.ui.skynet.util.email.EmailUserGroups; -import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam; -import org.osgi.framework.Bundle; - -/** - * Main Navigate View for OSEE - * - * @author Donald G. Dunne - */ -public final class NavigateViewItems implements XNavigateViewItems, IXNavigateCommonItem { - private final List<XNavigateItem> items = new CopyOnWriteArrayList<>(); - private boolean ensurePopulatedRanOnce = false; - private boolean debug = false; - - private final static NavigateViewItems instance = new NavigateViewItems(); - - public static NavigateViewItems getInstance() { - return instance; - } - - @Override - public List<XNavigateItem> getSearchNavigateItems() { - debug = XNavigateCommonItems.debug; - ElapsedTime time = new ElapsedTime("NavigateViewItems", debug); - ensurePopulated(); - time.end(); - return items; - } - - @Override - public void addUtilItems(XNavigateItem utilItems) { - ElapsedTime time = new ElapsedTime("NVI - addUtilItems", debug); - try { - new ToggleAtsAdmin(utilItems); - new XNavigateItemBlam(utilItems, new ImportActionsViaSpreadsheetBlam()); - new XNavigateItemBlam(utilItems, new ImportAgileActionsViaSpreadsheetBlam()); - new XNavigateItemAction(utilItems, new AtsExportAction(), FrameworkImage.EXPORT_DATA); - new GenerateIdsAndArtId(utilItems); - new ValidateOseeTypes(utilItems); - new CommaDelimitLines(utilItems); - new ClearAtsConfigCache(utilItems); - new XNavigateItemBlam(utilItems, new MoveTeamWorkflowsBlam(), AtsImage.WORKFLOW); - new AtsConfigResultsEditorNavigateItem(utilItems); - new ToggleAccessControlDebug(utilItems); - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - time.end(); - } - - private synchronized void ensurePopulated() { - if (!ensurePopulatedRanOnce) { - if (DbConnectionUtility.areOSEEServicesAvailable().isFalse()) { - return; - } - this.ensurePopulatedRanOnce = true; - - addAtsSectionChildren(null); - - ElapsedTime time = new ElapsedTime("NVI - addCommonNavigateItems", debug); - XNavigateCommonItems.addCommonNavigateItems(items, Arrays.asList(getSectionId())); - time.end(); - } - } - - public void addAtsSectionChildren(XNavigateItem item) { - ElapsedTime time = new ElapsedTime("NVI - addAtsSectionChildren", debug); - try { - - ElapsedTime time2 = new ElapsedTime("NVI - addAtsSectionChildren - My World", debug); - items.add(new SearchNavigateItem(item, new MyWorldSearchItem("My World", true))); - time2.end(); - - time2.start("NVI - addAtsSectionChildren - Recently Visited"); - items.add(new RecentlyVisitedNavigateItems(item)); - time2.end(); - - time2.start("NVI - addAtsSectionChildren - Search"); - items.add(new SearchNavigateItem(item, new AtsSearchWorkflowSearchItem())); - time2.end(); - - time2.start("NVI - addAtsSectionChildren - Saved Srch"); - items.add(new SavedActionSearchNavigateItem(item)); - time2.end(); - - createAdvancedSearchesSection(item, items, null); - - createOpenViewsSection(item, items); - - time2.start("NVI - addAtsSectionChildren - NewAction"); - // New Action dialog and BLAM - items.add(new XNavigateItemAction(item, new NewAction(), AtsImage.NEW_ACTION)); - if (AtsApiService.get().getUserService().isAtsAdmin()) { - for (AbstractBlam blam : BlamContributionManager.getBlamOperations()) { - if (blam instanceof CreateNewActionBlam) { - items.add(new XNavigateItemBlam(item, blam, AtsImage.NEW_ACTION)); - break; - } - } - } - - // New Change Request - for (AbstractBlam blam : BlamContributionManager.getBlamOperations()) { - if (blam instanceof CreateNewChangeRequestBlam) { - boolean isOverrideAccess = blam.isOverrideAccess(); - Collection<IUserGroupArtifactToken> myUserGroups = - AtsApiService.get().getUserGroupService().getMyUserGroups(); - Collection<IUserGroupArtifactToken> blamUserGroups = blam.getUserGroups(); - if (isOverrideAccess || !Collections.setIntersection(blamUserGroups, myUserGroups).isEmpty()) { - items.add(new XNavigateItemBlam(item, blam, AtsImage.CHANGE_REQUEST)); - } - } - } - time2.end(); - - time2.start("NVI - addAtsSectionChildren - agileUser"); - boolean agileUser = AgileUtil.isAgileUser(AtsApiService.get()); - time2.end(); - if (agileUser) { - createAgileSection(item, items); - } - - time2.start("NVI - addAtsSectionChildren - EV Items"); - if (AgileUtil.isEarnedValueUser(AtsApiService.get())) { - EvNavigateItems.createSection(item, items); - } - time2.end(); - - addExtensionPointItems(item, items); - - createVersionsSection(item, items); - - createEmailItems(item, items); - - createReportItems(item, items); - - createGoalItems(item, items); - - createAdminItems(item, items); - - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - time.end(); - } - - private void createAdvancedSearchesSection(XNavigateItem parent, List<XNavigateItem> items, AtsUser user) { - ElapsedTime time = new ElapsedTime("NVI - advSearch", debug); - XNavigateItem advancedSearchesItems = new XNavigateItemFolder(parent, "Advanced Searches"); - new SearchNavigateItem(advancedSearchesItems, new MyFavoritesSearchItem("My Favorites", null)); - new SearchNavigateItem(advancedSearchesItems, new MySubscribedSearchItem("My Subscribed", null)); - new SearchNavigateItem(advancedSearchesItems, new AtsSearchTeamWorkflowSearchItem()); - new SearchNavigateItem(advancedSearchesItems, new AtsSearchTaskSearchItem()); - new SearchNavigateItem(advancedSearchesItems, new MyWorldSearchItem("User's World", false)); - new ArtifactImpactToActionSearchItem(advancedSearchesItems); - new SearchNavigateItem(advancedSearchesItems, new AtsSearchGoalSearchItem()); - - new SearchNavigateItem(advancedSearchesItems, - new SearchTeamWorkflowsByProgramSearchItem("Search Team Workflows by Program", null, false)); - - // Search Items - new XNavigateItemOperation(advancedSearchesItems, FrameworkImage.BRANCH_CHANGE, "Open Change Report(s) by ID(s)", - new MultipleIdSearchOperationFactory("Open Change Report(s) by ID(s)", AtsEditor.ChangeReport)); - new XNavigateItemOperation(advancedSearchesItems, AtsImage.OPEN_BY_ID, "Search by ID(s) - Open World Editor", - new MultipleIdSearchOperationFactory("Search by ID(s) - Open World Editor", AtsEditor.WorldEditor)); - new XNavigateItemOperation(advancedSearchesItems, AtsImage.OPEN_BY_ID, - "Search by ID(s) - Multi-Line - Open World Editor", - new MultipleIdMultiLineSearchOperationFactory("Search by ID(s) - Open World Editor", AtsEditor.WorldEditor)); - new XNavigateItemOperation(advancedSearchesItems, AtsImage.WORKFLOW, "Search by ID(s) - Open Workflow Editor", - new MultipleIdSearchOperationFactory("Search by ID(s) - Open Workflow Editor", AtsEditor.WorkflowEditor)); - new XNavigateItemOperation(advancedSearchesItems, AtsImage.GLOBE, "Action Quick Search", - new AtsQuickSearchOperationFactory()); - items.add(advancedSearchesItems); - time.end(); - } - - private void createOpenViewsSection(XNavigateItem parent, List<XNavigateItem> items) { - ElapsedTime time = new ElapsedTime("NVI - openViews", debug); - XNavigateItem openViewsItems = new XNavigateItemFolder(parent, "Open Views"); - new XNavigateItemAction(openViewsItems, new OpenArtifactExplorerViewAction(), FrameworkImage.ARTIFACT_EXPLORER); - new XNavigateItemAction(openViewsItems, new OpenArtifactQuickSearchViewAction(), FrameworkImage.ARTIFACT_SEARCH); - new XNavigateItemAction(openViewsItems, new OpenBranchManagerAction(), FrameworkImage.BRANCH); - items.add(openViewsItems); - time.end(); - } - - private void createAdminItems(XNavigateItem parent, List<XNavigateItem> items) { - ElapsedTime time = new ElapsedTime("NVI - admin", debug); - if (AtsApiService.get().getUserService().isAtsAdmin()) { - createWorkDefinitionsSection(parent, items); - createExampleItems(parent, items); - XNavigateItem adminItems = new XNavigateItem(parent, "Admin", PluginUiImage.ADMIN); - - XNavigateItem dbConvertItems = new XNavigateItem(adminItems, "Database Conversions", PluginUiImage.ADMIN); - new XNavigateItemBlam(dbConvertItems, new ConvertWorkflowStatesBlam()); - - new DisplayCurrentOseeEventListeners(adminItems); - - XNavigateItem demoItems = new XNavigateItemFolder(adminItems, "Demo"); - new AtsRemoteEventTestItem(demoItems); - - new SearchNavigateItem(demoItems, new ArtifactTypeSearchItem("Show all Actions", AtsArtifactTypes.Action)); - new SearchNavigateItem(demoItems, - new ArtifactTypeSearchItem("Show all Decision Review", AtsArtifactTypes.DecisionReview)); - new SearchNavigateItem(demoItems, - new ArtifactTypeSearchItem("Show all PeerToPeer Review", AtsArtifactTypes.PeerToPeerReview)); - new SearchNavigateItem(demoItems, - new ArtifactTypeWithInheritenceSearchItem("Show all Team Workflows", AtsArtifactTypes.TeamWorkflow)); - new SearchNavigateItem(demoItems, new ArtifactTypeSearchItem("Show all Tasks", AtsArtifactTypes.Task)); - new CreateActionUsingAllActionableItems(demoItems); - - new AtsConfig2ExampleNavigateItem(demoItems); - - new XNavigateItemBlam(adminItems, new CreateAtsBaselineBranchBlam()); - new XNavigateItemAction(adminItems, new OpenChangeReportByTransactionIdAction(), FrameworkImage.BRANCH_CHANGE); - new XNavigateItemAction(adminItems, new OpenArtifactEditorById(), FrameworkImage.ARTIFACT_EDITOR); - new XNavigateItemAction(adminItems, new PurgeTransactionAction(), FrameworkImage.PURGE); - XNavigateItem healthItems = new XNavigateItemFolder(adminItems, "Health"); - new AtsHealthCheckNavigateItem(healthItems); - new CleanupOseeSystemAssignedWorkflows(healthItems); - new XNavigateItemAction(healthItems, new OpenOrphanedTasks(), AtsImage.TASK); - new XNavigateItemAction(adminItems, new RevertDuplicateAtsTransitionByIdAction(), AtsImage.TASK); - new XNavigateItemAction(adminItems, new RevertDuplicateAtsTransitionsAction(), AtsImage.TASK); - - Set<XNavigateExtensionPointData> extraItems = - XNavigateContributionManager.getNavigateItems(NavigateView.VIEW_ID); - - if (!extraItems.isEmpty()) { - XNavigateItem extra = new XNavigateItemFolder(adminItems, "Other"); - for (XNavigateExtensionPointData extraItem : extraItems) { - for (XNavigateItem navigateItem : extraItem.getNavigateItems()) { - extra.addChild(navigateItem); - } - } - } - - items.add(adminItems); - } - time.end(); - } - - private void createEmailItems(XNavigateItem parent, List<XNavigateItem> items) { - ElapsedTime time = new ElapsedTime("NVI - email", debug); - XNavigateItem emailItems = new XNavigateItem(parent, "Email & Notifications", FrameworkImage.EMAIL); - new EmailTeamsItem(emailItems, null, MemberType.Both); - new EmailTeamsItem(emailItems, null, MemberType.Leads); - new EmailTeamsItem(emailItems, null, MemberType.Members); - new EmailUserGroups(emailItems); - new SubscribeByActionableItem(emailItems); - new SubscribeByTeamDefinition(emailItems); - new XNavigateItemBlam(emailItems, new EmailActionsBlam(), FrameworkImage.EMAIL); - items.add(emailItems); - time.end(); - } - - private void createReportItems(XNavigateItem parent, List<XNavigateItem> items) { - ElapsedTime time = new ElapsedTime("NVI - report", debug); - XNavigateItem reportItems = new XNavigateItem(parent, "Reports", AtsImage.REPORT); - new FirstTimeQualityMetricReportItem(reportItems); - time.end(); - } - - private void createGoalItems(XNavigateItem parent, List<XNavigateItem> items) { - ElapsedTime time = new ElapsedTime("NVI - goal", debug); - XNavigateItem goalItems = new XNavigateItem(parent, "Goals", AtsImage.REPORT); - items.add(new XNavigateItemAction(goalItems, new NewGoal(), AtsImage.GOAL)); - time.end(); - } - - private void createExampleItems(XNavigateItem parent, List<XNavigateItem> items) { - ElapsedTime time = new ElapsedTime("NVI - example", debug); - if (AtsApiService.get().getUserService().isUserMember( - CoreUserGroups.OseeAdmin) || AtsApiService.get().getUserService().isUserMember(CoreUserGroups.Everyone)) { - XNavigateItem exampleItems = new XNavigateItem(parent, "Examples", AtsImage.REPORT); - - new ResultsEditorExample(exampleItems); - new CompareEditorExample(exampleItems); - new XViewerExample(exampleItems); - new XResultDataExample(exampleItems); - new XResultDataDialogExample(exampleItems); - new XResultDataTableExample(exampleItems); - new FilteredTreeDialogExample(exampleItems); - new FilteredTreeDialogSingleExample(exampleItems); - new FilteredTreeArtifactDialogExample(exampleItems); - new FilteredCheckboxTreeDialogExample(exampleItems); - new FilteredCheckboxTreeArtifactDialogExample(exampleItems); - new FilteredCheckboxTreeDialogSelectAllExample(exampleItems); - new XNavigateItemAction(exampleItems, new XWidgetsDialogExampleAction(), FrameworkImage.GEAR); - items.add(exampleItems); - } - time.end(); - } - - private void createWorkDefinitionsSection(XNavigateItem parent, List<XNavigateItem> items) { - ElapsedTime time = new ElapsedTime("NVI - workDef", debug); - try { - XNavigateItem workDefItems = new XNavigateItem(parent, "Work Definition", FrameworkImage.VERSION); - new WorkDefinitionViewer(workDefItems); - new ValidateWorkDefinitionNavigateItem(workDefItems); - items.add(workDefItems); - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, "Can't create Goals section"); - } - time.end(); - } - - private void createVersionsSection(XNavigateItem parent, List<XNavigateItem> items) { - ElapsedTime time = new ElapsedTime("NVI - version", debug); - try { - XNavigateItem releaseItems = new XNavigateItem(parent, "Versions", FrameworkImage.VERSION); - new ParallelConfigurationView(releaseItems); - new SearchNavigateItem(releaseItems, - new VersionTargetedForTeamSearchItem(null, null, false, LoadView.WorldEditor)); - new SearchNavigateItem(releaseItems, new NextVersionSearchItem(null, LoadView.WorldEditor)); - new GenerateVersionReportItem(releaseItems); - new GenerateFullVersionReportItem(releaseItems); - - // Admin - if (AtsApiService.get().getUserService().isAtsAdmin()) { - new MassEditTeamVersionItem("Team Versions (Admin)", releaseItems, FrameworkImage.VERSION); - new CreateNewVersionItem(releaseItems, null); - new ReleaseVersionItem(releaseItems, null); - } - - items.add(releaseItems); - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, "Can't create Goals section"); - } - time.end(); - } - - private void createAgileSection(XNavigateItem parent, List<XNavigateItem> items) { - ElapsedTime time = new ElapsedTime("NVI - agile section", debug); - try { - XNavigateItem agileItems = new XNavigateItem(parent, "Agile", FrameworkImage.VERSION); - new OpenAgileBacklog(agileItems); - new OpenAgileSprint(agileItems); - new SortAgileBacklog(agileItems); - - XNavigateItem agileReports = new XNavigateItem(agileItems, "Reports", AtsImage.REPORT); - new OpenAgileSprintReports(agileReports); - new OpenAgileStoredSprintReports(agileReports); - new XNavigateItemBlam(agileReports, new SyncJiraAndOseeByEpicBlam()); - - XNavigateItem agileConfigs = new XNavigateItem(agileItems, "Configuration", FrameworkImage.GEAR); - new CreateNewAgileTeam(agileConfigs); - new CreateNewAgileFeatureGroup(agileConfigs); - new CreateNewAgileSprint(agileConfigs); - new CreateNewAgileBacklog(agileConfigs); - - XNavigateItem conversionItems = new XNavigateItem(agileItems, "Conversions", FrameworkImage.VERSION); - new ConvertVersionToAgileSprint(conversionItems); - - items.add(agileItems); - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, "Can't create Agile section"); - } - time.end(); - } - - private void addExtensionPointItems(XNavigateItem parentItem, List<XNavigateItem> items) { - ElapsedTime time = new ElapsedTime("NVI - extPts", debug); - IExtensionPoint point = - Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.osee.ats.ide.AtsNavigateItem"); - if (point == null) { - OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, "Can't access AtsNavigateItem extension point"); - return; - } - IExtension[] extensions = point.getExtensions(); - Map<String, XNavigateItem> nameToNavItem = new TreeMap<>(); - for (IExtension extension : extensions) { - IConfigurationElement[] elements = extension.getConfigurationElements(); - String classname = null; - String bundleName = null; - for (IConfigurationElement el : elements) { - if (el.getName().equals("AtsNavigateItem")) { - classname = el.getAttribute("classname"); - bundleName = el.getContributor().getName(); - } - } - if (classname != null && bundleName != null) { - Bundle bundle = Platform.getBundle(bundleName); - try { - Object obj = bundle.loadClass(classname).newInstance(); - IAtsNavigateItem task = (IAtsNavigateItem) obj; - if (task != null) { - for (XNavigateItem navItem : task.getNavigateItems(parentItem)) { - nameToNavItem.put(navItem.getName(), navItem); - } - } - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.SEVERE, "Error loading AtsNavigateItem extension", ex); - } - } - } - items.addAll(nameToNavItem.values()); - time.end(); - } - - private static final class MultipleIdSearchOperationFactory implements IOperationFactory { - - private final AtsEditor atsEditor; - private final String operationName; - - public MultipleIdSearchOperationFactory(String operationName, AtsEditor atsEditor) { - this.operationName = operationName; - this.atsEditor = atsEditor; - } - - @Override - public IOperation createOperation() { - return new MultipleIdSearchOperation(new MultipleIdSearchData(operationName, atsEditor)); - } - } - - private static final class MultipleIdMultiLineSearchOperationFactory implements IOperationFactory { - - private final AtsEditor atsEditor; - private final String operationName; - - public MultipleIdMultiLineSearchOperationFactory(String operationName, AtsEditor atsEditor) { - this.operationName = operationName; - this.atsEditor = atsEditor; - } - - @Override - public IOperation createOperation() { - MultipleIdSearchOperation op = - new MultipleIdSearchOperation(new MultipleIdSearchData(operationName, atsEditor)); - op.setMultiLine(true); - return op; - } - } - - @Override - public void createCommonSection(List<XNavigateItem> items, List<String> excludeSectionIds) { - XNavigateItem reviewItem = new XNavigateItem(null, "OSEE ATS", AtsImage.ACTION); - new OpenPerspectiveNavigateItem(reviewItem, "ATS", OseePerspective.ID, AtsImage.ACTION); - addAtsSectionChildren(reviewItem); - items.add(reviewItem); - } - - @Override - public String getSectionId() { - return "ATS"; - } - - public void clearCaches() { - ensurePopulatedRanOnce = false; - items.clear(); - } - -} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/RecentlyVisitedNavigateItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/RecentlyVisitedNavigateItem.java index a2f7e376c51..5bb0b72b833 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/RecentlyVisitedNavigateItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/RecentlyVisitedNavigateItem.java @@ -21,8 +21,8 @@ import org.eclipse.osee.framework.core.data.ArtifactTypeToken; import org.eclipse.osee.framework.core.enums.DeletionFlag; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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; import org.eclipse.osee.framework.ui.skynet.ArtifactImageManager; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; @@ -34,8 +34,8 @@ public class RecentlyVisitedNavigateItem extends XNavigateItemAction { private final RecentlyVisistedItem item; - public RecentlyVisitedNavigateItem(XNavigateItem parent, RecentlyVisistedItem item) { - super(parent, item.getIdToken().getName(), FrameworkImage.OPEN); + public RecentlyVisitedNavigateItem(RecentlyVisistedItem item) { + super(item.getIdToken().getName(), FrameworkImage.OPEN, XNavItemCat.TOP); ArtifactTypeToken artifactType = item.getArtifactType(); if (artifactType != null && artifactType.isValid()) { oseeImage = ArtifactImageManager.getArtifactTypeImage(artifactType); 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 b3aba611385..49180cf5fd2 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 @@ -28,8 +28,8 @@ import org.eclipse.osee.framework.core.data.ArtifactToken; 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.XNavItemCat; 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; import org.eclipse.osee.framework.ui.swt.Displays; import org.eclipse.ui.IWorkbench; @@ -41,12 +41,13 @@ import org.eclipse.ui.PlatformUI; */ public class RecentlyVisitedNavigateItems extends XNavigateItemAction implements IWorkbenchListener { + private static final String NAME = "Recently Visited Workflows"; private static RecentlyVisitedItems visitedItems; private static String RECENTLY_VISITED_TOKENS = "recentlyVisitedTokens"; private static RecentlyVisitedNavigateItems topNavigateItem; - public RecentlyVisitedNavigateItems(XNavigateItem parent) { - super(parent, "Recently Visited Workflows", AtsImage.GLOBE); + public RecentlyVisitedNavigateItems(XNavItemCat category) { + super(NAME, AtsImage.GLOBE, category); topNavigateItem = this; PlatformUI.getWorkbench().addWorkbenchListener(this); refresh(); @@ -63,7 +64,8 @@ public class RecentlyVisitedNavigateItems extends XNavigateItemAction implements ensureFirstLoad(); topNavigateItem.getChildren().clear(); for (RecentlyVisistedItem item : visitedItems.getReverseVisited()) { - new RecentlyVisitedNavigateItem(topNavigateItem, item); + RecentlyVisitedNavigateItem navigateItem = new RecentlyVisitedNavigateItem(item); + topNavigateItem.addChild(navigateItem); } if (refresher != null) { Displays.ensureInDisplayThread(new Runnable() { diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SavedActionSearchNavigateItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SavedActionSearchNavigateItem.java index 9cb1c2a25b1..ce6a9ef6f86 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SavedActionSearchNavigateItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SavedActionSearchNavigateItem.java @@ -14,6 +14,8 @@ package org.eclipse.osee.ats.ide.navigate; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; import java.util.HashSet; import java.util.Set; import java.util.logging.Level; @@ -25,10 +27,12 @@ import org.eclipse.osee.ats.ide.internal.AtsApiService; import org.eclipse.osee.ats.ide.search.AtsSearchWorkflowSearchItem; import org.eclipse.osee.ats.ide.world.AtsWorldEditorItems; import org.eclipse.osee.ats.ide.world.IAtsWorldEditorItem; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; +import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.swt.Displays; -import org.eclipse.osee.framework.ui.swt.KeyedImage; /** * Create Saved Searches navigate item.</br> @@ -38,14 +42,10 @@ import org.eclipse.osee.framework.ui.swt.KeyedImage; public class SavedActionSearchNavigateItem extends XNavigateItem { private static SavedActionSearchNavigateItem topNavigateItem; + public static final XNavItemCat SAVED_ACTION_SEARCHES = new XNavItemCat("Saved Action Searches"); - public SavedActionSearchNavigateItem() { - // for jax-rs - super(null, null, (KeyedImage) null); - } - - public SavedActionSearchNavigateItem(XNavigateItem parent) { - super(parent, "Saved Action Searches", AtsImage.SEARCH); + public SavedActionSearchNavigateItem(XNavItemCat category) { + super(SAVED_ACTION_SEARCHES.getName(), AtsImage.SEARCH, category); topNavigateItem = this; refresh(); } @@ -96,7 +96,7 @@ public class SavedActionSearchNavigateItem extends XNavigateItem { if (!ids.contains(data.getId())) { AtsSearchWorkflowSearchItem searchItem = item.copy(); searchItem.setSavedData(data); - SearchNavigateItem navItem = new SearchNavigateItem(topNavigateItem, searchItem); + SearchNavigateItem navItem = new SearchNavigateItem(searchItem, SAVED_ACTION_SEARCHES); navItem.setName(item.getShortNamePrefix() + ": " + data.getSearchName()); ids.add(data.getId()); } @@ -108,4 +108,9 @@ public class SavedActionSearchNavigateItem extends XNavigateItem { } } + @Override + public Collection<IUserGroupArtifactToken> getUserGroups() { + return Arrays.asList(CoreUserGroups.Everyone); + } + } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SearchNavigateItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SearchNavigateItem.java index 33dd33ede1c..ce379aee726 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SearchNavigateItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SearchNavigateItem.java @@ -23,7 +23,10 @@ import org.eclipse.osee.ats.ide.world.WorldEditorUISearchItemProvider; import org.eclipse.osee.ats.ide.world.search.WorldSearchItem; import org.eclipse.osee.ats.ide.world.search.WorldSearchItem.LoadView; import org.eclipse.osee.ats.ide.world.search.WorldUISearchItem; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; +import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.swt.ImageManager; @@ -36,13 +39,13 @@ public class SearchNavigateItem extends XNavigateItem { private final WorldSearchItem wsi; - public SearchNavigateItem(XNavigateItem parent, WorldSearchItem wsi) { - super(parent, wsi.getName(), AtsImage.GLOBE); + public SearchNavigateItem(WorldSearchItem wsi, XNavItemCat... xNavItemCat) { + super(wsi.getName(), AtsImage.GLOBE, xNavItemCat); this.wsi = wsi; } - public SearchNavigateItem(XNavigateItem parent, WorldSearchItem wsi, AtsImage atsImage) { - super(parent, wsi.getName(), atsImage); + public SearchNavigateItem(WorldSearchItem wsi, AtsImage atsImage, XNavItemCat... xNavItemCat) { + super(wsi.getName(), atsImage, xNavItemCat); this.wsi = wsi; } @@ -80,4 +83,12 @@ public class SearchNavigateItem extends XNavigateItem { } } + @Override + public Collection<IUserGroupArtifactToken> getUserGroups() { + if (categories.contains(XNavItemCat.OSEE_ADMIN)) { + return Arrays.asList(CoreUserGroups.OseeAdmin); + } + return Arrays.asList(CoreUserGroups.Everyone); + } + } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SubscribeByActionableItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SubscribeByActionableItem.java index bb20d75868b..27c3a2b068b 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SubscribeByActionableItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SubscribeByActionableItem.java @@ -42,8 +42,8 @@ import org.eclipse.osee.framework.ui.skynet.FrameworkImage; */ public class SubscribeByActionableItem extends XNavigateItemAction { - public SubscribeByActionableItem(XNavigateItem parent) { - super(parent, "Subscribe by Actionable Item", FrameworkImage.EMAIL); + public SubscribeByActionableItem() { + super("Subscribe by Actionable Item", FrameworkImage.EMAIL, XNavigateItem.EMAIL_NOTIFICATIONS); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SubscribeByTeamDefinition.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SubscribeByTeamDefinition.java index 780a62b742d..701d594b53c 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SubscribeByTeamDefinition.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/SubscribeByTeamDefinition.java @@ -42,8 +42,8 @@ import org.eclipse.osee.framework.ui.skynet.FrameworkImage; */ public class SubscribeByTeamDefinition extends XNavigateItemAction { - public SubscribeByTeamDefinition(XNavigateItem parent) { - super(parent, "Subscribe by Team Definition", FrameworkImage.EMAIL); + public SubscribeByTeamDefinition() { + super("Subscribe by Team Definition", FrameworkImage.EMAIL, XNavigateItem.EMAIL_NOTIFICATIONS); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ToggleAccessControlDebug.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ToggleAccessControlDebug.java index 18c863d36dd..6a9ab59eb08 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ToggleAccessControlDebug.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ToggleAccessControlDebug.java @@ -26,8 +26,8 @@ import org.eclipse.osee.framework.ui.swt.Displays; */ public class ToggleAccessControlDebug extends XNavigateItemAction { - public ToggleAccessControlDebug(XNavigateItem parent) { - super(parent, "Toggle Access Control Debug", FrameworkImage.GEAR); + public ToggleAccessControlDebug() { + super("Toggle Access Control Debug", FrameworkImage.GEAR, XNavigateItem.UTILITY); } @Override 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 2c9701ea238..60c4d8ebd0a 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 @@ -39,13 +39,12 @@ import org.eclipse.osee.framework.ui.swt.Displays; */ public class ToggleAtsAdmin extends XNavigateItemAction { - public ToggleAtsAdmin(XNavigateItem parent) { - super(parent, "Toggle ATS Admin - Temporary", PluginUiImage.ADMIN); + public ToggleAtsAdmin() { + super("Toggle ATS Admin - Temporary", PluginUiImage.ADMIN, XNavigateItem.DEMO); } @Override public void run(TableLoadOption... tableLoadOptions) throws Exception { - run(); } @@ -88,7 +87,6 @@ public class ToggleAtsAdmin extends XNavigateItemAction { } } AtsApiService.get().clearCaches(); - NavigateViewItems.getInstance().clearCaches(); for (WorkflowEditor editor : WorkflowEditor.getWorkflowEditors()) { editor.refresh(); diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ValidateOseeTypes.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ValidateOseeTypes.java index 0a54681c6fc..0ead5e7c2f4 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ValidateOseeTypes.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/ValidateOseeTypes.java @@ -27,8 +27,8 @@ import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; */ public class ValidateOseeTypes extends XNavigateItemAction { - public ValidateOseeTypes(XNavigateItem parent) { - super(parent, "Validate OSEE Types", AtsImage.REPORT); + public ValidateOseeTypes() { + super("Validate OSEE Types", AtsImage.REPORT, XNavigateItem.UTILITY); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/XResultDataTableExample.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/XResultDataTableExample.java index 9451aa63f7b..61e97696ac0 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/XResultDataTableExample.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/XResultDataTableExample.java @@ -14,10 +14,10 @@ package org.eclipse.osee.ats.ide.navigate; import org.eclipse.osee.ats.ide.internal.AtsApiService; import org.eclipse.osee.framework.jdk.core.result.XResultData; -import org.eclipse.osee.framework.ui.plugin.PluginUiImage; 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; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; /** @@ -27,8 +27,8 @@ public class XResultDataTableExample extends XNavigateItemAction { public static final String TITLE = "XResultData REST Table Example"; - public XResultDataTableExample(XNavigateItem parent) { - super(parent, TITLE, PluginUiImage.ADMIN); + public XResultDataTableExample() { + super(TITLE, FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/report/PublishFullVersionReportItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/report/PublishFullVersionReportItem.java index 686ba6c6a8a..30abf74fd2e 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/report/PublishFullVersionReportItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/navigate/report/PublishFullVersionReportItem.java @@ -24,6 +24,7 @@ import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; import org.eclipse.osee.ats.ide.config.version.VersionReportJob; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.widgets.dialog.TeamDefinitionDialog; import org.eclipse.osee.framework.core.enums.Active; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; @@ -32,7 +33,6 @@ import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; 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; import org.eclipse.osee.framework.ui.swt.Displays; import org.eclipse.swt.SWT; @@ -47,8 +47,8 @@ public class PublishFullVersionReportItem extends XNavigateItemAction { private final IAtsTeamDefinition teamDef; private final String publishToFilename; - public PublishFullVersionReportItem(XNavigateItem parent, String name, IAtsTeamDefinition teamDef, String publishToFilename) { - super(parent, name); + public PublishFullVersionReportItem(String name, IAtsTeamDefinition teamDef, String publishToFilename) { + super(name, AtsNavigateViewItems.ATS_VERSIONS); this.teamDef = teamDef; this.publishToFilename = publishToFilename; } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/notify/EmailActionsBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/notify/EmailActionsBlam.java index a8864078ea1..163515bd449 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/notify/EmailActionsBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/notify/EmailActionsBlam.java @@ -16,7 +16,6 @@ package org.eclipse.osee.ats.ide.notify; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import java.util.logging.Level; import org.eclipse.core.runtime.IProgressMonitor; @@ -28,10 +27,9 @@ import org.eclipse.osee.ats.api.user.AtsUser; import org.eclipse.osee.ats.core.users.AtsUsersUtility; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.notify.EmailActionsData.EmailRecipient; import org.eclipse.osee.ats.ide.workflow.AbstractWorkflowArtifact; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.util.Result; import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; @@ -41,6 +39,7 @@ import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.utility.EmailUtil; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.widgets.XButtonPush; @@ -233,13 +232,8 @@ public class EmailActionsBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS.Util"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_UTIL); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ConvertWorkflowStatesBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ConvertWorkflowStatesBlam.java index dc2ba2a1364..a358aa1f5e0 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ConvertWorkflowStatesBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ConvertWorkflowStatesBlam.java @@ -15,7 +15,6 @@ package org.eclipse.osee.ats.ide.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -23,16 +22,16 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.jobs.IJobChangeEvent; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.core.runtime.jobs.JobChangeAdapter; -import org.eclipse.osee.ats.api.data.AtsUserGroups; import org.eclipse.osee.ats.ide.internal.Activator; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.workflow.ConvertWorkflowStatesOperation; import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.operation.Operations; 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.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.results.XResultDataUI; @@ -132,13 +131,8 @@ public class ConvertWorkflowStatesBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS.Admin"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(AtsUserGroups.AtsAdmin); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_ADMIN, XNavItemCat.OSEE_ADMIN); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/CreateActionFromTaskBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/CreateActionFromTaskBlam.java index edb80932be1..92dfbc94686 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/CreateActionFromTaskBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/CreateActionFromTaskBlam.java @@ -31,13 +31,12 @@ import org.eclipse.osee.ats.api.workflow.IAtsTeamWorkflow; 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.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.AtsEditors; import org.eclipse.osee.ats.ide.util.AtsUtilClient; import org.eclipse.osee.ats.ide.workflow.task.TaskArtifact; import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.enums.CoreRelationTypes; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.jdk.core.util.AXml; import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.jdk.core.util.Strings; @@ -45,6 +44,7 @@ import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.widgets.XListDropViewer; @@ -132,9 +132,8 @@ public class CreateActionFromTaskBlam extends AbstractBlam { useTitle = task.getName(); } ActionResult result = AtsApiService.get().getActionService().createAction( - AtsApiService.get().getUserService().getCurrentUser(), useTitle, getDescription(task), changeType, - priority, false, null, aias, new Date(), AtsApiService.get().getUserService().getCurrentUser(), null, - changes); + AtsApiService.get().getUserService().getCurrentUser(), useTitle, getDescription(task), changeType, priority, + false, null, aias, new Date(), AtsApiService.get().getUserService().getCurrentUser(), null, changes); for (IAtsTeamWorkflow teamWf : result.getTeams()) { newTeamArts.add((TeamWorkFlowArtifact) teamWf.getStoreObject()); @@ -217,13 +216,8 @@ public class CreateActionFromTaskBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return java.util.Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_UTIL); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/CreateSiblingWorkflowBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/CreateSiblingWorkflowBlam.java index 643a29a0b72..222d081309f 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/CreateSiblingWorkflowBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/CreateSiblingWorkflowBlam.java @@ -12,12 +12,9 @@ *******************************************************************************/ package org.eclipse.osee.ats.ide.operation; -import java.util.Collection; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.ats.api.ai.IAtsActionableItem; import org.eclipse.osee.ats.api.util.AtsImage; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.skynet.util.IsEnabled; import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener; @@ -65,11 +62,6 @@ public class CreateSiblingWorkflowBlam extends ModifyActionableItemsBlam impleme } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return java.util.Collections.singleton(CoreUserGroups.Everyone); - } - - @Override public String getRunText() { return "Create Sibling Workflows"; } @@ -90,11 +82,6 @@ public class CreateSiblingWorkflowBlam extends ModifyActionableItemsBlam impleme } @Override - public boolean showInBlamSection() { - return false; - } - - @Override public Image getImage() { return ImageManager.getImage(AtsImage.CHANGE_REQUEST); } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/CreateWorkingBranchFromTxBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/CreateWorkingBranchFromTxBlam.java index d3bb9082f83..b5fe3063d7d 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/CreateWorkingBranchFromTxBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/CreateWorkingBranchFromTxBlam.java @@ -16,20 +16,19 @@ package org.eclipse.osee.ats.ide.operation; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; 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.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.TransactionToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; 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.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -82,13 +81,8 @@ public class CreateWorkingBranchFromTxBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TOP_ADMIN, XNavItemCat.OSEE_ADMIN); } } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusBlam.java index 8139de96c9e..3d327a8dd76 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusBlam.java @@ -50,12 +50,10 @@ import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; import org.eclipse.osee.define.ide.traceability.report.RequirementStatus; import org.eclipse.osee.framework.core.data.BranchId; import org.eclipse.osee.framework.core.data.BranchToken; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; 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.DeletionFlag; import org.eclipse.osee.framework.core.enums.OteArtifactTypes; import org.eclipse.osee.framework.jdk.core.type.CompositeKeyHashMap; @@ -73,6 +71,8 @@ import org.eclipse.osee.framework.plugin.core.util.AIFile; 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.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.widgets.XBranchSelectWidget; @@ -678,13 +678,8 @@ public class DetailedTestStatusBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("OTE"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return java.util.Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.OTE); } } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusOld.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusOld.java index 76c477519d2..9f2feeefec4 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusOld.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusOld.java @@ -57,11 +57,9 @@ import org.eclipse.osee.define.ide.traceability.TraceabilityProviderOperation; import org.eclipse.osee.define.ide.traceability.report.RequirementStatus; import org.eclipse.osee.framework.core.data.BranchId; import org.eclipse.osee.framework.core.data.BranchToken; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.enums.DeletionFlag; import org.eclipse.osee.framework.core.enums.OteArtifactTypes; import org.eclipse.osee.framework.jdk.core.type.CompositeKeyHashMap; @@ -79,6 +77,8 @@ import org.eclipse.osee.framework.plugin.core.util.AIFile; 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.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.branch.ViewApplicabilityUtil; @@ -646,13 +646,8 @@ public class DetailedTestStatusOld extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("OTE"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return java.util.Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.OTE); } } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ModifyActionableItemsBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ModifyActionableItemsBlam.java index d2b508ec2da..84cdba4ec07 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ModifyActionableItemsBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ModifyActionableItemsBlam.java @@ -40,15 +40,14 @@ import org.eclipse.osee.ats.core.ai.ModifyActionableItems; import org.eclipse.osee.ats.core.config.TeamDefinitionUtility; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.AtsEditors; import org.eclipse.osee.ats.ide.util.AtsObjectLabelProvider; import org.eclipse.osee.ats.ide.util.widgets.dialog.AITreeContentProvider; import org.eclipse.osee.ats.ide.util.widgets.dialog.AtsObjectNameSorter; import org.eclipse.osee.ats.ide.workflow.duplicate.DuplicateWorkflowAction; import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.enums.Active; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.operation.AbstractOperation; import org.eclipse.osee.framework.core.operation.OperationLogger; import org.eclipse.osee.framework.core.operation.Operations; @@ -59,6 +58,7 @@ import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; 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.xnavigate.XNavItemCat; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -518,8 +518,8 @@ public class ModifyActionableItemsBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_UTIL); } @Override @@ -565,11 +565,6 @@ public class ModifyActionableItemsBlam extends AbstractBlam { return newTree.getViewer().getTree().getItemCount(); } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - protected boolean displayWfTree() { return true; } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/MoveTeamWorkflowsBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/MoveTeamWorkflowsBlam.java index 90995349d5b..319cda58433 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/MoveTeamWorkflowsBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/MoveTeamWorkflowsBlam.java @@ -15,17 +15,16 @@ package org.eclipse.osee.ats.ide.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.ats.ide.internal.Activator; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.operation.Operations; import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; import org.eclipse.osee.framework.ui.swt.Displays; @@ -93,13 +92,8 @@ public class MoveTeamWorkflowsBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_UTIL); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/PurgeUser.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/PurgeUser.java index aa32dcd0d57..827c0d846f3 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/PurgeUser.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/PurgeUser.java @@ -15,11 +15,9 @@ package org.eclipse.osee.ats.ide.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.framework.jdk.core.result.XResultData; import org.eclipse.osee.framework.jdk.core.util.AHTML; import org.eclipse.osee.framework.skynet.core.User; @@ -27,13 +25,18 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.utility.ConnectionHandler; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.results.XResultDataUI; import org.eclipse.osee.framework.ui.swt.Displays; +import org.eclipse.osee.framework.ui.swt.ImageManager; import org.eclipse.osee.jdbc.JdbcClient; import org.eclipse.osee.jdbc.JdbcConnection; import org.eclipse.osee.jdbc.JdbcTransaction; +import org.eclipse.swt.graphics.Image; /** * @author Megumi Telles @@ -192,13 +195,18 @@ public class PurgeUser extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS.Admin"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.USER_MANAGEMENT_ADMIN, XNavItemCat.OSEE_ADMIN); } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Image getImage() { + return ImageManager.getImage(FrameworkImage.X_RED); } -}
\ No newline at end of file + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.X_RED); + } + +} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ReAssignATSObjectsToUser.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ReAssignAtsObjectsToUser.java index 7471e1def2b..058807a2ffe 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ReAssignATSObjectsToUser.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/ReAssignAtsObjectsToUser.java @@ -15,36 +15,39 @@ package org.eclipse.osee.ats.ide.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.HashSet; import java.util.Set; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.osee.ats.api.util.AtsImage; import org.eclipse.osee.ats.api.util.IAtsChangeSet; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.AtsEditors; import org.eclipse.osee.ats.ide.workflow.AbstractWorkflowArtifact; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.skynet.core.User; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.util.ArtifactTypeAndDescriptiveLabelProvider; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredCheckboxTreeArtifactDialog; import org.eclipse.osee.framework.ui.swt.Displays; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; /** * @author Donald G. Dunne */ -public class ReAssignATSObjectsToUser extends AbstractBlam { +public class ReAssignAtsObjectsToUser extends AbstractBlam { public final static String FROM_ASSIGNEE = "From Assignee"; public final static String TO_ASSIGNEE = "To Assignee"; @Override public String getName() { - return "Admin - Re-Assign ATS Objects To User"; + return "Re-Assign ATS Objects To User"; } @Override @@ -94,8 +97,7 @@ public class ReAssignATSObjectsToUser extends AbstractBlam { for (Artifact artifact : artsToReAssign) { if (artifact instanceof AbstractWorkflowArtifact) { AbstractWorkflowArtifact awa = (AbstractWorkflowArtifact) artifact; - awa.getStateMgr().removeAssignee( - AtsApiService.get().getUserService().getUserById(fromUser)); + awa.getStateMgr().removeAssignee(AtsApiService.get().getUserService().getUserById(fromUser)); awa.getStateMgr().addAssignee(AtsApiService.get().getUserService().getUserById(toUser)); changes.add(awa); } @@ -123,13 +125,18 @@ public class ReAssignATSObjectsToUser extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS.Admin"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_ADMIN, XNavItemCat.OSEE_ADMIN); } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Image getImage() { + return ImageManager.getImage(AtsImage.ACTION); } -}
\ No newline at end of file + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(AtsImage.ACTION); + } + +} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/AtsUserNavigateItems.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/AtsUserNavigateItems.java index fdf766285a5..e69de29bb2d 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/AtsUserNavigateItems.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/AtsUserNavigateItems.java @@ -1,58 +0,0 @@ -/********************************************************************* - * Copyright (c) 2013 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.util; - -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import org.eclipse.osee.ats.api.util.AtsImage; -import org.eclipse.osee.ats.ide.internal.Activator; -import org.eclipse.osee.ats.ide.internal.AtsApiService; -import org.eclipse.osee.ats.ide.navigate.CreateNewUsersByNameItem; -import org.eclipse.osee.ats.ide.navigate.SearchNavigateItem; -import org.eclipse.osee.ats.ide.operation.PurgeUser; -import org.eclipse.osee.ats.ide.operation.ReAssignATSObjectsToUser; -import org.eclipse.osee.ats.ide.world.search.UserRelatedToAtsObjectSearch; -import org.eclipse.osee.ats.ide.world.search.WorldSearchItem.LoadView; -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; -import org.eclipse.osee.framework.ui.skynet.FrameworkImage; -import org.eclipse.osee.framework.ui.skynet.user.IUserNavigateItem; -import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam; - -/** - * @author Donald G. Dunne - */ -public class AtsUserNavigateItems implements IUserNavigateItem { - - @Override - public List<XNavigateItem> getNavigateItems(XNavigateItem parentItem, boolean admin, boolean inUserGroup) { - List<XNavigateItem> items = new ArrayList<>(); - if (AtsApiService.get().getUserService().isAtsAdmin()) { - items.add(new XNavigateItemBlam(parentItem, new PurgeUser(), FrameworkImage.X_RED)); - items.add(new XNavigateItemBlam(parentItem, new ReAssignATSObjectsToUser(), AtsImage.ACTION)); - items.add(new CreateNewUsersByNameItem(parentItem)); - try { - new SearchNavigateItem(parentItem, new UserRelatedToAtsObjectSearch("Admin - Show User Related Objects", - null, false, LoadView.WorldEditor)); - new SearchNavigateItem(parentItem, - new UserRelatedToAtsObjectSearch("Show Active User Related Objects", null, true, LoadView.WorldEditor)); - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - } - return items; - } -} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/CleanupOseeSystemAssignedWorkflows.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/CleanupOseeSystemAssignedWorkflows.java index b013959f028..bbdfc2d1193 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/CleanupOseeSystemAssignedWorkflows.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/CleanupOseeSystemAssignedWorkflows.java @@ -18,10 +18,11 @@ import org.eclipse.osee.ats.api.IAtsWorkItem; import org.eclipse.osee.ats.api.user.AtsCoreUsers; import org.eclipse.osee.ats.api.util.IAtsChangeSet; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.framework.jdk.core.result.XResultData; import org.eclipse.osee.framework.ui.plugin.PluginUiImage; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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; import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; @@ -30,8 +31,9 @@ import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; */ public class CleanupOseeSystemAssignedWorkflows extends XNavigateItemAction { - public CleanupOseeSystemAssignedWorkflows(XNavigateItem parent) { - super(parent, "Cleanup OSEE System assigned workflows.", PluginUiImage.ADMIN); + public CleanupOseeSystemAssignedWorkflows() { + super("Cleanup OSEE System assigned workflows.", PluginUiImage.ADMIN, AtsNavigateViewItems.ATS_ADMIN, + XNavItemCat.OSEE_ADMIN); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/CreateActionUsingAllActionableItems.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/CreateActionUsingAllActionableItems.java index 242696dc553..c60b4f813b4 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/CreateActionUsingAllActionableItems.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/CreateActionUsingAllActionableItems.java @@ -28,8 +28,8 @@ import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.ui.plugin.PluginUiImage; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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; import org.eclipse.osee.framework.ui.swt.Displays; @@ -38,8 +38,8 @@ import org.eclipse.osee.framework.ui.swt.Displays; */ public class CreateActionUsingAllActionableItems extends XNavigateItemAction { - public CreateActionUsingAllActionableItems(XNavigateItem parent) { - super(parent, "Create Action Using All Actionable Items - Admin", PluginUiImage.ADMIN); + public CreateActionUsingAllActionableItems(XNavItemCat... xNavItemCat) { + super("Create Action Using All Actionable Items - Admin", PluginUiImage.ADMIN, xNavItemCat); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ExcelAtsTaskArtifactExtractor.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ExcelAtsTaskArtifactExtractor.java index 1a5de7f74ce..d4738b00cc5 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ExcelAtsTaskArtifactExtractor.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ExcelAtsTaskArtifactExtractor.java @@ -22,7 +22,6 @@ import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; import org.eclipse.osee.ats.api.data.AtsAttributeTypes; import org.eclipse.osee.ats.api.task.JaxAtsTask; -import org.eclipse.osee.ats.api.task.JaxAtsTask; import org.eclipse.osee.ats.api.task.NewTaskData; import org.eclipse.osee.ats.api.user.AtsUser; import org.eclipse.osee.ats.ide.internal.Activator; diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportActionsViaSpreadsheetBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportActionsViaSpreadsheetBlam.java index b6a3371aa05..764afd46758 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportActionsViaSpreadsheetBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportActionsViaSpreadsheetBlam.java @@ -21,6 +21,7 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.nebula.widgets.xviewer.core.model.SortDataType; import org.eclipse.nebula.widgets.xviewer.core.model.XViewerAlign; import org.eclipse.nebula.widgets.xviewer.core.model.XViewerColumn; @@ -28,6 +29,7 @@ import org.eclipse.osee.ats.api.task.JaxAttribute; import org.eclipse.osee.ats.api.util.IAtsChangeSet; import org.eclipse.osee.ats.api.workflow.IAtsGoal; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.Import.ExcelAtsActionArtifactExtractor.ActionData; import org.eclipse.osee.ats.ide.world.WorldEditor; import org.eclipse.osee.ats.ide.world.WorldEditorSimpleProvider; @@ -38,6 +40,8 @@ import org.eclipse.osee.framework.jdk.core.result.XResultData; import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.results.IResultsEditorProvider; @@ -51,6 +55,8 @@ import org.eclipse.osee.framework.ui.skynet.widgets.XButtonPush; import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.program.Program; import org.eclipse.ui.forms.widgets.FormToolkit; @@ -275,13 +281,18 @@ public class ImportActionsViaSpreadsheetBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_IMPORT); } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Image getImage() { + return ImageManager.getImage(FrameworkImage.IMPORT); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.IMPORT); } } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportAgileActionsViaSpreadsheetBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportAgileActionsViaSpreadsheetBlam.java index 79f85b71ade..c127b97be28 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportAgileActionsViaSpreadsheetBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportAgileActionsViaSpreadsheetBlam.java @@ -14,7 +14,11 @@ package org.eclipse.osee.ats.ide.util.Import; import java.io.File; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.framework.core.util.OseeInf; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; /** * @author Donald G. Dunne @@ -36,4 +40,14 @@ public class ImportAgileActionsViaSpreadsheetBlam extends ImportActionsViaSpread return OseeInf.getResourceAsFile("atsImport/Agile_Action_Import.xml", getClass()); } + @Override + public Image getImage() { + return ImageManager.getImage(FrameworkImage.IMPORT); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.IMPORT); + } + } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportTasksFromSimpleList.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportTasksFromSimpleList.java index 48b23239ef7..89dafb3afa8 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportTasksFromSimpleList.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportTasksFromSimpleList.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Set; import java.util.logging.Level; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.ats.api.AtsApi; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; import org.eclipse.osee.ats.api.task.NewTaskData; @@ -34,6 +35,7 @@ import org.eclipse.osee.ats.ide.column.RelatedToStateColumn; 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.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.enums.CoreUserGroups; @@ -43,6 +45,8 @@ import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.User; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.widgets.XCombo; @@ -51,6 +55,8 @@ import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer; import org.eclipse.osee.framework.ui.swt.Displays; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; import org.eclipse.ui.forms.widgets.FormToolkit; /** @@ -208,17 +214,22 @@ public class ImportTasksFromSimpleList extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_IMPORT); + } + + public void setTaskWorkDef(AtsWorkDefinitionToken taskWorkDef) { + this.taskWorkDef = taskWorkDef; } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Image getImage() { + return ImageManager.getImage(FrameworkImage.IMPORT); } - public void setTaskWorkDef(AtsWorkDefinitionToken taskWorkDef) { - this.taskWorkDef = taskWorkDef; + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.IMPORT); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportTasksFromSpreadsheet.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportTasksFromSpreadsheet.java index 93d9de8a046..6ed731c98c8 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportTasksFromSpreadsheet.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/Import/ImportTasksFromSpreadsheet.java @@ -16,19 +16,18 @@ package org.eclipse.osee.ats.ide.util.Import; import java.io.File; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; import org.eclipse.osee.ats.api.task.NewTaskSet; import org.eclipse.osee.ats.api.workflow.IAtsTeamWorkflow; import org.eclipse.osee.ats.ide.editor.WorkflowEditor; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.AtsUtilClient; import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.util.OseeInf; import org.eclipse.osee.framework.jdk.core.result.XResultData; import org.eclipse.osee.framework.jdk.core.util.Lib; @@ -36,6 +35,8 @@ import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.plugin.core.util.Jobs; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.results.XResultDataUI; @@ -45,6 +46,8 @@ import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer; import org.eclipse.osee.framework.ui.swt.Displays; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.program.Program; import org.eclipse.ui.forms.widgets.FormToolkit; @@ -192,8 +195,8 @@ public class ImportTasksFromSpreadsheet extends AbstractBlam { public NewTaskSet performImport(boolean fixTitles, boolean emailPocs, IAtsTeamWorkflow teamWf, File file) { try { AtsUtilClient.setEmailEnabled(emailPocs); - NewTaskSet newTaskSet = NewTaskSet.createWithData(teamWf, - "Import Tasks from Spreadsheet", AtsApiService.get().getUserService().getCurrentUser()); + NewTaskSet newTaskSet = NewTaskSet.createWithData(teamWf, "Import Tasks from Spreadsheet", + AtsApiService.get().getUserService().getCurrentUser()); newTaskSet.getTaskData().setFixTitles(fixTitles); XResultData rd = new XResultData(); @@ -215,13 +218,18 @@ public class ImportTasksFromSpreadsheet extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_IMPORT); } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Image getImage() { + return ImageManager.getImage(FrameworkImage.IMPORT); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.IMPORT); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/XWorkPackageWidget.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/XWorkPackageWidget.java index abfd38e8ade..310c52ab0fd 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/XWorkPackageWidget.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/XWorkPackageWidget.java @@ -28,8 +28,8 @@ import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.logging.OseeLog; 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.widgets.GenericXWidget; import org.eclipse.osee.framework.ui.skynet.widgets.ArtifactWidget; +import org.eclipse.osee.framework.ui.skynet.widgets.GenericXWidget; import org.eclipse.osee.framework.ui.swt.Displays; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workdef/ValidateWorkDefinitionNavigateItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workdef/ValidateWorkDefinitionNavigateItem.java index 721519e53e5..a631668174b 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workdef/ValidateWorkDefinitionNavigateItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workdef/ValidateWorkDefinitionNavigateItem.java @@ -13,9 +13,14 @@ package org.eclipse.osee.ats.ide.workdef; +import java.util.Arrays; +import java.util.Collection; +import org.eclipse.osee.ats.api.data.AtsUserGroups; import org.eclipse.osee.ats.api.util.AtsImage; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.jdk.core.result.XResultData; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.skynet.results.XResultDataUI; @@ -25,8 +30,8 @@ import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; */ public class ValidateWorkDefinitionNavigateItem extends XNavigateItem { - public ValidateWorkDefinitionNavigateItem(XNavigateItem parent) { - super(parent, "Validate Work Definitions", AtsImage.WORKFLOW_DEFINITION); + public ValidateWorkDefinitionNavigateItem(XNavItemCat category) { + super("Validate Work Definitions", AtsImage.WORKFLOW_DEFINITION, category); } @Override @@ -35,4 +40,9 @@ public class ValidateWorkDefinitionNavigateItem extends XNavigateItem { XResultDataUI.report(results, getName()); } + @Override + public Collection<IUserGroupArtifactToken> getUserGroups() { + return Arrays.asList(AtsUserGroups.AtsAdmin); + } + } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workdef/editor/WorkDefinitionViewer.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workdef/editor/WorkDefinitionViewer.java index 0a8a6138df2..cf089161126 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workdef/editor/WorkDefinitionViewer.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workdef/editor/WorkDefinitionViewer.java @@ -32,8 +32,8 @@ import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.ui.plugin.PluginUiImage; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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; import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorOutlineProvider; import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorProvider; @@ -57,8 +57,8 @@ public class WorkDefinitionViewer extends XNavigateItemAction { private IAtsWorkDefinition workDef; private WfeOutlinePage outlinePage; - public WorkDefinitionViewer(XNavigateItem parent) { - super(parent, TITLE, PluginUiImage.ADMIN); + public WorkDefinitionViewer(XNavItemCat category) { + super(TITLE, PluginUiImage.ADMIN, category); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/CreateNewChangeRequestBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/CreateNewChangeRequestBlam.java index e5ab06166df..bfa76589ecc 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/CreateNewChangeRequestBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/CreateNewChangeRequestBlam.java @@ -13,6 +13,7 @@ package org.eclipse.osee.ats.ide.workflow.cr; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Date; @@ -38,6 +39,7 @@ 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.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.widgets.XArtifactTypeComboViewer; @@ -269,16 +271,6 @@ public abstract class CreateNewChangeRequestBlam extends AbstractBlam implements } @Override - public boolean showInBlamSection() { - return false; - } - - @Override - public Collection<String> getCategoriesStr() { - return Collections.singleton("ATS"); - } - - @Override public Image getImage() { return ImageManager.getImage(AtsImage.CHANGE_REQUEST); } @@ -292,4 +284,9 @@ public abstract class CreateNewChangeRequestBlam extends AbstractBlam implements return actionResult; } + @Override + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavItemCat.TOP_NEW); + } + }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/duplicate/DuplicateWorkflowBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/duplicate/DuplicateWorkflowBlam.java index e6bb0e9a8ca..e7df77341dc 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/duplicate/DuplicateWorkflowBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/duplicate/DuplicateWorkflowBlam.java @@ -19,8 +19,10 @@ import java.util.Collection; import java.util.LinkedList; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; import org.eclipse.osee.ats.api.user.AtsUser; +import org.eclipse.osee.ats.api.util.AtsImage; import org.eclipse.osee.ats.api.util.IValidatingOperation; import org.eclipse.osee.ats.api.workflow.IAtsTeamWorkflow; import org.eclipse.osee.ats.core.workflow.util.DuplicateWorkflowAsIsOperation; @@ -28,16 +30,16 @@ import org.eclipse.osee.ats.core.workflow.util.DuplicateWorkflowAtStartStateOper 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.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.AtsUtilClient; import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact; -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.AXml; import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.results.XResultDataUI; @@ -46,6 +48,8 @@ import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer; import org.eclipse.osee.framework.ui.swt.Displays; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; import org.eclipse.ui.forms.widgets.FormToolkit; /** @@ -238,13 +242,18 @@ public class DuplicateWorkflowBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("ATS"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(AtsNavigateViewItems.ATS_UTIL); } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return java.util.Collections.singleton(CoreUserGroups.Everyone); + public Image getImage() { + return ImageManager.getImage(AtsImage.WORKFLOW); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(AtsImage.WORKFLOW); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/GenerateReviewParticipationReport.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/GenerateReviewParticipationReport.java index 791b5f3efdf..b193ea9fd9e 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/GenerateReviewParticipationReport.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/GenerateReviewParticipationReport.java @@ -30,6 +30,7 @@ import org.eclipse.osee.ats.core.column.AtsColumnToken; import org.eclipse.osee.ats.ide.column.RelatedToStateColumn; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.ide.util.widgets.dialog.UserListDialog; import org.eclipse.osee.ats.ide.util.xviewer.column.XViewerAtsAttributeValueColumn; import org.eclipse.osee.ats.ide.util.xviewer.column.XViewerReviewRoleColumn; @@ -42,7 +43,6 @@ import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; 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; import org.eclipse.osee.framework.ui.skynet.artifact.massEditor.MassArtifactEditor; import org.eclipse.osee.framework.ui.skynet.artifact.massEditor.MassArtifactEditorInput; @@ -62,8 +62,8 @@ public class GenerateReviewParticipationReport extends XNavigateItemAction { private AtsUser selectedUser = null; - public GenerateReviewParticipationReport(XNavigateItem parent) { - super(parent, "Generate Review Participation Report", AtsImage.REPORT); + public GenerateReviewParticipationReport() { + super("Generate Review Participation Report", AtsImage.REPORT, AtsNavigateViewItems.REVIEW); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/NewPeerToPeerReviewItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/NewPeerToPeerReviewItem.java index 15ba748c534..f7543e29306 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/NewPeerToPeerReviewItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/NewPeerToPeerReviewItem.java @@ -18,13 +18,13 @@ import org.eclipse.osee.ats.api.review.ReviewFormalType; import org.eclipse.osee.ats.api.util.AtsImage; import org.eclipse.osee.ats.ide.internal.Activator; import org.eclipse.osee.ats.ide.internal.AtsApiService; +import org.eclipse.osee.ats.ide.navigate.AtsNavigateViewItems; import org.eclipse.osee.framework.core.enums.Active; 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.ui.plugin.util.AWorkbench; 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; /** @@ -32,8 +32,8 @@ import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction; */ public class NewPeerToPeerReviewItem extends XNavigateItemAction { - public NewPeerToPeerReviewItem(XNavigateItem parent) { - super(parent, "New Stand-alone Peer To Peer Review", AtsImage.PEER_REVIEW); + public NewPeerToPeerReviewItem() { + super("New Stand-alone Peer To Peer Review", AtsImage.PEER_REVIEW, AtsNavigateViewItems.REVIEW); } @Override diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/ReviewNavigateView.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/ReviewNavigateView.java deleted file mode 100644 index 9e220e5580d..00000000000 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/ReviewNavigateView.java +++ /dev/null @@ -1,246 +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.workflow.review; - -import java.util.logging.Level; -import org.eclipse.core.runtime.IExtension; -import org.eclipse.core.runtime.IExtensionPoint; -import org.eclipse.core.runtime.IExtensionRegistry; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IRegistryEventListener; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.jobs.IJobChangeEvent; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.core.runtime.jobs.JobChangeAdapter; -import org.eclipse.jface.action.IToolBarManager; -import org.eclipse.osee.ats.help.ui.AtsHelpContext; -import org.eclipse.osee.ats.ide.actions.OpenWorkflowByIdAction; -import org.eclipse.osee.ats.ide.internal.Activator; -import org.eclipse.osee.ats.ide.internal.AtsApiService; -import org.eclipse.osee.ats.ide.navigate.AtsNavigateComposite; -import org.eclipse.osee.framework.core.client.ClientSessionManager; -import org.eclipse.osee.framework.core.operation.OperationBuilder; -import org.eclipse.osee.framework.core.operation.Operations; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.ui.plugin.util.HelpUtil; -import org.eclipse.osee.framework.ui.plugin.xnavigate.IXNavigateEventListener; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; -import org.eclipse.osee.framework.ui.skynet.OseeStatusContributionItemFactory; -import org.eclipse.osee.framework.ui.skynet.action.CollapseAllAction; -import org.eclipse.osee.framework.ui.skynet.action.ExpandAllAction; -import org.eclipse.osee.framework.ui.skynet.util.DbConnectionExceptionComposite; -import org.eclipse.osee.framework.ui.skynet.util.LoadingComposite; -import org.eclipse.osee.framework.ui.swt.Displays; -import org.eclipse.osee.framework.ui.swt.Widgets; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.ui.IMemento; -import org.eclipse.ui.IViewSite; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.part.ViewPart; -import org.eclipse.ui.progress.UIJob; - -/** - * @author Donald G. Dunne - */ -public class ReviewNavigateView extends ViewPart implements IXNavigateEventListener { - - public static final String VIEW_ID = "org.eclipse.osee.ats.ide.review.ReviewNavigateView"; - private static final String INPUT = "filter"; - private static final String FILTER_STR = "filterStr"; - - private String savedFilterStr; - private AtsNavigateComposite xNavComp; - private Composite parent; - private LoadingComposite loadingComposite; - - @Override - public void createPartControl(Composite parent) { - this.parent = parent; - if (DbConnectionExceptionComposite.dbConnectionIsOk(parent)) { - loadingComposite = new LoadingComposite(parent); - refreshData(); - } - } - - @Override - public void refresh(XNavigateItem item) { - if (xNavComp != null && Widgets.isAccessible(xNavComp.getFilteredTree()) && Widgets.isAccessible( - xNavComp.getFilteredTree().getViewer().getTree())) { - xNavComp.getFilteredTree().getViewer().refresh(item); - } - } - - public void refreshData() { - OperationBuilder builder = Operations.createBuilder("Load Review Navigator"); - builder.addOp(new ReviewNavigateViewItemsOperation()); - Operations.executeAsJob(builder.build(), false, Job.LONG, new ReloadJobChangeAdapter(this)); - } - - private final class ReloadJobChangeAdapter extends JobChangeAdapter { - - private final ReviewNavigateView navView; - - private ReloadJobChangeAdapter(ReviewNavigateView navView) { - this.navView = navView; - } - - @Override - public void done(IJobChangeEvent event) { - Job job = new UIJob("Load Review Navigator") { - - @Override - public IStatus runInUIThread(IProgressMonitor monitor) { - try { - showBusy(false); - if (Widgets.isAccessible(loadingComposite)) { - loadingComposite.dispose(); - } - - if (DbConnectionExceptionComposite.dbConnectionIsOk(parent)) { - - if (Widgets.isAccessible(parent)) { - xNavComp = new AtsNavigateComposite(ReviewNavigateViewItems.getInstance(), parent, SWT.NONE, - savedFilterStr); - - HelpUtil.setHelp(xNavComp, AtsHelpContext.NAVIGATOR); - createToolBar(); - - Label label = new Label(xNavComp, SWT.None); - String str = getWhoAmI(); - if (AtsApiService.get().getUserService().isAtsAdmin()) { - str += " - Admin"; - } - if (!str.equals("")) { - if (AtsApiService.get().getUserService().isAtsAdmin()) { - label.setForeground(Displays.getSystemColor(SWT.COLOR_RED)); - } else { - label.setForeground(Displays.getSystemColor(SWT.COLOR_BLUE)); - } - } - label.setText(str); - label.setToolTipText(str); - - GridData gridData = new GridData(SWT.CENTER, SWT.CENTER, true, false); - gridData.heightHint = 15; - label.setLayoutData(gridData); - - xNavComp.refresh(); - xNavComp.getFilteredTree().getFilterControl().setFocus(); - - parent.getParent().layout(true); - parent.layout(true); - - OseeStatusContributionItemFactory.addTo(navView, false); - addExtensionPointListenerBecauseOfWorkspaceLoading(); - } - } - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - return Status.OK_STATUS; - } - }; - Operations.scheduleJob(job, false, Job.SHORT, null); - } - } - - private void addExtensionPointListenerBecauseOfWorkspaceLoading() { - IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry(); - extensionRegistry.addListener(new IRegistryEventListener() { - @Override - public void added(IExtension[] extensions) { - xNavComp.refresh(); - } - - @Override - public void added(IExtensionPoint[] extensionPoints) { - xNavComp.refresh(); - } - - @Override - public void removed(IExtension[] extensions) { - xNavComp.refresh(); - } - - @Override - public void removed(IExtensionPoint[] extensionPoints) { - xNavComp.refresh(); - } - }, "org.eclipse.osee.framework.ui.skynet.BlamOperation"); - } - - private String getWhoAmI() { - try { - String userName = AtsApiService.get().getUserService().getCurrentUser().getName(); - return String.format("%s - %s:%s", userName, ClientSessionManager.getDataStoreName(), - ClientSessionManager.getDataStoreLoginName()); - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - return "Exception: " + ex.getLocalizedMessage(); - } - } - - protected void createToolBar() { - IToolBarManager toolbarManager = getViewSite().getActionBars().getToolBarManager(); - toolbarManager.add(new CollapseAllAction(xNavComp.getFilteredTree().getViewer())); - toolbarManager.add(new ExpandAllAction(xNavComp.getFilteredTree().getViewer())); - toolbarManager.add(new OpenWorkflowByIdAction("Open Review by ID")); - getViewSite().getActionBars().updateActionBars(); - toolbarManager.update(true); - } - - @Override - public void saveState(IMemento memento) { - super.saveState(memento); - if (DbConnectionExceptionComposite.dbConnectionIsOk()) { - memento = memento.createChild(INPUT); - - if (xNavComp != null && xNavComp.getFilteredTree().getFilterControl() != null && !xNavComp.getFilteredTree().isDisposed()) { - String filterStr = xNavComp.getFilteredTree().getFilterControl().getText(); - memento.putString(FILTER_STR, filterStr); - } - } - } - - @Override - public void init(IViewSite site, IMemento memento) throws PartInitException { - super.init(site, memento); - if (DbConnectionExceptionComposite.dbConnectionIsOk()) { - - try { - if (memento != null) { - memento = memento.getChild(INPUT); - if (memento != null) { - savedFilterStr = memento.getString(FILTER_STR); - } - } - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.WARNING, "NavigateView error on init", ex); - } - } - } - - @Override - public void setFocus() { - if (loadingComposite != null && !loadingComposite.isDisposed()) { - loadingComposite.setFocus(); - } - } - -} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/ReviewNavigateViewItems.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/ReviewNavigateViewItems.java deleted file mode 100644 index 2625993af3a..00000000000 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/ReviewNavigateViewItems.java +++ /dev/null @@ -1,116 +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.ats.ide.workflow.review; - -import java.util.Arrays; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; -import java.util.logging.Level; -import org.eclipse.osee.ats.api.util.AtsImage; -import org.eclipse.osee.ats.api.workflow.WorkItemType; -import org.eclipse.osee.ats.ide.actions.OpenWorkflowByIdAction; -import org.eclipse.osee.ats.ide.actions.ValidatePeerDefectsAction; -import org.eclipse.osee.ats.ide.internal.Activator; -import org.eclipse.osee.ats.ide.internal.AtsApiService; -import org.eclipse.osee.ats.ide.navigate.SearchNavigateItem; -import org.eclipse.osee.ats.ide.world.search.AtsSearchReviewSearchItem; -import org.eclipse.osee.ats.ide.world.search.MyReviewSearchItem; -import org.eclipse.osee.ats.ide.world.search.ShowOpenWorkflowsByReviewType; -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.ui.plugin.util.OpenPerspectiveNavigateItem; -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.plugin.xnavigate.XNavigateItemAction; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateViewItems; -import org.eclipse.osee.framework.ui.skynet.util.DbConnectionUtility; - -/** - * @author Donald G. Dunne - */ -public class ReviewNavigateViewItems implements XNavigateViewItems, IXNavigateCommonItem { - - private final static ReviewNavigateViewItems instance = new ReviewNavigateViewItems(); - private final List<XNavigateItem> items = new CopyOnWriteArrayList<>(); - private boolean ensurePopulatedRanOnce = false; - - public static ReviewNavigateViewItems getInstance() { - return instance; - } - - @Override - public List<XNavigateItem> getSearchNavigateItems() { - ensurePopulated(); - return items; - } - - private synchronized void ensurePopulated() { - if (!ensurePopulatedRanOnce) { - if (DbConnectionUtility.areOSEEServicesAvailable().isFalse()) { - return; - } - this.ensurePopulatedRanOnce = true; - - try { - addOseePeerSectionChildren(null); - - XNavigateCommonItems.addCommonNavigateItems(items, Arrays.asList(getSectionId())); - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - } - } - - public void addOseePeerSectionChildren(XNavigateItem item) { - items.add(new SearchNavigateItem(item, new MyReviewSearchItem())); - items.add(new SearchNavigateItem(item, new AtsSearchReviewSearchItem())); - items.add(new XNavigateItemAction(item, new OpenWorkflowByIdAction("Open Review by ID"), AtsImage.REVIEW)); - items.add(new SearchNavigateItem(item, - new ShowOpenWorkflowsByReviewType("Show Open " + WorkItemType.DecisionReview.name() + "s", - WorkItemType.DecisionReview, false, false, AtsImage.DECISION_REVIEW))); - items.add(new SearchNavigateItem(item, - new ShowOpenWorkflowsByReviewType("Show Workflows Waiting " + WorkItemType.DecisionReview.name() + "s", - WorkItemType.DecisionReview, false, true, AtsImage.DECISION_REVIEW))); - items.add(new SearchNavigateItem(item, - new ShowOpenWorkflowsByReviewType("Show Open " + WorkItemType.PeerReview.name() + "s", WorkItemType.PeerReview, - false, false, AtsImage.PEER_REVIEW))); - items.add(new SearchNavigateItem(item, - new ShowOpenWorkflowsByReviewType("Show Workflows Waiting " + WorkItemType.PeerReview.name() + "s", - WorkItemType.PeerReview, false, true, AtsImage.PEER_REVIEW))); - items.add(new NewPeerToPeerReviewItem(item)); - items.add(new GenerateReviewParticipationReport(item)); - if (AtsApiService.get().getUserService().isAtsAdmin()) { - items.add(new XNavigateItemAction(item, new ValidatePeerDefectsAction(), AtsImage.PEER_REVIEW)); - } - - } - - @Override - public void createCommonSection(List<XNavigateItem> items, List<String> excludeSectionIds) { - try { - XNavigateItem reviewItem = new XNavigateItem(null, "OSEE Review", AtsImage.REVIEW); - new OpenPerspectiveNavigateItem(reviewItem, "Review", ReviewPerspective.ID, AtsImage.REVIEW); - addOseePeerSectionChildren(reviewItem); - items.add(reviewItem); - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, "Can't create OSEE Review section"); - } - } - - @Override - public String getSectionId() { - return "Peer"; - } -} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/ReviewNavigateViewItemsOperation.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/ReviewNavigateViewItemsOperation.java deleted file mode 100644 index b46f73d0748..00000000000 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/ReviewNavigateViewItemsOperation.java +++ /dev/null @@ -1,33 +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.workflow.review; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osee.ats.ide.internal.Activator; -import org.eclipse.osee.framework.core.operation.AbstractOperation; - -/** - * @author Donald G. Dunne - */ -public class ReviewNavigateViewItemsOperation extends AbstractOperation { - - public ReviewNavigateViewItemsOperation() { - super("Loading Review Navigate View Items", Activator.PLUGIN_ID); - } - - @Override - protected void doWork(IProgressMonitor monitor) throws Exception { - ReviewNavigateViewItems.getInstance().getSearchNavigateItems(); - } -} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/ReviewPerspective.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/ReviewPerspective.java deleted file mode 100644 index b868a5119d8..00000000000 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/ReviewPerspective.java +++ /dev/null @@ -1,52 +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.workflow.review; - -import org.eclipse.osee.framework.ui.skynet.explorer.ArtifactExplorer; -import org.eclipse.osee.framework.ui.skynet.search.QuickSearchView; -import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchView; -import org.eclipse.ui.IFolderLayout; -import org.eclipse.ui.IPageLayout; -import org.eclipse.ui.IPerspectiveFactory; - -/** - * @author Donald G. Dunne - */ -public class ReviewPerspective implements IPerspectiveFactory { - public static String ID = "org.eclipse.osee.ats.ide.review.ReviewPerspective"; - - @Override - public void createInitialLayout(final IPageLayout layout) { - defineActions(layout); - defineLayout(layout); - } - - public void defineActions(final IPageLayout layout) { - layout.addShowViewShortcut(ReviewNavigateView.VIEW_ID); - layout.addShowViewShortcut(ArtifactExplorer.VIEW_ID); - layout.addShowViewShortcut(BranchView.VIEW_ID); - layout.addShowViewShortcut(QuickSearchView.VIEW_ID); - layout.addShowViewShortcut("org.eclipse.pde.runtime.LogView"); - } - - public void defineLayout(final IPageLayout layout) { - final String editorArea = layout.getEditorArea(); - - final IFolderLayout left = layout.createFolder("left", IPageLayout.LEFT, 0.2f, editorArea); - final IFolderLayout bottomLeft = layout.createFolder("bottomLeft", IPageLayout.BOTTOM, 0.7f, "left"); - - left.addView(ReviewNavigateView.VIEW_ID); - bottomLeft.addView(QuickSearchView.VIEW_ID); - } -} diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/task/widgets/CreateTasksFromSimpleList.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/task/widgets/CreateTasksFromSimpleList.java index 56f74d04d1f..32b75b5228d 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/task/widgets/CreateTasksFromSimpleList.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/task/widgets/CreateTasksFromSimpleList.java @@ -46,11 +46,6 @@ public class CreateTasksFromSimpleList extends ImportTasksFromSimpleList { } @Override - public boolean showInBlamSection() { - return false; - } - - @Override protected void createTeamWfWidget(StringBuffer buffer) { buffer.append( "<XWidget xwidgetType=\"XLabelValue\" displayName=\"Team Workflow\" defaultValue=\"" + teamWf.toStringWithId() + " \"/>"); diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/world/WorldXNavigateItemAction.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/world/WorldXNavigateItemAction.java index b03a7611707..4a3da23408f 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/world/WorldXNavigateItemAction.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/world/WorldXNavigateItemAction.java @@ -14,7 +14,7 @@ package org.eclipse.osee.ats.ide.world; import org.eclipse.osee.ats.api.util.AtsImage; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction; /** @@ -22,12 +22,12 @@ import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction; */ public class WorldXNavigateItemAction extends XNavigateItemAction { - public WorldXNavigateItemAction(XNavigateItem parent, String name, AtsImage oseeImage) { - super(parent, name, oseeImage == null ? determineImage(name) : oseeImage); + public WorldXNavigateItemAction(String name, AtsImage oseeImage, XNavItemCat... xNavItemCat) { + super(name, oseeImage == null ? determineImage(name) : oseeImage, xNavItemCat); } - public WorldXNavigateItemAction(XNavigateItem parent, String name) { - super(parent, name, determineImage(name)); + public WorldXNavigateItemAction(String name, XNavItemCat... xNavItemCat) { + super(name, determineImage(name), xNavItemCat); } private static AtsImage determineImage(String name) { diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/world/search/OpenWorkflowsByTeamDefSearchItem.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/world/search/OpenWorkflowsByTeamDefSearchItem.java index 9990183466e..d7384c170a3 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/world/search/OpenWorkflowsByTeamDefSearchItem.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/world/search/OpenWorkflowsByTeamDefSearchItem.java @@ -79,7 +79,7 @@ public class OpenWorkflowsByTeamDefSearchItem extends WorldSearchItem { @Override public Image getImage() { - return ImageManager.getImage(AtsImage.REVIEW); + return ImageManager.getImage(AtsImage.GLOBE); } } diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/BlamXWidgetTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/BlamXWidgetTest.java index 167650857b0..818331a9e18 100644 --- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/BlamXWidgetTest.java +++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/BlamXWidgetTest.java @@ -19,7 +19,7 @@ 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.ui.skynet.blam.AbstractBlam; -import org.eclipse.osee.framework.ui.skynet.blam.BlamContributionManager; +import org.eclipse.osee.framework.ui.skynet.blam.BlamNavigateViewItems; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.XWidgetRendererItem; import org.junit.Assert; @@ -43,7 +43,7 @@ public class BlamXWidgetTest { @Test public void testXWidgetsResolved() throws Exception { - Collection<AbstractBlam> blams = BlamContributionManager.getBlamOperations(); + Collection<AbstractBlam> blams = BlamNavigateViewItems.getBlamOperations(); for (AbstractBlam blam : blams) { List<XWidgetRendererItem> datas = blam.getLayoutDatas(); for (XWidgetRendererItem xWidgetLayoutData : datas) { diff --git a/plugins/org.eclipse.osee.define.ide/plugin.xml b/plugins/org.eclipse.osee.define.ide/plugin.xml index a56d4e52a8b..e6efbaa9f05 100644 --- a/plugins/org.eclipse.osee.define.ide/plugin.xml +++ b/plugins/org.eclipse.osee.define.ide/plugin.xml @@ -146,14 +146,6 @@ <Operation className="org.eclipse.osee.define.ide.blam.operation.SubsystemFullTraceReport"></Operation> </extension> <extension - id="DefineNavigateViewItems" - name="DefineNavigateViewItems" - point="org.eclipse.osee.framework.ui.plugin.XCommonNavigateItem"> - <XCommonNavigateItem - classname="org.eclipse.osee.define.ide.navigate.DefineNavigateViewItems"> - </XCommonNavigateItem> - </extension> - <extension point="org.eclipse.osee.framework.ui.skynet.BlamOperation"> <Operation className="org.eclipse.osee.define.ide.traceability.report.PublishStdStpTraceability"> diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/DataRightsImporter.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/DataRightsImporter.java index 27319cbf506..1d4d5bc93b8 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/DataRightsImporter.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/DataRightsImporter.java @@ -21,13 +21,10 @@ import java.io.FileInputStream; import java.io.InputStream; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.jdk.core.type.ResultSet; import org.eclipse.osee.framework.jdk.core.util.Lib; import org.eclipse.osee.framework.jdk.core.util.Strings; @@ -38,6 +35,8 @@ import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.artifact.search.QueryBuilderArtifact; 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.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; import org.xml.sax.InputSource; @@ -51,11 +50,6 @@ public class DataRightsImporter extends AbstractBlam { private Map<String, Artifact> nameToArtifact; @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Util"); - } - - @Override public String getXWidgetsXml() { StringBuffer buffer = new StringBuffer("<xWidgets>"); buffer.append("<XWidget xwidgetType=\"XBranchSelectWidget\" horizontalLabel=\"true\" displayName=\"Branch\" />"); @@ -230,7 +224,7 @@ public class DataRightsImporter extends AbstractBlam { } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_ADMIN, XNavItemCat.OSEE_ADMIN); } } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/DuplicateParentBlam.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/DuplicateParentBlam.java index 5c4dcc33500..681e872ac22 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/DuplicateParentBlam.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/DuplicateParentBlam.java @@ -16,7 +16,6 @@ package org.eclipse.osee.define.ide.blam.operation; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.define.api.DefineBranchEndpointApi; @@ -24,11 +23,11 @@ import org.eclipse.osee.framework.core.client.OseeClient; import org.eclipse.osee.framework.core.data.ArtifactId; import org.eclipse.osee.framework.core.data.ArtifactTypeToken; import org.eclipse.osee.framework.core.data.BranchId; -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.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.artifact.massEditor.MassArtifactEditor; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -49,8 +48,8 @@ public class DuplicateParentBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_HEALTH); } @Override @@ -79,9 +78,4 @@ public class DuplicateParentBlam extends AbstractBlam { } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FindDuplicateArtifactNames.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FindDuplicateArtifactNames.java index 2438b9e3d33..55d186be1f3 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FindDuplicateArtifactNames.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FindDuplicateArtifactNames.java @@ -18,22 +18,21 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Set; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.ArtifactId; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.jdk.core.util.io.xml.ExcelXmlWriter; import org.eclipse.osee.framework.jdk.core.util.io.xml.ISheetWriter; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.utility.ViewIdUtility; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.branch.ViewApplicabilityUtil; @@ -136,13 +135,8 @@ public class FindDuplicateArtifactNames extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define.Publish.Check"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_HEALTH); } } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FindErroneousEmbeddedLinksBlam.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FindErroneousEmbeddedLinksBlam.java index e3fc3e3ed39..e87e89cdc78 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FindErroneousEmbeddedLinksBlam.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FindErroneousEmbeddedLinksBlam.java @@ -17,8 +17,8 @@ import java.io.File; import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; +import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.Date; import java.util.HashSet; import java.util.Iterator; @@ -26,10 +26,8 @@ import java.util.Set; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.ArtifactTypeToken; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.jdk.core.type.HashCollection; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.jdk.core.type.ResultSet; @@ -41,6 +39,8 @@ import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.artifact.search.QueryBuilderArtifact; import org.eclipse.osee.framework.skynet.core.linking.WordMlLinkHandler; import org.eclipse.osee.framework.skynet.core.linking.WordMlLinkHandler.MatchRange; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; import org.eclipse.swt.program.Program; @@ -160,13 +160,8 @@ public class FindErroneousEmbeddedLinksBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Collections.singletonList("Define.Publish.Check"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_HEALTH); } } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FindMissingOrUnspecifiedAttributes.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FindMissingOrUnspecifiedAttributes.java index 0e2d4689eb1..9d3d03eaf06 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FindMissingOrUnspecifiedAttributes.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FindMissingOrUnspecifiedAttributes.java @@ -18,21 +18,20 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.Date; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.AttributeId; import org.eclipse.osee.framework.core.data.AttributeTypeToken; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.jdk.core.util.io.xml.ExcelXmlWriter; import org.eclipse.osee.framework.jdk.core.util.io.xml.ISheetWriter; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; import org.eclipse.swt.program.Program; @@ -79,13 +78,8 @@ public class FindMissingOrUnspecifiedAttributes extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define.Publish.Check"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_HEALTH); } } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FixDuplicateEnumeratedAttributes.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FixDuplicateEnumeratedAttributes.java index 5d0fc9358a7..e824c44184c 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FixDuplicateEnumeratedAttributes.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FixDuplicateEnumeratedAttributes.java @@ -15,14 +15,13 @@ package org.eclipse.osee.define.ide.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.osee.define.ide.blam.operation.FixAttributeOperation.Display; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.operation.IOperation; import org.eclipse.osee.framework.core.operation.OperationLogger; import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -68,13 +67,8 @@ public class FixDuplicateEnumeratedAttributes extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TOP_ADMIN, XNavItemCat.OSEE_ADMIN); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FixEmbeddedLinksBlam.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FixEmbeddedLinksBlam.java index c08f0ace663..5455e71ecbb 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FixEmbeddedLinksBlam.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/FixEmbeddedLinksBlam.java @@ -13,15 +13,13 @@ package org.eclipse.osee.define.ide.blam.operation; +import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.HashSet; import java.util.Set; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.model.type.LinkType; import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; @@ -30,6 +28,8 @@ import org.eclipse.osee.framework.skynet.core.artifact.search.QueryBuilderArtifa import org.eclipse.osee.framework.skynet.core.linking.WordMlLinkHandler; 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.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -82,13 +82,8 @@ public class FixEmbeddedLinksBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Collections.singletonList("Admin"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TOP_ADMIN, XNavItemCat.OSEE_ADMIN); } } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/PublishSubsystemToDesignTraceability.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/PublishSubsystemToDesignTraceability.java index 17b9414b5c6..3c19351dc37 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/PublishSubsystemToDesignTraceability.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/PublishSubsystemToDesignTraceability.java @@ -16,19 +16,16 @@ package org.eclipse.osee.define.ide.blam.operation; import java.io.IOException; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import java.util.Set; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.ArtifactId; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; 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.jdk.core.util.Lib; import org.eclipse.osee.framework.jdk.core.util.io.CharBackedInputStream; import org.eclipse.osee.framework.jdk.core.util.io.xml.ExcelXmlWriter; @@ -37,6 +34,8 @@ import org.eclipse.osee.framework.plugin.core.util.AIFile; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.utility.ViewIdUtility; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.branch.ViewApplicabilityUtil; @@ -194,13 +193,8 @@ public class PublishSubsystemToDesignTraceability extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define.Publish"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/PublishSystemLevelSSDD.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/PublishSystemLevelSSDD.java index 1779a56b74e..bd914d56cc6 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/PublishSystemLevelSSDD.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/PublishSystemLevelSSDD.java @@ -23,13 +23,11 @@ import java.util.Set; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; 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.jdk.core.type.HashCollection; import org.eclipse.osee.framework.jdk.core.util.Lib; import org.eclipse.osee.framework.jdk.core.util.io.CharBackedInputStream; @@ -40,6 +38,8 @@ 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.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.utility.ViewIdUtility; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.branch.ViewApplicabilityUtil; @@ -231,13 +231,8 @@ public class PublishSystemLevelSSDD extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define.Publish"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/PublishWithSpecifiedTemplate.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/PublishWithSpecifiedTemplate.java index 7d0a50dc02f..54e7c560a6a 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/PublishWithSpecifiedTemplate.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/PublishWithSpecifiedTemplate.java @@ -45,8 +45,6 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osee.framework.core.data.ArtifactId; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.enums.DataRightsClassification; import org.eclipse.osee.framework.core.model.type.LinkType; import org.eclipse.osee.framework.core.util.RendererOption; @@ -54,6 +52,8 @@ import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; 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.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.branch.ViewApplicabilityUtil; @@ -128,7 +128,7 @@ public class PublishWithSpecifiedTemplate extends AbstractBlam { String classification = variableMap.getString(DATA_RIGHTS); List<Artifact> artifacts = variableMap.getArtifacts(ARTIFACTS); - + if (artifacts != null && !artifacts.isEmpty()) { branch = artifacts.get(0).getBranch(); } else { @@ -410,13 +410,8 @@ public class PublishWithSpecifiedTemplate extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define.Publish"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE); } } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/RequirementReorderOperation.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/RequirementReorderOperation.java index 8e7b7389e1d..9269fe75be7 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/RequirementReorderOperation.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/RequirementReorderOperation.java @@ -20,15 +20,15 @@ import java.util.Comparator; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; 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.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.importing.ReqNumbering; 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.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -39,8 +39,8 @@ public class RequirementReorderOperation extends AbstractBlam { private SkynetTransaction transaction; @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE); } @Override @@ -91,9 +91,4 @@ public class RequirementReorderOperation extends AbstractBlam { return "Fix Requirement Ordering"; } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/RequirementsTestReport.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/RequirementsTestReport.java index c07ee860865..0cc7bc618c2 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/RequirementsTestReport.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/RequirementsTestReport.java @@ -18,17 +18,16 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; 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.jdk.core.result.Manipulations; import org.eclipse.osee.framework.jdk.core.result.XResultData; import org.eclipse.osee.framework.jdk.core.util.AHTML; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.relation.RelationManager; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.results.XResultDataUI; @@ -159,8 +158,8 @@ public class RequirementsTestReport extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE); } @Override @@ -168,9 +167,4 @@ public class RequirementsTestReport extends AbstractBlam { return "Requirements Test Report"; } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SubsystemFullTraceReport.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SubsystemFullTraceReport.java index 3131f6ddf6b..370f8654033 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SubsystemFullTraceReport.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SubsystemFullTraceReport.java @@ -23,6 +23,7 @@ import java.util.List; import org.apache.commons.lang.StringUtils; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.define.ide.traceability.ScriptTraceabilityOperation; import org.eclipse.osee.define.ide.traceability.TraceUnitExtensionManager; import org.eclipse.osee.define.ide.traceability.TraceUnitExtensionManager.TraceHandler; @@ -45,6 +46,9 @@ import org.eclipse.osee.framework.plugin.core.util.AIFile; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.Attribute; import org.eclipse.osee.framework.skynet.core.utility.Artifacts; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.branch.ViewApplicabilityUtil; @@ -56,9 +60,11 @@ import org.eclipse.osee.framework.ui.skynet.widgets.XText; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer; import org.eclipse.osee.framework.ui.swt.Displays; +import org.eclipse.osee.framework.ui.swt.ImageManager; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.program.Program; import org.eclipse.ui.forms.widgets.FormToolkit; @@ -259,8 +265,18 @@ public class SubsystemFullTraceReport extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define.Trace"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TRACE); + } + + @Override + public Image getImage() { + return ImageManager.getImage(FrameworkImage.TRACE); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.TRACE); } @Override @@ -323,9 +339,4 @@ public class SubsystemFullTraceReport extends AbstractBlam { } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return java.util.Collections.singleton(CoreUserGroups.Everyone); - } - }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SubsystemRequirementVerificationLevel.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SubsystemRequirementVerificationLevel.java index 1d6a17aed22..d480d4c0b9e 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SubsystemRequirementVerificationLevel.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SubsystemRequirementVerificationLevel.java @@ -15,15 +15,12 @@ package org.eclipse.osee.define.ide.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.AttributeId; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; 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.jdk.core.result.Manipulations; import org.eclipse.osee.framework.jdk.core.result.XResultData; import org.eclipse.osee.framework.jdk.core.util.AHTML; @@ -32,6 +29,8 @@ import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.relation.RelationManager; 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.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.results.XResultDataUI; @@ -42,8 +41,8 @@ import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; public class SubsystemRequirementVerificationLevel extends AbstractBlam { @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE); } @Override @@ -173,9 +172,4 @@ public class SubsystemRequirementVerificationLevel extends AbstractBlam { } } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SubsystemToLowLevelReqTraceReport.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SubsystemToLowLevelReqTraceReport.java index be5f202de0b..2e4b003c727 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SubsystemToLowLevelReqTraceReport.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SubsystemToLowLevelReqTraceReport.java @@ -45,6 +45,8 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.relation.RelationManager; import org.eclipse.osee.framework.skynet.core.utility.ViewIdUtility; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.branch.ViewApplicabilityUtil; @@ -335,8 +337,8 @@ public class SubsystemToLowLevelReqTraceReport extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define.Publish"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE); } @Override @@ -344,9 +346,4 @@ public class SubsystemToLowLevelReqTraceReport extends AbstractBlam { return "The Low Level Requirement artifacts will be filtered based on the type(s) selected. The standard is to select \"Direct Software Requirement\"."; } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SystemSubsystemReport.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SystemSubsystemReport.java index c2b50bf51ca..1db36243bdf 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SystemSubsystemReport.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/SystemSubsystemReport.java @@ -28,13 +28,11 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.ArtifactId; import org.eclipse.osee.framework.core.data.AttributeId; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; 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.jdk.core.type.CountingMap; import org.eclipse.osee.framework.jdk.core.type.MutableInteger; import org.eclipse.osee.framework.jdk.core.type.OseeStateException; @@ -48,6 +46,8 @@ 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.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.utility.ViewIdUtility; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.branch.ViewApplicabilityUtil; @@ -538,13 +538,8 @@ public class SystemSubsystemReport extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Reports"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return java.util.Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.REPORTS); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/TestPlanComplianceReport.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/TestPlanComplianceReport.java index 03a478b2a90..9fa5f6df9f1 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/TestPlanComplianceReport.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/blam/operation/TestPlanComplianceReport.java @@ -19,18 +19,15 @@ import java.io.Writer; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.LinkedList; import java.util.List; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; 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.CoreRelationTypes; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.jdk.core.util.Lib; import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.jdk.core.util.io.CharBackedInputStream; @@ -40,6 +37,8 @@ import org.eclipse.osee.framework.plugin.core.util.AIFile; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.relation.RelationManager; import org.eclipse.osee.framework.skynet.core.utility.Artifacts; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; import org.eclipse.swt.program.Program; @@ -308,8 +307,8 @@ public final class TestPlanComplianceReport extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.REPORTS); } @Override @@ -317,9 +316,4 @@ public final class TestPlanComplianceReport extends AbstractBlam { return "Test Plan Compliance Report"; } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/navigate/DefineNavigateViewItems.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/navigate/DefineNavigateViewItems.java deleted file mode 100644 index 7bfa92a74c3..00000000000 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/navigate/DefineNavigateViewItems.java +++ /dev/null @@ -1,49 +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.define.ide.navigate; - -import java.util.logging.Level; -import org.eclipse.osee.define.ide.internal.Activator; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.ui.plugin.xnavigate.IXNavigateCommonItem; -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.XNavigateItemOperation; -import org.eclipse.osee.framework.ui.skynet.FrameworkImage; -import org.eclipse.osee.framework.ui.skynet.action.CompareTwoStringsAction; -import org.eclipse.osee.framework.ui.skynet.artifact.MassEditDirtyArtifactOperation; - -/** - * @author Donald G. Dunne - */ -public class DefineNavigateViewItems implements IXNavigateCommonItem { - - @Override - public String getSectionId() { - return "Define"; - } - - @Override - public void addUtilItems(XNavigateItem utilItems) { - try { - new XNavigateItemAction(utilItems, new CompareTwoStringsAction(), FrameworkImage.EDIT); - new XNavigateItemAction(utilItems, - new org.eclipse.osee.framework.ui.skynet.action.CompareTwoArtifactIdListsAction(), FrameworkImage.EDIT); - new XNavigateItemOperation(utilItems, FrameworkImage.ARTIFACT_MASS_EDITOR, MassEditDirtyArtifactOperation.NAME, - new MassEditDirtyArtifactOperation()); - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - } -}
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/AddTraceMarksToTraceUnits.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/AddTraceMarksToTraceUnits.java index ba366533717..2d3a872cc76 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/AddTraceMarksToTraceUnits.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/AddTraceMarksToTraceUnits.java @@ -24,11 +24,10 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.define.ide.traceability.TestUnitTagger; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.enums.CoreRelationTypes; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.jdk.core.text.change.ChangeSet; import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; import org.eclipse.osee.framework.jdk.core.util.GUID; @@ -36,8 +35,13 @@ import org.eclipse.osee.framework.jdk.core.util.Lib; 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; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; /** * @author Roberto E. Escobar @@ -53,11 +57,6 @@ public class AddTraceMarksToTraceUnits extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define.Trace"); - } - - @Override public String getDescriptionUsage() { return "Adds trace marks to files selected.\n*** WARNING_OVERLAY: When \"Persist Changes\" is selected, files will be modified in place.\n There is no way to undo this operation - make sure you know what you are doing. ***\n "; } @@ -202,8 +201,18 @@ public class AddTraceMarksToTraceUnits extends AbstractBlam { } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TRACE); + } + + @Override + public Image getImage() { + return ImageManager.getImage(FrameworkImage.TRACE); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.TRACE); } } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/RemoveObjectIdsFromTraceUnits.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/RemoveObjectIdsFromTraceUnits.java index b305669b096..503f2e72f45 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/RemoveObjectIdsFromTraceUnits.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/RemoveObjectIdsFromTraceUnits.java @@ -19,22 +19,25 @@ import java.net.URI; import java.nio.CharBuffer; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.filesystem.IFileStore; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.define.ide.traceability.ResourceIdentifier; import org.eclipse.osee.define.ide.traceability.TestUnitTagger; import org.eclipse.osee.define.ide.utility.IResourceHandler; import org.eclipse.osee.define.ide.utility.IResourceLocator; import org.eclipse.osee.define.ide.utility.UriResourceContentFinder; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; 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.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; /** * @author John Misinco @@ -48,8 +51,18 @@ public class RemoveObjectIdsFromTraceUnits extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define.Trace"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TRACE); + } + + @Override + public Image getImage() { + return ImageManager.getImage(FrameworkImage.TRACE); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.TRACE); } @Override @@ -153,9 +166,4 @@ public class RemoveObjectIdsFromTraceUnits extends AbstractBlam { } } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/RemoveTraceMarksFromTraceUnits.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/RemoveTraceMarksFromTraceUnits.java index c75979256c8..078d844fd9f 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/RemoveTraceMarksFromTraceUnits.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/RemoveTraceMarksFromTraceUnits.java @@ -19,7 +19,6 @@ import java.nio.CharBuffer; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import java.util.logging.Level; import org.eclipse.core.runtime.IProgressMonitor; @@ -28,6 +27,7 @@ import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.nebula.widgets.xviewer.core.model.SortDataType; import org.eclipse.nebula.widgets.xviewer.core.model.XViewerAlign; import org.eclipse.nebula.widgets.xviewer.core.model.XViewerColumn; @@ -39,8 +39,6 @@ import org.eclipse.osee.define.ide.traceability.TraceUnitExtensionManager.TraceH import org.eclipse.osee.define.ide.utility.IResourceHandler; import org.eclipse.osee.define.ide.utility.UriResourceContentFinder; import org.eclipse.osee.framework.core.data.ArtifactTypeToken; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.jdk.core.type.MutableBoolean; import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException; import org.eclipse.osee.framework.jdk.core.util.Lib; @@ -48,6 +46,9 @@ import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.plugin.core.util.IExceptionableRunnable; import org.eclipse.osee.framework.plugin.core.util.Jobs; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.results.IResultsEditorProvider; @@ -57,6 +58,8 @@ import org.eclipse.osee.framework.ui.skynet.results.html.ResultsEditorHtmlTab; import org.eclipse.osee.framework.ui.skynet.results.table.IResultsXViewerRow; import org.eclipse.osee.framework.ui.skynet.results.table.ResultsEditorTableTab; import org.eclipse.osee.framework.ui.skynet.results.table.ResultsXViewerRow; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.progress.UIJob; @@ -72,8 +75,18 @@ public class RemoveTraceMarksFromTraceUnits extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define.Trace"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TRACE); + } + + @Override + public Image getImage() { + return ImageManager.getImage(FrameworkImage.TRACE); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.TRACE); } @Override @@ -359,9 +372,4 @@ public class RemoveTraceMarksFromTraceUnits extends AbstractBlam { } } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/TraceReportBlam.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/TraceReportBlam.java index 99cd81199d1..95f04f1875e 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/TraceReportBlam.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/blam/TraceReportBlam.java @@ -28,6 +28,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.nebula.widgets.xviewer.core.model.SortDataType; import org.eclipse.nebula.widgets.xviewer.core.model.XViewerAlign; import org.eclipse.nebula.widgets.xviewer.core.model.XViewerColumn; @@ -57,6 +58,9 @@ import org.eclipse.osee.framework.plugin.core.util.AIFile; import org.eclipse.osee.framework.plugin.core.util.IExceptionableRunnable; import org.eclipse.osee.framework.plugin.core.util.Jobs; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.branch.ViewApplicabilityUtil; @@ -72,6 +76,8 @@ import org.eclipse.osee.framework.ui.skynet.widgets.XCombo; import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.program.Program; import org.eclipse.ui.forms.widgets.FormToolkit; @@ -95,8 +101,18 @@ public class TraceReportBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define.Trace"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TRACE); + } + + @Override + public Image getImage() { + return ImageManager.getImage(FrameworkImage.TRACE); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.TRACE); } @Override @@ -535,9 +551,4 @@ public class TraceReportBlam extends AbstractBlam { } } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - } diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/report/PublishStdStpTraceability.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/report/PublishStdStpTraceability.java index 3e3004be213..4d02d940f39 100644 --- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/report/PublishStdStpTraceability.java +++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/report/PublishStdStpTraceability.java @@ -17,12 +17,12 @@ import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.LinkedList; import java.util.List; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.define.ide.traceability.BranchTraceabilityOperation; import org.eclipse.osee.define.ide.traceability.RequirementTraceabilityData; import org.eclipse.osee.define.ide.traceability.ScriptTraceabilityOperation; @@ -34,13 +34,14 @@ import org.eclipse.osee.define.ide.traceability.TraceabilityProviderOperation; import org.eclipse.osee.define.ide.traceability.TraceabilityTable; import org.eclipse.osee.framework.core.data.ArtifactTypeToken; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.jdk.core.util.Lib; import org.eclipse.osee.framework.plugin.core.util.AIFile; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.branch.ViewApplicabilityUtil; @@ -49,6 +50,8 @@ import org.eclipse.osee.framework.ui.skynet.widgets.XCombo; import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.program.Program; import org.eclipse.ui.forms.widgets.FormToolkit; @@ -238,13 +241,18 @@ public class PublishStdStpTraceability extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define.Publish"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TRACE); } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Image getImage() { + return ImageManager.getImage(FrameworkImage.TRACE); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.TRACE); } } diff --git a/plugins/org.eclipse.osee.framework.core.test/src/org/eclipse/osee/framework/core/util/ManifestTest.java b/plugins/org.eclipse.osee.framework.core.test/src/org/eclipse/osee/framework/core/util/ManifestTest.java index d127f73f7b7..8061d74ed92 100644 --- a/plugins/org.eclipse.osee.framework.core.test/src/org/eclipse/osee/framework/core/util/ManifestTest.java +++ b/plugins/org.eclipse.osee.framework.core.test/src/org/eclipse/osee/framework/core/util/ManifestTest.java @@ -41,16 +41,16 @@ public class ManifestTest { continue; } File manifestDir = new File(pluginDir, "META-INF" + File.separator + "MANIFEST.MF"); - if (checkManifestForVersion(manifestDir)) { + if (manifestHasVersion(manifestDir)) { hasVersions.add(pluginDir); } } - assertTrue("The Manifests for following plugins contain at least one version " + hasVersions, + assertTrue("Manifests should not have version specified. Found version in " + hasVersions, hasVersions.isEmpty()); } - private boolean checkManifestForVersion(File path) { + private boolean manifestHasVersion(File path) { if (!path.isFile()) { return false; } diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserServiceImpl.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserServiceImpl.java index c2d5291b5a3..05200bf202e 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserServiceImpl.java +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserServiceImpl.java @@ -88,6 +88,9 @@ public class UserServiceImpl implements UserService { return userService; } + /** + * @return User Groups for current user + */ public static Collection<IUserGroupArtifactToken> getUserGrps() { if (userGrps == null) { userGrps = new ArrayList<>(); diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.ui.plugin/META-INF/MANIFEST.MF index a90a20d5158..2b1a4f3844d 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.framework.ui.plugin/META-INF/MANIFEST.MF @@ -26,7 +26,8 @@ Export-Package: org.eclipse.osee.framework.ui.plugin, org.eclipse.osee.framework.ui.plugin.widgets, org.eclipse.osee.framework.ui.plugin.workspace, org.eclipse.osee.framework.ui.plugin.xnavigate -Import-Package: javax.ws.rs.core, +Import-Package: com.fasterxml.jackson.annotation, + javax.ws.rs.core, org.eclipse.osee.activity.api, org.eclipse.osee.framework.core.client, org.eclipse.osee.framework.core.data, @@ -35,7 +36,7 @@ Import-Package: javax.ws.rs.core, org.eclipse.osee.framework.core.operation, org.eclipse.osee.framework.core.util, org.eclipse.osee.framework.logging, - org.junit, + org.junit, org.junit.rules, org.junit.runners.model Bundle-RequiredExecutionEnvironment: JavaSE-1.8 diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/OSEE-INF/extensionPts/XNavigateItem.exsd b/plugins/org.eclipse.osee.framework.ui.plugin/OSEE-INF/extensionPts/XNavigateItem.exsd deleted file mode 100644 index 7b8ee1a2df1..00000000000 --- a/plugins/org.eclipse.osee.framework.ui.plugin/OSEE-INF/extensionPts/XNavigateItem.exsd +++ /dev/null @@ -1,116 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.eclipse.osee.framework.ui.plugin" xmlns="http://www.w3.org/2001/XMLSchema"> -<annotation> - <appinfo> - <meta.schema plugin="org.eclipse.osee.framework.ui.plugin" id="XNavigateItem" name="XNavigateItem"/> - </appinfo> - <documentation> - [Enter description of this extension point.] - </documentation> - </annotation> - - <element name="extension"> - <annotation> - <appinfo> - <meta.element /> - </appinfo> - </annotation> - <complexType> - <sequence> - <element ref="XNavigateItem"/> - </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="XNavigateItem"> - <complexType> - <attribute name="classname" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - <appinfo> - <meta.attribute kind="java" basedOn=":org.eclipse.osee.framework.ui.plugin.xnavigate.IXNavigateContainer"/> - </appinfo> - </annotation> - </attribute> - <attribute name="category" type="string"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="viewId" type="string" use="required"> - <annotation> - <documentation> - XNavigate View ID - </documentation> - </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> - - -</schema> diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/OSEE-INF/extensionPts/XCommonNavigateItem.exsd b/plugins/org.eclipse.osee.framework.ui.plugin/OSEE-INF/extensionPts/XNavigateItemProvider.exsd index ff49ee296c9..2bcfad06533 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/OSEE-INF/extensionPts/XCommonNavigateItem.exsd +++ b/plugins/org.eclipse.osee.framework.ui.plugin/OSEE-INF/extensionPts/XNavigateItemProvider.exsd @@ -3,7 +3,7 @@ <schema targetNamespace="org.eclipse.osee.framework.ui.plugin" xmlns="http://www.w3.org/2001/XMLSchema"> <annotation> <appinfo> - <meta.schema plugin="org.eclipse.osee.framework.ui.plugin" id="XCommonNavigateItem" name="XCommonNavigateItem"/> + <meta.schema plugin="org.eclipse.osee.framework.ui.plugin" id="XNavigateItemProvider" name="XNavigateItemProvider"/> </appinfo> <documentation> [Enter description of this extension point.] @@ -18,7 +18,7 @@ </annotation> <complexType> <sequence minOccurs="1" maxOccurs="unbounded"> - <element ref="XCommonNavigateItem"/> + <element ref="XNavigateItemProvider"/> </sequence> <attribute name="point" type="string" use="required"> <annotation> @@ -47,7 +47,7 @@ </complexType> </element> - <element name="XCommonNavigateItem"> + <element name="XNavigateItemProvider"> <complexType> <attribute name="classname" type="string" use="required"> <annotation> @@ -55,7 +55,7 @@ </documentation> <appinfo> - <meta.attribute kind="java" basedOn=":org.eclipse.osee.framework.ui.plugin.xnavigate.IXNavigateCommonItem"/> + <meta.attribute kind="java" basedOn=":org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemProvider"/> </appinfo> </annotation> </attribute> diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/OSEE-INF/images/admin.gif b/plugins/org.eclipse.osee.framework.ui.plugin/OSEE-INF/images/admin.gif Binary files differindex 272eec37d74..0a1fa96efc7 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/OSEE-INF/images/admin.gif +++ b/plugins/org.eclipse.osee.framework.ui.plugin/OSEE-INF/images/admin.gif diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/plugin.xml b/plugins/org.eclipse.osee.framework.ui.plugin/plugin.xml index 14fe9eba255..8ad823db419 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/plugin.xml +++ b/plugins/org.eclipse.osee.framework.ui.plugin/plugin.xml @@ -1,9 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.4"?> <plugin> - <extension-point id="XNavigateItem" name="XNavigateItem" schema="OSEE-INF/extensionPts/XNavigateItem.exsd"/> + <extension-point id="XNavigateItemProvider" name="XNavigateItem" schema="OSEE-INF/extensionPts/XNavigateItemProvider.exsd"/> <extension-point id="PropertyStoreControl" name="PropertyStoreControl" schema="OSEE-INF/extensionPts/PropertyStoreControl.exsd"/> - <extension-point id="XCommonNavigateItem" name="XCommonNavigateItem" schema="OSEE-INF/extensionPts/XCommonNavigateItem.exsd"/> <extension-point id="WorkbenchTargetProvider" name="WorkbenchTargetProvider" schema="OSEE-INF/extensionPts/WorkbenchTargetProvider.exsd"/> <extension point="org.eclipse.ui.startup"> diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/util/OpenPerspectiveNavigateItem.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/util/OpenPerspectiveNavigateItem.java deleted file mode 100644 index 4e2952f6edf..00000000000 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/util/OpenPerspectiveNavigateItem.java +++ /dev/null @@ -1,40 +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.ui.plugin.util; - -import org.eclipse.osee.framework.core.enums.OseeImage; -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.swt.ImageManager; -import org.eclipse.osee.framework.ui.swt.KeyedImage; - -public class OpenPerspectiveNavigateItem extends XNavigateItem { - - private final String perspectiveId; - - public OpenPerspectiveNavigateItem(XNavigateItem parent, String perspectiveName, String perspectiveId, OseeImage oseeImage) { - this(parent, perspectiveName, perspectiveId, ImageManager.create(oseeImage)); - } - - public OpenPerspectiveNavigateItem(XNavigateItem parent, String perspectiveName, String perspectiveId, KeyedImage oseeImage) { - super(parent, "Open " + perspectiveName + " Perspective", oseeImage); - this.perspectiveId = perspectiveId; - } - - @Override - public void run(TableLoadOption... tableLoadOptions) throws Exception { - AWorkbench.openPerspective(perspectiveId); - } - -} diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/IXNavigateCommonItem.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/IXNavigateCommonItem.java deleted file mode 100644 index c893df0cdab..00000000000 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/IXNavigateCommonItem.java +++ /dev/null @@ -1,35 +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.plugin.xnavigate; - -import java.util.List; - -/** - * Implement to contribute items to common navigate views. - * - * @author Donald G. Dunne - */ -public interface IXNavigateCommonItem { - - public String getSectionId(); - - default public void createCommonSection(List<XNavigateItem> items, List<String> excludeSectionIds) { - // do nothing - } - - default public void addUtilItems(XNavigateItem utilItems) { - // do nothing - } - -} diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/NavigateItemCollector.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/NavigateItemCollector.java new file mode 100644 index 00000000000..b121d716e6c --- /dev/null +++ b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/NavigateItemCollector.java @@ -0,0 +1,188 @@ +/******************************************************************************* + * Copyright (c) 2021 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.plugin.xnavigate; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.eclipse.osee.framework.core.data.ArtifactId; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; +import org.eclipse.osee.framework.jdk.core.result.XResultData; +import org.eclipse.osee.framework.jdk.core.util.Strings; + +/** + * Collector that collects and categorizes XNavigateItems for use in XNavigateComposite + * + * @author Donald G. Dunne + */ +public class NavigateItemCollector { + + public List<XNavigateItem> compNavItems = new ArrayList<XNavigateItem>(); + /** + * Need to map to cat String cause not all sub-categories are XNavItemCat and this allows providers to insert on any + * item + */ + private final Map<String, XNavigateItem> catStrToItem = new HashMap<String, XNavigateItem>(); + private final Collection<XNavigateItemProvider> providers; + List<XNavigateItem> items = new ArrayList<XNavigateItem>(); + private final INavigateItemRefresher refresher; + private final XResultData rd; + private Collection<ArtifactId> currUserUserGroups; + + public NavigateItemCollector(Collection<XNavigateItemProvider> providers, INavigateItemRefresher refresher, XResultData rd) { + this.providers = providers; + this.refresher = refresher; + this.rd = rd; + } + + public List<XNavigateItem> getComputedNavItems() { + return getComputedNavItems(Collections.emptyList()); + } + + public List<XNavigateItem> getComputedNavItems(Collection<ArtifactId> currUserUserGroups) { + this.currUserUserGroups = currUserUserGroups; + if (compNavItems.isEmpty()) { + for (XNavigateItemProvider provider : providers) { + if (provider.isApplicable()) { + provider.getNavigateItems(items); + } + } + + if (refresher != null) { + for (XNavigateItem item : items) { + item.setRefresher(refresher); + } + } + + createCategoryHierarchy(); + createChildren(); + + } + return compNavItems; + } + + private void createChildren() { + // All Category and Sub Category items should be removed + for (XNavigateItem item : items) { + for (XNavItemCat itemCat : item.getCategories()) { + + // OSEE_ADMIN is not a category group + if (itemCat.equals(XNavItemCat.OSEE_ADMIN)) { + continue; + } + + if (!currentUserInUserGroups(item)) { + continue; + } + + XNavigateItem foundParent = catStrToItem.get(itemCat.getName()); + if (foundParent == null) { + rd.errorf("Children: Can't find parent [%s] for item [%s]\n", itemCat.getName(), item.getName()); + } else { + foundParent.addChild(item); + } + } + } + } + + private boolean currentUserInUserGroups(XNavigateItem item) { + Collection<IUserGroupArtifactToken> itemUserGroups = item.getUserGroups(); + if (itemUserGroups.isEmpty()) { + return true; + } + for (ArtifactId userUserGroup : currUserUserGroups) { + if (itemUserGroups.contains(userUserGroup)) { + return true; + } + } + return false; + } + + private void createCategoryHierarchy() { + // Create top items + for (XNavItemCat topCat : XNavItemCat.orderedValues()) { + for (XNavigateItem item : new ArrayList<XNavigateItem>(items)) { + + if (!currentUserInUserGroups(item)) { + continue; + } + + Collection<XNavItemCat> categories = item.getCategories(); + if (categories.contains(topCat)) { + rd.logf("Adding Category [%s]\n", item.getName()); + catStrToItem.put(item.getName(), item); + compNavItems.add(item); + items.remove(item); + } + } + } + + // Create sub categories + for (XNavigateItem item : new ArrayList<XNavigateItem>(items)) { + + if (!currentUserInUserGroups(item)) { + continue; + } + + Collection<XNavItemCat> categories = item.getCategories(); + if (categories.contains(XNavItemCat.SUBCAT)) { + categories.remove(XNavItemCat.SUBCAT); + } else { + continue; + } + categories.remove(XNavItemCat.OSEE_ADMIN); + + for (XNavItemCat itemCat : categories) { + String catStr = itemCat.getName(); + while (Strings.isValid(catStr) && catStr.contains(".")) { + XNavigateItem parentItem = catStrToItem.get(catStr); + if (parentItem == null) { + rd.logf("\nSearching from Category Str [%s]\n", catStr); + catStr = getReducedCat(catStr); + rd.logf("-- Reduced category to [%s]\n", catStr); + if (Strings.isValid(catStr)) { + parentItem = catStrToItem.get(catStr); + if (parentItem != null) { + parentItem.addChild(item); + rd.logf("Adding Sub-Category name [%s] id [%s]\n", item.getName(), catStr); + catStrToItem.put(itemCat.getName(), item); + items.remove(item); + break; + } else { + rd.errorf("Sub-Cat: Can't find parent [%s] for item [%s]\n", catStr, item.getName()); + } + } + } else { + break; + } + } + } + } + } + + private String getReducedCat(String catStr) { + String names[] = catStr.split("\\."); + StringBuilder sb = new StringBuilder(); + for (int x = 0; x < names.length - 1; x++) { + if (x > 0) { + sb.append("."); + } + sb.append(names[x]); + } + return sb.toString(); + } + +} diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavItemCat.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavItemCat.java new file mode 100644 index 00000000000..e926fa33724 --- /dev/null +++ b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavItemCat.java @@ -0,0 +1,69 @@ +/******************************************************************************* + * Copyright (c) 2021 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.plugin.xnavigate; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import org.eclipse.osee.framework.core.enums.OseeEnum; + +/** + * @author Donald G. Dunne + */ +public class XNavItemCat extends OseeEnum { + + private static final Long ENUM_ID = 23443289235L; + private static List<XNavItemCat> values = new ArrayList<XNavItemCat>(); + + public static final XNavItemCat TOP = new XNavItemCat("TOP"); + public static final XNavItemCat TOP_NEW = new XNavItemCat("TOP_NEW"); + public static final XNavItemCat TOP_MID = new XNavItemCat("TOP_MID"); + public static final XNavItemCat MID_TOP = new XNavItemCat("MID_TOP"); + public static final XNavItemCat PROG = new XNavItemCat("PROG"); + public static final XNavItemCat MID = new XNavItemCat("MID"); + public static final XNavItemCat MID_BOT = new XNavItemCat("MID_BOT"); + public static final XNavItemCat BOT_MID = new XNavItemCat("BOT_MID"); + public static final XNavItemCat BOT = new XNavItemCat("BOT"); + + // Child of one of above category items + public static final XNavItemCat SUBCAT = new XNavItemCat("SUBCAT"); + + // Will only display if OseeAdmin + public static final XNavItemCat OSEE_ADMIN = new XNavItemCat("ADMIN"); + + public XNavItemCat(String name) { + super(ENUM_ID, name); + } + + public synchronized static Collection<XNavItemCat> orderedValues() { + if (values.isEmpty()) { + values.addAll(Arrays.asList(TOP, TOP_NEW, TOP_MID, MID_TOP, MID, PROG, MID_BOT, BOT_MID, BOT)); + } + return values; + } + + @JsonIgnore + @Override + public Long getTypeId() { + return ENUM_ID; + } + + @JsonIgnore + @Override + public OseeEnum getDefault() { + return BOT; + } + +} diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateComposite.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateComposite.java index 73920b05b78..2a493b7b8cc 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateComposite.java +++ b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateComposite.java @@ -75,18 +75,18 @@ public class XNavigateComposite extends Composite { }; private final ToolTipDisplayListener tableListener = new ToolTipDisplayListener(); - protected final XNavigateViewItems navigateViewItems; + protected final NavigateItemCollector navigateItemCollector; protected Browser browser; protected FilteredTreePlus filteredTree; private final String filterText; - public XNavigateComposite(XNavigateViewItems navigateViewItems, Composite parent, int style) { - this(navigateViewItems, parent, style, null); + public XNavigateComposite(NavigateItemCollector navigateItemCollector, Composite parent, int style) { + this(navigateItemCollector, parent, style, null); } - public XNavigateComposite(XNavigateViewItems navigateViewItems, Composite parent, int style, String filterText) { + public XNavigateComposite(NavigateItemCollector navigateItemCollector, Composite parent, int style, String filterText) { super(parent, style); - this.navigateViewItems = navigateViewItems; + this.navigateItemCollector = navigateItemCollector; this.filterText = filterText; setLayout(new GridLayout()); @@ -201,7 +201,7 @@ public class XNavigateComposite extends Composite { public void refresh() { ElapsedTime time = new ElapsedTime("Navigate Items - load", false); - final List<XNavigateItem> items = navigateViewItems.getSearchNavigateItems(); + final List<XNavigateItem> items = navigateItemCollector.getComputedNavItems(); time.end(); Displays.ensureInDisplayThread(new Runnable() { @Override diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateContributionManager.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateContributionManager.java deleted file mode 100644 index f8f8e031c85..00000000000 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateContributionManager.java +++ /dev/null @@ -1,86 +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.plugin.xnavigate; - -import java.lang.reflect.Method; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.logging.Level; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.Platform; -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.eclipse.osee.framework.plugin.core.OseeActivator; -import org.eclipse.osee.framework.plugin.core.util.ExtensionPoints; -import org.eclipse.osee.framework.ui.plugin.internal.UiPluginConstants; -import org.osgi.framework.Bundle; - -/** - * @author Roberto E. Escobar - */ -public final class XNavigateContributionManager { - - private XNavigateContributionManager() { - //Utility Class - } - - public static Set<XNavigateExtensionPointData> getNavigateItems(String viewIdToMatch) { - Conditions.checkNotNull(viewIdToMatch, "viewIdToMatch"); - Set<XNavigateExtensionPointData> toReturn = new HashSet<>(); - List<IConfigurationElement> elements = - ExtensionPoints.getExtensionElements(UiPluginConstants.PLUGIN_ID + ".XNavigateItem", "XNavigateItem"); - for (IConfigurationElement element : elements) { - String viewId = element.getAttribute("viewId"); - if (viewIdToMatch.equals(viewId)) { - String className = element.getAttribute("classname"); - String bundleName = element.getContributor().getName(); - if (Strings.isValid(bundleName) && Strings.isValid(className)) { - IXNavigateContainer navigateContainer = createXNavigateContainer(className, bundleName); - if (navigateContainer != null) { - String category = element.getAttribute("category"); - XNavigateExtensionPointData data = createXNavigateData(viewId, category, navigateContainer); - toReturn.add(data); - } - } - } - } - return toReturn; - } - - private static XNavigateExtensionPointData createXNavigateData(String viewId, String category, IXNavigateContainer navigateContainer) { - String categoryToSet = category != null ? category : ""; - return new XNavigateExtensionPointData(viewId, categoryToSet, navigateContainer); - } - - private static IXNavigateContainer createXNavigateContainer(String className, String bundleName) { - IXNavigateContainer toReturn = null; - Bundle bundle = Platform.getBundle(bundleName); - try { - Class<?> taskClass = bundle.loadClass(className); - try { - Method getInstance = taskClass.getMethod("getInstance", new Class[] {}); - toReturn = (IXNavigateContainer) getInstance.invoke(null, new Object[] {}); - } catch (Exception ex) { - toReturn = (IXNavigateContainer) taskClass.newInstance(); - } - } catch (Exception ex) { - OseeLog.logf(OseeActivator.class, Level.SEVERE, ex, "Unable to Load: [%s - %s]", bundleName, className); - } catch (LinkageError error) { - OseeLog.logf(OseeActivator.class, Level.SEVERE, error, "Unable to Load: [%s - %s]", bundleName, className); - } - return toReturn; - } -} diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateExtensionPointData.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateExtensionPointData.java index 2c8d107bec3..de51ce90fb2 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateExtensionPointData.java +++ b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateExtensionPointData.java @@ -13,6 +13,7 @@ package org.eclipse.osee.framework.ui.plugin.xnavigate; +import java.util.ArrayList; import java.util.List; /** @@ -21,9 +22,9 @@ import java.util.List; public class XNavigateExtensionPointData { private final String viewId; private final String category; - private final IXNavigateContainer navigateItem; + private final XNavigateItemProvider navigateItem; - public XNavigateExtensionPointData(String viewId, String category, IXNavigateContainer navigateItem) { + public XNavigateExtensionPointData(String viewId, String category, XNavigateItemProvider navigateItem) { this.viewId = viewId; this.category = category; this.navigateItem = navigateItem; @@ -38,7 +39,7 @@ public class XNavigateExtensionPointData { } public List<XNavigateItem> getNavigateItems() { - return navigateItem.getNavigateItems(); + return navigateItem.getNavigateItems(new ArrayList<XNavigateItem>()); } public String getCategory() { diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItem.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItem.java index 724aa4a4d49..141b89aa132 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItem.java +++ b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItem.java @@ -14,9 +14,11 @@ package org.eclipse.osee.framework.ui.plugin.xnavigate; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.LinkedList; import java.util.List; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.enums.OseeImage; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; import org.eclipse.osee.framework.ui.swt.ImageManager; @@ -26,7 +28,29 @@ import org.eclipse.swt.graphics.Image; /** * @author Donald G. Dunne */ -public class XNavigateItem { +public abstract class XNavigateItem { + + public static final XNavItemCat TOP_ADMIN = new XNavItemCat("Admin"); + + public static final XNavItemCat REPORTS = new XNavItemCat("Reports"); + public static final XNavItemCat EMAIL_NOTIFICATIONS = new XNavItemCat("Email & Notifications"); + public static final XNavItemCat DEMO = new XNavItemCat("Demo"); + + public static final XNavItemCat UTILITY = new XNavItemCat("Util"); + public static final XNavItemCat UTILITY_EXAMPLES = new XNavItemCat("Util.Examples"); + + public static final XNavItemCat ADVANCED_SEARCHES = new XNavItemCat("Advanced Searches"); + + public static final XNavItemCat USER_MANAGEMENT = new XNavItemCat("User Management"); + public static final XNavItemCat USER_MANAGEMENT_ADMIN = new XNavItemCat("User Management.Admin"); + + public static final XNavItemCat TRACE = new XNavItemCat("Traceability"); + + public static final XNavItemCat DEFINE = new XNavItemCat("Define"); + public static final XNavItemCat DEFINE_HEALTH = new XNavItemCat("Define.Health"); + public static final XNavItemCat DEFINE_ADMIN = new XNavItemCat("Define.Admin"); + + public static final XNavItemCat OTE = new XNavItemCat("OTE"); private final List<XNavigateItem> children = new ArrayList<>(); private String name; @@ -36,20 +60,24 @@ public class XNavigateItem { private Object data; private long id = 0L; protected INavigateItemRefresher refresher; + protected final Collection<XNavItemCat> categories; + Image image; - public XNavigateItem(XNavigateItem parent, String name, OseeImage oseeImage) { - this(parent, name, ImageManager.create(oseeImage)); + public XNavigateItem(String name, OseeImage oseeImage, XNavItemCat... xNavItemCat) { + this(name, ImageManager.create(oseeImage), xNavItemCat); } - public XNavigateItem(XNavigateItem parent, String name, KeyedImage oseeImage) { - this.parent = parent; + public XNavigateItem(String name, KeyedImage oseeImage, XNavItemCat... xNavItemCat) { this.name = name; this.oseeImage = oseeImage; if (parent != null) { parent.addChild(this); } + this.categories = org.eclipse.osee.framework.jdk.core.util.Collections.asHashSet(xNavItemCat); } + public abstract Collection<IUserGroupArtifactToken> getUserGroups(); + public void addChild(XNavigateItem item) { children.add(item); item.setParent(this); @@ -76,19 +104,19 @@ public class XNavigateItem { return ""; } - /** - * @return the image - */ + public void setImage(Image image) { + this.image = image; + } + public Image getImage() { - if (oseeImage != null) { - return ImageManager.getImage(oseeImage); + if (image == null) { + if (oseeImage != null) { + image = ImageManager.getImage(oseeImage); + } } - return null; + return image; } - /** - * @param name the name to set - */ public void setName(String name) { this.name = name; } @@ -101,16 +129,9 @@ public class XNavigateItem { return !getChildren().isEmpty(); } - /** - * @param parent the parent to set - */ - public void setParent(XNavigateItem parent) { - this.parent = parent; - } - @Override public String toString() { - return getName(); + return String.format("[%s] cats %s", getName(), categories); } public List<IXNavigateMenuItem> getMenuItems() { @@ -159,4 +180,12 @@ public class XNavigateItem { this.refresher = refresher; } + public void setParent(XNavigateItem parent) { + this.parent = parent; + } + + public Collection<XNavItemCat> getCategories() { + return categories; + } + }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemAction.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemAction.java index e49ad557c12..76dbbafae3c 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemAction.java +++ b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemAction.java @@ -13,9 +13,14 @@ package org.eclipse.osee.framework.ui.plugin.xnavigate; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; +import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.enums.OseeImage; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; import org.eclipse.osee.framework.ui.swt.Displays; @@ -31,41 +36,51 @@ public class XNavigateItemAction extends XNavigateItem { private final Action action; private boolean promptFirst = false; + private Collection<IUserGroupArtifactToken> groups; - public XNavigateItemAction(XNavigateItem parent, String name) { - this(parent, name, (KeyedImage) null); + public XNavigateItemAction(String name, XNavItemCat... xNavItemCat) { + this(name, false, (KeyedImage) null, xNavItemCat); } - public XNavigateItemAction(XNavigateItem parent, String name, KeyedImage oseeImage) { - this(parent, name, false, oseeImage); + public XNavigateItemAction(String name, KeyedImage oseeImage, XNavItemCat... xNavItemCat) { + this(name, false, oseeImage, xNavItemCat); } - public XNavigateItemAction(XNavigateItem parent, String name, OseeImage oseeImage) { - this(parent, name, false, ImageManager.create(oseeImage)); + public XNavigateItemAction(String name, OseeImage oseeImage, XNavItemCat... xNavItemCat) { + this(name, false, ImageManager.create(oseeImage), xNavItemCat); } - public XNavigateItemAction(XNavigateItem parent, String name, boolean promptFirst, KeyedImage oseeImage) { - super(parent, name, oseeImage); + public XNavigateItemAction(String name, boolean promptFirst, KeyedImage oseeImage, XNavItemCat... xNavItemCat) { + super(name, oseeImage, xNavItemCat); this.action = null; this.promptFirst = promptFirst; } - public XNavigateItemAction(XNavigateItem parent, Action action, KeyedImage oseeImage) { - this(parent, action, oseeImage, false); + public XNavigateItemAction(Action action, KeyedImage oseeImage, XNavItemCat... xNavItemCat) { + this(action, oseeImage, false, Collections.emptyList(), xNavItemCat); } - public XNavigateItemAction(XNavigateItem parent, Action action, OseeImage oseeImage) { - this(parent, action, ImageManager.create(oseeImage), false); + public XNavigateItemAction(Action action, KeyedImage oseeImage, Collection<IUserGroupArtifactToken> groups, XNavItemCat... xNavItemCat) { + this(action, oseeImage, false, groups, xNavItemCat); } - public XNavigateItemAction(XNavigateItem parent, Action action, OseeImage oseeImage, boolean promptFirst) { - this(parent, action, ImageManager.create(oseeImage), promptFirst); + public XNavigateItemAction(Action action, OseeImage oseeImage, XNavItemCat... xNavItemCat) { + this(action, ImageManager.create(oseeImage), false, Collections.emptyList(), xNavItemCat); } - public XNavigateItemAction(XNavigateItem parent, Action action, KeyedImage oseeImage, boolean promptFirst) { - super(parent, action.getText(), oseeImage); + public XNavigateItemAction(Action action, OseeImage oseeImage, boolean promptFirst, XNavItemCat... xNavItemCat) { + this(action, ImageManager.create(oseeImage), promptFirst, Collections.emptyList(), xNavItemCat); + } + + public XNavigateItemAction(Action action, KeyedImage oseeImage, boolean promptFirst, XNavItemCat... xNavItemCat) { + this(action, oseeImage, promptFirst, null, xNavItemCat); + } + + public XNavigateItemAction(Action action, KeyedImage oseeImage, boolean promptFirst, Collection<IUserGroupArtifactToken> groups, XNavItemCat... xNavItemCat) { + super(action.getText(), oseeImage, xNavItemCat); this.action = action; this.promptFirst = promptFirst; + this.groups = groups; } @Override @@ -99,4 +114,15 @@ public class XNavigateItemAction extends XNavigateItem { this.promptFirst = promptFirst; } + @Override + public Collection<IUserGroupArtifactToken> getUserGroups() { + if (groups != null && !groups.isEmpty()) { + return groups; + } + if (categories.contains(XNavItemCat.OSEE_ADMIN)) { + return Arrays.asList(CoreUserGroups.OseeAdmin); + } + return Arrays.asList(CoreUserGroups.Everyone); + } + } diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemFolder.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemFolder.java index a4c74aaa86b..8dd6fe244ac 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemFolder.java +++ b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemFolder.java @@ -13,7 +13,13 @@ package org.eclipse.osee.framework.ui.plugin.xnavigate; +import java.util.Arrays; +import java.util.Collection; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; +import org.eclipse.osee.framework.core.enums.CoreUserGroups; +import org.eclipse.osee.framework.core.enums.OseeImage; import org.eclipse.osee.framework.ui.plugin.PluginUiImage; +import org.eclipse.osee.framework.ui.swt.ImageManager; import org.eclipse.osee.framework.ui.swt.KeyedImage; /** @@ -21,12 +27,34 @@ import org.eclipse.osee.framework.ui.swt.KeyedImage; */ public class XNavigateItemFolder extends XNavigateItem { - public XNavigateItemFolder(XNavigateItem parent, String name) { - super(parent, name, name.contains("Admin") ? PluginUiImage.ADMIN : PluginUiImage.FOLDER); + private Collection<IUserGroupArtifactToken> groups = null; + + public XNavigateItemFolder(String name, XNavItemCat... xNavItemCat) { + super(name, PluginUiImage.FOLDER, xNavItemCat); + } + + public XNavigateItemFolder(String name, KeyedImage oseeImage, XNavItemCat... xNavItemCat) { + super(name, oseeImage, xNavItemCat); + } + + public XNavigateItemFolder(String name, OseeImage oseeImage, XNavItemCat... xNavItemCat) { + super(name, ImageManager.create(oseeImage), xNavItemCat); + } + + public XNavigateItemFolder(String name, KeyedImage oseeImage, Collection<IUserGroupArtifactToken> groups, XNavItemCat... xNavItemCat) { + super(name, oseeImage, xNavItemCat); + this.groups = groups; } - public XNavigateItemFolder(XNavigateItem parent, String name, KeyedImage oseeImage) { - super(parent, name, oseeImage); + @Override + public Collection<IUserGroupArtifactToken> getUserGroups() { + if (groups != null && !groups.isEmpty()) { + return groups; + } + if (categories.contains(XNavItemCat.OSEE_ADMIN)) { + return Arrays.asList(CoreUserGroups.OseeAdmin); + } + return Arrays.asList(CoreUserGroups.Everyone); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemOperation.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemOperation.java index c5da48bcc16..647c4af6cec 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemOperation.java +++ b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemOperation.java @@ -13,6 +13,10 @@ package org.eclipse.osee.framework.ui.plugin.xnavigate; +import java.util.Arrays; +import java.util.Collection; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; +import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.enums.OseeImage; import org.eclipse.osee.framework.core.operation.IOperation; import org.eclipse.osee.framework.core.operation.Operations; @@ -27,12 +31,12 @@ public final class XNavigateItemOperation extends XNavigateItem { private final IOperationFactory operationFactory; - public XNavigateItemOperation(XNavigateItem parent, OseeImage oseeImage, String name, IOperationFactory operationFactory) { - this(parent, ImageManager.create(oseeImage), name, operationFactory); + public XNavigateItemOperation(OseeImage oseeImage, String name, IOperationFactory operationFactory, XNavItemCat... xNavItemCat) { + this(ImageManager.create(oseeImage), name, operationFactory, xNavItemCat); } - public XNavigateItemOperation(XNavigateItem parent, KeyedImage oseeImage, String name, IOperationFactory operationFactory) { - super(parent, name, oseeImage); + public XNavigateItemOperation(KeyedImage oseeImage, String name, IOperationFactory operationFactory, XNavItemCat... xNavItemCat) { + super(name, oseeImage, xNavItemCat); this.operationFactory = operationFactory; } @@ -44,4 +48,13 @@ public final class XNavigateItemOperation extends XNavigateItem { Operations.executeAsJob(operation, true); } } + + @Override + public Collection<IUserGroupArtifactToken> getUserGroups() { + if (categories.contains(XNavItemCat.OSEE_ADMIN)) { + return Arrays.asList(CoreUserGroups.OseeAdmin); + } + return Arrays.asList(CoreUserGroups.Everyone); + } + }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/IXNavigateContainer.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemProvider.java index 6a03636eff2..a6974b81db6 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/IXNavigateContainer.java +++ b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemProvider.java @@ -16,10 +16,17 @@ package org.eclipse.osee.framework.ui.plugin.xnavigate; import java.util.List; /** + * XNavigateItems for inclusion in Navigator + * * @author Donald G. Dunne */ -public interface IXNavigateContainer { +public interface XNavigateItemProvider { + + /** + * @return true if these items should be added to this client. + */ + public boolean isApplicable(); - public List<XNavigateItem> getNavigateItems(); + public List<XNavigateItem> getNavigateItems(List<XNavigateItem> items); } diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateCommonItems.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemProviders.java index e74524042f5..2c09a289afe 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateCommonItems.java +++ b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateItemProviders.java @@ -14,67 +14,32 @@ package org.eclipse.osee.framework.ui.plugin.xnavigate; import java.util.HashSet; -import java.util.List; import java.util.Set; -import java.util.logging.Level; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IExtension; import org.eclipse.core.runtime.IExtensionPoint; import org.eclipse.core.runtime.Platform; -import org.eclipse.osee.framework.jdk.core.util.ElapsedTime; import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.ui.plugin.PluginUiImage; import org.eclipse.osee.framework.ui.plugin.internal.UiPluginConstants; import org.osgi.framework.Bundle; -public class XNavigateCommonItems { +public class XNavigateItemProviders { - private static Set<IXNavigateCommonItem> items; - public static final boolean debug = false; + private static Set<XNavigateItemProvider> items; + public static boolean debug = false; - public static void addCommonNavigateItems(List<XNavigateItem> items, List<String> excludeSectionIds) { - try { - for (IXNavigateCommonItem item : getProviders()) { - if (!excludeSectionIds.contains(item.getSectionId())) { - ElapsedTime time = new ElapsedTime("NVI - " + item.getClass().getSimpleName(), debug); - item.createCommonSection(items, excludeSectionIds); - time.end(); - } - } - } catch (Exception ex) { - OseeLog.log(UiPluginConstants.class, Level.SEVERE, ex); - } - - createUtilItemsSection(items, excludeSectionIds); - } - - public static void createUtilItemsSection(List<XNavigateItem> items, List<String> excludeSectionIds) { - try { - XNavigateItem utilItems = new XNavigateItem(null, "Util", PluginUiImage.GEAR); - - for (IXNavigateCommonItem item : getProviders()) { - item.addUtilItems(utilItems); - } - - items.add(utilItems); - - } catch (Exception ex) { - OseeLog.log(UiPluginConstants.class, Level.SEVERE, ex); - } - } - - private synchronized static Set<IXNavigateCommonItem> getProviders() { + public static synchronized Set<XNavigateItemProvider> getProviders() { if (items != null) { return items; } items = new HashSet<>(); - IExtensionPoint point = - Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.osee.framework.ui.plugin.XCommonNavigateItem"); + IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint( + "org.eclipse.osee.framework.ui.plugin.XNavigateItemProvider"); if (point == null) { OseeLog.log(UiPluginConstants.class, OseeLevel.SEVERE_POPUP, - "Can't access XCommonNavigateItem extension point"); + "Can't access XNavigateItemProvider extension point"); return items; } IExtension[] extensions = point.getExtensions(); @@ -83,7 +48,7 @@ public class XNavigateCommonItems { String classname = null; String bundleName = null; for (IConfigurationElement el : elements) { - if (el.getName().equals("XCommonNavigateItem")) { + if (el.getName().equals("XNavigateItemProvider")) { classname = el.getAttribute("classname"); bundleName = el.getContributor().getName(); if (classname != null && bundleName != null) { @@ -91,10 +56,10 @@ public class XNavigateCommonItems { try { Class<?> taskClass = bundle.loadClass(classname); Object obj = taskClass.newInstance(); - items.add((IXNavigateCommonItem) obj); + items.add((XNavigateItemProvider) obj); } catch (Exception ex) { OseeLog.log(UiPluginConstants.class, OseeLevel.SEVERE_POPUP, - "Error loading XCommonNavigateItem extension", ex); + "Error loading XNavigateItemProvider extension", ex); } } } diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateUrlItem.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateUrlItem.java index dff76461698..a87372cb78e 100644 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateUrlItem.java +++ b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateUrlItem.java @@ -40,12 +40,12 @@ public class XNavigateUrlItem extends XNavigateItemAction { * @param url to open * @param external true to open in system browser; false to open inside Eclipse */ - public XNavigateUrlItem(XNavigateItem parent, String name, String url, boolean external) { - this(parent, name, url, external, PluginUiImage.URL); + public XNavigateUrlItem(String name, String url, boolean external, XNavItemCat xNavItemCat) { + this(name, url, external, PluginUiImage.URL, xNavItemCat); } - public XNavigateUrlItem(XNavigateItem parent, String name, String url, boolean external, KeyedImage oseeImage) { - super(parent, name, oseeImage); + public XNavigateUrlItem(String name, String url, boolean external, KeyedImage oseeImage, XNavItemCat xNavItemCat) { + super(name, oseeImage, xNavItemCat); this.url = url; this.external = external; } diff --git a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateViewItems.java b/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateViewItems.java deleted file mode 100644 index 202d0b59e7d..00000000000 --- a/plugins/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/xnavigate/XNavigateViewItems.java +++ /dev/null @@ -1,25 +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.plugin.xnavigate; - -import java.util.List; - -/** - * @author Donald G. Dunne - */ -public interface XNavigateViewItems { - - List<XNavigateItem> getSearchNavigateItems(); - -} diff --git a/plugins/org.eclipse.osee.framework.ui.product/OSEE-INF/images/admin.gif b/plugins/org.eclipse.osee.framework.ui.product/OSEE-INF/images/admin.gif Binary files differindex 11812dfd607..0a1fa96efc7 100644 --- a/plugins/org.eclipse.osee.framework.ui.product/OSEE-INF/images/admin.gif +++ b/plugins/org.eclipse.osee.framework.ui.product/OSEE-INF/images/admin.gif diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/OSEE-INF/images/example.gif b/plugins/org.eclipse.osee.framework.ui.skynet/OSEE-INF/images/example.gif Binary files differnew file mode 100644 index 00000000000..8e55b879d1b --- /dev/null +++ b/plugins/org.eclipse.osee.framework.ui.skynet/OSEE-INF/images/example.gif diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/OSEE-INF/images/export.gif b/plugins/org.eclipse.osee.framework.ui.skynet/OSEE-INF/images/export.gif Binary files differnew file mode 100644 index 00000000000..5a0837d1e47 --- /dev/null +++ b/plugins/org.eclipse.osee.framework.ui.skynet/OSEE-INF/images/export.gif diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/OSEE-INF/images/health.gif b/plugins/org.eclipse.osee.framework.ui.skynet/OSEE-INF/images/health.gif Binary files differnew file mode 100644 index 00000000000..a5ac28d4c56 --- /dev/null +++ b/plugins/org.eclipse.osee.framework.ui.skynet/OSEE-INF/images/health.gif diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/OSEE-INF/images/trace.gif b/plugins/org.eclipse.osee.framework.ui.skynet/OSEE-INF/images/trace.gif Binary files differnew file mode 100644 index 00000000000..e47d7ae95f4 --- /dev/null +++ b/plugins/org.eclipse.osee.framework.ui.skynet/OSEE-INF/images/trace.gif diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/plugin.xml b/plugins/org.eclipse.osee.framework.ui.skynet/plugin.xml index 1dfcc5b0871..1c37c6287a2 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/plugin.xml +++ b/plugins/org.eclipse.osee.framework.ui.skynet/plugin.xml @@ -1531,18 +1531,15 @@ </Operation> </extension> <extension - id="BlamContributionManager" - name="BlamContributionManager" - point="org.eclipse.osee.framework.ui.plugin.XCommonNavigateItem"> - <XCommonNavigateItem - classname="org.eclipse.osee.framework.ui.skynet.blam.BlamContributionManager"> - </XCommonNavigateItem> - <XCommonNavigateItem - classname="org.eclipse.osee.framework.ui.skynet.user.UserNavigateViewItems"> - </XCommonNavigateItem> - <XCommonNavigateItem + id="XNavigateItemProvider" + name="XNavigateItemProvider" + point="org.eclipse.osee.framework.ui.plugin.XNavigateItemProvider"> + <XNavigateItemProvider + classname="org.eclipse.osee.framework.ui.skynet.blam.BlamNavigateViewItems"> + </XNavigateItemProvider> + <XNavigateItemProvider classname="org.eclipse.osee.framework.ui.skynet.links.LinksNavigateViewItems"> - </XCommonNavigateItem> + </XNavigateItemProvider> </extension> <extension point="org.eclipse.ui.commands"> @@ -1728,5 +1725,17 @@ </action> </viewContribution> </extension> + <extension + point="org.eclipse.osee.framework.ui.skynet.BlamOperation"> + <Operation + className="org.eclipse.osee.framework.ui.skynet.blam.operation.CreateNewUser"> + </Operation> + </extension> + <extension + point="org.eclipse.osee.framework.ui.skynet.BlamOperation"> + <Operation + className="org.eclipse.osee.framework.ui.skynet.blam.operation.PopulateUserGroupBlam"> + </Operation> + </extension> </plugin> 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 49631df8764..1bbb157c3aa 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 @@ -33,9 +33,9 @@ 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.explorer.ArtifactExplorerLinkNode; import org.eclipse.osee.framework.ui.skynet.internal.Activator; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; /** * The basis for the comments in this class can be found at 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 a1ab9dfc6cd..085c9b937d3 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 @@ -35,10 +35,10 @@ 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.internal.ServiceUtil; 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; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; import org.eclipse.osee.framework.ui.swt.ImageManager; import org.eclipse.osee.framework.ui.swt.KeyedImage; import org.eclipse.osee.framework.ui.swt.OverlayImage.Location; 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 1f5c366377c..b3b467a0fcb 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 @@ -100,9 +100,11 @@ public enum FrameworkImage implements KeyedImage { ERROR("errorRound.gif"), ERROR_OVERLAY("error.gif"), EXPAND_ALL("expandAll.gif"), + EXPORT("export.gif"), EXPORT_DATA("export_data.gif"), EXPORT_TABLE("export_table.gif"), EXCLAIM_RED("redExclaim.gif"), + EXAMPLE("example.gif"), FEATURE("feature.gif"), FLASHLIGHT("flashlight.gif"), FLAT_LAYOUT("flat_layout.gif"), @@ -119,6 +121,7 @@ public enum FrameworkImage implements KeyedImage { GREEN_PLUS("greenPlus.gif"), GROUP("group.gif"), HEADING("heading.gif"), + HEALTH("health.gif"), HELP("help.gif"), HOLD("hold.gif"), ID("id.gif"), @@ -232,6 +235,7 @@ public enum FrameworkImage implements KeyedImage { TERMINATE_AND_RELAUNCH("termAndRelaunch.png"), TEST_PROCEDURE("test_procedure.gif"), TRASH("trash.gif"), + TRACE("trace.gif"), TREE_LAYOUT("tree_layout.gif"), TUPLE("tuple.png"), SKYWALKER("skywalker.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 05e4c8f6108..d2032f00fa2 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 @@ -24,8 +24,8 @@ import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.logging.OseeLog; 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.internal.ServiceUtil; 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; 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 8c3fee1ba4e..e9f76033610 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 @@ -28,8 +28,8 @@ import org.eclipse.osee.framework.logging.OseeLog; 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.internal.ServiceUtil; 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; 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 e2a45a7121b..4f62f242474 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 @@ -43,9 +43,9 @@ 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.internal.ServiceUtil; 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; 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 17fcf4f7a9d..bf07419af97 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 @@ -49,7 +49,6 @@ 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.internal.ServiceUtil; 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; 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 7c05e95e04e..c52cc336e93 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 @@ -43,8 +43,8 @@ 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.ui.skynet.internal.ServiceUtil; 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.results.XResultDataUI; import org.eclipse.osee.framework.ui.swt.Displays; import org.eclipse.osee.framework.ui.swt.FontManager; 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 c38536e04ec..7ad780d946a 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 @@ -32,8 +32,8 @@ import org.eclipse.osee.framework.skynet.core.UserManager; import org.eclipse.osee.framework.skynet.core.access.UserServiceImpl; 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.internal.ServiceUtil; 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.xBranch.PolicyTableXViewerFactory; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; 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 5a4b5c9f395..df26b1f45b6 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 @@ -20,9 +20,9 @@ import org.eclipse.osee.framework.core.enums.PermissionEnum; 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.artifact.prompt.IHandlePromptChange; import org.eclipse.osee.framework.ui.skynet.artifact.prompt.IPromptFactory; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; import org.eclipse.osee.framework.ui.swt.Displays; 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 9f71659e897..3a6784f788e 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 @@ -24,10 +24,10 @@ 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.internal.ServiceUtil; 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; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; import org.eclipse.osee.framework.ui.swt.Displays; import org.eclipse.ui.IEditorPart; 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 04585b9959e..f72421248e8 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 @@ -29,12 +29,12 @@ 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.internal.ServiceUtil; 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.internal.ServiceUtil; 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; 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 ffc42aaeb23..f26d036dcf3 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 @@ -43,7 +43,6 @@ 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.internal.ServiceUtil; 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; @@ -53,6 +52,7 @@ import org.eclipse.osee.framework.ui.skynet.artifact.editor.sections.AttributesF import org.eclipse.osee.framework.ui.skynet.artifact.editor.sections.DetailsFormSection; import org.eclipse.osee.framework.ui.skynet.artifact.editor.sections.RelationsFormSection; 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.FormsUtil; import org.eclipse.osee.framework.ui.skynet.util.LoadingComposite; import org.eclipse.osee.framework.ui.swt.ALayout; 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 d01ed122111..702676f4bed 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 @@ -41,9 +41,9 @@ 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.internal.ServiceUtil; 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.skynet.internal.ServiceUtil; import org.eclipse.osee.framework.ui.swt.ALayout; import org.eclipse.osee.framework.ui.swt.Displays; import org.eclipse.osee.framework.ui.swt.IDirtiableEditor; 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 daa5154cf9a..94f5ff16107 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 @@ -47,12 +47,12 @@ 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.internal.ServiceUtil; 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; 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; 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; diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/AbstractBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/AbstractBlam.java index 518bb230ff8..8eafdde4005 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/AbstractBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/AbstractBlam.java @@ -41,6 +41,7 @@ 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.Strings; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.XWidgetParser; import org.eclipse.osee.framework.ui.skynet.widgets.util.IDynamicWidgetLayoutListener; @@ -98,7 +99,12 @@ public abstract class AbstractBlam implements IDynamicWidgetLayoutListener { this.source = source != null ? source : BlamUiSource.DEFAULT; } - public abstract Collection<IUserGroupArtifactToken> getUserGroups(); + /** + * Override to limit view by user group(s) + */ + public Collection<IUserGroupArtifactToken> getUserGroups() { + return Collections.emptyList(); + } private String generateNameFromClass() { String className = getClass().getSimpleName(); @@ -122,12 +128,6 @@ public abstract class AbstractBlam implements IDynamicWidgetLayoutListener { } /** - * Return collection of categories that blam belongs to. These will be used to create categories that blams are put - * into in UI navigators. BLAM can belong in multiple categories. - */ - public abstract Collection<String> getCategoriesStr(); - - /** * Use WidgetBuilder */ @Deprecated @@ -260,10 +260,6 @@ public abstract class AbstractBlam implements IDynamicWidgetLayoutListener { viewId = ArtifactToken.SENTINEL; } - public boolean showInBlamSection() { - return true; - } - public String getOutputMessage() { return "BLAM has not yet run"; } @@ -283,4 +279,13 @@ public abstract class AbstractBlam implements IDynamicWidgetLayoutListener { // do nothing } + public abstract Collection<XNavItemCat> getCategories(); + + /** + * Override to provide other calculations as to whether this BLAM should show + */ + public boolean isApplicable() { + return true; + } + }
\ No newline at end of file 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 deleted file mode 100644 index 1aa07925949..00000000000 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamContributionManager.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.blam; - -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; -import java.util.logging.Level; -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; -import org.eclipse.osee.framework.jdk.core.util.ElapsedTime; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.plugin.core.util.ExtensionDefinedObjects; -import org.eclipse.osee.framework.skynet.core.access.UserServiceImpl; -import org.eclipse.osee.framework.ui.plugin.PluginUiImage; -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.internal.ServiceUtil; -import org.eclipse.osee.framework.ui.skynet.internal.Activator; -import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam; - -/** - * @author Donald G. Dunne - */ -public class BlamContributionManager implements IXNavigateCommonItem { - - private static TreeMap<String, AbstractBlam> blams; - - public synchronized static Map<String, AbstractBlam> getBlamMap() { - if (blams == null) { - blams = new TreeMap<>(); - ExtensionDefinedObjects<AbstractBlam> definedObjects = new ExtensionDefinedObjects<>( - "org.eclipse.osee.framework.ui.skynet.BlamOperation", "Operation", "className"); - for (AbstractBlam blam : definedObjects.getObjects()) { - blams.put(blam.getName(), blam); - } - } - return blams; - } - - public static Collection<AbstractBlam> getBlamOperations() { - return getBlamMap().values(); - } - - private static void createCategories(String[] categoryElements, int index, XNavigateItem parentItem, Map<String, XNavigateItem> nameToParent) { - String firstElement = categoryElements[index]; - XNavigateItem thisCategoryItem = null; - for (XNavigateItem childItem : parentItem.getChildren()) { - if (childItem.getName().equals(firstElement)) { - thisCategoryItem = childItem; - break; - } - } - // Create new folder category - if (thisCategoryItem == null) { - // Add to parentItem - thisCategoryItem = new XNavigateItem(parentItem, firstElement, PluginUiImage.FOLDER); - String catName = ""; - for (int x = 0; x <= index; x++) { - if (!catName.equals("")) { - catName += "."; - } - catName += categoryElements[x]; - } - // Add to lookup map - nameToParent.put(catName, thisCategoryItem); - } - // Process children categories - if (categoryElements.length > index + 1) { - createCategories(categoryElements, index + 1, thisCategoryItem, nameToParent); - } - } - - @Override - public void createCommonSection(List<XNavigateItem> items, List<String> excludeSectionIds) { - Map<String, XNavigateItem> nameToParent = new HashMap<>(); - XNavigateItem blamOperationItems = new XNavigateItem(null, "Blam Operations", FrameworkImage.BLAM); - - ElapsedTime time = new ElapsedTime("NVI - BLAM loadUserGroups", XNavigateCommonItems.debug); - Collection<IUserGroupArtifactToken> userGroups = UserServiceImpl.getUserGrps(); - time.end(); - - for (AbstractBlam blamOperation : getBlamOperations()) { - if (!blamOperation.showInBlamSection()) { - continue; - } - boolean isUserGroup = blamOperation.isOverrideAccess(); - Collection<IUserGroupArtifactToken> blamUserGroups = blamOperation.getUserGroups(); - if (isUserGroup || !Collections.setIntersection(blamUserGroups, userGroups).isEmpty()) { - // Create categories first (so can have them up top) - for (String category : blamOperation.getCategoriesStr()) { - try { - if (ServiceUtil.accessControlService().isOseeAdmin() || !category.contains( - "Admin") || category.contains( - "Admin") && ServiceUtil.accessControlService().isOseeAdmin()) { - createCategories(category.split("\\."), 0, blamOperationItems, nameToParent); - } - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - } - } - } - // Add BLAMs to categories - for (AbstractBlam blamOperation : BlamContributionManager.getBlamOperations()) { - if (!blamOperation.showInBlamSection()) { - continue; - } - Collection<IUserGroupArtifactToken> blamUserGroups = blamOperation.getUserGroups(); - if (!Collections.setIntersection(blamUserGroups, userGroups).isEmpty()) { - // If categories not specified, add to top level - if (blamOperation.getCategoriesStr().isEmpty()) { - new XNavigateItemBlam(blamOperationItems, blamOperation); - } - for (String category : blamOperation.getCategoriesStr()) { - // Category will be null if admin category and not admin - if (nameToParent.get(category) != null) { - new XNavigateItemBlam(nameToParent.get(category), blamOperation); - } - } - } - } - items.add(blamOperationItems); - } - - @Override - public String getSectionId() { - return "Blam"; - } -} diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamEditorInputFactory.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamEditorInputFactory.java index eb249363587..1544dc4a0a5 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamEditorInputFactory.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamEditorInputFactory.java @@ -33,7 +33,7 @@ public class BlamEditorInputFactory implements IElementFactory { try { String blamId = memento.getString(BLAM_ID); if (Strings.isValid(blamId)) { - for (AbstractBlam blam : BlamContributionManager.getBlamOperations()) { + for (AbstractBlam blam : BlamNavigateViewItems.getBlamOperations()) { if (blam.getName().equals(blamId)) { return new BlamEditorInput(blam); } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamNavigateViewItems.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamNavigateViewItems.java new file mode 100644 index 00000000000..5f0f768831b --- /dev/null +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamNavigateViewItems.java @@ -0,0 +1,71 @@ +/********************************************************************* + * 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.blam; + +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; +import org.eclipse.osee.framework.jdk.core.util.Collections; +import org.eclipse.osee.framework.plugin.core.util.ExtensionDefinedObjects; +import org.eclipse.osee.framework.skynet.core.access.UserServiceImpl; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemProvider; +import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam; + +/** + * @author Donald G. Dunne + */ +public class BlamNavigateViewItems implements XNavigateItemProvider { + + private static TreeMap<String, AbstractBlam> blams; + + public synchronized static Map<String, AbstractBlam> getBlamMap() { + if (blams == null) { + blams = new TreeMap<>(); + ExtensionDefinedObjects<AbstractBlam> definedObjects = new ExtensionDefinedObjects<>( + "org.eclipse.osee.framework.ui.skynet.BlamOperation", "Operation", "className"); + for (AbstractBlam blam : definedObjects.getObjects()) { + blams.put(blam.getName(), blam); + } + } + return blams; + } + + @Override + public boolean isApplicable() { + return true; + } + + @Override + public List<XNavigateItem> getNavigateItems(List<XNavigateItem> items) { + Collection<IUserGroupArtifactToken> userGroups = UserServiceImpl.getUserGrps(); + for (AbstractBlam blam : BlamNavigateViewItems.getBlamOperations()) { + if (blam.isApplicable()) { + Collection<IUserGroupArtifactToken> blamUserGroups = blam.getUserGroups(); + if (blamUserGroups.isEmpty() || !Collections.setIntersection(blamUserGroups, userGroups).isEmpty()) { + XNavigateItemBlam blamItem = new XNavigateItemBlam(blam); + items.add(blamItem); + } + } + } + return items; + } + + public static Collection<AbstractBlam> getBlamOperations() { + return getBlamMap().values(); + } + +} diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/AdvancedKeywordSearchBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/AdvancedKeywordSearchBlam.java index 3e65e37abba..d55c4377c98 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/AdvancedKeywordSearchBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/AdvancedKeywordSearchBlam.java @@ -23,8 +23,6 @@ import org.eclipse.core.runtime.IProgressMonitor; 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.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.type.HashCollection; import org.eclipse.osee.framework.jdk.core.util.AHTML; @@ -33,6 +31,8 @@ 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; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.results.XResultDataUI; @@ -108,18 +108,13 @@ public class AdvancedKeywordSearchBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define"); - } - - @Override public String getDescriptionUsage() { return "Perform keyword quick search (in word order) for a list of keywords. Results will show artifacts paired with matching keyword groups."; } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return java.util.Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.ADVANCED_SEARCHES); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/AttributeCheckBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/AttributeCheckBlam.java index c790909a051..d538d36b9c0 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/AttributeCheckBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/AttributeCheckBlam.java @@ -15,14 +15,13 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import org.eclipse.osee.framework.core.data.AttributeTypeId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.operation.IOperation; import org.eclipse.osee.framework.core.operation.OperationLogger; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -76,13 +75,8 @@ public class AttributeCheckBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Reports"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_HEALTH); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ChangeArtifactName.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ChangeArtifactName.java index b7c28bd037b..f830f97074d 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ChangeArtifactName.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ChangeArtifactName.java @@ -13,13 +13,13 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; +import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.operation.IOperation; import org.eclipse.osee.framework.core.operation.OperationLogger; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -39,11 +39,6 @@ public class ChangeArtifactName extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Collections.singletonList("Define"); - } - - @Override public String getXWidgetsXml() { StringBuilder sb = new StringBuilder(); sb.append("<xWidgets>"); @@ -61,8 +56,8 @@ public class ChangeArtifactName extends AbstractBlam { } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_ADMIN, XNavItemCat.OSEE_ADMIN); } } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ChangeArtifactTypeBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ChangeArtifactTypeBlam.java index d6f6dc2295d..5f0518cb3dc 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ChangeArtifactTypeBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ChangeArtifactTypeBlam.java @@ -15,11 +15,10 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.skynet.core.artifact.ChangeArtifactType; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -45,13 +44,8 @@ public class ChangeArtifactTypeBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Util"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_ADMIN, XNavItemCat.OSEE_ADMIN); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CheckDefaulHierarchy.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CheckDefaulHierarchy.java index cf3840415ea..e685724f2af 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CheckDefaulHierarchy.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CheckDefaulHierarchy.java @@ -16,16 +16,15 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import static org.eclipse.osee.framework.core.enums.DeletionFlag.EXCLUDE_DELETED; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.ArtifactTypeToken; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.exception.MultipleArtifactsExist; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -62,13 +61,8 @@ public class CheckDefaulHierarchy extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin.Health"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_HEALTH); } } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CountArtifactsOfTypeBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CountArtifactsOfTypeBlam.java index 2a8dc2c5ac2..3584487a7fc 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CountArtifactsOfTypeBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CountArtifactsOfTypeBlam.java @@ -15,15 +15,14 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.ArtifactTypeToken; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.enums.DeletionFlag; import org.eclipse.osee.framework.jdk.core.result.XResultData; import org.eclipse.osee.framework.jdk.core.util.AHTML; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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; @@ -74,18 +73,13 @@ public class CountArtifactsOfTypeBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Reports"); - } - - @Override public String getDescriptionUsage() { return "Count artifacts on specified branch by inherited type."; } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_ADMIN, XNavItemCat.OSEE_ADMIN); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateArtifactWithIdBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateArtifactWithIdBlam.java index 8fc8861ba9c..2042f4aa9e6 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateArtifactWithIdBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateArtifactWithIdBlam.java @@ -18,8 +18,6 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osee.framework.core.data.ArtifactTypeToken; import org.eclipse.osee.framework.core.data.BranchToken; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.model.Branch; import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; @@ -28,6 +26,8 @@ import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; 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.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.artifact.editor.ArtifactEditor; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -112,8 +112,8 @@ public class CreateArtifactWithIdBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin/Define"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_ADMIN, XNavItemCat.OSEE_ADMIN); } @Override @@ -121,9 +121,4 @@ public class CreateArtifactWithIdBlam extends AbstractBlam { return "Create artifact of type with given id.\nWARNING: You must manually confirm that id is not already used."; } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return java.util.Collections.singleton(CoreUserGroups.OseeAdmin); - } - }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateNewUser.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateNewUser.java index 3902c093cb5..eedadc620a0 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateNewUser.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateNewUser.java @@ -16,16 +16,14 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import static org.eclipse.osee.framework.core.enums.CoreBranches.COMMON; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import java.util.Set; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.framework.core.data.AttributeTypeToken; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; 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.PresentationType; import org.eclipse.osee.framework.core.exception.UserNotInDatabase; import org.eclipse.osee.framework.jdk.core.util.Strings; @@ -34,11 +32,16 @@ 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.ArtifactTypeManager; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.render.RendererManager; import org.eclipse.osee.framework.ui.skynet.util.email.EmailUserGroups; import org.eclipse.osee.framework.ui.skynet.widgets.XList.XListItem; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; /** * @author Ryan D. Brooks @@ -52,7 +55,7 @@ public class CreateNewUser extends AbstractBlam { @Override public String getName() { - return "Admin - Create New User"; + return "Create New User"; } @Override @@ -158,13 +161,18 @@ public class CreateNewUser extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.USER_MANAGEMENT_ADMIN, XNavItemCat.OSEE_ADMIN); } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Image getImage() { + return ImageManager.getImage(FrameworkImage.USER_ADD); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.USER_ADD); } }
\ No newline at end of file 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 0d8d0f0c355..76421fdf36a 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 @@ -15,12 +15,10 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.HashSet; import java.util.Set; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.framework.core.exception.OseeAccessDeniedException; import org.eclipse.osee.framework.core.operation.AbstractOperation; import org.eclipse.osee.framework.core.operation.Operations; @@ -28,14 +26,19 @@ 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.internal.ServiceUtil; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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; import org.eclipse.osee.framework.ui.skynet.dbHealth.DatabaseHealthOpsExtensionManager; 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.results.ResultsEditor; import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; /** * @author Jeff C. Phillips @@ -109,8 +112,8 @@ public class DatabaseHealth extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin.Health"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_ADMIN, XNavItemCat.OSEE_ADMIN); } private final class MasterDbHealthOperation extends AbstractOperation { @@ -169,8 +172,13 @@ public class DatabaseHealth extends AbstractBlam { } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Image getImage() { + return ImageManager.getImage(FrameworkImage.HEALTH); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.HEALTH); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/DeleteInvalidAttributeTypesFromBranch.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/DeleteInvalidAttributeTypesFromBranch.java index dd1bf772c16..2628b1e4868 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/DeleteInvalidAttributeTypesFromBranch.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/DeleteInvalidAttributeTypesFromBranch.java @@ -15,19 +15,18 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.AttributeTypeToken; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.jdk.core.util.Conditions; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.Attribute; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; 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.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -90,13 +89,8 @@ public class DeleteInvalidAttributeTypesFromBranch extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TOP_ADMIN, XNavItemCat.OSEE_ADMIN); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/DeleteUnneededUnspecifiedAttributes.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/DeleteUnneededUnspecifiedAttributes.java index 5ee5725cd65..fa21813bd50 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/DeleteUnneededUnspecifiedAttributes.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/DeleteUnneededUnspecifiedAttributes.java @@ -15,19 +15,18 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.AttributeId; import org.eclipse.osee.framework.core.data.AttributeTypeToken; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.Attribute; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; 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.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -74,13 +73,8 @@ public class DeleteUnneededUnspecifiedAttributes extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TOP_ADMIN, XNavItemCat.OSEE_ADMIN); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/EmailGroupsBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/EmailGroupsBlam.java index 1338b2cfd91..0c1a0287c8c 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/EmailGroupsBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/EmailGroupsBlam.java @@ -26,9 +26,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.util.Result; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.skynet.core.User; @@ -37,6 +35,8 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.utility.EmailUtil; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.notify.OseeEmail; @@ -224,11 +224,6 @@ public class EmailGroupsBlam extends AbstractBlam { return "Send individual emails to everyone in the selected groups with an unsubscribe option"; } - @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Util"); - } - private class ModificationListerner implements XModifiedListener { @Override @@ -254,8 +249,8 @@ public class EmailGroupsBlam extends AbstractBlam { } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.EMAIL_NOTIFICATIONS); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ExampleOutputBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ExampleOutputBlam.java index 636a2724f38..a0394d367b0 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ExampleOutputBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ExampleOutputBlam.java @@ -15,12 +15,15 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; /** * @author Donald G. Dunne @@ -54,13 +57,18 @@ public class ExampleOutputBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Util"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.UTILITY_EXAMPLES); } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.OseeAdmin); + public Image getImage() { + return ImageManager.getImage(FrameworkImage.EXAMPLE); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.EXAMPLE); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ExperimentalBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ExperimentalBlam.java index f37aaa65f42..304f1dfd69a 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ExperimentalBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ExperimentalBlam.java @@ -15,10 +15,9 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -38,8 +37,8 @@ public class ExperimentalBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TOP_ADMIN, XNavItemCat.OSEE_ADMIN); } @Override @@ -47,9 +46,4 @@ public class ExperimentalBlam extends AbstractBlam { return "<xWidgets><XWidget xwidgetType=\"XCheckBox\" horizontalLabel=\"true\" labelAfter=\"true\" displayName=\"Even Branches\" /></xWidgets>"; } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ExportArtifacts.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ExportArtifacts.java index cd450e1abf8..f06b7b54b38 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ExportArtifacts.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/ExportArtifacts.java @@ -17,25 +17,28 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.HashSet; import java.util.List; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.framework.core.data.AttributeTypeId; import org.eclipse.osee.framework.core.data.AttributeTypeToken; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.jdk.core.util.Lib; import org.eclipse.osee.framework.jdk.core.util.io.CharBackedInputStream; import org.eclipse.osee.framework.jdk.core.util.io.xml.ExcelXmlWriter; import org.eclipse.osee.framework.jdk.core.util.io.xml.ISheetWriter; import org.eclipse.osee.framework.plugin.core.util.AIFile; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.program.Program; /** @@ -134,13 +137,18 @@ public class ExportArtifacts extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Util"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE); } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Image getImage() { + return ImageManager.getImage(FrameworkImage.EXPORT); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.EXPORT); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/FindArtifactsWithMinAttributeContraintProblems.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/FindArtifactsWithMinAttributeContraintProblems.java index 30fc547163e..069eb123a70 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/FindArtifactsWithMinAttributeContraintProblems.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/FindArtifactsWithMinAttributeContraintProblems.java @@ -16,12 +16,11 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import static org.eclipse.osee.framework.core.enums.DeletionFlag.EXCLUDE_DELETED; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -47,13 +46,8 @@ public class FindArtifactsWithMinAttributeContraintProblems extends AbstractBlam } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin.Health"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE_HEALTH); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PopulateUserGroupBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PopulateUserGroupBlam.java index fbbf4c0678d..79152afbc5b 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PopulateUserGroupBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PopulateUserGroupBlam.java @@ -17,15 +17,13 @@ import static org.eclipse.osee.framework.core.enums.CoreBranches.COMMON; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; +import org.eclipse.jface.resource.ImageDescriptor; 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.DeletionFlag; import org.eclipse.osee.framework.skynet.core.User; import org.eclipse.osee.framework.skynet.core.UserManager; @@ -33,12 +31,17 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; 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.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.widgets.XArtifactList; import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; import org.eclipse.ui.forms.widgets.FormToolkit; /** @@ -49,7 +52,7 @@ public class PopulateUserGroupBlam extends AbstractBlam { @Override public String getName() { - return "Admin - Populate User Group"; + return "Populate User Group"; } @Override @@ -106,13 +109,18 @@ public class PopulateUserGroupBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Util"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.USER_MANAGEMENT_ADMIN, XNavItemCat.OSEE_ADMIN); } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Image getImage() { + return ImageManager.getImage(FrameworkImage.USERS); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.USERS); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PurgeArtifactType.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PurgeArtifactType.java index 36a4461af80..28fed1a3a61 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PurgeArtifactType.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PurgeArtifactType.java @@ -15,12 +15,11 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.ArtifactTypeToken; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -58,13 +57,8 @@ public class PurgeArtifactType extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TOP_ADMIN, XNavItemCat.OSEE_ADMIN); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PurgeAttributesBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PurgeAttributesBlam.java index c92dc9bf1e3..44f827f33f5 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PurgeAttributesBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PurgeAttributesBlam.java @@ -16,14 +16,11 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.AttributeTypeToken; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.operation.AbstractOperation; import org.eclipse.osee.framework.core.operation.IOperation; import org.eclipse.osee.framework.core.operation.OperationBuilder; @@ -34,6 +31,8 @@ import org.eclipse.osee.framework.plugin.core.util.AIFile; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.Attribute; import org.eclipse.osee.framework.skynet.core.artifact.PurgeAttributes; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.Activator; @@ -86,8 +85,8 @@ public class PurgeAttributesBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TOP_ADMIN, XNavItemCat.OSEE_ADMIN); } private class ReportPurgedAttributes extends AbstractOperation { @@ -120,9 +119,4 @@ public class PurgeAttributesBlam extends AbstractBlam { } } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/RelationOrderRepairBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/RelationOrderRepairBlam.java index 25a0283ccfe..db767de05ef 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/RelationOrderRepairBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/RelationOrderRepairBlam.java @@ -15,6 +15,7 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import static org.eclipse.osee.framework.core.enums.RelationSorter.USER_DEFINED; import java.io.IOException; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -35,6 +36,8 @@ import org.eclipse.osee.framework.skynet.core.relation.order.RelationOrderFactor import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; import org.eclipse.osee.framework.skynet.core.utility.Artifacts; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -59,8 +62,8 @@ public class RelationOrderRepairBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Collections.singletonList("Admin"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TOP_ADMIN, XNavItemCat.OSEE_ADMIN); } @Override @@ -120,9 +123,4 @@ public class RelationOrderRepairBlam extends AbstractBlam { } } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/RenameFiles.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/RenameFiles.java index 5e03b33597f..c851a5ec8d0 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/RenameFiles.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/RenameFiles.java @@ -21,6 +21,8 @@ import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.operation.IOperation; import org.eclipse.osee.framework.core.operation.OperationLogger; import org.eclipse.osee.framework.core.ops.RenameFilesOperation; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -42,13 +44,8 @@ public class RenameFiles extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Define"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.DEFINE); } }
\ No newline at end of file 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 a0f280ee5e6..5ec594c476c 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 @@ -15,18 +15,17 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.AttributeTypeToken; import org.eclipse.osee.framework.core.data.BranchId; -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.AHTML; 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.attribute.AttributeTypeManager; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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.results.XResultDataUI; @@ -69,13 +68,8 @@ public class ReportAttributeTypesUsageBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TOP_ADMIN, XNavItemCat.OSEE_ADMIN); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/SetWorkbenchOverrideIconBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/SetWorkbenchOverrideIconBlam.java index 282292a45f7..c40cc7ac703 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/SetWorkbenchOverrideIconBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/SetWorkbenchOverrideIconBlam.java @@ -16,17 +16,16 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.io.File; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.logging.Level; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.framework.core.client.ClientSessionManager; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; import org.eclipse.osee.framework.core.data.OseeData; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; 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.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -77,8 +76,8 @@ public class SetWorkbenchOverrideIconBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Util"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.UTILITY); } @Override @@ -121,9 +120,4 @@ public class SetWorkbenchOverrideIconBlam extends AbstractBlam { return "Set the selected 32x32 pixel as the image for the workbench for this workspace. This allows for easy recognition if multiple workbenches are running"; } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); - } - } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/SwitchParentBranch.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/SwitchParentBranch.java index 092e6f17094..592dfe6f26c 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/SwitchParentBranch.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/SwitchParentBranch.java @@ -15,12 +15,11 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.osee.framework.core.data.BranchId; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.skynet.core.utility.ConnectionHandler; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.VariableMap; @@ -48,13 +47,8 @@ public class SwitchParentBranch extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TOP_ADMIN, XNavItemCat.OSEE_ADMIN); } }
\ No newline at end of file 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 945fdf52fe6..59b23765676 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 @@ -17,14 +17,14 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; -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.artifact.Artifact; -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; 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; /** @@ -76,13 +76,8 @@ public class ValidateArtifactsToDelete extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Admin"); - } - - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return java.util.Collections.singleton(CoreUserGroups.Everyone); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.TOP_ADMIN, XNavItemCat.OSEE_ADMIN); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/XWidgetEnableDisableBlamExample.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/XWidgetEnableDisableBlamExample.java index f3658d4478a..5d0949c86d0 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/XWidgetEnableDisableBlamExample.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/XWidgetEnableDisableBlamExample.java @@ -15,11 +15,12 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.widgets.XCheckBox; @@ -27,8 +28,10 @@ import org.eclipse.osee.framework.ui.skynet.widgets.XCombo; import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer; +import org.eclipse.osee.framework.ui.swt.ImageManager; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.Image; import org.eclipse.ui.forms.widgets.FormToolkit; /** @@ -82,13 +85,18 @@ public class XWidgetEnableDisableBlamExample extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Util"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.UTILITY_EXAMPLES); } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.OseeAdmin); + public Image getImage() { + return ImageManager.getImage(FrameworkImage.EXAMPLE); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.EXAMPLE); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/XWidgetPopulateExample.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/XWidgetPopulateExample.java index bb03e9dcbe4..ebfc6f46998 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/XWidgetPopulateExample.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/XWidgetPopulateExample.java @@ -15,17 +15,20 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.widgets.XCombo; import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.graphics.Image; import org.eclipse.ui.forms.widgets.FormToolkit; /** @@ -68,13 +71,18 @@ public class XWidgetPopulateExample extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Util"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.UTILITY_EXAMPLES); } @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.OseeAdmin); + public Image getImage() { + return ImageManager.getImage(FrameworkImage.EXAMPLE); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.EXAMPLE); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/XWidgetsExampleBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/XWidgetsExampleBlam.java index a1d5e0f669f..8adfb77932b 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/XWidgetsExampleBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/XWidgetsExampleBlam.java @@ -15,12 +15,13 @@ package org.eclipse.osee.framework.ui.skynet.blam.operation; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; 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.widgets.XModifiedListener; @@ -28,11 +29,13 @@ import org.eclipse.osee.framework.ui.skynet.widgets.XRadioButtonTest; import org.eclipse.osee.framework.ui.skynet.widgets.XSelectFromMultiChoiceBranch; import org.eclipse.osee.framework.ui.skynet.widgets.XWidget; import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer; +import org.eclipse.osee.framework.ui.swt.ImageManager; import org.eclipse.swt.SWT; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Button; import org.eclipse.ui.forms.widgets.FormToolkit; @@ -55,8 +58,18 @@ public class XWidgetsExampleBlam extends AbstractBlam { } @Override - public Collection<String> getCategoriesStr() { - return Arrays.asList("Util"); + public Collection<XNavItemCat> getCategories() { + return Arrays.asList(XNavigateItem.UTILITY_EXAMPLES); + } + + @Override + public Image getImage() { + return ImageManager.getImage(FrameworkImage.EXAMPLE); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.EXAMPLE); } @Override @@ -101,9 +114,4 @@ public class XWidgetsExampleBlam extends AbstractBlam { } } - @Override - public Collection<IUserGroupArtifactToken> getUserGroups() { - return Collections.singleton(CoreUserGroups.OseeAdmin); - } - }
\ No newline at end of file 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 f8f539666a8..7a08c0d44c4 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 @@ -30,7 +30,6 @@ 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.BranchManager; -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; 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; 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 9aacfc5e93d..328a0c5bc3a 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 @@ -32,9 +32,9 @@ 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.internal.ServiceUtil; 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; import org.eclipse.ui.PartInitException; import org.eclipse.ui.progress.UIJob; 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 cf98d1f5c6d..7868a383194 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 @@ -26,8 +26,8 @@ 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.internal.ServiceUtil; 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.Displays; import org.eclipse.ui.PlatformUI; 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 ef3ae6cdc72..1e8dcd2c2e0 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 @@ -29,8 +29,8 @@ 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.internal.Activator; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; import org.eclipse.ui.PlatformUI; /** 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 2d6b7a5f9bf..80333e3a128 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 @@ -37,11 +37,11 @@ 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.internal.ServiceUtil; 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; 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.replace.ReplaceWithBaselineVersionDialog; import org.eclipse.osee.framework.ui.swt.Displays; import org.eclipse.ui.IWorkbench; 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 56754d286a7..255fb73483d 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 @@ -25,8 +25,8 @@ 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; import org.eclipse.osee.framework.ui.swt.Displays; /** 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 bd254358c6c..328ba2b7c05 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 @@ -33,8 +33,8 @@ 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.internal.ServiceUtil; 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.EntryCheckDialog; import org.eclipse.osee.framework.ui.swt.Displays; 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 b9b45a44b67..a615a47636e 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 @@ -23,8 +23,8 @@ 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; import org.eclipse.osee.framework.ui.swt.Displays; 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 696a13caadb..ac143d89893 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 @@ -27,7 +27,6 @@ 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.internal.ServiceUtil; 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; 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 4f47bd0d10b..ee035865515 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 @@ -18,9 +18,9 @@ import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.osee.framework.core.data.TransactionToken; import org.eclipse.osee.framework.ui.plugin.util.CommandHandler; -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.action.PurgeTransactionAction; import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; /** * @author Jeff C. Phillips 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 d6c2e304397..6d25564a5f6 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 @@ -22,8 +22,8 @@ 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchXViewerFactory; import org.eclipse.osee.framework.ui.swt.Widgets; import org.eclipse.swt.SWT; 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 d0057dfd8dd..32acbfeb91e 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 @@ -25,8 +25,8 @@ 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog; import org.eclipse.osee.framework.ui.swt.Displays; 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 6c71fac395c..5b3abbb0d7c 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 @@ -24,8 +24,8 @@ 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.internal.ServiceUtil; 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.DbConnectionUtility; import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchOptionsEnum; import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchView; 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 c6882f1f3a6..fbfd4a29457 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 @@ -23,8 +23,8 @@ import org.eclipse.core.runtime.preferences.InstanceScope; 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.internal.ServiceUtil; 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.xBranch.BranchOptionsEnum; import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchView; import org.eclipse.ui.IWorkbench; 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 93e95f2b099..7ca251df4b0 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 @@ -35,9 +35,9 @@ 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.internal.ServiceUtil; 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.util.MergeInProgressHandler; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.CheckBoxDialog; import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchOptionsEnum; 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 171031ae35c..5f6af5d1d69 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 @@ -25,9 +25,9 @@ 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.internal.ServiceUtil; 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.CheckBoxDialog; import org.eclipse.osee.framework.ui.swt.Displays; 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 05901f10c5e..d4c5e999fc5 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 @@ -26,8 +26,8 @@ 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.render.RendererManager; import org.eclipse.osee.framework.ui.skynet.render.RenderingUtil; 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 e6c56bfb1a7..aff7fe2863b 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 @@ -19,8 +19,8 @@ import org.eclipse.jface.viewers.IStructuredSelection; 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.commandHandlers.Handlers; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; /** * This abstract class provides the basic functionality for opening renderer editors. 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 77381e5a0e8..213cf03b855 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 @@ -55,7 +55,6 @@ 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.internal.ServiceUtil; 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; 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 fd581efe2ca..23c17140fa3 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 @@ -34,10 +34,10 @@ 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.internal.ServiceUtil; 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; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.search.QuickSearchView; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.CheckBoxDialog; import org.eclipse.osee.framework.ui.swt.Displays; 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 a7c00ed45cc..086d2b8a06a 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 @@ -37,8 +37,8 @@ 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.internal.ServiceUtil; 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.Displays; import org.eclipse.osee.framework.ui.swt.Widgets; import org.eclipse.swt.widgets.Control; 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 f17984e38b8..8f3e59c46f4 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 @@ -57,7 +57,6 @@ 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.internal.ServiceUtil; 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; 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 9b544b56818..a2ec8ad0131 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 @@ -42,7 +42,6 @@ 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.internal.ServiceUtil; 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; diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/AddNewLinkNavigateItem.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/AddNewLinkNavigateItem.java index dc3c1ddc249..ffb90c5eab3 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/AddNewLinkNavigateItem.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/AddNewLinkNavigateItem.java @@ -13,8 +13,13 @@ package org.eclipse.osee.framework.ui.skynet.links; +import java.util.Arrays; +import java.util.Collection; import org.eclipse.jface.window.Window; import org.eclipse.osee.account.rest.model.Link; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; +import org.eclipse.osee.framework.core.enums.CoreUserGroups; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.skynet.FrameworkImage; @@ -24,8 +29,10 @@ import org.eclipse.osee.framework.ui.skynet.FrameworkImage; */ public class AddNewLinkNavigateItem extends XNavigateItem { - public AddNewLinkNavigateItem(XNavigateItem parent) { - super(parent, "Add New Link", FrameworkImage.GREEN_PLUS); + public static final XNavItemCat LINKS = new XNavItemCat("Links"); + + public AddNewLinkNavigateItem() { + super("Add New Link", FrameworkImage.GREEN_PLUS, LINKS); } @Override @@ -37,4 +44,9 @@ public class AddNewLinkNavigateItem extends XNavigateItem { } } + @Override + public Collection<IUserGroupArtifactToken> getUserGroups() { + return Arrays.asList(CoreUserGroups.Everyone); + } + } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/EditLinksNavigateItem.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/EditLinksNavigateItem.java index 7b42c8e23fe..04e720050b0 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/EditLinksNavigateItem.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/EditLinksNavigateItem.java @@ -21,6 +21,8 @@ import java.nio.file.StandardWatchEventKinds; import java.nio.file.WatchEvent; import java.nio.file.WatchKey; import java.nio.file.WatchService; +import java.util.Arrays; +import java.util.Collection; import java.util.LinkedList; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; @@ -31,6 +33,8 @@ import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.osee.account.rest.model.AccountWebPreferences; import org.eclipse.osee.account.rest.model.Link; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; +import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.enums.DemoUsers; import org.eclipse.osee.framework.core.util.JsonUtil; import org.eclipse.osee.framework.jdk.core.util.Conditions; @@ -55,8 +59,8 @@ public class EditLinksNavigateItem extends XNavigateItem implements FileChangedL private final boolean global; private boolean addedListener = false; - public EditLinksNavigateItem(XNavigateItem parent, boolean global) { - super(parent, "Edit " + (global ? "Global" : "Personal") + " Links", FrameworkImage.EDIT); + public EditLinksNavigateItem(boolean global) { + super("Edit " + (global ? "Global" : "Personal") + " Links", FrameworkImage.EDIT, AddNewLinkNavigateItem.LINKS); this.global = global; } @@ -173,4 +177,9 @@ public class EditLinksNavigateItem extends XNavigateItem implements FileChangedL } } + @Override + public Collection<IUserGroupArtifactToken> getUserGroups() { + return Arrays.asList(CoreUserGroups.Everyone); + } + } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/LinksNavigateViewItem.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/LinksNavigateViewItem.java index 39afbbc01ff..8ad42f6e6a4 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/LinksNavigateViewItem.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/LinksNavigateViewItem.java @@ -15,7 +15,7 @@ import org.eclipse.osee.account.rest.model.AccountWebPreferences; import org.eclipse.osee.account.rest.model.Link; import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateUrlItem; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; @@ -27,10 +27,11 @@ import org.eclipse.osee.framework.ui.swt.Displays; */ public class LinksNavigateViewItem extends XNavigateItemAction { + private static final XNavItemCat NAME = new XNavItemCat("Links"); private static LinksNavigateViewItem topNavigateItem; - public LinksNavigateViewItem(XNavigateItem parent) { - super(parent, "Links", FrameworkImage.LINK); + public LinksNavigateViewItem() { + super("Links", FrameworkImage.LINK, NAME, XNavItemCat.BOT); topNavigateItem = this; refresh(); } @@ -63,15 +64,15 @@ public class LinksNavigateViewItem extends XNavigateItemAction { public void load() { topNavigateItem.getChildren().clear(); - XNavigateItem parentItem = this; - new AddNewLinkNavigateItem(parentItem); - new EditLinksNavigateItem(parentItem, false); - new EditLinksNavigateItem(parentItem, true); + addChild(new AddNewLinkNavigateItem()); + addChild(new EditLinksNavigateItem(false)); + addChild(new EditLinksNavigateItem(true)); try { AccountWebPreferences data = LinkUtil.getAccountsPreferencesData(false); for (Link link : data.getLinks().values()) { - XNavigateUrlItem urlItem = new XNavigateUrlItem(parentItem, link.getName() + getTagsStr(link, false), - link.getUrl(), true, FrameworkImage.LINK); + XNavigateUrlItem urlItem = new XNavigateUrlItem(link.getName() + getTagsStr(link, false), link.getUrl(), + true, FrameworkImage.LINK, NAME); + addChild(urlItem); urlItem.addMenuItem(new LinksXNavigateMenuItem()); urlItem.setData(link); } @@ -82,8 +83,9 @@ public class LinksNavigateViewItem extends XNavigateItemAction { try { AccountWebPreferences data = LinkUtil.getAccountsPreferencesData(true); for (Link link : data.getLinks().values()) { - XNavigateUrlItem urlItem = new XNavigateUrlItem(parentItem, link.getName() + getTagsStr(link, true), - link.getUrl(), true, FrameworkImage.LINK); + XNavigateUrlItem urlItem = new XNavigateUrlItem(link.getName() + getTagsStr(link, true), link.getUrl(), + true, FrameworkImage.LINK, NAME); + addChild(urlItem); urlItem.setData(link); urlItem.addMenuItem(new LinksXNavigateMenuItem()); } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/LinksNavigateViewItems.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/LinksNavigateViewItems.java index 3bfe4f2633b..5f6c10d2e33 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/LinksNavigateViewItems.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/links/LinksNavigateViewItems.java @@ -13,25 +13,20 @@ package org.eclipse.osee.framework.ui.skynet.links; -import java.util.Arrays; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.logging.OseeLog; -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.plugin.xnavigate.XNavigateViewItems; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemProvider; import org.eclipse.osee.framework.ui.skynet.internal.Activator; import org.eclipse.osee.framework.ui.skynet.util.DbConnectionUtility; /** * @author Donald G. Dunne */ -public class LinksNavigateViewItems implements XNavigateViewItems, IXNavigateCommonItem { +public class LinksNavigateViewItems implements XNavigateItemProvider { - private final List<XNavigateItem> items = new CopyOnWriteArrayList<>(); private static LinksNavigateViewItems navigateItem; private boolean ensurePopulatedRanOnce = false; private static XNavigateItem linkNavItem; @@ -40,13 +35,19 @@ public class LinksNavigateViewItems implements XNavigateViewItems, IXNavigateCom navigateItem = this; } + @Override + public boolean isApplicable() { + return true; + } + public static LinksNavigateViewItems getInstance() { return navigateItem; } @Override - public List<XNavigateItem> getSearchNavigateItems() { + public List<XNavigateItem> getNavigateItems(List<XNavigateItem> items) { ensurePopulated(); + items.add(linkNavItem); return items; } @@ -58,31 +59,13 @@ public class LinksNavigateViewItems implements XNavigateViewItems, IXNavigateCom this.ensurePopulatedRanOnce = true; try { - linkNavItem = new LinksNavigateViewItem(null); - items.add(linkNavItem); - - XNavigateCommonItems.addCommonNavigateItems(items, Arrays.asList(getSectionId())); + linkNavItem = new LinksNavigateViewItem(); } catch (OseeCoreException ex) { OseeLog.log(Activator.class, Level.SEVERE, ex); } } } - @Override - public void createCommonSection(List<XNavigateItem> items, List<String> excludeSectionIds) { - try { - linkNavItem = new LinksNavigateViewItem(null); - items.add(linkNavItem); - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, "Can't create OSEE Links section", ex); - } - } - - @Override - public String getSectionId() { - return "Links"; - } - public static void reloadLinks() { linkNavItem.getChildren().clear(); } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/ResultsEditorExample.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/ResultsEditorExample.java index 8b821755fd5..75467735442 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/ResultsEditorExample.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/ResultsEditorExample.java @@ -28,10 +28,10 @@ import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.jdk.core.util.AHTML; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.ui.plugin.PluginUiImage; 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; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorProvider; import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorTab; import org.eclipse.osee.framework.ui.skynet.results.ResultsEditor; @@ -47,8 +47,8 @@ public class ResultsEditorExample extends XNavigateItemAction { public static final String TITLE = "Results Editor Example"; - public ResultsEditorExample(XNavigateItem parent) { - super(parent, TITLE, PluginUiImage.ADMIN); + public ResultsEditorExample() { + super(TITLE, FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES); } @Override 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 4937d304e3f..d204ecda065 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 @@ -13,10 +13,10 @@ package org.eclipse.osee.framework.ui.skynet.results.example; import org.eclipse.osee.framework.jdk.core.result.XResultData; -import org.eclipse.osee.framework.ui.plugin.PluginUiImage; 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; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; /** @@ -26,8 +26,8 @@ public final class XResultDataDialogExample extends XNavigateItemAction { public static final String TITLE = "XResultDialogData Example"; - public XResultDataDialogExample(XNavigateItem parent) { - super(parent, TITLE, PluginUiImage.ADMIN); + public XResultDataDialogExample() { + super(TITLE, FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES); } @Override diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/XResultDataExample.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/XResultDataExample.java index 5ff8535e144..9f0ac13752f 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/XResultDataExample.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/XResultDataExample.java @@ -13,10 +13,10 @@ package org.eclipse.osee.framework.ui.skynet.results.example; -import org.eclipse.osee.framework.ui.plugin.PluginUiImage; 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; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; /** @@ -26,8 +26,8 @@ public final class XResultDataExample extends XNavigateItemAction { public static final String TITLE = "XResultData Example"; - public XResultDataExample(XNavigateItem parent) { - super(parent, TITLE, PluginUiImage.ADMIN); + public XResultDataExample() { + super(TITLE, FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES); } @Override diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/XViewerExample.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/XViewerExample.java index 1fbe307006b..92a7ad0efb0 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/XViewerExample.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/example/XViewerExample.java @@ -19,10 +19,10 @@ import java.util.List; import org.eclipse.nebula.widgets.xviewer.core.model.SortDataType; import org.eclipse.nebula.widgets.xviewer.core.model.XViewerAlign; import org.eclipse.nebula.widgets.xviewer.core.model.XViewerColumn; -import org.eclipse.osee.framework.ui.plugin.PluginUiImage; 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; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorProvider; import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorTab; import org.eclipse.osee.framework.ui.skynet.results.ResultsEditor; @@ -42,8 +42,8 @@ public final class XViewerExample extends XNavigateItemAction { String2; }; - public XViewerExample(XNavigateItem parent) { - super(parent, TITLE, PluginUiImage.ADMIN); + public XViewerExample() { + super(TITLE, FrameworkImage.EXAMPLE, XNavigateItem.UTILITY_EXAMPLES); } @Override 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 12708a11279..03da7d42dde 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 @@ -47,7 +47,6 @@ 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.internal.ServiceUtil; 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; 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 042aa2b081e..ef8b13b02a6 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 @@ -36,8 +36,8 @@ 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.internal.ServiceUtil; 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.CheckBoxDialog; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.XResultDataDialog; import org.eclipse.osee.framework.ui.swt.Displays; diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/IUserNavigateItem.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/IUserNavigateItem.java deleted file mode 100644 index 1e94170e123..00000000000 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/IUserNavigateItem.java +++ /dev/null @@ -1,26 +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.user; - -import java.util.List; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; - -/** - * @author Donald G. Dunne - */ -public interface IUserNavigateItem { - - public List<XNavigateItem> getNavigateItems(XNavigateItem parentItem, boolean admin, boolean inUserGroup); - -} 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 deleted file mode 100644 index 806d5a243b7..00000000000 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/UserNavigateViewItems.java +++ /dev/null @@ -1,90 +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.ui.skynet.user; - -import java.util.List; -import java.util.logging.Level; -import org.eclipse.osee.framework.core.enums.Active; -import org.eclipse.osee.framework.core.enums.CoreUserGroups; -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.plugin.core.util.ExtensionDefinedObjects; -import org.eclipse.osee.framework.ui.plugin.xnavigate.IXNavigateCommonItem; -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.blam.operation.CreateNewUser; -import org.eclipse.osee.framework.ui.skynet.blam.operation.PopulateUserGroupBlam; -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.xnavigate.XNavigateItemBlam; - -/** - * @author Donald G. Dunne - */ -public class UserNavigateViewItems implements XNavigateViewItems, IXNavigateCommonItem { - - private final static UserNavigateViewItems instance = new UserNavigateViewItems(); - - public static UserNavigateViewItems getInstance() { - return instance; - } - - @Override - public void createCommonSection(List<XNavigateItem> items, List<String> excludeSectionIds) { - try { - boolean admin = ServiceUtil.accessControlService().isOseeAdmin(); - boolean inUserGroup = - ServiceUtil.getOseeClient().getAccessControlService().getUserGroupService().isInUserGroup( - CoreUserGroups.UserMgmtAdmin); - - XNavigateItem userMgmtItem = null; - if (admin || inUserGroup) { - userMgmtItem = new XNavigateItem(null, "User Management", FrameworkImage.USER); - items.add(userMgmtItem); - new XNavigateItemAction(userMgmtItem, new OpenUsersInMassEditor("Open Active Users", Active.Active), - FrameworkImage.USER); - new XNavigateItemAction(userMgmtItem, new OpenUsersInMassEditor("Open All Users", Active.Both), - FrameworkImage.USER); - } - - if (admin) { - new XNavigateItemBlam(userMgmtItem, new CreateNewUser(), FrameworkImage.ADD_GREEN); - new XNavigateItemBlam(userMgmtItem, new PopulateUserGroupBlam(), FrameworkImage.GROUP); - } - - ExtensionDefinedObjects<IUserNavigateItem> objects = new ExtensionDefinedObjects<>( - "org.eclipse.osee.framework.ui.skynet.UserNavigateItem", "UserNavigateItem", "classname"); - for (IUserNavigateItem newItem : objects.getObjects()) { - for (XNavigateItem item : newItem.getNavigateItems(userMgmtItem, admin, inUserGroup)) { - items.add(item); - } - } - - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, "Can't create User Management section"); - } - } - - @Override - public String getSectionId() { - return "Users"; - } - - @Override - public List<XNavigateItem> getSearchNavigateItems() { - return java.util.Collections.emptyList(); - } -} 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 2090084127b..021adc3413f 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 @@ -24,8 +24,8 @@ import org.eclipse.osee.framework.jdk.core.util.Collections; 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.artifact.ArtifactTransfer; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; import org.eclipse.osee.framework.ui.swt.Displays; import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.dnd.HTMLTransfer; diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/IDefineNavigateItem.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/IDefineNavigateItem.java deleted file mode 100644 index d73014d6b1c..00000000000 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/IDefineNavigateItem.java +++ /dev/null @@ -1,26 +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.util; - -import java.util.List; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; - -/** - * @author Donald G. Dunne - */ -public interface IDefineNavigateItem { - - public List<XNavigateItem> getNavigateItems(); - -} 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 e8a71a69d95..cd448726450 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 @@ -29,8 +29,8 @@ 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.internal.ServiceUtil; 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.xmerge.MergeView; import org.eclipse.osee.framework.ui.swt.Displays; import org.eclipse.ui.PlatformUI; 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 75ba29d608a..03f017cc7a5 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 @@ -34,8 +34,8 @@ 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.internal.ServiceUtil; 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.results.ResultsEditor; import org.eclipse.osee.framework.ui.skynet.widgets.dialog.FilteredCheckboxTreeArtifactDialog; import org.eclipse.swt.program.Program; @@ -48,8 +48,8 @@ public class EmailUserGroups extends XNavigateItemAction { /** * @param teamDefHoldingVersions Team Definition Artifact that is related to versions or null for popup selection */ - public EmailUserGroups(XNavigateItem parent) { - super(parent, "Email User Groups", FrameworkImage.EMAIL); + public EmailUserGroups() { + super("Email User Groups", FrameworkImage.EMAIL, XNavigateItem.EMAIL_NOTIFICATIONS); } public static Set<Artifact> getEmailGroupsAndUserGroups(User user) { 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 23aaec9a295..375a8816b6a 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 @@ -24,8 +24,8 @@ 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.ui.skynet.FrameworkImage; -import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; 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.results.XResultDataUI; import org.eclipse.osee.framework.ui.skynet.widgets.XWidgetDecorator.Decorator; 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/widgets/xBranch/BranchXViewer.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/BranchXViewer.java index 99e9197df0f..75b4586c096 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 @@ -29,9 +29,9 @@ 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.internal.ServiceUtil; 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.internal.ServiceUtil; 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; 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 c0cf4d06a49..1647d4db5a4 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 @@ -31,8 +31,8 @@ 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.change.ChangeUiUtil; +import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil; /** * @author Jeff C. Phillips 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 fdc70816a43..89d32a76ffd 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 @@ -37,9 +37,9 @@ 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.internal.ServiceUtil; 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.internal.ServiceUtil; import org.eclipse.osee.framework.ui.skynet.widgets.GenericXWidget; import org.eclipse.osee.framework.ui.skynet.widgets.xviewer.IOseeTreeReportProvider; import org.eclipse.osee.framework.ui.swt.ALayout; 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 b4867ba301b..ac62ed0d47b 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 @@ -64,13 +64,13 @@ 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.internal.ServiceUtil; 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; import org.eclipse.osee.framework.ui.skynet.action.WasIsCompareEditorWithReplaceAction; 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; import org.eclipse.osee.framework.ui.skynet.listener.IRebuildMenuListener; import org.eclipse.osee.framework.ui.skynet.util.DbConnectionExceptionComposite; import org.eclipse.osee.framework.ui.skynet.util.SkynetViews; diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItemBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItemBlam.java index f4b7e14557c..862a9566b64 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItemBlam.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItemBlam.java @@ -13,7 +13,13 @@ package org.eclipse.osee.framework.ui.skynet.widgets.xnavigate; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; +import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken; +import org.eclipse.osee.framework.core.enums.CoreUserGroups; import org.eclipse.osee.framework.core.enums.OseeImage; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.skynet.FrameworkImage; @@ -21,6 +27,7 @@ import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; import org.eclipse.osee.framework.ui.skynet.blam.BlamEditor; import org.eclipse.osee.framework.ui.swt.ImageManager; import org.eclipse.osee.framework.ui.swt.KeyedImage; +import org.eclipse.swt.graphics.Image; /** * @author Donald G. Dunne @@ -28,12 +35,16 @@ import org.eclipse.osee.framework.ui.swt.KeyedImage; public class XNavigateItemBlam extends XNavigateItem { private final IBlamProvider blamProvider; - public XNavigateItemBlam(XNavigateItem parent, AbstractBlam blamOperation) { - this(parent, blamOperation, FrameworkImage.BLAM); + public XNavigateItemBlam(AbstractBlam blamOperation, XNavItemCat xNavItemCat) { + this(blamOperation, FrameworkImage.BLAM, xNavItemCat); } - public XNavigateItemBlam(XNavigateItem parent, final AbstractBlam blamOperation, KeyedImage keyedImage) { - super(parent, blamOperation.getName(), keyedImage); + public XNavigateItemBlam(final AbstractBlam blamOperation, KeyedImage keyedImage, XNavItemCat... xNavItemCat) { + super(blamOperation.getName(), keyedImage, xNavItemCat); + Image image = blamOperation.getImage(); + if (image != null) { + setImage(image); + } blamProvider = new IBlamProvider() { @Override @@ -43,8 +54,8 @@ public class XNavigateItemBlam extends XNavigateItem { }; } - public XNavigateItemBlam(XNavigateItem parent, final AbstractBlam blamOperation, OseeImage oseeImage) { - super(parent, blamOperation.getName(), ImageManager.create(oseeImage)); + public XNavigateItemBlam(final AbstractBlam blamOperation, OseeImage oseeImage, XNavItemCat... xNavItemCat) { + super(blamOperation.getName(), ImageManager.create(oseeImage), xNavItemCat); blamProvider = new IBlamProvider() { @Override @@ -54,19 +65,37 @@ public class XNavigateItemBlam extends XNavigateItem { }; } - public XNavigateItemBlam(XNavigateItem parent, IBlamProvider blamProvider, String name, OseeImage oseeImage) { - super(parent, name, ImageManager.create(oseeImage)); + public XNavigateItemBlam(IBlamProvider blamProvider, String name, OseeImage oseeImage, XNavItemCat xNavItemCat) { + super(name, ImageManager.create(oseeImage), xNavItemCat); this.blamProvider = blamProvider; } - public XNavigateItemBlam(XNavigateItem parent, IBlamProvider blamProvider, String name, KeyedImage keyedImage) { - super(parent, name, keyedImage); + public XNavigateItemBlam(IBlamProvider blamProvider, String name, KeyedImage keyedImage, XNavItemCat xNavItemCat) { + super(name, keyedImage, xNavItemCat); this.blamProvider = blamProvider; } + public XNavigateItemBlam(AbstractBlam blamOperation) { + this(blamOperation, FrameworkImage.BLAM, + blamOperation.getCategories().toArray(new XNavItemCat[blamOperation.getCategories().size()])); + } + @Override public void run(TableLoadOption... tableLoadOptions) throws Exception { // Need a new copy of the BLAM operation so widgets don't collide BlamEditor.edit(blamProvider.getBlam()); } + + @Override + public Collection<IUserGroupArtifactToken> getUserGroups() { + Set<IUserGroupArtifactToken> userGroups = new HashSet<IUserGroupArtifactToken>(); + if (categories.contains(XNavItemCat.OSEE_ADMIN)) { + userGroups.add(CoreUserGroups.OseeAdmin); + } + for (IUserGroupArtifactToken group : blamProvider.getBlam().getUserGroups()) { + userGroups.add(group); + } + return userGroups; + } + }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ote.ui.define/plugin.xml b/plugins/org.eclipse.osee.ote.ui.define/plugin.xml index 08c7826a1bb..d26e4cf56c3 100644 --- a/plugins/org.eclipse.osee.ote.ui.define/plugin.xml +++ b/plugins/org.eclipse.osee.ote.ui.define/plugin.xml @@ -28,13 +28,6 @@ </view> </extension> <extension - point="org.eclipse.osee.framework.ui.plugin.XNavigateItem"> - <XNavigateItem - classname="org.eclipse.osee.ote.ui.define.views.TestRunViewNavigateItem" - viewId="org.eclipse.osee.ote.ui.navigate.OteNavigateView"> - </XNavigateItem> - </extension> - <extension point="org.eclipse.osee.framework.skynet.core.HttpServerRequest"> <IHttpServerRequest classname="org.eclipse.osee.ote.ui.define.reports.HttpReportRequest"> diff --git a/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/views/TestRunViewNavigateItem.java b/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/views/TestRunViewNavigateItem.java index 4f8edd10b42..258caa48fc2 100644 --- a/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/views/TestRunViewNavigateItem.java +++ b/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/views/TestRunViewNavigateItem.java @@ -13,33 +13,28 @@ package org.eclipse.osee.ote.ui.define.views; -import java.util.ArrayList; import java.util.List; import org.eclipse.jface.action.Action; -import org.eclipse.osee.framework.ui.plugin.PluginUiImage; import org.eclipse.osee.framework.ui.plugin.util.ViewPartUtil; -import org.eclipse.osee.framework.ui.plugin.xnavigate.IXNavigateContainer; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavItemCat; 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.XNavigateItemProvider; import org.eclipse.osee.ote.ui.define.OteDefineImage; /** * @author Roberto E. Escobar */ -public class TestRunViewNavigateItem implements IXNavigateContainer { +public class TestRunViewNavigateItem implements XNavigateItemProvider { - public TestRunViewNavigateItem() { - super(); + @Override + public boolean isApplicable() { + return false; } @Override - public List<XNavigateItem> getNavigateItems() { - List<XNavigateItem> items = new ArrayList<>(); - - XNavigateItem msgItem = new XNavigateItem(null, "Test Analysis", PluginUiImage.FOLDER); - new XNavigateItemAction(msgItem, new OpenTestRunView(), OteDefineImage.TEST_RUN_VIEW, false); - items.add(msgItem); - + public List<XNavigateItem> getNavigateItems(List<XNavigateItem> items) { + items.add(new XNavigateItemAction(new OpenTestRunView(), OteDefineImage.TEST_RUN_VIEW, false, XNavItemCat.TOP)); return items; } @@ -54,4 +49,5 @@ public class TestRunViewNavigateItem implements IXNavigateContainer { ViewPartUtil.openOrShowView(TestRunView.class.getName()); } } + } diff --git a/plugins/org.eclipse.osee.support.config/launchConfig/OSEE_Application_Server_[HSQLDB].launch b/plugins/org.eclipse.osee.support.config/launchConfig/OSEE_Application_Server_[HSQLDB].launch index dfe82546a79..75396cbc1fd 100644 --- a/plugins/org.eclipse.osee.support.config/launchConfig/OSEE_Application_Server_[HSQLDB].launch +++ b/plugins/org.eclipse.osee.support.config/launchConfig/OSEE_Application_Server_[HSQLDB].launch @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher"> <setAttribute key="additional_plugins"> -<setEntry value="org.apache.commons.logging:1.1.1.v201101211721:default:true"/> +<setEntry value="org.apache.commons.logging:1.2.0.v20180409-1502:default:true:default:default"/> </setAttribute> <booleanAttribute key="append.args" value="true"/> <booleanAttribute key="automaticAdd" value="false"/> |