Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2011-06-29 22:19:31 +0000
committerRyan D. Brooks2011-06-29 22:19:31 +0000
commit30bfaab9b8650459b66b9ce5fdd0f1eddd4710db (patch)
tree32c77d5d79e9be6288364e85b69e8aa5fe147f78 /plugins
parent3d93fe07e4078f913d8e4cd7c96b76d837e75511 (diff)
downloadorg.eclipse.osee-30bfaab9b8650459b66b9ce5fdd0f1eddd4710db.tar.gz
org.eclipse.osee-30bfaab9b8650459b66b9ce5fdd0f1eddd4710db.tar.xz
org.eclipse.osee-30bfaab9b8650459b66b9ce5fdd0f1eddd4710db.zip
feature: Create User Management Perspective
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.osee.ats/plugin.xml24
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/CreateNewUsersByNameItem.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/PurgeUser.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ReAssignATSObjectsToUser.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsUserNavigateItems.java47
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF1
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/plugin.xml37
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/schema/UserNavigateItem.exsd102
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateNewUser.java2
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/PopulateUserGroupBlam.java2
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/UniqueNumberOfCurrentOseeUsers.java2
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/OpenUsersInMassEditor.java52
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/IUserNavigateItem.java24
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserNavigateView.java270
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserNavigateViewItems.java114
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserNavigateViewItemsOperation.java30
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserPerspective.java43
18 files changed, 720 insertions, 45 deletions
diff --git a/plugins/org.eclipse.osee.ats/plugin.xml b/plugins/org.eclipse.osee.ats/plugin.xml
index c188dca091d..cb1cc7d43d9 100644
--- a/plugins/org.eclipse.osee.ats/plugin.xml
+++ b/plugins/org.eclipse.osee.ats/plugin.xml
@@ -236,14 +236,6 @@
</WorkDefinitionProvider>
</extension>
<extension
- id="ReAssignATSObjectsToUser"
- name="ReAssignATSObjectsToUser"
- point="org.eclipse.osee.framework.ui.skynet.BlamOperation">
- <Operation
- className="org.eclipse.osee.ats.operation.ReAssignATSObjectsToUser">
- </Operation>
- </extension>
- <extension
id="AtsWidgetProvider"
name="AtsWidgetProvider"
point="org.eclipse.osee.framework.ui.skynet.XWidgetProvider">
@@ -417,14 +409,6 @@
</ArtifactImageProvider>
</extension>
<extension
- id="DeleteDuplicateUsers"
- name="DeleteDuplicateUsers"
- point="org.eclipse.osee.framework.ui.skynet.BlamOperation">
- <Operation
- className="org.eclipse.osee.ats.operation.PurgeUser">
- </Operation>
- </extension>
- <extension
point="org.eclipse.osee.framework.ui.skynet.AttributeXWidgetProvider">
<AttributeXWidgetProvider
classname="org.eclipse.osee.ats.util.widgets.AtsAttributeXWidgetProvider">
@@ -498,5 +482,13 @@
classname="org.eclipse.osee.ats.editor.stateItem.AtsPeerToPeerReviewReviewStateItem">
</AtsTransitionListener>
</extension>
+ <extension
+ id="AtsUserNavigateItems"
+ name="AtsUserNavigateItems"
+ point="org.eclipse.osee.framework.ui.skynet.UserNavigateItem">
+ <UserNavigateItem
+ classname="org.eclipse.osee.ats.util.AtsUserNavigateItems">
+ </UserNavigateItem>
+ </extension>
</plugin>
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java
index a3aca94e1ef..ba127368b0d 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java
@@ -72,7 +72,6 @@ import org.eclipse.osee.ats.world.search.MyWorldSearchItem;
import org.eclipse.osee.ats.world.search.NextVersionSearchItem;
import org.eclipse.osee.ats.world.search.TaskSearchWorldSearchItem;
import org.eclipse.osee.ats.world.search.UserCommunitySearchItem;
-import org.eclipse.osee.ats.world.search.UserRelatedToAtsObjectSearch;
import org.eclipse.osee.ats.world.search.VersionTargetedForTeamSearchItem;
import org.eclipse.osee.ats.world.search.WorldSearchItem.LoadView;
import org.eclipse.osee.framework.core.exception.OseeArgumentException;
@@ -204,11 +203,6 @@ public final class AtsNavigateViewItems implements XNavigateViewItems, IXNavigat
new DisplayCurrentOseeEventListeners(adminItems);
new AtsRemoteEventTestItem(adminItems);
- new SearchNavigateItem(adminItems, new UserRelatedToAtsObjectSearch("User's All Related Objects - Admin Only",
- null, false, LoadView.WorldEditor));
- new SearchNavigateItem(adminItems, new UserRelatedToAtsObjectSearch(
- "User's All Active Related Objects - Admin Only", null, true, LoadView.WorldEditor));
-
new SearchNavigateItem(adminItems, new ArtifactTypeSearchItem("Show all Actions", AtsArtifactTypes.Action));
new SearchNavigateItem(adminItems, new ArtifactTypeSearchItem("Show all Decision Review",
AtsArtifactTypes.DecisionReview));
@@ -218,7 +212,6 @@ public final class AtsNavigateViewItems implements XNavigateViewItems, IXNavigat
AtsArtifactTypes.TeamWorkflow));
new SearchNavigateItem(adminItems, new ArtifactTypeSearchItem("Show all Tasks", AtsArtifactTypes.Task));
new CreateGoalTestArtifacts(adminItems);
- new CreateNewUsersByNameItem(adminItems);
new DoesNotWorkItemAts(adminItems);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/CreateNewUsersByNameItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/CreateNewUsersByNameItem.java
index dcc344773f9..f683af8876a 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/CreateNewUsersByNameItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/CreateNewUsersByNameItem.java
@@ -48,7 +48,7 @@ import org.eclipse.osee.framework.ui.swt.Displays;
public class CreateNewUsersByNameItem extends XNavigateItemAction {
public CreateNewUsersByNameItem(XNavigateItem parent) {
- super(parent, "Create New Users by Name", FrameworkImage.USER);
+ super(parent, "Admin - Create New Users by Name (Testing Only)", FrameworkImage.USER);
}
@Override
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/PurgeUser.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/PurgeUser.java
index 206691d39f5..526712f3ed1 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/PurgeUser.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/PurgeUser.java
@@ -57,7 +57,7 @@ public class PurgeUser extends AbstractBlam {
@Override
public String getName() {
- return "Purge User";
+ return "Admin - Purge User";
}
@Override
@@ -182,7 +182,7 @@ public class PurgeUser extends AbstractBlam {
Integer.toString(numOfUpdatedBSideRelations)}));
rd.addRaw(AHTML.endMultiColumnTable());
} finally {
- XResultDataUI.report(rd,getName());
+ XResultDataUI.report(rd, getName());
}
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ReAssignATSObjectsToUser.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ReAssignATSObjectsToUser.java
index f828c6e010d..c0fb89d6433 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ReAssignATSObjectsToUser.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ReAssignATSObjectsToUser.java
@@ -41,7 +41,7 @@ public class ReAssignATSObjectsToUser extends AbstractBlam {
@Override
public String getName() {
- return "Re-Assign ATS Objects To User";
+ return "Admin - Re-Assign ATS Objects To User";
}
@Override
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsUserNavigateItems.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsUserNavigateItems.java
new file mode 100644
index 00000000000..87b7fe2485e
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsUserNavigateItems.java
@@ -0,0 +1,47 @@
+/*
+ * Created on Jun 29, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.util;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Level;
+import org.eclipse.osee.ats.AtsImage;
+import org.eclipse.osee.ats.core.util.AtsUtilCore;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.navigate.CreateNewUsersByNameItem;
+import org.eclipse.osee.ats.navigate.SearchNavigateItem;
+import org.eclipse.osee.ats.operation.PurgeUser;
+import org.eclipse.osee.ats.operation.ReAssignATSObjectsToUser;
+import org.eclipse.osee.ats.world.search.UserRelatedToAtsObjectSearch;
+import org.eclipse.osee.ats.world.search.WorldSearchItem.LoadView;
+import org.eclipse.osee.framework.core.exception.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.perspective.IUserNavigateItem;
+import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam;
+
+public class AtsUserNavigateItems implements IUserNavigateItem {
+
+ @Override
+ public List<XNavigateItem> getNavigateItems(XNavigateItem parentItem) {
+ List<XNavigateItem> items = new ArrayList<XNavigateItem>();
+ if (AtsUtilCore.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(AtsPlugin.class, Level.SEVERE, ex);
+ }
+ }
+ return items;
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF
index eeb0ea418cc..7e9338ce6f4 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF
@@ -129,6 +129,7 @@ Export-Package: org.eclipse.osee.framework.ui.skynet,
org.eclipse.osee.framework.ui.skynet.skywalker.arttype,
org.eclipse.osee.framework.ui.skynet.templates,
org.eclipse.osee.framework.ui.skynet.update,
+ org.eclipse.osee.framework.ui.skynet.user.perspective,
org.eclipse.osee.framework.ui.skynet.util,
org.eclipse.osee.framework.ui.skynet.util.email,
org.eclipse.osee.framework.ui.skynet.util.filteredTree,
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/plugin.xml b/plugins/org.eclipse.osee.framework.ui.skynet/plugin.xml
index 46f4e46ef10..643976d30d7 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/plugin.xml
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/plugin.xml
@@ -15,6 +15,7 @@
<extension-point id="WorkDefinitionProvider" name="WorkDefinitionProvider" schema="schema/WorkDefinitionProvider.exsd"/>
<extension-point id="DatabaseHealthOperation" name="DatabaseHealthOperation" schema="schema/DatabaseHealthOperation.exsd"/>
<extension-point id="ArtifactImageProvider" name="ArtifactImageProvider" schema="schema/ArtifactImageProvider.exsd"/>
+ <extension-point id="UserNavigateItem" name="UserNavigateItem" schema="schema/UserNavigateItem.exsd"/>
<extension point="org.eclipse.ui.popupMenus">
<objectContribution
@@ -166,6 +167,15 @@
id="org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchView"
name="Branch Manager">
</view>
+ <view
+ allowMultiple="false"
+ category="osee.jdk.core.category"
+ class="org.eclipse.osee.framework.ui.skynet.user.perspective.UserNavigateView"
+ icon="images/userPurple.gif"
+ id="org.eclipse.osee.framework.ui.skynet.UserNavigateView"
+ name="User Navigator"
+ restorable="true">
+ </view>
</extension>
<extension point="org.eclipse.search.searchPages">
<page canSearchEnclosingProjects="true" class="org.eclipse.osee.framework.ui.skynet.search.ArtifactSearchPage" enabled="true" extensions="&quot;*:1&quot;" icon="images/artifact_search.gif" id="org.eclipse.osee.framework.ui.skynet.search.ArtifactSearchPage" label="Artifact Search" showScopeSection="false" sizeHint="&quot;250,250&quot;" tabPosition="1"/>
@@ -176,9 +186,6 @@
<extension id="PruneWorkspace" name="PruneWorkspace" point="org.eclipse.osee.framework.ui.skynet.BlamOperation">
<Operation className="org.eclipse.osee.framework.ui.skynet.blam.operation.PruneWorkspace"/>
</extension>
- <extension id="UniqueNumberOfCurrentOseeUsers" name="Unique Number Of Current Osee Users" point="org.eclipse.osee.framework.ui.skynet.BlamOperation">
- <Operation className="org.eclipse.osee.framework.ui.skynet.blam.operation.UniqueNumberOfCurrentOseeUsers"/>
- </extension>
<extension id="PurgeTransaction" point="org.eclipse.osee.framework.ui.skynet.BlamOperation">
<Operation className="org.eclipse.osee.framework.ui.skynet.blam.operation.PurgeTransactionBlam"/>
</extension>
@@ -284,12 +291,6 @@
</MatchCriteria>
</Template>
</extension>
- <extension
- point="org.eclipse.osee.framework.ui.skynet.BlamOperation">
- <Operation
- className="org.eclipse.osee.framework.ui.skynet.blam.operation.CreateNewUser">
- </Operation>
- </extension>
<extension name="The menus for the SearchResultsView." point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.search.ui.views.SearchView">
<dynamic
@@ -1678,12 +1679,6 @@
</extension>
<extension
- point="org.eclipse.osee.framework.ui.skynet.BlamOperation">
- <Operation
- className="org.eclipse.osee.framework.ui.skynet.blam.operation.PopulateUserGroupBlam">
- </Operation>
- </extension>
- <extension
id="CountArtifactsOfTypeBlam"
name="CountArtifactsOfTypeBlam"
point="org.eclipse.osee.framework.ui.skynet.BlamOperation">
@@ -1749,5 +1744,17 @@
<XCommonNavigateItem
classname="org.eclipse.osee.framework.ui.skynet.blam.BlamContributionManager">
</XCommonNavigateItem>
+ <XCommonNavigateItem
+ classname="org.eclipse.osee.framework.ui.skynet.user.perspective.UserNavigateViewItems">
+ </XCommonNavigateItem>
+ </extension>
+ <extension
+ point="org.eclipse.ui.perspectives">
+ <perspective
+ class="org.eclipse.osee.framework.ui.skynet.user.perspective.UserPerspective"
+ icon="images/userPurple.gif"
+ id="org.eclipse.framework.ui.skynet.UserPerspective"
+ name="User Management">
+ </perspective>
</extension>
</plugin>
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/schema/UserNavigateItem.exsd b/plugins/org.eclipse.osee.framework.ui.skynet/schema/UserNavigateItem.exsd
new file mode 100644
index 00000000000..f00ef61b17c
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/schema/UserNavigateItem.exsd
@@ -0,0 +1,102 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.osee.framework.ui.skynet" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.osee.framework.ui.skynet" id="UserNavigateItem" name="UserNavigateItem"/>
+ </appInfo>
+ <documentation>
+ [Enter description of this extension point.]
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence minOccurs="1" maxOccurs="unbounded">
+ <element ref="UserNavigateItem"/>
+ </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="UserNavigateItem">
+ <complexType>
+ <attribute name="classname" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.osee.framework.ui.skynet.user.perspective.IUserNavigateItem"/>
+ </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>
+
+
+</schema>
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 aaa2a275a19..4cae81c1813 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
@@ -49,7 +49,7 @@ public class CreateNewUser extends AbstractBlam {
@Override
public String getName() {
- return "Create New User";
+ return "Admin - Create New User";
}
@Override
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 d6e1875d231..8745a7e5455 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
@@ -42,7 +42,7 @@ public class PopulateUserGroupBlam extends AbstractBlam {
@Override
public String getName() {
- return "Populate User Group";
+ return "Admin - Populate User Group";
}
@Override
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/UniqueNumberOfCurrentOseeUsers.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/UniqueNumberOfCurrentOseeUsers.java
index 85527e9be4e..77e880e4a73 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/UniqueNumberOfCurrentOseeUsers.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/UniqueNumberOfCurrentOseeUsers.java
@@ -30,7 +30,7 @@ public class UniqueNumberOfCurrentOseeUsers extends AbstractBlam {
@Override
public String getName() {
- return "Unique Number Of Current Osee Users";
+ return "Admin - Unique Number Of Current Osee Users";
}
@Override
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/OpenUsersInMassEditor.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/OpenUsersInMassEditor.java
new file mode 100644
index 00000000000..d70b5283220
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/OpenUsersInMassEditor.java
@@ -0,0 +1,52 @@
+/*
+ * Created on Jun 29, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.framework.ui.skynet.user;
+
+import java.util.List;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.action.Action;
+import org.eclipse.osee.framework.core.enums.Active;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.OseeLevel;
+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.skynet.core.User;
+import org.eclipse.osee.framework.skynet.core.UserManager;
+import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
+import org.eclipse.osee.framework.ui.skynet.artifact.massEditor.MassArtifactEditor;
+
+public class OpenUsersInMassEditor extends Action {
+
+ private final Active active;
+
+ public OpenUsersInMassEditor(String name, Active active) {
+ super(name);
+ this.active = active;
+ }
+
+ @Override
+ public void run() {
+ IExceptionableRunnable runnable = new IExceptionableRunnable() {
+
+ @Override
+ public IStatus run(IProgressMonitor monitor) {
+ try {
+ List<User> users = active == Active.Active ? UserManager.getUsers() : UserManager.getUsersAll();
+
+ MassArtifactEditor.editArtifacts(active == Active.Active ? "Active Users" : "All Users", users);
+ } catch (OseeCoreException ex) {
+ OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ return new Status(IStatus.ERROR, SkynetGuiPlugin.PLUGIN_ID, ex.getLocalizedMessage(), ex);
+ }
+ return Status.OK_STATUS;
+ }
+ };
+ Jobs.runInJob(getText(), runnable, SkynetGuiPlugin.class, SkynetGuiPlugin.PLUGIN_ID);
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/IUserNavigateItem.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/IUserNavigateItem.java
new file mode 100644
index 00000000000..1946455cf97
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/IUserNavigateItem.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.ui.skynet.user.perspective;
+
+import java.util.List;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem;
+
+/**
+ * @author Donald G. Dunne
+ */
+public interface IUserNavigateItem {
+
+ public List<XNavigateItem> getNavigateItems(XNavigateItem parentItem) throws OseeCoreException;
+
+}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserNavigateView.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserNavigateView.java
new file mode 100644
index 00000000000..b726283c08e
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserNavigateView.java
@@ -0,0 +1,270 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.ui.skynet.user.perspective;
+
+import java.util.ArrayList;
+import java.util.List;
+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.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.osee.framework.core.client.ClientSessionManager;
+import org.eclipse.osee.framework.core.operation.CompositeOperation;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.operation.Operations;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.plugin.core.IActionable;
+import org.eclipse.osee.framework.skynet.core.SystemGroup;
+import org.eclipse.osee.framework.skynet.core.UserManager;
+import org.eclipse.osee.framework.ui.plugin.OseeUiActions;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.IXNavigateEventListener;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem;
+import org.eclipse.osee.framework.ui.skynet.OseeStatusContributionItemFactory;
+import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
+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.IActionBars;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.part.ViewPart;
+import org.eclipse.ui.progress.UIJob;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class UserNavigateView extends ViewPart implements IActionable, IXNavigateEventListener {
+
+ public static final String VIEW_ID = "org.eclipse.osee.framework.ui.skynet.UserNavigateView";
+ private static final String INPUT = "filter";
+ private static final String FILTER_STR = "filterStr";
+
+ private String savedFilterStr;
+ private XNavigateComposite xNavComp;
+ private Composite parent;
+ private LoadingComposite loadingComposite;
+
+ @Override
+ public void createPartControl(Composite parent) {
+ this.parent = 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() {
+ List<IOperation> ops = new ArrayList<IOperation>();
+ ops.add(new UserNavigateViewItemsOperation());
+ IOperation operation = new CompositeOperation("Load User Navigator", SkynetGuiPlugin.PLUGIN_ID, ops);
+ Operations.executeAsJob(operation, false, Job.LONG, new ReloadJobChangeAdapter(this));
+ }
+
+ private final class ReloadJobChangeAdapter extends JobChangeAdapter {
+
+ private final UserNavigateView navView;
+
+ private ReloadJobChangeAdapter(UserNavigateView 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)) {
+ return new Status(IStatus.ERROR, SkynetGuiPlugin.PLUGIN_ID, "Navigate View - !dbConnectionIsOk");
+ }
+
+ xNavComp = new XNavigateComposite(UserNavigateViewItems.getInstance(), parent, SWT.NONE);
+
+ createToolBar();
+
+ Label label = new Label(xNavComp, SWT.None);
+ String str = getWhoAmI();
+ if (SystemGroup.OseeAdmin.isCurrentUserMember()) {
+ str += " - Admin";
+ }
+ if (!str.equals("")) {
+ if (SystemGroup.OseeAdmin.isCurrentUserMember()) {
+ 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);
+
+ if (savedFilterStr != null) {
+ xNavComp.getFilteredTree().getFilterControl().setText(savedFilterStr);
+ }
+ xNavComp.refresh();
+ xNavComp.getFilteredTree().getFilterControl().setFocus();
+
+ parent.getParent().layout(true);
+ parent.layout(true);
+
+ OseeStatusContributionItemFactory.addTo(navView, false);
+ addExtensionPointListenerBecauseOfWorkspaceLoading();
+
+ } catch (Exception ex) {
+ OseeLog.log(SkynetGuiPlugin.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 = UserManager.getUser().getName();
+ return String.format("%s - %s:%s", userName, ClientSessionManager.getDataStoreName(),
+ ClientSessionManager.getDataStoreLoginName());
+ } catch (Exception ex) {
+ OseeLog.log(SkynetGuiPlugin.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()));
+ getViewSite().getActionBars().updateActionBars();
+
+ IActionBars bars = getViewSite().getActionBars();
+ IMenuManager mm = bars.getMenuManager();
+ mm.add(OseeUiActions.createBugAction(SkynetGuiPlugin.PLUGIN_ID, this, VIEW_ID, "User Navigator"));
+
+ toolbarManager.update(true);
+ }
+
+ public static UserNavigateView getNavigateView() {
+ IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+ try {
+ return (UserNavigateView) page.showView(UserNavigateView.VIEW_ID);
+ } catch (PartInitException e1) {
+ MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Launch Error",
+ "Couldn't Launch OSEE User NavigateView " + e1.getMessage());
+ }
+ return null;
+ }
+
+ @Override
+ public String getActionDescription() {
+ IStructuredSelection sel = (IStructuredSelection) xNavComp.getFilteredTree().getViewer().getSelection();
+ if (sel.iterator().hasNext()) {
+ return String.format("Currently Selected - %s", ((XNavigateItem) sel.iterator().next()).getName());
+ }
+ return "";
+ }
+
+ @Override
+ public void saveState(IMemento memento) {
+ super.saveState(memento);
+ 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);
+ try {
+ if (memento != null) {
+ memento = memento.getChild(INPUT);
+ if (memento != null) {
+ savedFilterStr = memento.getString(FILTER_STR);
+ }
+ }
+ } catch (Exception ex) {
+ OseeLog.log(SkynetGuiPlugin.class, Level.WARNING, "NavigateView error on init", ex);
+ }
+ }
+
+ @Override
+ public void setFocus() {
+ if (loadingComposite != null && !loadingComposite.isDisposed()) {
+ loadingComposite.setFocus();
+ }
+ }
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserNavigateViewItems.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserNavigateViewItems.java
new file mode 100644
index 00000000000..899580253f9
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserNavigateViewItems.java
@@ -0,0 +1,114 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.ui.skynet.user.perspective;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.logging.Level;
+import org.eclipse.osee.framework.core.enums.Active;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.plugin.core.util.ExtensionDefinedObjects;
+import org.eclipse.osee.framework.skynet.core.SystemGroup;
+import org.eclipse.osee.framework.ui.plugin.OseeUiActivator;
+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.FrameworkImage;
+import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
+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.blam.operation.UniqueNumberOfCurrentOseeUsers;
+import org.eclipse.osee.framework.ui.skynet.user.OpenUsersInMassEditor;
+import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam;
+
+public class UserNavigateViewItems implements XNavigateViewItems, IXNavigateCommonItem {
+
+ private final static UserNavigateViewItems instance = new UserNavigateViewItems();
+ private final List<XNavigateItem> items = new CopyOnWriteArrayList<XNavigateItem>();
+ private boolean ensurePopulatedRanOnce = false;
+
+ public static UserNavigateViewItems getInstance() {
+ return instance;
+ }
+
+ @Override
+ public List<XNavigateItem> getSearchNavigateItems() {
+ ensurePopulated();
+ return items;
+ }
+
+ private synchronized void ensurePopulated() {
+ if (!ensurePopulatedRanOnce) {
+ if (OseeUiActivator.areOSEEServicesAvailable().isFalse()) {
+ return;
+ }
+ this.ensurePopulatedRanOnce = true;
+
+ try {
+ addOseePeerSectionChildren(null);
+
+ XNavigateCommonItems.addCommonNavigateItems(items, Arrays.asList(getSectionId()));
+ } catch (OseeCoreException ex) {
+ OseeLog.log(SkynetGuiPlugin.class, Level.SEVERE, ex);
+ }
+ }
+ }
+
+ @SuppressWarnings("unused")
+ public void addOseePeerSectionChildren(XNavigateItem parentItem) throws OseeCoreException {
+ try {
+ items.add(new XNavigateItemAction(parentItem, new OpenUsersInMassEditor("Open Active Users", Active.Active),
+ FrameworkImage.USER));
+ items.add(new XNavigateItemAction(parentItem, new OpenUsersInMassEditor("Open All Users", Active.Both),
+ FrameworkImage.USER));
+
+ if (SystemGroup.OseeAdmin.isCurrentUserMember()) {
+ items.add(new XNavigateItemBlam(parentItem, new CreateNewUser(), FrameworkImage.ADD_GREEN));
+ items.add(new XNavigateItemBlam(parentItem, new PopulateUserGroupBlam(), FrameworkImage.GROUP));
+ items.add(new XNavigateItemBlam(parentItem, new UniqueNumberOfCurrentOseeUsers(), FrameworkImage.USERS));
+ }
+
+ ExtensionDefinedObjects<IUserNavigateItem> objects =
+ new ExtensionDefinedObjects<IUserNavigateItem>("org.eclipse.osee.framework.ui.skynet.UserNavigateItem",
+ "UserNavigateItem", "classname");
+ for (IUserNavigateItem newItem : objects.getObjects()) {
+ for (XNavigateItem item : newItem.getNavigateItems(parentItem)) {
+ items.add(item);
+ }
+ }
+
+ } catch (OseeCoreException ex) {
+ OseeLog.log(SkynetGuiPlugin.class, Level.SEVERE, ex);
+ }
+ }
+
+ @Override
+ public void createCommonSection(List<XNavigateItem> items, List<String> excludeSectionIds) {
+ try {
+ XNavigateItem reviewItem = new XNavigateItem(null, "User Management", FrameworkImage.USER);
+ new OpenPerspectiveNavigateItem(reviewItem, "User Management", UserPerspective.ID, FrameworkImage.USER);
+ addOseePeerSectionChildren(reviewItem);
+ items.add(reviewItem);
+ } catch (OseeCoreException ex) {
+ OseeLog.log(SkynetGuiPlugin.class, Level.SEVERE, "Can't create OSEE Review section");
+ }
+ }
+
+ @Override
+ public String getSectionId() {
+ return "Users";
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserNavigateViewItemsOperation.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserNavigateViewItemsOperation.java
new file mode 100644
index 00000000000..7ba6ec21bb5
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserNavigateViewItemsOperation.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.ui.skynet.user.perspective;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.framework.core.operation.AbstractOperation;
+import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class UserNavigateViewItemsOperation extends AbstractOperation {
+
+ public UserNavigateViewItemsOperation() {
+ super("Loading User Navigate View Items", SkynetGuiPlugin.PLUGIN_ID);
+ }
+
+ @Override
+ protected void doWork(IProgressMonitor monitor) throws Exception {
+ UserNavigateViewItems.getInstance().getSearchNavigateItems();
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserPerspective.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserPerspective.java
new file mode 100644
index 00000000000..22fcc09f77d
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/user/perspective/UserPerspective.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.ui.skynet.user.perspective;
+
+import org.eclipse.osee.framework.ui.skynet.ArtifactExplorer;
+import org.eclipse.osee.framework.ui.skynet.search.QuickSearchView;
+import org.eclipse.ui.IFolderLayout;
+import org.eclipse.ui.IPageLayout;
+import org.eclipse.ui.IPerspectiveFactory;
+
+public class UserPerspective implements IPerspectiveFactory {
+ public static String ID = "org.eclipse.framework.ui.skynet.UserPerspective";
+
+ @Override
+ public void createInitialLayout(final IPageLayout layout) {
+ defineActions(layout);
+ defineLayout(layout);
+ }
+
+ public void defineActions(final IPageLayout layout) {
+ layout.addShowViewShortcut(UserNavigateView.VIEW_ID);
+ layout.addShowViewShortcut(ArtifactExplorer.VIEW_ID);
+ layout.addShowViewShortcut(QuickSearchView.VIEW_ID);
+ }
+
+ 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(UserNavigateView.VIEW_ID);
+ bottomLeft.addView(QuickSearchView.VIEW_ID);
+ }
+}

Back to the top