Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordonald.g.dunne2016-06-03 18:14:47 +0000
committerdonald.g.dunne2016-06-06 15:28:48 +0000
commit3598fc2673dde4ab406d99360825ea566aabb78d (patch)
tree048f602bf1ad62dc3c369f82372c6133c29c4664 /plugins/org.eclipse.osee.ats.core/src
parent9cac0dd481e3e030ccf7dd18806c25018c7636c7 (diff)
downloadorg.eclipse.osee-3598fc2673dde4ab406d99360825ea566aabb78d.tar.gz
org.eclipse.osee-3598fc2673dde4ab406d99360825ea566aabb78d.tar.xz
org.eclipse.osee-3598fc2673dde4ab406d99360825ea566aabb78d.zip
bug[ats_ATS289107]: Req workflow not completed after task generation.
Diffstat (limited to 'plugins/org.eclipse.osee.ats.core/src')
-rw-r--r--plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/transition/TransitionManager.java22
1 files changed, 19 insertions, 3 deletions
diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/transition/TransitionManager.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/transition/TransitionManager.java
index 899dbd8e2f1..42501d4fa2a 100644
--- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/transition/TransitionManager.java
+++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/transition/TransitionManager.java
@@ -13,8 +13,10 @@ package org.eclipse.osee.ats.core.workflow.transition;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
import org.eclipse.osee.ats.api.IAtsWorkItem;
@@ -26,6 +28,7 @@ import org.eclipse.osee.ats.api.task.IAtsTaskService;
import org.eclipse.osee.ats.api.user.IAtsUser;
import org.eclipse.osee.ats.api.user.IAtsUserService;
import org.eclipse.osee.ats.api.util.IAtsChangeSet;
+import org.eclipse.osee.ats.api.util.IExecuteListener;
import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition;
import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinitionService;
import org.eclipse.osee.ats.api.workdef.IAttributeResolver;
@@ -54,7 +57,7 @@ import org.eclipse.osee.framework.logging.OseeLog;
/**
* @author Donald G. Dunne
*/
-public class TransitionManager implements IAtsTransitionManager {
+public class TransitionManager implements IAtsTransitionManager, IExecuteListener {
private final ITransitionHelper helper;
private String completedCancellationReason = null;
@@ -66,6 +69,7 @@ public class TransitionManager implements IAtsTransitionManager {
private final IAtsTaskService taskService;
private final IAtsWorkDefinitionService workDefService;
private final IAttributeResolver attrResolver;
+ private final Map<IAtsWorkItem, String> workItemFromStateMap;
public TransitionManager(ITransitionHelper helper) {
this.helper = helper;
@@ -75,6 +79,7 @@ public class TransitionManager implements IAtsTransitionManager {
this.workDefService = helper.getServices().getWorkDefService();
this.attrResolver = helper.getServices().getAttributeResolver();
this.taskService = helper.getServices().getTaskService();
+ this.workItemFromStateMap = new HashMap<>();
}
@Override
@@ -274,6 +279,7 @@ public class TransitionManager implements IAtsTransitionManager {
@Override
public void handleTransition(TransitionResults results) {
try {
+ helper.getChangeSet().addExecuteListener(this);
for (IAtsWorkItem workItem : helper.getWorkItems()) {
try {
IAtsStateDefinition fromState = workItem.getStateDefinition();
@@ -324,6 +330,8 @@ public class TransitionManager implements IAtsTransitionManager {
workItemService.clearImplementersCache(workItem);
}
helper.getChangeSet().add(workItem);
+
+ workItemFromStateMap.put(workItem, fromState.getName());
}
} catch (Exception ex) {
@@ -382,8 +390,8 @@ public class TransitionManager implements IAtsTransitionManager {
// Only check this if TeamWorkflow, not for reviews
if (workItem.isTeamWorkflow() && (teamDefRequiresTargetedVersion || pageRequiresTargetedVersion) && //
- !helper.getServices().getVersionService().hasTargetedVersion(workItem) && //
- !toStateDef.getStateType().isCancelledState()) {
+ !helper.getServices().getVersionService().hasTargetedVersion(workItem) && //
+ !toStateDef.getStateType().isCancelledState()) {
results.addResult(workItem, TransitionResult.MUST_BE_TARGETED_FOR_VERSION);
}
@@ -579,4 +587,12 @@ public class TransitionManager implements IAtsTransitionManager {
return result;
}
+ @Override
+ public void changesStored(IAtsChangeSet changes) {
+ // Notify extension points of transitionAndPersist
+ for (ITransitionListener listener : helper.getTransitionListeners()) {
+ listener.transitionPersisted(helper.getWorkItems(), workItemFromStateMap, helper.getToStateName());
+ }
+ }
+
}

Back to the top