Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordonald.g.dunne2013-08-23 22:11:52 +0000
committerdonald.g.dunne2013-08-28 21:00:46 +0000
commit6150e9a27f0da874011994d41dbace07dea3f69b (patch)
tree02231494fb5bbc5509e0f67ce5568741096e8364 /plugins
parent8d4f68576a8d34de1bc2dad5712c457a6a9cb77c (diff)
downloadorg.eclipse.osee-6150e9a27f0da874011994d41dbace07dea3f69b.tar.gz
org.eclipse.osee-6150e9a27f0da874011994d41dbace07dea3f69b.tar.xz
org.eclipse.osee-6150e9a27f0da874011994d41dbace07dea3f69b.zip
bug[ats_VY1QE]: Peer Review items - remove automated unassignment
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PeerToPeerReviewColumnsTest.java46
-rw-r--r--plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotificationManagerTest.java6
-rw-r--r--plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java13
-rw-r--r--plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToWorldViewTest.java41
-rw-r--r--plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewNavigateItemsToWorldViewTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/review/PeerToPeerReviewManager.java4
-rw-r--r--plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/review/role/UserRoleManager.java52
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/NewRoleDialog.java74
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/UserRoleXViewer.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/XUserRoleViewer.java39
10 files changed, 178 insertions, 104 deletions
diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PeerToPeerReviewColumnsTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PeerToPeerReviewColumnsTest.java
index 25fe5d51b46..cbb0cbaa52a 100644
--- a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PeerToPeerReviewColumnsTest.java
+++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PeerToPeerReviewColumnsTest.java
@@ -79,51 +79,53 @@ public class PeerToPeerReviewColumnsTest {
transaction =
TransactionManager.createTransaction(AtsUtil.getAtsBranch(), PeerToPeerReviewColumnsTest.class.getSimpleName());
ReviewDefectItem item =
- new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Issue, Disposition.None, InjectionActivity.Code,
- "description", "resolution", "location", new Date());
+ new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Issue, Disposition.None,
+ InjectionActivity.Code, "description", "resolution", "location", new Date());
ReviewDefectManager defectManager = new ReviewDefectManager(peerArt);
defectManager.addOrUpdateDefectItem(item);
item =
- new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Issue, Disposition.None, InjectionActivity.Code,
- "description 2", "resolution", "location", new Date());
+ new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Issue, Disposition.None,
+ InjectionActivity.Code, "description 2", "resolution", "location", new Date());
defectManager.addOrUpdateDefectItem(item);
item =
- new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Issue, Disposition.None, InjectionActivity.Code,
- "description 3", "resolution", "location", new Date());
+ new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Issue, Disposition.None,
+ InjectionActivity.Code, "description 3", "resolution", "location", new Date());
defectManager.addOrUpdateDefectItem(item);
item =
- new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Issue, Disposition.None, InjectionActivity.Code,
- "description 34", "resolution", "location", new Date());
+ new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Issue, Disposition.None,
+ InjectionActivity.Code, "description 34", "resolution", "location", new Date());
defectManager.addOrUpdateDefectItem(item);
item =
- new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Major, Disposition.None, InjectionActivity.Code,
- "description 4", "resolution", "location", new Date());
+ new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Major, Disposition.None,
+ InjectionActivity.Code, "description 4", "resolution", "location", new Date());
defectManager.addOrUpdateDefectItem(item);
item =
- new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Minor, Disposition.None, InjectionActivity.Code,
- "description 5", "resolution", "location", new Date());
+ new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Minor, Disposition.None,
+ InjectionActivity.Code, "description 5", "resolution", "location", new Date());
defectManager.addOrUpdateDefectItem(item);
item =
- new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Minor, Disposition.None, InjectionActivity.Code,
- "description 6", "resolution", "location", new Date());
+ new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Minor, Disposition.None,
+ InjectionActivity.Code, "description 6", "resolution", "location", new Date());
defectManager.addOrUpdateDefectItem(item);
item =
- new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Minor, Disposition.None, InjectionActivity.Code,
- "description 6", "resolution", "location", new Date());
+ new ReviewDefectItem(AtsClientService.get().getUserAdmin().getCurrentUser(), Severity.Minor, Disposition.None,
+ InjectionActivity.Code, "description 6", "resolution", "location", new Date());
defectManager.addOrUpdateDefectItem(item);
defectManager.saveToArtifact(peerArt);
- UserRole role = new UserRole(Role.Author, AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Alex_Kay));
+ UserRole role =
+ new UserRole(Role.Author, AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Alex_Kay));
UserRoleManager roleMgr = new UserRoleManager(peerArt);
- roleMgr.addOrUpdateUserRole(role);
+ roleMgr.addOrUpdateUserRole(role, peerArt);
- role = new UserRole(Role.Moderator, AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Jason_Michael));
- roleMgr.addOrUpdateUserRole(role);
+ role =
+ new UserRole(Role.Moderator, AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Jason_Michael));
+ roleMgr.addOrUpdateUserRole(role, peerArt);
role = new UserRole(Role.Reviewer, AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Joe_Smith));
- roleMgr.addOrUpdateUserRole(role);
+ roleMgr.addOrUpdateUserRole(role, peerArt);
role = new UserRole(Role.Reviewer, AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Kay_Jones));
- roleMgr.addOrUpdateUserRole(role);
+ roleMgr.addOrUpdateUserRole(role, peerArt);
roleMgr.saveToArtifact(transaction);
peerArt.persist(transaction);
transaction.execute();
diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotificationManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotificationManagerTest.java
index d42765e3464..3210f50ac95 100644
--- a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotificationManagerTest.java
+++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotificationManagerTest.java
@@ -14,7 +14,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
-import org.junit.Assert;
import org.eclipse.osee.ats.api.data.AtsRelationTypes;
import org.eclipse.osee.ats.api.workdef.ReviewBlockType;
import org.eclipse.osee.ats.client.demo.DemoUsers;
@@ -45,6 +44,7 @@ import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager;
import org.eclipse.osee.framework.skynet.core.utility.INotificationManager;
import org.junit.AfterClass;
+import org.junit.Assert;
import org.junit.BeforeClass;
/**
@@ -563,7 +563,7 @@ public class AtsNotificationManagerTest {
UserRoleManager roleMgr = new UserRoleManager(peerArt);
reviewer1.setHoursSpent(1.0);
reviewer1.setCompleted(true);
- roleMgr.addOrUpdateUserRole(reviewer1);
+ roleMgr.addOrUpdateUserRole(reviewer1, peerArt);
roleMgr.saveToArtifact(transaction);
transaction.execute();
@@ -576,7 +576,7 @@ public class AtsNotificationManagerTest {
getClass().getSimpleName() + " - update reviewer 2");
reviewer2.setHoursSpent(1.0);
reviewer2.setCompleted(true);
- roleMgr.addOrUpdateUserRole(reviewer2);
+ roleMgr.addOrUpdateUserRole(reviewer2, peerArt);
roleMgr.saveToArtifact(transaction);
peerArt.persist(transaction);
transaction.execute();
diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java
index 646dd39dc46..e2532d4c5de 100644
--- a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java
+++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java
@@ -73,15 +73,16 @@ public class AtsPeerToPeerReviewReviewStateItemTest {
// assignee should be user creating review
Assert.assertEquals(1, peerRevArt.getStateMgr().getAssignees().size());
- Assert.assertEquals(AtsClientService.get().getUserAdmin().getCurrentUser(), peerRevArt.getStateMgr().getAssignees().iterator().next());
+ Assert.assertEquals(AtsClientService.get().getUserAdmin().getCurrentUser(),
+ peerRevArt.getStateMgr().getAssignees().iterator().next());
// set roles
UserRole userRole = new UserRole(Role.Author, AtsClientService.get().getUserAdmin().getUserByName("Joe Smith"));
UserRoleManager roleMgr = new UserRoleManager(peerRevArt);
- roleMgr.addOrUpdateUserRole(userRole);
+ roleMgr.addOrUpdateUserRole(userRole, peerRevArt);
userRole = new UserRole(Role.Reviewer, AtsClientService.get().getUserAdmin().getUserByName("Alex Kay"));
SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "test transition");
- roleMgr.addOrUpdateUserRole(userRole);
+ roleMgr.addOrUpdateUserRole(userRole, peerRevArt);
roleMgr.saveToArtifact(transaction);
transaction.execute();
@@ -92,7 +93,8 @@ public class AtsPeerToPeerReviewReviewStateItemTest {
peerRevArt.getStateMgr().setAssignee(AtsClientService.get().getUserAdmin().getCurrentUser());
peerRevArt.persist(getClass().getSimpleName());
Assert.assertEquals(1, peerRevArt.getStateMgr().getAssignees().size());
- Assert.assertEquals(AtsClientService.get().getUserAdmin().getCurrentUser(), peerRevArt.getStateMgr().getAssignees().iterator().next());
+ Assert.assertEquals(AtsClientService.get().getUserAdmin().getCurrentUser(),
+ peerRevArt.getStateMgr().getAssignees().iterator().next());
IStateToken fromState = peerRevArt.getWorkDefinition().getStateByName(PeerToPeerReviewState.Prepare.getName());
IStateToken toState = peerRevArt.getWorkDefinition().getStateByName(PeerToPeerReviewState.Review.getName());
@@ -100,7 +102,8 @@ public class AtsPeerToPeerReviewReviewStateItemTest {
// make call to state item that should set options based on artifact's attribute value
AtsPeerToPeerReviewReviewStateItem stateItem = new AtsPeerToPeerReviewReviewStateItem();
transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "test transition");
- stateItem.transitioned(peerRevArt, fromState, toState, Arrays.asList(AtsClientService.get().getUserAdmin().getCurrentUser()), transaction);
+ stateItem.transitioned(peerRevArt, fromState, toState,
+ Arrays.asList(AtsClientService.get().getUserAdmin().getCurrentUser()), transaction);
transaction.execute();
// Joe and Alex should have been added to assignees
diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToWorldViewTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToWorldViewTest.java
index 50ecfe3e476..a907be13501 100644
--- a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToWorldViewTest.java
+++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToWorldViewTest.java
@@ -162,7 +162,8 @@ public class AtsNavigateItemsToWorldViewTest {
XNavigateItem item = openUserSearchEditor();
WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail();
IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener();
- ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Joe_Smith));
+ ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(
+ DemoUsers.Joe_Smith));
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Subscribed, true);
editor.getWorldXWidgetActionPage().reSearch(true);
Collection<Artifact> arts = editor.getLoadedArtifacts();
@@ -177,7 +178,8 @@ public class AtsNavigateItemsToWorldViewTest {
XNavigateItem item = openUserSearchEditor();
WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail();
IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener();
- ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Joe_Smith));
+ ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(
+ DemoUsers.Joe_Smith));
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Assignee, true);
((UserSearchWorkflowSearchItem) dwl).setSelectedState(TeamState.Implement.getName());
editor.getWorldXWidgetActionPage().reSearch(true);
@@ -193,7 +195,8 @@ public class AtsNavigateItemsToWorldViewTest {
XNavigateItem item = openUserSearchEditor();
WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail();
IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener();
- ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Joe_Smith));
+ ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(
+ DemoUsers.Joe_Smith));
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeReviews, true);
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTeamWorkflows, false);
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTasks, false);
@@ -213,7 +216,8 @@ public class AtsNavigateItemsToWorldViewTest {
XNavigateItem item = openUserSearchEditor();
WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail();
IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener();
- ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Joe_Smith));
+ ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(
+ DemoUsers.Joe_Smith));
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeReviews, true);
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTeamWorkflows, false);
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTasks, false);
@@ -222,9 +226,9 @@ public class AtsNavigateItemsToWorldViewTest {
editor.getWorldXWidgetActionPage().reSearch(true);
Collection<Artifact> arts = editor.getLoadedArtifacts();
- NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2);
+ NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 3);
NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 3);
- runGeneralXColTest(5, false);
+ runGeneralXColTest(6, false);
TestUtil.severeLoggingEnd(monitor);
}
@@ -235,7 +239,8 @@ public class AtsNavigateItemsToWorldViewTest {
XNavigateItem item = openUserSearchEditor();
WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail();
IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener();
- ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Joe_Smith));
+ ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(
+ DemoUsers.Joe_Smith));
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Originator, true);
editor.getWorldXWidgetActionPage().reSearch(true);
@@ -255,7 +260,8 @@ public class AtsNavigateItemsToWorldViewTest {
XNavigateItem item = openUserSearchEditor();
WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail();
IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener();
- ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Joe_Smith));
+ ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(
+ DemoUsers.Joe_Smith));
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Originator, true);
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeCompleted, true);
editor.getWorldXWidgetActionPage().reSearch(true);
@@ -292,9 +298,9 @@ public class AtsNavigateItemsToWorldViewTest {
Collection<Artifact> arts = editor.getLoadedArtifacts();
NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.TeamWorkflow, 7);
- NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2);
+ NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 3);
NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 3);
- runGeneralXColTest(29, false);
+ runGeneralXColTest(30, false);
TestUtil.severeLoggingEnd(monitor);
}
@@ -326,7 +332,8 @@ public class AtsNavigateItemsToWorldViewTest {
XNavigateItem item = openUserSearchEditor();
WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail();
IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener();
- ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Kay_Jones));
+ ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(
+ DemoUsers.Kay_Jones));
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeReviews, true);
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTeamWorkflows, false);
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTasks, false);
@@ -344,7 +351,8 @@ public class AtsNavigateItemsToWorldViewTest {
XNavigateItem item = openUserSearchEditor();
WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail();
IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener();
- ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Kay_Jones));
+ ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(
+ DemoUsers.Kay_Jones));
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeReviews, true);
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTeamWorkflows, false);
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTasks, false);
@@ -363,7 +371,8 @@ public class AtsNavigateItemsToWorldViewTest {
XNavigateItem item = openUserSearchEditor();
WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail();
IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener();
- ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Kay_Jones));
+ ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(
+ DemoUsers.Kay_Jones));
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Favorites, true);
editor.getWorldXWidgetActionPage().reSearch(true);
Collection<Artifact> arts = editor.getLoadedArtifacts();
@@ -378,7 +387,8 @@ public class AtsNavigateItemsToWorldViewTest {
XNavigateItem item = openUserSearchEditor();
WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail();
IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener();
- ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Kay_Jones));
+ ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(
+ DemoUsers.Kay_Jones));
((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Subscribed, true);
editor.getWorldXWidgetActionPage().reSearch(true);
Collection<Artifact> arts = editor.getLoadedArtifacts();
@@ -450,7 +460,8 @@ public class AtsNavigateItemsToWorldViewTest {
private void runGeneralTeamWorkflowSearchOnAssigneeTest(XNavigateItem item, String assignee, int expectedNum) throws Exception {
WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail();
- ((TeamWorkflowSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener()).setSelectedUser(AtsClientService.get().getUserAdmin().getUserByName(assignee));
+ ((TeamWorkflowSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener()).setSelectedUser(AtsClientService.get().getUserAdmin().getUserByName(
+ assignee));
runGeneralTeamWorkflowSearchTest(item, expectedNum);
}
diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewNavigateItemsToWorldViewTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewNavigateItemsToWorldViewTest.java
index 0b26f443c69..6e2c3f4fdcc 100644
--- a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewNavigateItemsToWorldViewTest.java
+++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewNavigateItemsToWorldViewTest.java
@@ -94,13 +94,14 @@ public class ReviewNavigateItemsToWorldViewTest {
MassArtifactEditor.closeAll();
XNavigateItem item =
NavigateTestUtil.getAtsNavigateItems("Generate Review Participation Report").iterator().next();
- ((GenerateReviewParticipationReport) item).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(DemoUsers.Joe_Smith));
+ ((GenerateReviewParticipationReport) item).setSelectedUser(AtsClientService.get().getUserAdmin().getUserFromToken(
+ DemoUsers.Joe_Smith));
item.run(TableLoadOption.ForcePend);
MassArtifactEditor editor = getSingleEditorOrFail();
Collection<Artifact> arts = editor.getLoadedArtifacts();
- NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2);
+ NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 3);
NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 3);
}
diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/review/PeerToPeerReviewManager.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/review/PeerToPeerReviewManager.java
index 5e22ca426f8..1bc4f2eee63 100644
--- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/review/PeerToPeerReviewManager.java
+++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/review/PeerToPeerReviewManager.java
@@ -114,7 +114,7 @@ public class PeerToPeerReviewManager {
if (roles != null) {
UserRoleManager roleMgr = new UserRoleManager(reviewArt);
for (UserRole role : roles) {
- roleMgr.addOrUpdateUserRole(role);
+ roleMgr.addOrUpdateUserRole(role, reviewArt);
}
roleMgr.saveToArtifact(transaction);
}
@@ -127,7 +127,7 @@ public class PeerToPeerReviewManager {
if (roles != null) {
UserRoleManager roleMgr = new UserRoleManager(reviewArt);
for (UserRole role : roles) {
- roleMgr.addOrUpdateUserRole(role);
+ roleMgr.addOrUpdateUserRole(role, reviewArt);
}
roleMgr.saveToArtifact(transaction);
}
diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/review/role/UserRoleManager.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/review/role/UserRoleManager.java
index 73fca6a5541..ae96eedd045 100644
--- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/review/role/UserRoleManager.java
+++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/review/role/UserRoleManager.java
@@ -92,16 +92,6 @@ public class UserRoleManager {
return roles;
}
- public List<UserRole> getRoleUsersReviewComplete() throws OseeCoreException {
- List<UserRole> cRoles = new ArrayList<UserRole>();
- for (UserRole role : getUserRoles(Role.Reviewer)) {
- if (role.isCompleted()) {
- cRoles.add(role);
- }
- }
- return cRoles;
- }
-
public List<UserRole> getUserRoles(Role role) throws OseeCoreException {
List<UserRole> roles = new ArrayList<UserRole>();
for (UserRole uRole : getUserRoles()) {
@@ -170,7 +160,6 @@ public class UserRoleManager {
updatedStoredUserRoles)) {
artifact.addAttributeFromString(ATS_ROLE_STORAGE_TYPE, AXml.addTagData(ROLE_ITEM_TAG, newRole.toXml()));
}
- updateAssignees(artifact);
rollupHoursSpentToReviewState(artifact);
validateUserRolesCompleted(artifact, storedUserRoles, userRoles);
artifact.persist(transaction);
@@ -207,7 +196,7 @@ public class UserRoleManager {
}
}
- public void addOrUpdateUserRole(UserRole userRole) throws OseeCoreException {
+ public void addOrUpdateUserRole(UserRole userRole, PeerToPeerReviewArtifact peerArt) throws OseeCoreException {
List<UserRole> roleItems = getUserRoles();
boolean found = false;
for (UserRole uRole : roleItems) {
@@ -218,40 +207,10 @@ public class UserRoleManager {
}
if (!found) {
roleItems.add(userRole);
- }
- }
-
- private static void updateAssignees(Artifact artifact) throws OseeCoreException {
- UserRoleManager roleManager = new UserRoleManager(artifact);
- // Set assignees based on roles that are not set as completed
- List<IAtsUser> assignees = new ArrayList<IAtsUser>();
- for (UserRole uRole : roleManager.getUserRoles()) {
- if (!uRole.isCompleted() && uRole.getUser() != null && !assignees.contains(uRole.getUser())) {
- assignees.add(uRole.getUser());
- }
- }
- // If roles are all completed, then still need to select a user to assign to SMA
- if (assignees.isEmpty()) {
- if (roleManager.getUserRoles(Role.Author).size() > 0) {
- for (UserRole role : roleManager.getUserRoles(Role.Author)) {
- if (!assignees.contains(role.getUser())) {
- assignees.add(role.getUser());
- }
- }
- } else if (roleManager.getUserRoles(Role.Moderator).size() > 0) {
- for (UserRole role : roleManager.getUserRoles(Role.Moderator)) {
- if (!assignees.contains(role.getUser())) {
- assignees.add(role.getUser());
- }
- }
- } else {
- if (!assignees.contains(AtsClientService.get().getUserAdmin().getCurrentUser())) {
- assignees.add(AtsClientService.get().getUserAdmin().getCurrentUser());
- }
+ if (!peerArt.getAssignees().contains(userRole.getUser())) {
+ peerArt.getStateMgr().addAssignee(userRole.getUser());
}
}
- // Set assignees based on roles
- ((AbstractWorkflowArtifact) artifact).getStateMgr().setAssignees(assignees);
}
public void removeUserRole(UserRole userRole) throws OseeCoreException {
@@ -293,6 +252,7 @@ public class UserRoleManager {
}
AbstractWorkflowArtifact awa = (AbstractWorkflowArtifact) artifact;
awa.getStateMgr().setMetrics(awa.getStateDefinition(), hoursSpent,
- awa.getStateMgr().getPercentComplete(awa.getCurrentStateName()), true, AtsClientService.get().getUserAdmin().getCurrentUser(), new Date());
+ awa.getStateMgr().getPercentComplete(awa.getCurrentStateName()), true,
+ AtsClientService.get().getUserAdmin().getCurrentUser(), new Date());
}
-} \ No newline at end of file
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/NewRoleDialog.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/NewRoleDialog.java
new file mode 100644
index 00000000000..5705c763025
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/NewRoleDialog.java
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2013 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.util.widgets.role;
+
+import java.util.Collection;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.osee.ats.api.user.IAtsUser;
+import org.eclipse.osee.ats.core.client.review.role.Role;
+import org.eclipse.osee.ats.internal.AtsClientService;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.ui.skynet.widgets.XCombo;
+import org.eclipse.osee.framework.ui.skynet.widgets.XHyperlabelMemberSelection;
+import org.eclipse.osee.framework.ui.swt.Displays;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class NewRoleDialog extends MessageDialog {
+
+ private XCombo roleCombo;
+ private XHyperlabelMemberSelection users;
+
+ public NewRoleDialog() {
+ super(Displays.getActiveShell(), "New Role", null, "Enter New Roles", MessageDialog.QUESTION, new String[] {
+ "OK",
+ "Cancel"}, 0);
+ }
+
+ @Override
+ protected Control createCustomArea(Composite parent) {
+ Control customArea = super.createCustomArea(parent);
+
+ Composite comp = new Composite(parent, SWT.NONE);
+ comp.setLayout(new GridLayout(2, false));
+ comp.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, true, 1, 1));
+
+ roleCombo = new XCombo("Select Role");
+ roleCombo.setDataStrings(Role.strValues().toArray(new String[Role.strValues().size()]));
+ roleCombo.createWidgets(comp, 2);
+
+ users = new XHyperlabelMemberSelection("Select User(s)");
+ users.createWidgets(comp, 2);
+
+ return customArea;
+ }
+
+ public Role getRole() {
+ Role role = null;
+ try {
+ role = Role.valueOf(roleCombo.get());
+ } catch (Exception ex) {
+ // do nothing
+ }
+ return role;
+ }
+
+ public Collection<IAtsUser> getUsers() throws OseeCoreException {
+ return AtsClientService.get().getUserAdmin().getAtsUsers(users.getSelectedUsers());
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/UserRoleXViewer.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/UserRoleXViewer.java
index 74d2097408e..f442846edd8 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/UserRoleXViewer.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/UserRoleXViewer.java
@@ -265,7 +265,7 @@ public class UserRoleXViewer extends XViewer {
TransactionManager.createTransaction(xUserRoleViewer.getReviewArt().getArtifact().getBranch(),
"Modify Review Roles");
for (UserRole userRole : userRoles) {
- xUserRoleViewer.getUserRoleMgr().addOrUpdateUserRole(userRole);
+ xUserRoleViewer.getUserRoleMgr().addOrUpdateUserRole(userRole, xUserRoleViewer.getReviewArt());
update(userRole, null);
}
xUserRoleViewer.getUserRoleMgr().saveToArtifact(transaction);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/XUserRoleViewer.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/XUserRoleViewer.java
index 7bb05cd3a0b..a633baae704 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/XUserRoleViewer.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/XUserRoleViewer.java
@@ -25,6 +25,8 @@ import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.window.Window;
+import org.eclipse.osee.ats.api.user.IAtsUser;
import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact;
import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectManager;
import org.eclipse.osee.ats.core.client.review.role.UserRole;
@@ -317,16 +319,37 @@ public class XUserRoleViewer extends GenericXWidget implements IArtifactWidget,
}
public void handleNewUserRole() {
- try {
- SkynetTransaction transaction =
- TransactionManager.createTransaction(reviewArt.getArtifact().getBranch(), "Add Review Roles");
- roleMgr.addOrUpdateUserRole(new UserRole());
- roleMgr.saveToArtifact(transaction);
- transaction.execute();
+
+ NewRoleDialog dialog = new NewRoleDialog();
+ if (dialog.open() == Window.OK) {
+ if (dialog.getRole() == null) {
+ AWorkbench.popup("Role not selected");
+ return;
+ }
+ try {
+ if (dialog.getUsers().isEmpty()) {
+ AWorkbench.popup("Users not selected");
+ return;
+ }
+ } catch (OseeCoreException ex) {
+ OseeLog.log(Activator.class, Level.SEVERE, ex);
+ return;
+ }
+ try {
+ SkynetTransaction transaction =
+ TransactionManager.createTransaction(reviewArt.getArtifact().getBranch(), "Add Review Roles");
+ for (IAtsUser user : dialog.getUsers()) {
+ UserRole userRole = new UserRole(dialog.getRole(), user);
+ roleMgr.addOrUpdateUserRole(userRole, reviewArt);
+ reviewArt.persist(transaction);
+ }
+ roleMgr.saveToArtifact(transaction);
+ transaction.execute();
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
+ }
notifyXModifiedListeners();
loadTable();
- } catch (Exception ex) {
- OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
}
}

Back to the top