diff options
author | donald.g.dunne | 2013-08-23 22:11:52 +0000 |
---|---|---|
committer | donald.g.dunne | 2013-08-28 21:00:46 +0000 |
commit | 6150e9a27f0da874011994d41dbace07dea3f69b (patch) | |
tree | 02231494fb5bbc5509e0f67ce5568741096e8364 /plugins | |
parent | 8d4f68576a8d34de1bc2dad5712c457a6a9cb77c (diff) | |
download | org.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
Change-Id: Ifec479609038a2bacea6a1671cc191aba70b762e
Diffstat (limited to 'plugins')
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); } } |