diff options
author | ddunne | 2010-12-02 22:21:06 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2010-12-02 22:21:06 +0000 |
commit | b0d3aeb101cacd56dfbba178375c35a7b4677c23 (patch) | |
tree | bc6ca22e59456a09562f155ca7d037dd1e383290 | |
parent | 3ecefce7ad05962f64fe90a1a39aa759aa25c04b (diff) | |
download | org.eclipse.osee-b0d3aeb101cacd56dfbba178375c35a7b4677c23.tar.gz org.eclipse.osee-b0d3aeb101cacd56dfbba178375c35a7b4677c23.tar.xz org.eclipse.osee-b0d3aeb101cacd56dfbba178375c35a7b4677c23.zip |
refinement: Fixes for completed/cancelled state change
5 files changed, 21 insertions, 12 deletions
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsNotifyUsersTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsNotifyUsersTest.java index 19ce61ff32b..abecf7ab8fe 100644 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsNotifyUsersTest.java +++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsNotifyUsersTest.java @@ -146,7 +146,8 @@ public class AtsNotifyUsersTest { event = notifyManager.getNotificationEvents().get(0); Assert.assertEquals(NotifyType.Completed.name(), event.getType()); Assert.assertEquals(kay_ValidEmail, event.getUsers().iterator().next()); - Assert.assertEquals("[Demo Code Team Workflow] titled [AtsNotifyUsersTest] is Completed", event.getDescription()); + Assert.assertEquals("[Demo Code Team Workflow] titled [AtsNotifyUsersTest] is [Completed]", + event.getDescription()); notifyManager.clear(); teamArt.internalSetCreatedBy(inactiveSteve); @@ -169,7 +170,7 @@ public class AtsNotifyUsersTest { Assert.assertEquals(NotifyType.Cancelled.name(), event.getType()); Assert.assertEquals(kay_ValidEmail, event.getUsers().iterator().next()); Assert.assertTrue(event.getDescription().startsWith( - "[Demo Code Team Workflow] titled [AtsNotifyUsersTest] was cancelled from the [Endorse] state on")); + "[Demo Code Team Workflow] titled [AtsNotifyUsersTest] was [Cancelled] from the [Endorse] state on")); Assert.assertTrue(event.getDescription().endsWith(".<br>Reason: [this is the reason]")); } diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsNotifyUsers.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsNotifyUsers.java index 42bd67badbe..14f89bed604 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsNotifyUsers.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsNotifyUsers.java @@ -131,7 +131,7 @@ public class AtsNotifyUsers implements IArtifactEventListener { sma.getArtifactTypeName(), sma.getName(), sma.getStateMgr().getCurrentStateName()))); } } - if (types.contains(NotifyType.Cancelled) || types.contains(NotifyType.Completed) && ((sma.isTeamWorkflow() || sma instanceof AbstractReviewArtifact) && (sma.isCompleted() || sma.isCancelled()))) { + if (types.contains(NotifyType.Cancelled) || types.contains(NotifyType.Completed) && (!sma.isTask() && (sma.isCompleted() || sma.isCancelled()))) { User originator = sma.getCreatedBy(); if (originator.isActive()) { if (!EmailUtil.isEmailValid(originator)) { @@ -140,15 +140,16 @@ public class AtsNotifyUsers implements IArtifactEventListener { } else if (!UserManager.getUser().equals(originator)) { if (sma.isCompleted()) { notificationManager.addNotificationEvent(new OseeNotificationEvent(Arrays.asList(originator), - getIdString(sma), NotifyType.Completed.name(), String.format("[%s] titled [%s] is Completed", - sma.getArtifactTypeName(), sma.getName()))); + getIdString(sma), sma.getCurrentStateName(), String.format("[%s] titled [%s] is [%s]", + sma.getArtifactTypeName(), sma.getName(), sma.getCurrentStateName()))); } if (sma.isCancelled()) { notificationManager.addNotificationEvent(new OseeNotificationEvent(Arrays.asList(originator), - getIdString(sma), NotifyType.Cancelled.name(), String.format( - "[%s] titled [%s] was cancelled from the [%s] state on [%s].<br>Reason: [%s]", - sma.getArtifactTypeName(), sma.getName(), sma.getCancelledFromState(), - DateUtil.getMMDDYYHHMM(sma.internalGetCancelledDate()), sma.getCancelledReason()))); + getIdString(sma), sma.getCurrentStateName(), String.format( + "[%s] titled [%s] was [%s] from the [%s] state on [%s].<br>Reason: [%s]", + sma.getArtifactTypeName(), sma.getName(), sma.getCurrentStateName(), + sma.getCancelledFromState(), DateUtil.getMMDDYYHHMM(sma.internalGetCancelledDate()), + sma.getCancelledReason()))); } } } diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ConvertAtsFor097Database.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ConvertAtsFor097Database.java index 03e92a9ef6b..341fc45b3da 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ConvertAtsFor097Database.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ConvertAtsFor097Database.java @@ -21,6 +21,7 @@ import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact; import org.eclipse.osee.ats.artifact.AtsAttributeTypes; import org.eclipse.osee.ats.artifact.log.LogItem; +import org.eclipse.osee.ats.artifact.log.LogType; import org.eclipse.osee.ats.health.ValidateAtsDatabase; import org.eclipse.osee.ats.internal.AtsPlugin; import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; @@ -217,6 +218,12 @@ public class ConvertAtsFor097Database extends XNavigateItemAction { boolean set = false; if (currentStateIsCompleted || stateTypeSaysCompleted) { LogItem item = aba.getLog().internalGetCompletedLogItem(); + if (item == null) { + // If transition to complete was with new completed state, internalGetCompletedLogItem won't work, try + // to get from work page definition page name + WorkPageDefinition page = aba.getWorkPageDefinition(); + item = aba.getLog().getStateEvent(LogType.StateEntered, page.getPageName()); + } if (!item.getUserId().equals(aba.getSoleAttributeValue(AtsAttributeTypes.CompletedBy, ""))) { aba.setSoleAttributeValue(AtsAttributeTypes.CompletedBy, item.getUserId()); set = true; diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/StateManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/StateManager.java index 156a6205918..84ae4d6eb91 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/StateManager.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/StateManager.java @@ -305,7 +305,7 @@ public class StateManager { return getVisitedStateNames().contains(state.getPageName()); } - public void transitionHelper(Collection<User> toAssignees, boolean persist, WorkPageDefinition fromPage, WorkPageDefinition toPage, IWorkPage toState, String cancelReason) throws OseeCoreException { + public void transitionHelper(Collection<User> toAssignees, WorkPageDefinition fromPage, WorkPageDefinition toPage, IWorkPage toState, String cancelReason) throws OseeCoreException { // Set XCurrentState info to XState stateDam.setState(currentStateDam.getState()); @@ -314,7 +314,7 @@ public class StateManager { if (previousState == null) { currentStateDam.setState(new SMAState(toState.getPageName(), toAssignees)); } else { - if (toAssignees.size() > 0) { + if (!org.eclipse.osee.framework.jdk.core.util.Collections.isEqual(previousState.getAssignees(), toAssignees)) { previousState.setAssignees(toAssignees); } currentStateDam.setState(previousState); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java index 9cb62c86beb..a665233ecc1 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java @@ -160,7 +160,7 @@ public class TransitionManager { } logStateStartedEvent(toState, transitionDate, transitionUser); - aba.getStateMgr().transitionHelper(toAssignees, persist, fromPage, toPage, toState, completeOrCancelReason); + aba.getStateMgr().transitionHelper(toAssignees, fromPage, toPage, toState, completeOrCancelReason); if (aba.isValidationRequired() && aba.isTeamWorkflow()) { ReviewManager.createValidateReview((TeamWorkFlowArtifact) aba, false, transitionDate, transitionUser, |