diff options
author | ddunne | 2008-07-01 00:42:22 +0000 |
---|---|---|
committer | ddunne | 2008-07-01 00:42:22 +0000 |
commit | 719b8331da5d4a01d2032d3c9f8329fce5ff65cf (patch) | |
tree | f69fb177b98e407c2e5f8019a05e26051aa90b01 | |
parent | aa37b5bc20a4a41bce5e8fdf85e2d41d9e06028a (diff) | |
download | org.eclipse.osee-719b8331da5d4a01d2032d3c9f8329fce5ff65cf.tar.gz org.eclipse.osee-719b8331da5d4a01d2032d3c9f8329fce5ff65cf.tar.xz org.eclipse.osee-719b8331da5d4a01d2032d3c9f8329fce5ff65cf.zip |
Run ATS regression test using demo DB
15 files changed, 144 insertions, 118 deletions
diff --git a/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDbReviews.java b/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDbReviews.java index 3bc6fa131d7..90e74c1e446 100644 --- a/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDbReviews.java +++ b/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDbReviews.java @@ -40,9 +40,9 @@ public class DemoDbReviews { }
/**
- * Create<br>
- * 0) NOTE: One decision review was already created through the validation flag being set on a workflow<br>
- * 1) Decision in ReWork state w Joe Smith assignee and 2 reviewers<br>
+ * Create Decision Reviews<br>
+ * 1) ALREADY CREATED: Decision review created through the validation flag being set on a workflow<br>
+ * 2) Decision in ReWork state w Joe Smith assignee and 2 reviewers<br>
* 3) Decision in Complete state w Joe Smith assignee and completed<br>
* <br>
*
@@ -57,13 +57,22 @@ public class DemoDbReviews { // Create a Decision review and transition to ReWork
DecisionReviewArtifact reviewArt = firstTestArt.getSmaMgr().getReviewManager().createValidateReview(true);
- DefaultDecisionReviewWorkflowManager.transitionTo(reviewArt, DecisionReviewArtifact.StateNames.Followup,
- SkynetAuthentication.getUser(), false);
+ Result result =
+ DefaultDecisionReviewWorkflowManager.transitionTo(reviewArt, DecisionReviewArtifact.StateNames.Followup,
+ SkynetAuthentication.getUser(), false);
+ if (result.isFalse()) {
+ throw new IllegalStateException("Failed transitioning review to Followup: " + result.getText());
+ }
+ reviewArt.persistAttributesAndRelations();
// Create a Decision review and transition to Completed
reviewArt = secondTestArt.getSmaMgr().getReviewManager().createValidateReview(true);
DefaultDecisionReviewWorkflowManager.transitionTo(reviewArt, DecisionReviewArtifact.StateNames.Completed,
SkynetAuthentication.getUser(), false);
+ if (result.isFalse()) {
+ throw new IllegalStateException("Failed transitioning review to Completed: " + result.getText());
+ }
+ reviewArt.persistAttributesAndRelations();
}
@@ -123,6 +132,8 @@ public class DemoDbReviews { if (result.isFalse()) {
throw new IllegalStateException("Failed transitioning review to Review: " + result.getText());
}
+ reviewArt.persistAttributesAndRelations();
+
// Create a PeerToPeer review and transition to Completed
reviewArt =
secondCodeArt.getSmaMgr().getReviewManager().createNewPeerToPeerReview(
diff --git a/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/testDb/AtsNavigateItemsToWorldViewTest.java b/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/testDb/AtsNavigateItemsToWorldViewTest.java index c99efd23399..98fec0b45bb 100644 --- a/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/testDb/AtsNavigateItemsToWorldViewTest.java +++ b/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/testDb/AtsNavigateItemsToWorldViewTest.java @@ -40,6 +40,7 @@ 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.UniversalGroup;
import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
+import org.eclipse.osee.framework.ui.skynet.util.OSEELog;
import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItem;
import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateComposite.TableLoadOption;
@@ -61,7 +62,7 @@ public class AtsNavigateItemsToWorldViewTest extends TestCase { }
public void testMyWorld() throws Exception {
- runGeneralLoadingTest("My World", ActionArtifact.class, 5, null);
+ runGeneralLoadingTest("My World", ActionArtifact.class, 6, null);
}
public void testMyFavorites() throws Exception {
@@ -77,8 +78,9 @@ public class AtsNavigateItemsToWorldViewTest extends TestCase { public void testMyReviews() throws Exception {
runGeneralLoadingTest("My Reviews", PeerToPeerReviewArtifact.class, 2, null);
- // TODO Transition Review to Completed and another to Cancelled and test My Reviews - All returns them
- runGeneralLoadingTest("My Reviews - All", PeerToPeerReviewArtifact.class, 3, null);
+ runGeneralLoadingTest("My Reviews", DecisionReviewArtifact.class, 2, null);
+ runGeneralLoadingTest("My Reviews - All", PeerToPeerReviewArtifact.class, 2, null);
+ runGeneralLoadingTest("My Reviews - All", DecisionReviewArtifact.class, 3, null);
}
public void testMySubscribed() throws Exception {
@@ -86,7 +88,7 @@ public class AtsNavigateItemsToWorldViewTest extends TestCase { }
public void testMyWorkflows() throws Exception {
- runGeneralLoadingTest("My Team Workflows", TeamWorkFlowArtifact.class, 8, null);
+ runGeneralLoadingTest("My Team Workflows", TeamWorkFlowArtifact.class, 9, null);
}
public void testMyTasks() throws Exception {
@@ -94,12 +96,20 @@ public class AtsNavigateItemsToWorldViewTest extends TestCase { }
public void testMyOriginator() throws Exception {
- runGeneralLoadingTest("My Originator - InWork", ActionArtifact.class, 10, null);
- runGeneralLoadingTest("My Originator - All", ActionArtifact.class, 16, null);
+ runGeneralLoadingTest("My Originator - InWork", TaskArtifact.class, DemoDbTasks.getNumTasks(), null);
+ runGeneralLoadingTest("My Originator - InWork", TeamWorkFlowArtifact.class, 18, null);
+ runGeneralLoadingTest("My Originator - InWork", PeerToPeerReviewArtifact.class, 2, null);
+ runGeneralLoadingTest("My Originator - InWork", DecisionReviewArtifact.class, 2, null);
+ runGeneralLoadingTest("My Originator - All", TaskArtifact.class, DemoDbTasks.getNumTasks(), null);
+ runGeneralLoadingTest("My Originator - All", TeamWorkFlowArtifact.class, 25, null);
+ runGeneralLoadingTest("My Originator - All", PeerToPeerReviewArtifact.class, 2, null);
+ runGeneralLoadingTest("My Originator - All", DecisionReviewArtifact.class, 3, null);
}
public void testMyCompleted() throws Exception {
- runGeneralLoadingTest("My Completed", TeamWorkFlowArtifact.class, 23, null);
+ runGeneralLoadingTest("My Completed", TeamWorkFlowArtifact.class, 7, null);
+ runGeneralLoadingTest("My Completed", PeerToPeerReviewArtifact.class, 1, null);
+ runGeneralLoadingTest("My Completed", DecisionReviewArtifact.class, 1, null);
}
public void testMyRecentlyVisited() throws Exception {
@@ -108,7 +118,9 @@ public class AtsNavigateItemsToWorldViewTest extends TestCase { }
public void testOtherUsersWorld() throws Exception {
- runGeneralLoadingTest("User's World", ActionArtifact.class, 4, kayJones);
+ OSEELog.logInfo(AtsPlugin.class, "Testing User's items relating to " + kayJones, false);
+ XNavigateItem item = NavigateTestUtil.getAtsNavigateItems("User's World").iterator().next();
+ runGeneralLoadingTest(item, ActionArtifact.class, 4, kayJones);
}
public void testOtherUsersReviews() throws Exception {
@@ -130,12 +142,12 @@ public class AtsNavigateItemsToWorldViewTest extends TestCase { }
public void testOtherUsersWorkflows() throws Exception {
- runGeneralLoadingTest("User's Team Workflows", TeamWorkFlowArtifact.class, 8, kayJones);
+ runGeneralLoadingTest("User's Team Workflows", TeamWorkFlowArtifact.class, 7, kayJones);
}
public void testOtherUsersOriginator() throws Exception {
- runGeneralLoadingTest("User's Originator - InWork", ActionArtifact.class, 0, kayJones);
- runGeneralLoadingTest("User's Originator - All", ActionArtifact.class, 0, kayJones);
+ runGeneralLoadingTest("User's Originator - InWork", PeerToPeerReviewArtifact.class, 0, kayJones);
+ runGeneralLoadingTest("User's Originator - All", PeerToPeerReviewArtifact.class, 1, kayJones);
}
public void testOtherUsersCompleted() throws Exception {
@@ -154,7 +166,7 @@ public class AtsNavigateItemsToWorldViewTest extends TestCase { Collection<Artifact> arts = WorldView.getLoadedArtifacts();
NavigateTestUtil.testExpectedVersusActual(item.getName() + " Actions", arts, ActionArtifact.class, 2);
- NavigateTestUtil.testExpectedVersusActual(item.getName() + " Teams", arts, TeamWorkFlowArtifact.class, 4);
+ NavigateTestUtil.testExpectedVersusActual(item.getName() + " Teams", arts, TeamWorkFlowArtifact.class, 7);
NavigateTestUtil.testExpectedVersusActual(item.getName() + " Tasks", arts, TaskArtifact.class,
DemoDbTasks.getNumTasks());
}
@@ -163,21 +175,21 @@ public class AtsNavigateItemsToWorldViewTest extends TestCase { XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("User Community Search");
assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof UserCommunitySearchItem);
((UserCommunitySearchItem) (((SearchNavigateItem) item).getWorldSearchItem())).setSelectedUserComm("Program 2");
- handleGeneralDoubleClickAndTestResults(item, ActionArtifact.class, 6);
+ runGeneralLoadingTest(item, ActionArtifact.class, 6);
}
public void testActionableItemSearch() throws Exception {
XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Actionable Item Actions");
assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof ActionableItemWorldSearchItem);
((ActionableItemWorldSearchItem) (((SearchNavigateItem) item).getWorldSearchItem())).setSelectedActionItems(ActionableItemArtifact.getActionableItems(Arrays.asList("SAW Code")));
- handleGeneralDoubleClickAndTestResults(item, ActionArtifact.class, 7);
+ runGeneralLoadingTest(item, ActionArtifact.class, 3);
}
public void testTeamDefinitionSearch() throws Exception {
XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Team Actions");
assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof TeamWorldSearchItem);
((TeamWorldSearchItem) (((SearchNavigateItem) item).getWorldSearchItem())).setSelectedTeamDefs(TeamDefinitionArtifact.getTeamDefinitions(Arrays.asList("SAW Code")));
- handleGeneralDoubleClickAndTestResults(item, ActionArtifact.class, 7);
+ runGeneralLoadingTest(item, TeamWorkFlowArtifact.class, 3);
}
public void testTeamDefinitionByVersionSearch() throws Exception {
@@ -186,7 +198,7 @@ public class AtsNavigateItemsToWorldViewTest extends TestCase { ((TeamVersionWorldSearchItem) (((SearchNavigateItem) item).getWorldSearchItem())).setSelectedTeamDefs(TeamDefinitionArtifact.getTeamDefinitions(Arrays.asList("SAW Code")));
((TeamVersionWorldSearchItem) (((SearchNavigateItem) item).getWorldSearchItem())).setSelectedVersion(VersionArtifact.getVersions(
Arrays.asList("SAW_Bld_2")).iterator().next());
- handleGeneralDoubleClickAndTestResults(item, TeamWorkFlowArtifact.class, 6);
+ runGeneralLoadingTest(item, TeamWorkFlowArtifact.class, 3);
}
public void testTargetedForVersionTeamSearch() throws Exception {
@@ -196,7 +208,7 @@ public class AtsNavigateItemsToWorldViewTest extends TestCase { assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof VersionTargetedForTeamSearchItem);
((VersionTargetedForTeamSearchItem) (((SearchNavigateItem) item).getWorldSearchItem())).setSelectedVersionArt(VersionArtifact.getVersions(
Arrays.asList("SAW_Bld_2")).iterator().next());
- handleGeneralDoubleClickAndTestResults(item, TeamWorkFlowArtifact.class, 19);
+ runGeneralLoadingTest(item, TeamWorkFlowArtifact.class, 14);
}
public void testTargetedForTeamSearch() throws Exception {
@@ -206,58 +218,61 @@ public class AtsNavigateItemsToWorldViewTest extends TestCase { assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof NextVersionSearchItem);
((NextVersionSearchItem) (((SearchNavigateItem) item).getWorldSearchItem())).setSelectedTeamDef(TeamDefinitionArtifact.getTeamDefinitions(
Arrays.asList("SAW SW")).iterator().next());
- handleGeneralDoubleClickAndTestResults(item, TeamWorkFlowArtifact.class, 19);
+ runGeneralLoadingTest(item, TeamWorkFlowArtifact.class, 14);
}
public void testShowOpenDecisionReviewsSearch() throws Exception {
XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Show Open Decision Reviews");
assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof ShowOpenWorkflowsByArtifactType);
- handleGeneralDoubleClickAndTestResults(item, DecisionReviewArtifact.class, 3);
+ runGeneralLoadingTest(item, DecisionReviewArtifact.class, 2);
}
public void testShowWorkflowsWaitingForDecisionReviewsSearch() throws Exception {
XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Show Workflows Waiting Decision Reviews");
assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof ShowOpenWorkflowsByArtifactType);
- handleGeneralDoubleClickAndTestResults(item, TeamWorkFlowArtifact.class, 1);
+ runGeneralLoadingTest(item, TeamWorkFlowArtifact.class, 2);
}
public void testShowOpenPeerToPeerReviewsSearch() throws Exception {
XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Show Open PeerToPeer Reviews");
assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof ShowOpenWorkflowsByArtifactType);
- handleGeneralDoubleClickAndTestResults(item, PeerToPeerReviewArtifact.class, 2);
+ runGeneralLoadingTest(item, PeerToPeerReviewArtifact.class, 2);
}
public void testShowWorkflowsWaitingForPeerToPeerReviewsSearch() throws Exception {
XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Show Workflows Waiting PeerToPeer Reviews");
assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof ShowOpenWorkflowsByArtifactType);
- handleGeneralDoubleClickAndTestResults(item, TeamWorkFlowArtifact.class, 1);
+ runGeneralLoadingTest(item, TeamWorkFlowArtifact.class, 1);
}
public void testSearchByCurrentState() throws Exception {
XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Search by Current State");
assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof StateWorldSearchItem);
((StateWorldSearchItem) (((SearchNavigateItem) item).getWorldSearchItem())).setSelectedStateClass("Implement");
- handleGeneralDoubleClickAndTestResults(item, TeamWorkFlowArtifact.class, 20);
+ runGeneralLoadingTest(item, TeamWorkFlowArtifact.class, 17);
}
public void testSearchForAuthorizeActions() throws Exception {
XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Search for Authorize Actions");
assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof StateWorldSearchItem);
- System.out.println("Waiting...");
- handleGeneralDoubleClickAndTestResults(item, TeamWorkFlowArtifact.class, 0);
+ runGeneralLoadingTest(item, TeamWorkFlowArtifact.class, 0);
}
public Collection<Artifact> runGeneralLoadingTest(String xNavigateItemName, Class<?> clazz, int numOfType, User user) throws Exception {
XNavigateItem item = NavigateTestUtil.getAtsNavigateItem(xNavigateItemName);
+ return runGeneralLoadingTest(item, clazz, numOfType, user);
+ }
+
+ public Collection<Artifact> runGeneralLoadingTest(XNavigateItem item, Class<?> clazz, int numOfType) throws Exception {
+ return runGeneralLoadingTest(item, clazz, numOfType, null);
+ }
+
+ public Collection<Artifact> runGeneralLoadingTest(XNavigateItem item, Class<?> clazz, int numOfType, User user) throws Exception {
if (user != null && (item instanceof SearchNavigateItem)) {
if (((SearchNavigateItem) item).getWorldSearchItem() instanceof UserSearchItem) {
((UserSearchItem) (((SearchNavigateItem) item).getWorldSearchItem())).setSelectedUser(user);
}
}
- return handleGeneralDoubleClickAndTestResults(item, clazz, numOfType);
- }
-
- public Collection<Artifact> handleGeneralDoubleClickAndTestResults(XNavigateItem item, Class<?> clazz, int numOfType) {
NavigateView.getNavigateView().handleDoubleClick(item, TableLoadOption.ForcePend, TableLoadOption.NoUI);
Collection<Artifact> arts = WorldView.getLoadedArtifacts();
NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, clazz, numOfType);
diff --git a/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/testDb/NavigateTestUtil.java b/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/testDb/NavigateTestUtil.java index 29605dffc2c..e3b452cc54f 100644 --- a/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/testDb/NavigateTestUtil.java +++ b/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/testDb/NavigateTestUtil.java @@ -11,8 +11,10 @@ import java.util.HashMap; import java.util.List;
import java.util.Map;
import junit.framework.TestCase;
+import org.eclipse.osee.ats.AtsPlugin;
import org.eclipse.osee.ats.navigate.AtsNavigateViewItems;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.ui.skynet.util.OSEELog;
import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItem;
/**
@@ -45,11 +47,12 @@ public class NavigateTestUtil { public static void testExpectedVersusActual(String name, Collection<? extends Artifact> arts, Class<?> clazz, int expectedNumOfType) {
int actualNumOfType = numOfType(arts, clazz);
- String expectedStr = "\"" + name + "\" Expected: " + expectedNumOfType + " Found: " + actualNumOfType;
+ String expectedStr =
+ "\"" + name + "\" Expected: " + expectedNumOfType + " Found: " + actualNumOfType + " Of Type: " + clazz;
if (expectedNumOfType != actualNumOfType)
- System.err.println(expectedStr);
+ OSEELog.logException(AtsPlugin.class, expectedStr, null, false);
else
- System.out.println(expectedStr);
+ OSEELog.logInfo(AtsPlugin.class, expectedStr, false);
TestCase.assertTrue(actualNumOfType == expectedNumOfType);
}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/VersionArtifact.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/VersionArtifact.java index dedafcffa6a..66f423c6b8f 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/VersionArtifact.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/VersionArtifact.java @@ -134,6 +134,6 @@ public class VersionArtifact extends BasicArtifact { * @throws SQLException */ public static VersionArtifact getSoleVersion(String name) throws OseeCoreException, SQLException { - return (VersionArtifact) AtsCache.getArtifactsByName(name, VersionArtifact.class); + return AtsCache.getArtifactsByName(name, VersionArtifact.class).iterator().next(); } } diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/health/ValidateAssignees.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/health/ValidateAssignees.java index 25e5e78f97d..9d570cc0ab6 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/health/ValidateAssignees.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/health/ValidateAssignees.java @@ -151,7 +151,7 @@ public class ValidateAssignees extends XNavigateItemAutoRunAction implements IAu rd.logError(sma.getArtifactTypeName() + " " + sma.getHumanReadableId() + " In Work without assignees"); } if (art instanceof StateMachineArtifact) { - List<Artifact> assigned = art.getArtifacts(CoreRelationEnumeration.Users_Artifact, Artifact.class); + List<Artifact> assigned = art.getArtifacts(CoreRelationEnumeration.Users_User, Artifact.class); if ((smaMgr.isCompleted() || smaMgr.isCancelled()) && assigned.size() > 0) { rd.logError(sma.getArtifactTypeName() + " " + sma.getHumanReadableId() + " cancel/complete with related assignees"); } else if (smaMgr.getStateMgr().getAssignees().size() != assigned.size()) { 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 2588431c0d7..2aefd8b5c55 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 @@ -118,16 +118,20 @@ public class AtsNavigateViewItems extends XNavigateViewItems { new SearchNavigateItem(otherItems, new MyTaskSearchItem("My Tasks (WorldView)", user, LoadView.WorldView)); new SearchNavigateItem(otherItems, new MyTaskSearchItem("My Tasks (Editor)", user, LoadView.TaskEditor)); new SearchNavigateItem(otherItems, new MySubscribedSearchItem("My Subscribed", user)); - new SearchNavigateItem(otherItems, new MyOrigSearchItem("My Originator - InWork", user, true)); - new SearchNavigateItem(otherItems, new MyOrigSearchItem("My Originator - All", user, false)); + 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 XNavigateItem(null, "Other User Searches"); new SearchNavigateItem(otherItems, new MyWorldSearchItem("User's World")); - new SearchNavigateItem(otherItems, new MyOrigSearchItem("User's Originator - InWork", null, true)); - new SearchNavigateItem(otherItems, new MyOrigSearchItem("User's Originator - All", null, false)); + 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 MyTeamWFSearchItem("User's Team Workflows")); new SearchNavigateItem(otherItems, new MyTaskSearchItem("User's Tasks (WorldView)", LoadView.WorldView)); new SearchNavigateItem(otherItems, new MyTaskSearchItem("User's Tasks (Editor)", LoadView.TaskEditor)); @@ -153,7 +157,7 @@ public class AtsNavigateViewItems extends XNavigateViewItems { items.add(aiTeam); XNavigateItem teamItem = new XNavigateItem(null, "Teams"); - new SearchNavigateItem(teamItem, new TeamWorldSearchItem("Team Actions", null, false, true, false, null)); + new SearchNavigateItem(teamItem, new TeamWorldSearchItem("Team Actions", null, false, false, false, null)); new SearchNavigateItem(teamItem, new TeamVersionWorldSearchItem("Team Actions by Version", (String[]) null, false, false, false)); new SearchNavigateItem(teamItem, new UnReleasedTeamWorldSearchItem("Un-Released Team Actions", (String[]) null, diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/NavigateView.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/NavigateView.java index e39edbf49a0..5c8059c8006 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/NavigateView.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/NavigateView.java @@ -142,7 +142,8 @@ public class NavigateView extends ViewPart implements IActionable { * @param item */ public void handleDoubleClick(XNavigateItem item, TableLoadOption... tableLoadOptions) { - System.out.println("Simulating NavigateView Double-Click for \"" + item.getName() + "\"..."); + OSEELog.logInfo(AtsPlugin.class, "===> Simulating NavigateView Double-Click for \"" + item.getName() + "\"...", + false); xNavComp.handleDoubleClick(item, tableLoadOptions); } diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/DefaultDecisionReviewWorkflowManager.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/DefaultDecisionReviewWorkflowManager.java index 699376bd956..b21fa27087c 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/DefaultDecisionReviewWorkflowManager.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/DefaultDecisionReviewWorkflowManager.java @@ -36,22 +36,29 @@ public class DefaultDecisionReviewWorkflowManager { * @return * @throws Exception */ - public static Result transitionTo(DecisionReviewArtifact reviewArt, DecisionReviewArtifact.StateNames toState, User user, boolean popup)throws OseeCoreException, SQLException{ - Result result = setPrepareStateData(reviewArt, 100, .2); - if (result.isFalse()) { - if (popup) result.popup(); - return result; + public static Result transitionTo(DecisionReviewArtifact reviewArt, DecisionReviewArtifact.StateNames toState, User user, boolean popup) throws OseeCoreException, SQLException { + Result result = Result.TrueResult; + // If in Prepare state, set data and transition to Decision + if (reviewArt.getSmaMgr().getStateMgr().getCurrentStateName().equals( + DecisionReviewArtifact.StateNames.Prepare.name())) { + result = setPrepareStateData(reviewArt, 100, 3, .2); + + if (result.isFalse()) { + if (popup) result.popup(); + return result; + } + result = + reviewArt.getSmaMgr().transition(DecisionReviewArtifact.StateNames.Decision.name(), + (user != null ? user : reviewArt.getSmaMgr().getStateMgr().getAssignees().iterator().next()), + false); } - result = - reviewArt.getSmaMgr().transition(DecisionReviewArtifact.StateNames.Decision.name(), - (user != null ? user : reviewArt.getSmaMgr().getStateMgr().getAssignees().iterator().next()), false); if (result.isFalse()) { if (popup) result.popup(); return result; } if (toState == DecisionReviewArtifact.StateNames.Decision) return Result.TrueResult; - // If desired to transition to followup, then decision is false + // If desired to transition to follow-up, then decision is false boolean decision = (toState != DecisionReviewArtifact.StateNames.Followup); result = setDecisionStateData(reviewArt, decision, 100, .2); @@ -70,16 +77,19 @@ public class DefaultDecisionReviewWorkflowManager { return Result.TrueResult; } - public static Result setPrepareStateData(DecisionReviewArtifact reviewArt, int statePercentComplete, double stateHoursSpent)throws OseeCoreException, SQLException{ - if (!reviewArt.getSmaMgr().getStateMgr().getCurrentStateName().equals("Prepare")) return new Result( - "Action not in Prepare state"); + public static Result setPrepareStateData(DecisionReviewArtifact reviewArt, int statePercentComplete, double estimateHours, double stateHoursSpent) throws OseeCoreException, SQLException { + if (!reviewArt.getSmaMgr().getStateMgr().getCurrentStateName().equals( + DecisionReviewArtifact.StateNames.Prepare.name())) return new Result("Action not in Prepare state"); + reviewArt.setSoleAttributeValue(ATSAttributes.ESTIMATED_HOURS_ATTRIBUTE.getStoreName(), estimateHours); reviewArt.getSmaMgr().getStateMgr().setHoursSpent(stateHoursSpent); reviewArt.getSmaMgr().getStateMgr().setPercentComplete(statePercentComplete); return Result.TrueResult; } - public static Result setDecisionStateData(DecisionReviewArtifact reviewArt, boolean decision, int statePercentComplete, double stateHoursSpent)throws OseeCoreException, SQLException{ - reviewArt.setSoleAttributeValue(ATSAttributes.DECISION_ATTRIBUTE.getStoreName(), decision); + public static Result setDecisionStateData(DecisionReviewArtifact reviewArt, boolean decision, int statePercentComplete, double stateHoursSpent) throws OseeCoreException, SQLException { + if (!reviewArt.getSmaMgr().getStateMgr().getCurrentStateName().equals( + DecisionReviewArtifact.StateNames.Decision.name())) return new Result("Action not in Decision state"); + reviewArt.setSoleAttributeValue(ATSAttributes.DECISION_ATTRIBUTE.getStoreName(), decision ? "Yes" : "No"); reviewArt.getSmaMgr().getStateMgr().setHoursSpent(stateHoursSpent); reviewArt.getSmaMgr().getStateMgr().setPercentComplete(statePercentComplete); return Result.TrueResult; diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/ActionActionableItemListDialog.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/ActionActionableItemListDialog.java index d353bfeba73..382dcf45fb5 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/ActionActionableItemListDialog.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/ActionActionableItemListDialog.java @@ -81,8 +81,7 @@ public class ActionActionableItemListDialog extends CheckedTreeSelectionDialog { }; }); showActionCheck.createWidgets(comp, 2); - showAction = true; - showActionCheck.set(true); + showActionCheck.set(showAction); showActionCheck.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/TeamDefinitionTreeDialog.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/TeamDefinitionTreeDialog.java index 228ee66e21d..4bd7d17c50e 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/TeamDefinitionTreeDialog.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/TeamDefinitionTreeDialog.java @@ -51,8 +51,7 @@ public class TeamDefinitionTreeDialog extends TeamDefinitionTreeWithChildrenDial if (showAction != null) { showActionCheck.createWidgets(dialogComp, 2); - showAction = true; - showActionCheck.set(true); + showActionCheck.set(showAction); showActionCheck.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/ActionableItemWorldSearchItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/ActionableItemWorldSearchItem.java index 443f0430c58..9e82035090a 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/ActionableItemWorldSearchItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/ActionableItemWorldSearchItem.java @@ -53,8 +53,11 @@ public class ActionableItemWorldSearchItem extends WorldSearchItem { super(displayName); this.actionItemNames = actionItemNames; this.showFinished = showFinished; + this.selectedShowFinished = showFinished; // Set as default in case UI is not used this.showAction = showAction; + this.selectedShowAction = showAction; // Set as default in case UI is not used this.recurseChildren = recurseChildren; + this.selectedRecurseChildren = recurseChildren; // Set as default in case UI is not used } public ActionableItemWorldSearchItem(String displayName, Collection<ActionableItemArtifact> actionItems, boolean showFinished, boolean showAction, boolean recurseChildren) { 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 index f817f8bdd31..63f2965fb1c 100644 --- 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 @@ -11,23 +11,15 @@ package org.eclipse.osee.ats.world.search; import java.sql.SQLException; +import java.util.ArrayList; import java.util.Collection; -import java.util.LinkedList; import java.util.List; +import org.eclipse.osee.ats.AtsPlugin; import org.eclipse.osee.ats.artifact.ATSAttributes; -import org.eclipse.osee.ats.artifact.TeamWorkflowExtensions; -import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState; -import org.eclipse.osee.ats.util.AtsRelation; +import org.eclipse.osee.ats.artifact.StateMachineArtifact; 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.ArtifactPersistenceManager; -import org.eclipse.osee.framework.skynet.core.artifact.BranchPersistenceManager; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactTypeSearch; -import org.eclipse.osee.framework.skynet.core.artifact.search.AttributeValueSearch; -import org.eclipse.osee.framework.skynet.core.artifact.search.DepricatedOperator; -import org.eclipse.osee.framework.skynet.core.artifact.search.FromArtifactsSearch; -import org.eclipse.osee.framework.skynet.core.artifact.search.ISearchPrimitive; -import org.eclipse.osee.framework.skynet.core.artifact.search.InRelationSearch; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException; /** @@ -35,51 +27,33 @@ import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException; */ public class MyOrigSearchItem extends UserSearchItem { - private final boolean onlyInWork; + private final OriginatedState originatedState; - public MyOrigSearchItem(String name) { - this(name, null, false); - } - - public MyOrigSearchItem() { - this("My Originator", null, false); - } + public enum OriginatedState { + InWork, All + }; - public MyOrigSearchItem(String name, User user, boolean onlyInWork) { + public MyOrigSearchItem(String name, User user, OriginatedState originatedState) { super(name, user); - this.onlyInWork = onlyInWork; + this.originatedState = originatedState; } @Override protected Collection<Artifact> searchIt(User user) throws OseeCoreException, SQLException { - // Find all Team Workflows artifact types - List<ISearchPrimitive> teamWorkflowCriteria = new LinkedList<ISearchPrimitive>(); - for (String teamArtName : TeamWorkflowExtensions.getInstance().getAllTeamWorkflowArtifactNames()) - teamWorkflowCriteria.add(new ArtifactTypeSearch(teamArtName, DepricatedOperator.EQUAL)); - FromArtifactsSearch teamWorkflowSearch = new FromArtifactsSearch(teamWorkflowCriteria, false); - - // SMA having user as portion of current state attribute (Team WorkFlow and Task) - List<ISearchPrimitive> smaOrigCriteria = new LinkedList<ISearchPrimitive>(); - smaOrigCriteria.add(new AttributeValueSearch(ATSAttributes.LOG_ATTRIBUTE.getStoreName(), - "%type=\"Originated\" userId=\"" + user.getUserId() + "\"%", DepricatedOperator.LIKE)); - if (onlyInWork) { - smaOrigCriteria.add(new AttributeValueSearch(ATSAttributes.CURRENT_STATE_ATTRIBUTE.getStoreName(), - DefaultTeamState.Cancelled.name() + ";;;", DepricatedOperator.NOT_EQUAL)); - smaOrigCriteria.add(new AttributeValueSearch(ATSAttributes.CURRENT_STATE_ATTRIBUTE.getStoreName(), - DefaultTeamState.Completed.name() + ";;;", DepricatedOperator.NOT_EQUAL)); + Collection<Artifact> artifacts = + ArtifactQuery.getArtifactsFromAttribute(ATSAttributes.LOG_ATTRIBUTE.getStoreName(), + "%type=\"Originated\" userId=\"" + user.getUserId() + "\"%", AtsPlugin.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); + } + } } - smaOrigCriteria.add(teamWorkflowSearch); - FromArtifactsSearch smaOrigSearch = new FromArtifactsSearch(smaOrigCriteria, true); - - if (isCancelled()) return EMPTY_SET; - Collection<Artifact> arts = - ArtifactPersistenceManager.getInstance().getArtifacts( - new InRelationSearch(smaOrigSearch, AtsRelation.ActionToWorkflow_Action), - BranchPersistenceManager.getAtsBranch()); - if (isCancelled()) return EMPTY_SET; - return arts; + return artifactsToReturn; } - } diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyReviewWorkflowItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyReviewWorkflowItem.java index 3cf6ed25772..348bef025d2 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyReviewWorkflowItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/MyReviewWorkflowItem.java @@ -16,11 +16,14 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Set; +import org.eclipse.osee.ats.AtsPlugin; +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.util.AtsRelation; 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.skynet.core.exception.OseeCoreException; import org.eclipse.osee.framework.skynet.core.relation.CoreRelationEnumeration; import org.eclipse.osee.framework.skynet.core.relation.RelationManager; @@ -47,7 +50,14 @@ public class MyReviewWorkflowItem extends UserSearchItem { Set<Artifact> assigned = RelationManager.getRelatedArtifacts(Arrays.asList(user), 1, CoreRelationEnumeration.Users_Artifact); - Set<Artifact> artifacts = RelationManager.getRelatedArtifacts(assigned, 1, AtsRelation.SmaToTask_Sma); + Collection<Artifact> artifacts = null; + if (reviewState == ReviewState.InWork) { + artifacts = RelationManager.getRelatedArtifacts(assigned, 1, AtsRelation.SmaToTask_Sma); + } else { + artifacts = + ArtifactQuery.getArtifactsFromAttribute(ATSAttributes.STATE_ATTRIBUTE.getStoreName(), + "%<" + user.getUserId() + ">%", AtsPlugin.getAtsBranch()); + } // Because user can be assigned directly to review or through being assigned to task, add in // all the original artifacts. diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamWorldSearchItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamWorldSearchItem.java index 7209b432673..79708529a6c 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamWorldSearchItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamWorldSearchItem.java @@ -172,8 +172,8 @@ public class TeamWorldSearchItem extends WorldSearchItem { diag.setRecurseChildren(recurseChildren); int result = diag.open(); if (result == 0) { - showFinished = diag.isShowFinished(); - showAction = diag.isShowAction(); + selectedShowFinished = diag.isShowFinished(); + selectedShowAction = diag.isShowAction(); selectedRecurseChildren = diag.isRecurseChildren(); if (selectedTeamDefs == null) selectedTeamDefs = new HashSet<TeamDefinitionArtifact>(); diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/WorldSearchItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/WorldSearchItem.java index 1eae8fd46cb..b94e4bc30cc 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/WorldSearchItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/WorldSearchItem.java @@ -36,10 +36,7 @@ public abstract class WorldSearchItem { Search, ReSearch }; public static enum ShowType { - ShowAction, ShowTeamWorkflow - } - public static enum RecurseType { - None, RecurseChildren + ShowAction, ShowTeamWorkflow, RecurseChildren, NoRecurseChildren, ShowAll, ShowFinished, None } public WorldSearchItem(String name) { |