Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2009-07-13 02:06:19 +0000
committerddunne2009-07-13 02:06:19 +0000
commite7a3a513ffa0b83cbe52aea0189624973d44d09c (patch)
tree1a67f44a55b07c0be15fefc3e4d7ada3713d361b
parent5032e534815a03adccc13ba10c65761269afd43f (diff)
downloadorg.eclipse.osee-e7a3a513ffa0b83cbe52aea0189624973d44d09c.tar.gz
org.eclipse.osee-e7a3a513ffa0b83cbe52aea0189624973d44d09c.tar.xz
org.eclipse.osee-e7a3a513ffa0b83cbe52aea0189624973d44d09c.zip
Cleaned up navigate items
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java47
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/SearchNavigateItem.java6
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/UserSearchWorkflowSearchItem.java396
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/SMAMetrics.java116
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/SMAUtil.java207
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyCompletedSearchItem.java60
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyOrigSearchItem.java72
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/UserWorldSearchItem.java122
-rw-r--r--org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF1
-rw-r--r--org.eclipse.osee.framework.ui.skynet/images/aspect.gifbin472 -> 0 bytes
-rw-r--r--org.eclipse.osee.framework.ui.skynet/images/product.gifbin474 -> 0 bytes
-rw-r--r--org.eclipse.osee.framework.ui.skynet/images/task.gifbin857 -> 0 bytes
-rw-r--r--org.eclipse.osee.framework.ui.skynet/images/www.gif (renamed from org.eclipse.osee.framework.ui.skynet/images/results.gif)bin464 -> 498 bytes
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/compare/IResultsEditorCompareTab.java25
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/compare/ResultsEditorCompareTab.java75
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItem.java16
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItemAction.java8
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateUrlItem.java3
18 files changed, 851 insertions, 303 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java
index 96a2b196d9c..504dbc79b06 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java
@@ -40,10 +40,8 @@ import org.eclipse.osee.ats.world.search.ArtifactTypeSearchItem;
import org.eclipse.osee.ats.world.search.ArtifactTypesSearchItem;
import org.eclipse.osee.ats.world.search.GroupWorldSearchItem;
import org.eclipse.osee.ats.world.search.MultipleHridSearchItem;
-import org.eclipse.osee.ats.world.search.MyCompletedSearchItem;
import org.eclipse.osee.ats.world.search.MyFavoritesSearchItem;
import org.eclipse.osee.ats.world.search.MyGoalWorkflowItem;
-import org.eclipse.osee.ats.world.search.MyOrigSearchItem;
import org.eclipse.osee.ats.world.search.MyReviewWorkflowItem;
import org.eclipse.osee.ats.world.search.MySubscribedSearchItem;
import org.eclipse.osee.ats.world.search.MyWorldSearchItem;
@@ -102,6 +100,7 @@ public class AtsNavigateViewItems extends XNavigateViewItems {
items.add(new SearchNavigateItem(null, new MyWorldSearchItem("My World", user)));
items.add(new SearchNavigateItem(null, new MyFavoritesSearchItem("My Favorites", user)));
+ items.add(new SearchNavigateItem(null, new MySubscribedSearchItem("My Subscribed", user)));
if (AtsUtil.isGoalEnabled()) items.add(new SearchNavigateItem(null, new MyGoalWorkflowItem("My Goals", user,
GoalSearchState.InWork)));
items.add(new SearchNavigateItem(null, new MyReviewWorkflowItem("My Reviews", user, ReviewState.InWork)));
@@ -109,36 +108,7 @@ public class AtsNavigateViewItems extends XNavigateViewItems {
items.add(new XNavigateItemAction(null, new NewAction(), AtsImage.NEW_ACTION));
items.add(new SearchNavigateItem(null, new MyWorldSearchItem("User's World")));
- XNavigateItem otherItems = new XNavigateItemFolder(null, "Other My Searches");
- new SearchNavigateItem(otherItems, new MySubscribedSearchItem("My Subscribed", user));
- new SearchNavigateItem(otherItems, new MyOrigSearchItem("My Originator - InWork", user,
- MyOrigSearchItem.OriginatedState.InWork));
- new SearchNavigateItem(otherItems, new MyOrigSearchItem("My Originator - All", user,
- MyOrigSearchItem.OriginatedState.All));
- new SearchNavigateItem(otherItems, new MyCompletedSearchItem("My Completed", user));
- new SearchNavigateItem(otherItems, new MyReviewWorkflowItem("My Reviews - All", user, ReviewState.All));
- items.add(otherItems);
-
- otherItems = new XNavigateItemFolder(null, "Other User Searches");
- new SearchNavigateItem(otherItems, new MyWorldSearchItem("User's World"));
- new SearchNavigateItem(otherItems, new MyOrigSearchItem("User's Originator - InWork", null,
- MyOrigSearchItem.OriginatedState.InWork));
- new SearchNavigateItem(otherItems, new MyOrigSearchItem("User's Originator - All", null,
- MyOrigSearchItem.OriginatedState.All));
- new SearchNavigateItem(otherItems, new MyCompletedSearchItem("User's Completed"));
- new SearchNavigateItem(otherItems, new MyFavoritesSearchItem("User's Favorites"));
- new SearchNavigateItem(otherItems, new MySubscribedSearchItem("User's Subscribed"));
- new SearchNavigateItem(otherItems, new MyReviewWorkflowItem("User's Reviews - InWork", null,
- ReviewState.InWork));
- new SearchNavigateItem(otherItems, new MyReviewWorkflowItem("User's Reviews - All", null, ReviewState.All));
- if (AtsUtil.isAtsAdmin()) {
- new SearchNavigateItem(otherItems, new UserRelatedToAtsObjectSearch(
- "User's All Related Objects - Admin Only", null, false, LoadView.WorldEditor));
- new SearchNavigateItem(otherItems, new UserRelatedToAtsObjectSearch(
- "User's All Active Related Objects - Admin Only", null, true, LoadView.WorldEditor));
- }
- items.add(otherItems);
-
+ items.add(new SearchNavigateItem(null, new UserSearchWorkflowSearchItem()));
items.add(new SearchNavigateItem(null, new TaskSearchWorldSearchItem()));
items.add(new SearchNavigateItem(null, new GroupWorldSearchItem((Branch) null)));
items.add(new SearchNavigateItem(null, new TeamWorkflowSearchWorkflowSearchItem()));
@@ -163,16 +133,16 @@ public class AtsNavigateViewItems extends XNavigateViewItems {
XNavigateItem reviewItem = new XNavigateItem(null, "Reviews", AtsImage.REVIEW);
new SearchNavigateItem(reviewItem, new ShowOpenWorkflowsByArtifactType(
"Show Open " + DecisionReviewArtifact.ARTIFACT_NAME + "s", DecisionReviewArtifact.ARTIFACT_NAME, false,
- false));
+ false), AtsImage.REVIEW);
new SearchNavigateItem(reviewItem, new ShowOpenWorkflowsByArtifactType(
"Show Workflows Waiting " + DecisionReviewArtifact.ARTIFACT_NAME + "s",
- DecisionReviewArtifact.ARTIFACT_NAME, false, true));
+ DecisionReviewArtifact.ARTIFACT_NAME, false, true), AtsImage.REVIEW);
new SearchNavigateItem(reviewItem, new ShowOpenWorkflowsByArtifactType(
"Show Open " + PeerToPeerReviewArtifact.ARTIFACT_NAME + "s", PeerToPeerReviewArtifact.ARTIFACT_NAME,
- false, false));
+ false, false), AtsImage.REVIEW);
new SearchNavigateItem(reviewItem, new ShowOpenWorkflowsByArtifactType(
"Show Workflows Waiting " + PeerToPeerReviewArtifact.ARTIFACT_NAME + "s",
- PeerToPeerReviewArtifact.ARTIFACT_NAME, false, true));
+ PeerToPeerReviewArtifact.ARTIFACT_NAME, false, true), AtsImage.REVIEW);
new NewPeerToPeerReviewItem(reviewItem);
new GenerateReviewParticipationReport(reviewItem);
items.add(reviewItem);
@@ -221,6 +191,11 @@ public class AtsNavigateViewItems extends XNavigateViewItems {
new UpdateAssigneesRelations(adminItems);
new DisplayCurrentOseeEventListeners(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", "Action"));
new SearchNavigateItem(adminItems,
new ArtifactTypeSearchItem("Show all Decision Review", "Decision Review"));
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/SearchNavigateItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/SearchNavigateItem.java
index ab513c0ef7d..2668b20132b 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/SearchNavigateItem.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/SearchNavigateItem.java
@@ -14,6 +14,7 @@ import org.eclipse.osee.ats.AtsImage;
import org.eclipse.osee.ats.world.search.WorldSearchItem;
import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
import org.eclipse.osee.framework.ui.skynet.ImageManager;
+import org.eclipse.osee.framework.ui.skynet.OseeImage;
import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItem;
import org.eclipse.swt.graphics.Image;
@@ -34,6 +35,11 @@ public class SearchNavigateItem extends XNavigateItem {
this.wsi = wsi;
}
+ public SearchNavigateItem(XNavigateItem parent, WorldSearchItem wsi, OseeImage oseeImage) throws OseeCoreException {
+ super(parent, wsi.getName(), oseeImage);
+ this.wsi = wsi;
+ }
+
public WorldSearchItem getWorldSearchItem() {
return wsi;
}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/UserSearchWorkflowSearchItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/UserSearchWorkflowSearchItem.java
new file mode 100644
index 00000000000..54f337f2523
--- /dev/null
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/UserSearchWorkflowSearchItem.java
@@ -0,0 +1,396 @@
+/*******************************************************************************
+ * 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.ats.navigate;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Set;
+import java.util.logging.Level;
+import org.eclipse.osee.ats.AtsPlugin;
+import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
+import org.eclipse.osee.ats.artifact.VersionArtifact;
+import org.eclipse.osee.ats.artifact.VersionArtifact.VersionReleaseType;
+import org.eclipse.osee.ats.util.widgets.XHyperlabelTeamDefinitionSelection;
+import org.eclipse.osee.ats.world.WorldEditorParameterSearchItem;
+import org.eclipse.osee.ats.world.search.UserWorldSearchItem;
+import org.eclipse.osee.ats.world.search.UserWorldSearchItem.UserSearchOption;
+import org.eclipse.osee.framework.db.connection.exception.OseeArgumentException;
+import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.OseeLevel;
+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.skynet.core.utility.Artifacts;
+import org.eclipse.osee.framework.ui.plugin.util.Result;
+import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
+import org.eclipse.osee.framework.ui.skynet.widgets.XCheckBox;
+import org.eclipse.osee.framework.ui.skynet.widgets.XCombo;
+import org.eclipse.osee.framework.ui.skynet.widgets.XMembersCombo;
+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.workflow.DynamicXWidgetLayout;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.DynamicXWidgetLayoutData;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.IDynamicWidgetLayoutListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class UserSearchWorkflowSearchItem extends WorldEditorParameterSearchItem {
+
+ private XHyperlabelTeamDefinitionSelection teamCombo = null;
+ private XCombo versionCombo = null;
+ private XMembersCombo assigneeCombo;
+ private XCheckBox includeCancelledCheckbox;
+ private XCheckBox includeCompletedCheckbox;
+ private XCheckBox favoriteCheckbox;
+ private XCheckBox subscribedCheckbox;
+ private XCheckBox originatorCheckbox;
+ private XCheckBox reviewsCheckbox;
+ private XCheckBox teamWorkflowsCheckbox;
+ private XCheckBox tasksCheckbox;
+
+ public UserSearchWorkflowSearchItem() throws OseeArgumentException {
+ super("User Search", FrameworkImage.USER);
+ }
+
+ public UserSearchWorkflowSearchItem(UserSearchWorkflowSearchItem editTeamWorkflowSearchItem) throws OseeArgumentException {
+ super(editTeamWorkflowSearchItem, FrameworkImage.USER);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.world.search.WorldSearchItem#copy()
+ */
+ @Override
+ public UserSearchWorkflowSearchItem copy() throws OseeArgumentException {
+ return new UserSearchWorkflowSearchItem(this);
+ }
+
+ public UserSearchWorkflowSearchItem copyProvider() throws OseeArgumentException {
+ return new UserSearchWorkflowSearchItem(this);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.world.IWorldEditorParameterProvider#getParameterXWidgetXml()
+ */
+ @Override
+ public String getParameterXWidgetXml() throws OseeCoreException {
+ return "<xWidgets>" +
+ //
+ "<XWidget xwidgetType=\"XMembersCombo\" beginComposite=\"14\" displayName=\"Assignee\" horizontalLabel=\"true\"/>" +
+ //
+ "<XWidget displayName=\"Originated\" xwidgetType=\"XCheckBox\" defaultValue=\"false\" labelAfter=\"true\" horizontalLabel=\"true\"/>" +
+ //
+ "<XWidget displayName=\"Subscribed\" xwidgetType=\"XCheckBox\" defaultValue=\"false\" labelAfter=\"true\" horizontalLabel=\"true\"/>" +
+ //
+ "<XWidget displayName=\"Favorite\" xwidgetType=\"XCheckBox\" defaultValue=\"false\" labelAfter=\"true\" horizontalLabel=\"true\"/>" +
+ //
+ "<XWidget displayName=\"Include Team Workflows\" xwidgetType=\"XCheckBox\" defaultValue=\"true\" labelAfter=\"true\" horizontalLabel=\"true\"/>" +
+ //
+ "<XWidget displayName=\"Include Reviews\" xwidgetType=\"XCheckBox\" defaultValue=\"true\" labelAfter=\"true\" horizontalLabel=\"true\"/>" +
+ //
+ "<XWidget displayName=\"Include Tasks\" endComposite=\"true\" xwidgetType=\"XCheckBox\" defaultValue=\"true\" labelAfter=\"true\" horizontalLabel=\"true\"/>" +
+ //
+ "<XWidget displayName=\"Version\" xwidgetType=\"XCombo()\" beginComposite=\"3\" horizontalLabel=\"true\"/>" +
+ //
+ "<XWidget displayName=\"Team Definitions(s)\" endComposite=\"true\" xwidgetType=\"XHyperlabelTeamDefinitionSelection\" horizontalLabel=\"true\"/>" +
+ //
+ "<XWidget displayName=\"Include Completed\" beginComposite=\"4\" xwidgetType=\"XCheckBox\" defaultValue=\"false\" labelAfter=\"true\" horizontalLabel=\"true\"/>" +
+ //
+ "<XWidget displayName=\"Include Cancelled\" xwidgetType=\"XCheckBox\" defaultValue=\"false\" labelAfter=\"true\" horizontalLabel=\"true\"/>" +
+ //
+ "</xWidgets>";
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.world.IWorldEditorParameterProvider#performSearchGetResults(org.eclipse.osee.ats.world.search.WorldSearchItem.SearchType)
+ */
+ @Override
+ public Collection<? extends Artifact> performSearchGetResults(SearchType searchType) throws OseeCoreException {
+ return new UserWorldSearchItem(
+ getSelectedUser(),
+ getSelectedTeamDefinitions(),
+ (getSelectedVersionArtifact() != null ? Collections.singleton(getSelectedVersionArtifact()) : null),
+ //
+ (isFavoritesCheckbox() ? UserSearchOption.Favorites : UserSearchOption.None),
+ (isOriginatedCheckbox() ? UserSearchOption.Originator : UserSearchOption.None),
+ (isSubscribedCheckbox() ? UserSearchOption.Subscribed : UserSearchOption.None),
+ (isReviewsCheckbox() ? UserSearchOption.IncludeReviews : UserSearchOption.None),
+ (isTeamWorkflowsCheckbox() ? UserSearchOption.IncludeTeamWorkflows : UserSearchOption.None),
+ (isTasksCheckbox() ? UserSearchOption.IncludeTasks : UserSearchOption.None),
+ (isIncludeCancelledCheckbox() ? UserSearchOption.IncludeCancelled : UserSearchOption.None),
+ (isIncludeCompletedCheckbox() ? UserSearchOption.IncludeCompleted : UserSearchOption.None)
+
+ //
+ ).performSearch();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.world.IWorldEditorProvider#getWorldEditorLabel(org.eclipse.osee.ats.world.search.WorldSearchItem.SearchType)
+ */
+ @Override
+ public String getSelectedName(SearchType searchType) throws OseeCoreException {
+ StringBuffer sb = new StringBuffer();
+ Collection<TeamDefinitionArtifact> teamDefs = getSelectedTeamDefinitions();
+ if (teamDefs.size() > 0) {
+ sb.append(" - Teams: " + org.eclipse.osee.framework.jdk.core.util.Collections.toString(",", teamDefs));
+ }
+ if (getSelectedVersionArtifact() != null) {
+ sb.append(" - Version: " + getSelectedVersionArtifact());
+ }
+ if (getSelectedUser() != null) {
+ sb.append(" - Assignee: " + getSelectedUser());
+ }
+ if (isIncludeCancelledCheckbox()) {
+ sb.append(" - Include Cancelled");
+ }
+ if (isIncludeCompletedCheckbox()) {
+ sb.append(" - Include Completed");
+ }
+ if (isOriginatedCheckbox()) {
+ sb.append(" - Originated");
+ }
+ if (isFavoritesCheckbox()) {
+ sb.append(" - Favorites");
+ }
+ if (isSubscribedCheckbox()) {
+ sb.append(" - Subscribed");
+ }
+ if (isReviewsCheckbox()) {
+ sb.append(" - Reviews");
+ }
+ if (isTeamWorkflowsCheckbox()) {
+ sb.append(" - Team Workflows");
+ }
+ if (isTasksCheckbox()) {
+ sb.append(" - Tasks");
+ }
+ return "User Search" + sb.toString();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.ui.skynet.blam.operation.AbstractBlam#widgetCreated(org.eclipse.osee.framework.ui.skynet.widgets.XWidget, org.eclipse.ui.forms.widgets.FormToolkit, org.eclipse.osee.framework.skynet.core.artifact.Artifact, org.eclipse.osee.framework.ui.skynet.widgets.workflow.DynamicXWidgetLayout, org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener, boolean)
+ */
+ @Override
+ public void widgetCreated(XWidget widget, FormToolkit toolkit, Artifact art, DynamicXWidgetLayout dynamicXWidgetLayout, XModifiedListener modListener, boolean isEditable) throws OseeCoreException {
+ if (widget.getLabel().equals("Assignee")) {
+ assigneeCombo = (XMembersCombo) widget;
+ }
+ if (widget.getLabel().equals("Include Completed")) {
+ includeCompletedCheckbox = (XCheckBox) widget;
+ }
+ if (widget.getLabel().equals("Include Cancelled")) {
+ includeCancelledCheckbox = (XCheckBox) widget;
+ }
+ if (widget.getLabel().equals("Favorites")) {
+ favoriteCheckbox = (XCheckBox) widget;
+ }
+ if (widget.getLabel().equals("Subscribed")) {
+ subscribedCheckbox = (XCheckBox) widget;
+ }
+ if (widget.getLabel().equals("Originator")) {
+ originatorCheckbox = (XCheckBox) widget;
+ }
+ if (widget.getLabel().equals("Include Team Workflows")) {
+ teamWorkflowsCheckbox = (XCheckBox) widget;
+ }
+ if (widget.getLabel().equals("Include Reviews")) {
+ reviewsCheckbox = (XCheckBox) widget;
+ }
+ if (widget.getLabel().equals("Include Tasks")) {
+ tasksCheckbox = (XCheckBox) widget;
+ }
+ if (widget.getLabel().equals("Version")) {
+ versionCombo = (XCombo) widget;
+ versionCombo.getComboBox().setVisibleItemCount(25);
+ widget.setToolTip("Select Team to populate Version list");
+ }
+ if (widget.getLabel().equals("Team Definitions(s)")) {
+ teamCombo = (XHyperlabelTeamDefinitionSelection) widget;
+ teamCombo.addXModifiedListener(new XModifiedListener() {
+ @Override
+ public void widgetModified(XWidget widget) {
+ if (versionCombo != null) {
+ try {
+ Collection<TeamDefinitionArtifact> teamDefArts = getSelectedTeamDefinitions();
+ if (teamDefArts.size() == 0) {
+ versionCombo.setDataStrings(new String[] {});
+ return;
+ }
+ TeamDefinitionArtifact teamDefHoldingVersions =
+ teamDefArts.iterator().next().getTeamDefinitionHoldingVersions();
+ if (teamDefHoldingVersions == null) {
+ versionCombo.setDataStrings(new String[] {});
+ return;
+ }
+ Collection<String> names =
+ Artifacts.artNames(teamDefHoldingVersions.getVersionsArtifacts(VersionReleaseType.Both));
+ if (names.size() == 0) {
+ versionCombo.setDataStrings(new String[] {});
+ return;
+ }
+ versionCombo.setDataStrings(names.toArray(new String[names.size()]));
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ }
+ }
+ });
+ }
+ }
+
+ private User getSelectedUser() {
+ if (assigneeCombo == null) return null;
+ return assigneeCombo.getUser();
+ }
+
+ public void setSelectedUser(User user) {
+ if (assigneeCombo != null) assigneeCombo.set(user);
+ }
+
+ private boolean isIncludeCompletedCheckbox() {
+ if (includeCompletedCheckbox == null) return false;
+ return includeCompletedCheckbox.isSelected();
+ }
+
+ private boolean isIncludeCancelledCheckbox() {
+ if (includeCancelledCheckbox == null) return false;
+ return includeCancelledCheckbox.isSelected();
+ }
+
+ private boolean isFavoritesCheckbox() {
+ if (favoriteCheckbox == null) return false;
+ return favoriteCheckbox.isSelected();
+ }
+
+ private boolean isOriginatedCheckbox() {
+ if (originatorCheckbox == null) return false;
+ return originatorCheckbox.isSelected();
+ }
+
+ private boolean isSubscribedCheckbox() {
+ if (subscribedCheckbox == null) return false;
+ return subscribedCheckbox.isSelected();
+ }
+
+ private boolean isTeamWorkflowsCheckbox() {
+ if (teamWorkflowsCheckbox == null) return false;
+ return teamWorkflowsCheckbox.isSelected();
+ }
+
+ private boolean isReviewsCheckbox() {
+ if (reviewsCheckbox == null) return false;
+ return reviewsCheckbox.isSelected();
+ }
+
+ private boolean isTasksCheckbox() {
+ if (tasksCheckbox == null) return false;
+ return tasksCheckbox.isSelected();
+ }
+
+ public void includeCompletedCheckbox(boolean selected) {
+ if (includeCompletedCheckbox != null) includeCompletedCheckbox.set(selected);
+ }
+
+ public void includeCancelledCheckbox(boolean selected) {
+ if (includeCancelledCheckbox != null) includeCancelledCheckbox.set(selected);
+ }
+
+ private VersionArtifact getSelectedVersionArtifact() throws OseeCoreException {
+ if (versionCombo == null) return null;
+ String versionStr = versionCombo.get();
+ if (versionStr == null || versionStr.equals("")) return null;
+ Collection<TeamDefinitionArtifact> teamDefs = getSelectedTeamDefinitions();
+ if (teamDefs.size() > 0) {
+ TeamDefinitionArtifact teamDefHoldingVersions = teamDefs.iterator().next().getTeamDefinitionHoldingVersions();
+ if (teamDefHoldingVersions == null) return null;
+ for (VersionArtifact versionArtifact : teamDefHoldingVersions.getVersionsArtifacts(VersionReleaseType.Both)) {
+ if (versionArtifact.getDescriptiveName().equals(versionStr)) {
+ return versionArtifact;
+ }
+ }
+ }
+ return null;
+ }
+
+ public void setVersion(String versionStr) {
+ if (versionCombo != null && versionCombo.getInDataStrings() != null) {
+ // should check if the version combo was populated
+ if (versionCombo.getInDataStrings().length > 0) {
+ versionCombo.set(versionStr);
+ }
+ }
+ }
+
+ public Collection<TeamDefinitionArtifact> getSelectedTeamDefinitions() throws OseeCoreException {
+ if (teamCombo == null) return java.util.Collections.emptyList();
+ return teamCombo.getSelectedTeamDefintions();
+ }
+
+ public void setSelectedTeamDefinitions(Set<TeamDefinitionArtifact> selectedUsers) {
+ if (teamCombo != null) {
+ teamCombo.setSelectedTeamDefs(selectedUsers);
+ teamCombo.notifyXModifiedListeners();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.ui.skynet.widgets.workflow.IDynamicWidgetLayoutListener#createXWidgetLayoutData(org.eclipse.osee.framework.ui.skynet.widgets.workflow.DynamicXWidgetLayoutData, org.eclipse.osee.framework.ui.skynet.widgets.XWidget, org.eclipse.ui.forms.widgets.FormToolkit, org.eclipse.osee.framework.skynet.core.artifact.Artifact, org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener, boolean)
+ */
+ @Override
+ public void createXWidgetLayoutData(DynamicXWidgetLayoutData layoutData, XWidget widget, FormToolkit toolkit, Artifact art, XModifiedListener modListener, boolean isEditable) throws OseeCoreException {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.ui.skynet.widgets.workflow.IDynamicWidgetLayoutListener#widgetCreating(org.eclipse.osee.framework.ui.skynet.widgets.XWidget, org.eclipse.ui.forms.widgets.FormToolkit, org.eclipse.osee.framework.skynet.core.artifact.Artifact, org.eclipse.osee.framework.ui.skynet.widgets.workflow.DynamicXWidgetLayout, org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener, boolean)
+ */
+ @Override
+ public void widgetCreating(XWidget widget, FormToolkit toolkit, Artifact art, DynamicXWidgetLayout dynamicXWidgetLayout, XModifiedListener modListener, boolean isEditable) throws OseeCoreException {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.world.WorldParameterSearchItem#isParameterSelectionValid()
+ */
+ @Override
+ public Result isParameterSelectionValid() throws OseeCoreException {
+ try {
+ User user = getSelectedUser();
+ if (user == null) {
+ return new Result("You must select at Assignee.");
+ }
+ if (!isTeamWorkflowsCheckbox() && !isReviewsCheckbox() && !isTasksCheckbox()) {
+ return new Result("You must select one or more of Team Workflows, Reviews or Tasks");
+ }
+ return Result.TrueResult;
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ return new Result("Exception: " + ex.getLocalizedMessage());
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.world.IWorldEditorParameterProvider#getDynamicWidgetLayoutListener()
+ */
+ @Override
+ public IDynamicWidgetLayoutListener getDynamicWidgetLayoutListener() {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.world.IWorldEditorProvider#getTargetedVersionArtifact()
+ */
+ @Override
+ public VersionArtifact getTargetedVersionArtifact() throws OseeCoreException {
+ if (versionCombo == null) return null;
+ return getSelectedVersionArtifact();
+ }
+
+}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/SMAMetrics.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/SMAMetrics.java
index 30b8227dc36..d8b83526952 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/SMAMetrics.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/SMAMetrics.java
@@ -18,18 +18,15 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.eclipse.osee.ats.artifact.ActionArtifact;
-import org.eclipse.osee.ats.artifact.LogItem;
import org.eclipse.osee.ats.artifact.ReviewSMArtifact;
import org.eclipse.osee.ats.artifact.StateMachineArtifact;
import org.eclipse.osee.ats.artifact.TaskArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.artifact.VersionArtifact;
-import org.eclipse.osee.ats.util.AtsPriority.PriorityType;
import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
import org.eclipse.osee.framework.jdk.core.type.HashCollection;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.ui.skynet.util.ChangeType;
import org.eclipse.osee.framework.ui.skynet.widgets.XDate;
/**
@@ -457,117 +454,4 @@ public class SMAMetrics {
return getUserToAssignedSmas(user, null);
}
- public static Collection<StateMachineArtifact> getOpenAtDate(Date date, Collection<StateMachineArtifact> artifacts) throws OseeCoreException {
- List<StateMachineArtifact> smas = new ArrayList<StateMachineArtifact>();
- for (StateMachineArtifact sma : artifacts) {
- Date createDate = sma.getWorldViewCreatedDate();
- Date completedCancelDate = null;
- if (sma.getSmaMgr().isCancelledOrCompleted()) {
- if (sma.getSmaMgr().isCancelled()) {
- completedCancelDate = sma.getWorldViewCancelledDate();
- } else {
- completedCancelDate = sma.getWorldViewCompletedDate();
- }
- }
- if (createDate.before(date) && (completedCancelDate == null || completedCancelDate.after(date))) {
- smas.add(sma);
- }
- }
- return smas;
- }
-
- public static Collection<StateMachineArtifact> getCompletedCancelledBetweenDate(Date startDate, Date endDate, Collection<StateMachineArtifact> artifacts) throws OseeCoreException {
- List<StateMachineArtifact> smas = new ArrayList<StateMachineArtifact>();
- for (StateMachineArtifact sma : artifacts) {
- Date completedCancelDate = null;
- if (sma.getSmaMgr().isCancelledOrCompleted()) {
- if (sma.getSmaMgr().isCancelled()) {
- completedCancelDate = sma.getWorldViewCancelledDate();
- } else {
- completedCancelDate = sma.getWorldViewCompletedDate();
- }
- }
- if (completedCancelDate == null) continue;
- if (completedCancelDate.after(startDate) && completedCancelDate.before(endDate)) {
- smas.add(sma);
- }
- }
- return smas;
- }
-
- public static Double getHoursSpent(Collection<StateMachineArtifact> artifacts) throws OseeCoreException {
- Double hoursSpent = 0.0;
- for (StateMachineArtifact sma : artifacts) {
- hoursSpent += sma.getWorldViewHoursSpentTotal();
- }
- return hoursSpent;
- }
-
- public static Collection<StateMachineArtifact> getStateAtDate(Date date, Collection<String> states, Collection<StateMachineArtifact> artifacts) throws OseeCoreException {
- List<StateMachineArtifact> smas = new ArrayList<StateMachineArtifact>();
- for (StateMachineArtifact sma : artifacts) {
- Date createDate = sma.getWorldViewCreatedDate();
- if (createDate.after(date)) continue;
- // Find state at date
- String currentState = sma.getSmaMgr().getStateMgr().getCurrentStateName();
- for (LogItem item : sma.getSmaMgr().getLog().getLogItems()) {
- if (item.getDate().before(date)) {
- currentState = item.getState();
- }
- }
- if (states.contains(currentState)) {
- smas.add(sma);
- }
- }
- return smas;
- }
-
- /**
- * Returns sma if change type, or parent team workflow's change type is in specified set
- *
- * @param changeTypes
- * @param artifacts
- * @throws OseeCoreException
- */
- public static Collection<StateMachineArtifact> getChangeType(Collection<ChangeType> changeTypes, Collection<StateMachineArtifact> artifacts) throws OseeCoreException {
- List<StateMachineArtifact> smas = new ArrayList<StateMachineArtifact>();
- for (StateMachineArtifact sma : artifacts) {
- TeamWorkFlowArtifact teamArt = sma.getParentTeamWorkflow();
- if (changeTypes.contains(teamArt.getChangeType())) {
- smas.add(sma);
- }
- }
- return smas;
-
- }
-
- /**
- * Returns sma if priority type, or parent team workflow's priority type is in specified set
- *
- * @param priorityTypes
- * @param artifacts
- * @throws OseeCoreException
- */
- public static Collection<StateMachineArtifact> getPriorityType(Collection<PriorityType> priorityTypes, Collection<StateMachineArtifact> artifacts) throws OseeCoreException {
- List<StateMachineArtifact> smas = new ArrayList<StateMachineArtifact>();
- for (StateMachineArtifact sma : artifacts) {
- TeamWorkFlowArtifact teamArt = sma.getParentTeamWorkflow();
- if (priorityTypes.contains(teamArt.getPriority())) {
- smas.add(sma);
- }
- }
- return smas;
-
- }
-
- public static Collection<StateMachineArtifact> getSMAs(Collection<Artifact> artifacts) throws OseeCoreException {
- List<StateMachineArtifact> smas = new ArrayList<StateMachineArtifact>();
- for (Artifact artifact : artifacts) {
- if (artifact instanceof StateMachineArtifact) {
- smas.add((StateMachineArtifact) artifact);
- }
- }
- return smas;
- }
-
}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/SMAUtil.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/SMAUtil.java
new file mode 100644
index 00000000000..38d37fb4dc5
--- /dev/null
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/SMAUtil.java
@@ -0,0 +1,207 @@
+/*
+ * Created on Jul 12, 2009
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import org.eclipse.osee.ats.artifact.LogItem;
+import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
+import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
+import org.eclipse.osee.ats.artifact.VersionArtifact;
+import org.eclipse.osee.ats.util.AtsPriority.PriorityType;
+import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.ui.skynet.util.ChangeType;
+
+/**
+ * This utility class provides methods to filter out certain types of state machine artifacts based on criteria
+ *
+ * @author Donald G. Dunne
+ */
+public class SMAUtil {
+
+ public static Collection<StateMachineArtifact> getCompletedCancelled(Collection<StateMachineArtifact> smas) throws OseeCoreException {
+ List<StateMachineArtifact> artifactsToReturn = new ArrayList<StateMachineArtifact>(smas.size());
+ for (StateMachineArtifact sma : smas) {
+ if (sma.getSmaMgr().isCancelledOrCompleted()) {
+ artifactsToReturn.add(sma);
+ }
+ }
+ return artifactsToReturn;
+ }
+
+ public static Collection<StateMachineArtifact> getInWork(Collection<StateMachineArtifact> smas) throws OseeCoreException {
+ List<StateMachineArtifact> artifactsToReturn = new ArrayList<StateMachineArtifact>(smas.size());
+ for (StateMachineArtifact sma : smas) {
+ if (!sma.getSmaMgr().isCancelledOrCompleted()) {
+ artifactsToReturn.add(sma);
+ }
+ }
+ return artifactsToReturn;
+ }
+
+ public static Collection<StateMachineArtifact> filterOutState(Collection<StateMachineArtifact> smas, Collection<String> stateNames) throws OseeCoreException {
+ List<StateMachineArtifact> artifactsToReturn = new ArrayList<StateMachineArtifact>(smas.size());
+ for (StateMachineArtifact sma : smas) {
+ if (!stateNames.contains(sma.getSmaMgr().getStateMgr().getCurrentStateName())) {
+ artifactsToReturn.add(sma);
+ }
+ }
+ return artifactsToReturn;
+ }
+
+ public static Collection<StateMachineArtifact> filterOutTypes(Collection<StateMachineArtifact> smas, Collection<Class<?>> classes) throws OseeCoreException {
+ List<StateMachineArtifact> artifactsToReturn = new ArrayList<StateMachineArtifact>(smas.size());
+ for (StateMachineArtifact sma : smas) {
+ boolean found = false;
+ for (Class<?> clazz : classes) {
+ if (clazz.isInstance(sma)) {
+ found = true;
+ }
+ }
+ if (!found) {
+ artifactsToReturn.add(sma);
+ }
+ }
+ return artifactsToReturn;
+ }
+
+ public static Collection<StateMachineArtifact> getOpenAtDate(Date date, Collection<StateMachineArtifact> artifacts) throws OseeCoreException {
+ List<StateMachineArtifact> smas = new ArrayList<StateMachineArtifact>();
+ for (StateMachineArtifact sma : artifacts) {
+ Date createDate = sma.getWorldViewCreatedDate();
+ Date completedCancelDate = null;
+ if (sma.getSmaMgr().isCancelledOrCompleted()) {
+ if (sma.getSmaMgr().isCancelled()) {
+ completedCancelDate = sma.getWorldViewCancelledDate();
+ } else {
+ completedCancelDate = sma.getWorldViewCompletedDate();
+ }
+ }
+ if (createDate.before(date) && (completedCancelDate == null || completedCancelDate.after(date))) {
+ smas.add(sma);
+ }
+ }
+ return smas;
+ }
+
+ public static Collection<StateMachineArtifact> getCompletedCancelledBetweenDate(Date startDate, Date endDate, Collection<StateMachineArtifact> artifacts) throws OseeCoreException {
+ List<StateMachineArtifact> smas = new ArrayList<StateMachineArtifact>();
+ for (StateMachineArtifact sma : artifacts) {
+ Date completedCancelDate = null;
+ if (sma.getSmaMgr().isCancelledOrCompleted()) {
+ if (sma.getSmaMgr().isCancelled()) {
+ completedCancelDate = sma.getWorldViewCancelledDate();
+ } else {
+ completedCancelDate = sma.getWorldViewCompletedDate();
+ }
+ }
+ if (completedCancelDate == null) continue;
+ if (completedCancelDate.after(startDate) && completedCancelDate.before(endDate)) {
+ smas.add(sma);
+ }
+ }
+ return smas;
+ }
+
+ public static Double getHoursSpent(Collection<StateMachineArtifact> artifacts) throws OseeCoreException {
+ Double hoursSpent = 0.0;
+ for (StateMachineArtifact sma : artifacts) {
+ hoursSpent += sma.getWorldViewHoursSpentTotal();
+ }
+ return hoursSpent;
+ }
+
+ public static Collection<StateMachineArtifact> getStateAtDate(Date date, Collection<String> states, Collection<StateMachineArtifact> artifacts) throws OseeCoreException {
+ List<StateMachineArtifact> smas = new ArrayList<StateMachineArtifact>();
+ for (StateMachineArtifact sma : artifacts) {
+ Date createDate = sma.getWorldViewCreatedDate();
+ if (createDate.after(date)) continue;
+ // Find state at date
+ String currentState = sma.getSmaMgr().getStateMgr().getCurrentStateName();
+ for (LogItem item : sma.getSmaMgr().getLog().getLogItems()) {
+ if (item.getDate().before(date)) {
+ currentState = item.getState();
+ }
+ }
+ if (states.contains(currentState)) {
+ smas.add(sma);
+ }
+ }
+ return smas;
+ }
+
+ /**
+ * Returns sma if change type, or parent team workflow's change type is in specified set
+ *
+ * @param changeTypes
+ * @param artifacts
+ * @throws OseeCoreException
+ */
+ public static Collection<StateMachineArtifact> getChangeType(Collection<ChangeType> changeTypes, Collection<StateMachineArtifact> artifacts) throws OseeCoreException {
+ List<StateMachineArtifact> smas = new ArrayList<StateMachineArtifact>();
+ for (StateMachineArtifact sma : artifacts) {
+ TeamWorkFlowArtifact teamArt = sma.getParentTeamWorkflow();
+ if (changeTypes.contains(teamArt.getChangeType())) {
+ smas.add(sma);
+ }
+ }
+ return smas;
+
+ }
+
+ /**
+ * Returns sma if priority type, or parent team workflow's priority type is in specified set
+ *
+ * @param priorityTypes
+ * @param artifacts
+ * @throws OseeCoreException
+ */
+ public static Collection<StateMachineArtifact> getPriorityType(Collection<PriorityType> priorityTypes, Collection<StateMachineArtifact> artifacts) throws OseeCoreException {
+ List<StateMachineArtifact> smas = new ArrayList<StateMachineArtifact>();
+ for (StateMachineArtifact sma : artifacts) {
+ TeamWorkFlowArtifact teamArt = sma.getParentTeamWorkflow();
+ if (priorityTypes.contains(teamArt.getPriority())) {
+ smas.add(sma);
+ }
+ }
+ return smas;
+
+ }
+
+ public static Collection<StateMachineArtifact> getTeamDefinitionWorkflows(Collection<? extends Artifact> artifacts, Collection<TeamDefinitionArtifact> teamDefs) throws OseeCoreException {
+ List<StateMachineArtifact> returnSmas = new ArrayList<StateMachineArtifact>();
+ for (StateMachineArtifact sma : getSMAs(artifacts)) {
+ if (sma.getParentTeamWorkflow() == null) continue;
+ if (teamDefs.contains(sma.getParentTeamWorkflow().getTeamDefinition())) returnSmas.add(sma);
+ }
+ return returnSmas;
+ }
+
+ public static Collection<StateMachineArtifact> getVersionWorkflows(Collection<? extends Artifact> artifacts, Collection<VersionArtifact> versionArts) throws OseeCoreException {
+ List<StateMachineArtifact> returnSmas = new ArrayList<StateMachineArtifact>();
+ for (StateMachineArtifact sma : getSMAs(artifacts)) {
+ if (sma.getParentTeamWorkflow() == null) continue;
+ if (sma.getWorldViewTargetedVersion() == null) continue;
+ if (versionArts.contains(sma.getWorldViewTargetedVersion())) returnSmas.add(sma);
+ }
+ return returnSmas;
+ }
+
+ public static Collection<StateMachineArtifact> getSMAs(Collection<? extends Artifact> artifacts) throws OseeCoreException {
+ List<StateMachineArtifact> smas = new ArrayList<StateMachineArtifact>();
+ for (Artifact artifact : artifacts) {
+ if (artifact instanceof StateMachineArtifact) {
+ smas.add((StateMachineArtifact) artifact);
+ }
+ }
+ return smas;
+ }
+
+}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyCompletedSearchItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyCompletedSearchItem.java
deleted file mode 100644
index 73ee1ec01f0..00000000000
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyCompletedSearchItem.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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.ats.world.search;
-
-import java.util.Collection;
-import org.eclipse.osee.ats.artifact.ATSAttributes;
-import org.eclipse.osee.ats.util.AtsUtil;
-import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
-import org.eclipse.osee.framework.skynet.core.User;
-import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
-
-/**
- * @author Donald G. Dunne
- */
-public class MyCompletedSearchItem extends UserSearchItem {
-
- public MyCompletedSearchItem() {
- this("My Completed", null);
- }
-
- public MyCompletedSearchItem(String name) {
- super(name, null);
- }
-
- public MyCompletedSearchItem(String name, User user) {
- super(name, user);
- }
-
- public MyCompletedSearchItem(MyCompletedSearchItem myCompletedSearchItem) {
- super(myCompletedSearchItem);
- }
-
- @Override
- protected Collection<Artifact> searchIt(User user) throws OseeCoreException {
- if (isCancelled()) return EMPTY_SET;
- // SMA having user as portion of current state attribute (Team WorkFlow and Task)
- String valueToMatch =
- "%state=\"Completed\" type=\"StateEntered\" userId=\"" + getSearchUser().getUserId() + "\"%";
- return ArtifactQuery.getArtifactsFromAttribute(ATSAttributes.LOG_ATTRIBUTE.getStoreName(), valueToMatch,
- AtsUtil.getAtsBranch());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.osee.ats.world.search.WorldUISearchItem#copy()
- */
- @Override
- public WorldUISearchItem copy() {
- return new MyCompletedSearchItem(this);
- }
-
-}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyOrigSearchItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyOrigSearchItem.java
deleted file mode 100644
index 54ea22b7df2..00000000000
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyOrigSearchItem.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * 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.ats.world.search;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import org.eclipse.osee.ats.artifact.ATSAttributes;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
-import org.eclipse.osee.ats.util.AtsUtil;
-import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
-import org.eclipse.osee.framework.skynet.core.User;
-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.skynet.FrameworkImage;
-
-/**
- * @author Donald G. Dunne
- */
-public class MyOrigSearchItem extends UserSearchItem {
-
- private final OriginatedState originatedState;
-
- public enum OriginatedState {
- InWork, All
- };
-
- public MyOrigSearchItem(String name, User user, OriginatedState originatedState) {
- super(name, user, FrameworkImage.USER);
- this.originatedState = originatedState;
- }
-
- public MyOrigSearchItem(MyOrigSearchItem myOrigSearchItem) {
- super(myOrigSearchItem, null);
- this.originatedState = myOrigSearchItem.originatedState;
- }
-
- @Override
- protected Collection<Artifact> searchIt(User user) throws OseeCoreException {
-
- Collection<Artifact> artifacts =
- ArtifactQuery.getArtifactsFromAttribute(ATSAttributes.LOG_ATTRIBUTE.getStoreName(),
- "%type=\"Originated\" userId=\"" + user.getUserId() + "\"%", AtsUtil.getAtsBranch());
-
- List<Artifact> artifactsToReturn = new ArrayList<Artifact>(artifacts.size());
- for (Artifact artifact : artifacts) {
- if (artifact instanceof StateMachineArtifact) {
- if (originatedState == OriginatedState.All || (originatedState == OriginatedState.InWork && !((StateMachineArtifact) artifact).getSmaMgr().isCancelledOrCompleted())) {
- artifactsToReturn.add(artifact);
- }
- }
- }
- return artifactsToReturn;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.osee.ats.world.search.WorldUISearchItem#copy()
- */
- @Override
- public WorldUISearchItem copy() {
- return new MyOrigSearchItem(this);
- }
-
-}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/UserWorldSearchItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/UserWorldSearchItem.java
new file mode 100644
index 00000000000..add8f1f0fb2
--- /dev/null
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/UserWorldSearchItem.java
@@ -0,0 +1,122 @@
+/*
+ * Created on Jul 11, 2009
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.world.search;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+import org.eclipse.osee.ats.artifact.ATSAttributes;
+import org.eclipse.osee.ats.artifact.ReviewSMArtifact;
+import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.artifact.TaskArtifact;
+import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
+import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
+import org.eclipse.osee.ats.artifact.VersionArtifact;
+import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState;
+import org.eclipse.osee.ats.util.AtsRelation;
+import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.SMAUtil;
+import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.util.Collections;
+import org.eclipse.osee.framework.skynet.core.User;
+import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
+import org.eclipse.osee.framework.skynet.core.relation.CoreRelationEnumeration;
+import org.eclipse.osee.framework.skynet.core.relation.RelationManager;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class UserWorldSearchItem {
+
+ private final Collection<TeamDefinitionArtifact> teamDefs;
+ private final Collection<VersionArtifact> versions;
+ private final Collection<UserSearchOption> options;
+ private final User user;
+
+ public static enum UserSearchOption {
+ None,
+ Favorites,
+ Subscribed,
+ Originator,
+ IncludeCompleted,
+ IncludeCancelled,
+ IncludeTeamWorkflows,
+ IncludeReviews,
+ IncludeTasks
+ };
+
+ public UserWorldSearchItem(User user, Collection<TeamDefinitionArtifact> teamDefs, Collection<VersionArtifact> versions, UserSearchOption... userSearchOption) {
+ this.user = user;
+ this.teamDefs = teamDefs;
+ this.versions = versions;
+ this.options = Collections.getAggregate(userSearchOption);
+ }
+
+ public Collection<StateMachineArtifact> performSearch() throws OseeCoreException {
+ Set<StateMachineArtifact> searchArts = new HashSet<StateMachineArtifact>();
+ if (options.contains(UserSearchOption.Originator))
+ searchArts.addAll(getOriginatorArtifacts());
+ else if (options.contains(UserSearchOption.Subscribed))
+ searchArts.addAll(getSubscribedArtifacts());
+ else if (options.contains(UserSearchOption.Favorites))
+ searchArts.addAll(getFavoritesArtifacts());
+ else {
+ searchArts.addAll(SMAUtil.getSMAs(RelationManager.getRelatedArtifacts(Arrays.asList(user), 1,
+ CoreRelationEnumeration.Users_Artifact)));
+ // If include cancelled or completed, need to perform extra search
+ // Note: Don't need to do this for Originator, Subscribed or Favorites, cause it does completed canceled in it's own searches
+ if (options.contains(UserSearchOption.IncludeCancelled) || options.contains(UserSearchOption.IncludeCompleted)) {
+ searchArts.addAll(SMAUtil.getSMAs(ArtifactQuery.getArtifactsFromAttribute(
+ ATSAttributes.STATE_ATTRIBUTE.getStoreName(), "%<" + user.getUserId() + ">%", AtsUtil.getAtsBranch())));
+ }
+ }
+
+ Collection<Class<?>> filterClasses = new ArrayList<Class<?>>();
+ if (!options.contains(UserSearchOption.IncludeReviews)) filterClasses.add(ReviewSMArtifact.class);
+ if (!options.contains(UserSearchOption.IncludeTeamWorkflows)) filterClasses.add(TeamWorkFlowArtifact.class);
+ if (!options.contains(UserSearchOption.IncludeTasks)) filterClasses.add(TaskArtifact.class);
+
+ Collection<StateMachineArtifact> filteredArts = SMAUtil.filterOutTypes(searchArts, filterClasses);
+
+ if (teamDefs != null && teamDefs.size() > 0) filteredArts =
+ SMAUtil.getTeamDefinitionWorkflows(filteredArts, teamDefs);
+
+ if (versions != null && versions.size() > 0) filteredArts = SMAUtil.getVersionWorkflows(filteredArts, versions);
+
+ // Handle include completed/cancelled option
+ if (options.contains(UserSearchOption.IncludeCompleted) && options.contains(UserSearchOption.IncludeCancelled)) {
+ return filteredArts;
+ }
+
+ if (!options.contains(UserSearchOption.IncludeCancelled)) {
+ filteredArts =
+ SMAUtil.filterOutState(filteredArts, java.util.Collections.singleton(DefaultTeamState.Cancelled.name()));
+ }
+
+ if (!options.contains(UserSearchOption.IncludeCompleted)) {
+ filteredArts =
+ SMAUtil.filterOutState(filteredArts, java.util.Collections.singleton(DefaultTeamState.Completed.name()));
+ }
+
+ return filteredArts;
+ }
+
+ private Collection<StateMachineArtifact> getOriginatorArtifacts() throws OseeCoreException {
+ return Collections.castAll(ArtifactQuery.getArtifactsFromAttribute(ATSAttributes.LOG_ATTRIBUTE.getStoreName(),
+ "%type=\"Originated\" userId=\"" + user.getUserId() + "\"%", AtsUtil.getAtsBranch()));
+ }
+
+ private Collection<StateMachineArtifact> getSubscribedArtifacts() throws OseeCoreException {
+ return user.getRelatedArtifactsOfType(AtsRelation.SubscribedUser_Artifact, StateMachineArtifact.class);
+ }
+
+ private Collection<StateMachineArtifact> getFavoritesArtifacts() throws OseeCoreException {
+ return user.getRelatedArtifactsOfType(AtsRelation.FavoriteUser_Artifact, StateMachineArtifact.class);
+ }
+
+}
diff --git a/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF b/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF
index 3c6023b8172..b120cca7809 100644
--- a/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF
+++ b/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF
@@ -69,6 +69,7 @@ Export-Package: org.eclipse.osee.framework.ui.skynet,
org.eclipse.osee.framework.ui.skynet.commandHandlers.branch,
org.eclipse.osee.framework.ui.skynet.commandHandlers.branch.commit,
org.eclipse.osee.framework.ui.skynet.commandHandlers.renderer.handlers,
+ org.eclipse.osee.framework.ui.skynet.compare,
org.eclipse.osee.framework.ui.skynet.dbinit,
org.eclipse.osee.framework.ui.skynet.dialogs,
org.eclipse.osee.framework.ui.skynet.export,
diff --git a/org.eclipse.osee.framework.ui.skynet/images/aspect.gif b/org.eclipse.osee.framework.ui.skynet/images/aspect.gif
deleted file mode 100644
index 11d750ac0f2..00000000000
--- a/org.eclipse.osee.framework.ui.skynet/images/aspect.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.osee.framework.ui.skynet/images/product.gif b/org.eclipse.osee.framework.ui.skynet/images/product.gif
deleted file mode 100644
index 346a94d0201..00000000000
--- a/org.eclipse.osee.framework.ui.skynet/images/product.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.osee.framework.ui.skynet/images/task.gif b/org.eclipse.osee.framework.ui.skynet/images/task.gif
deleted file mode 100644
index 36fc007591a..00000000000
--- a/org.eclipse.osee.framework.ui.skynet/images/task.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.osee.framework.ui.skynet/images/results.gif b/org.eclipse.osee.framework.ui.skynet/images/www.gif
index 4c882068b69..fdea33da196 100644
--- a/org.eclipse.osee.framework.ui.skynet/images/results.gif
+++ b/org.eclipse.osee.framework.ui.skynet/images/www.gif
Binary files differ
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/compare/IResultsEditorCompareTab.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/compare/IResultsEditorCompareTab.java
new file mode 100644
index 00000000000..bd133123a6f
--- /dev/null
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/compare/IResultsEditorCompareTab.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * 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.results.compare;
+
+import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
+import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorTab;
+
+/**
+ * @author Donald G. Dunne
+ */
+public interface IResultsEditorCompareTab extends IResultsEditorTab {
+
+ public String getLeftString() throws OseeCoreException;
+
+ public String getRightString() throws OseeCoreException;
+
+}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/compare/ResultsEditorCompareTab.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/compare/ResultsEditorCompareTab.java
new file mode 100644
index 00000000000..c8d96a6fad7
--- /dev/null
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/results/compare/ResultsEditorCompareTab.java
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * 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.results.compare;
+
+import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
+import org.eclipse.osee.framework.ui.skynet.results.ResultsEditor;
+import org.eclipse.osee.framework.ui.swt.ALayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.ToolBar;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class ResultsEditorCompareTab implements IResultsEditorCompareTab {
+
+ private final String tabName;
+ private final String rightStr;
+ private final String leftStr;
+
+ public ResultsEditorCompareTab(String title, String tabName, String leftStr, String rightStr) {
+ this.tabName = tabName;
+ this.leftStr = leftStr;
+ this.rightStr = rightStr;
+ org.eclipse.core.runtime.Assert.isNotNull(tabName);
+ org.eclipse.core.runtime.Assert.isNotNull(leftStr);
+ org.eclipse.core.runtime.Assert.isNotNull(rightStr);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.ui.skynet.results.IResultsEditorTab#getTabName()
+ */
+ @Override
+ public String getTabName() {
+ return tabName;
+ }
+
+ public Composite createTab(Composite parent, ResultsEditor resultsEditor) throws OseeCoreException {
+
+ Composite comp = ALayout.createCommonPageComposite(parent);
+ ToolBar toolBar = resultsEditor.createToolBar(comp);
+ createToolbar(toolBar);
+
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ return comp;
+ }
+
+ private void createToolbar(ToolBar toolBar) {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.ui.skynet.results.compare.IResultsEditorCompareTab#getLeftString()
+ */
+ @Override
+ public String getLeftString() throws OseeCoreException {
+ return leftStr;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.ui.skynet.results.compare.IResultsEditorCompareTab#getRightString()
+ */
+ @Override
+ public String getRightString() throws OseeCoreException {
+ return rightStr;
+ }
+
+}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItem.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItem.java
index 55c24f0581d..cbf1dd03d07 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItem.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItem.java
@@ -25,19 +25,12 @@ public class XNavigateItem {
private final List<XNavigateItem> children = new ArrayList<XNavigateItem>();
private String name;
private XNavigateItem parent;
- private final Image image;
+ private final OseeImage oseeImage;
public XNavigateItem(XNavigateItem parent, String name, OseeImage oseeImage) {
this.parent = parent;
this.name = name;
- this.image = oseeImage == null ? null : ImageManager.getImage(oseeImage);
- if (parent != null) parent.addChild(this);
- }
-
- public XNavigateItem(XNavigateItem parent, String name, Image oseeImage) {
- this.parent = parent;
- this.name = name;
- this.image = oseeImage;
+ this.oseeImage = oseeImage;
if (parent != null) parent.addChild(this);
}
@@ -69,7 +62,10 @@ public class XNavigateItem {
* @return the image
*/
public Image getImage() {
- return image;
+ if (oseeImage != null) {
+ return ImageManager.getImage(oseeImage);
+ }
+ return null;
}
/**
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItemAction.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItemAction.java
index bb1d341d919..2095f73ee13 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItemAction.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateItemAction.java
@@ -15,7 +15,6 @@ import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.osee.framework.ui.plugin.util.Displays;
import org.eclipse.osee.framework.ui.skynet.OseeImage;
import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateComposite.TableLoadOption;
-import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
/**
@@ -52,13 +51,6 @@ public class XNavigateItemAction extends XNavigateItem {
this.promptFirst = promptFirst;
}
- @Deprecated
- public XNavigateItemAction(XNavigateItem parent, Action action, Image oseeImage, boolean promptFirst) {
- super(parent, action.getText(), oseeImage);
- this.action = action;
- this.promptFirst = promptFirst;
- }
-
@Override
public void run(TableLoadOption... tableLoadOptions) throws Exception {
if (action != null) {
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateUrlItem.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateUrlItem.java
index f2d8daf9a76..753d19be565 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateUrlItem.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xnavigate/XNavigateUrlItem.java
@@ -14,6 +14,7 @@ import java.net.URL;
import org.eclipse.osee.framework.db.connection.exception.OseeArgumentException;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
import org.eclipse.osee.framework.ui.skynet.OseeImage;
import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateComposite.TableLoadOption;
@@ -40,7 +41,7 @@ public class XNavigateUrlItem extends XNavigateItemAction {
* @throws OseeArgumentException
*/
public XNavigateUrlItem(XNavigateItem parent, String name, String url, boolean external) throws OseeArgumentException {
- this(parent, name, url, external, null);
+ this(parent, name, url, external, FrameworkImage.GEAR);
}
public XNavigateUrlItem(XNavigateItem parent, String name, String url, boolean external, OseeImage oseeImage) throws OseeArgumentException {

Back to the top