Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2010-12-02 22:21:06 +0000
committerRyan D. Brooks2010-12-02 22:21:06 +0000
commitb0d3aeb101cacd56dfbba178375c35a7b4677c23 (patch)
treebc6ca22e59456a09562f155ca7d037dd1e383290
parent3ecefce7ad05962f64fe90a1a39aa759aa25c04b (diff)
downloadorg.eclipse.osee-b0d3aeb101cacd56dfbba178375c35a7b4677c23.tar.gz
org.eclipse.osee-b0d3aeb101cacd56dfbba178375c35a7b4677c23.tar.xz
org.eclipse.osee-b0d3aeb101cacd56dfbba178375c35a7b4677c23.zip
refinement: Fixes for completed/cancelled state change
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/AtsNotifyUsersTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsNotifyUsers.java15
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ConvertAtsFor097Database.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/StateManager.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java2
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,

Back to the top