diff options
author | ddunne | 2012-02-13 19:13:37 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2012-02-13 19:13:37 +0000 |
commit | 12b5df00bd19753df059da5063f11ca12efb9fbd (patch) | |
tree | 0f60715f7e3678e970bd14e9aae9943b87fe45ff | |
parent | c93de6911bace9e7d91a959316725daf3ccf7247 (diff) | |
download | org.eclipse.osee-12b5df00bd19753df059da5063f11ca12efb9fbd.tar.gz org.eclipse.osee-12b5df00bd19753df059da5063f11ca12efb9fbd.tar.xz org.eclipse.osee-12b5df00bd19753df059da5063f11ca12efb9fbd.zip |
feature: Remove use of ATS Log for determination of Implementers for Tasks
-rw-r--r-- | plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/task/TaskArtifact.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/task/TaskArtifact.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/task/TaskArtifact.java index 8c55905124f..9f83a8d1f06 100644 --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/task/TaskArtifact.java +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/task/TaskArtifact.java @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.osee.ats.core.task; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Date; @@ -26,7 +27,6 @@ import org.eclipse.osee.ats.core.workflow.PercentCompleteTotalUtil; import org.eclipse.osee.ats.core.workflow.StateManager; import org.eclipse.osee.ats.core.workflow.log.AtsLog; import org.eclipse.osee.ats.core.workflow.log.LogItem; -import org.eclipse.osee.ats.core.workflow.log.LogType; import org.eclipse.osee.ats.core.workflow.transition.TransitionHelper; import org.eclipse.osee.ats.core.workflow.transition.TransitionManager; import org.eclipse.osee.ats.core.workflow.transition.TransitionOption; @@ -37,6 +37,7 @@ import org.eclipse.osee.framework.core.exception.OseeStateException; import org.eclipse.osee.framework.core.model.Branch; import org.eclipse.osee.framework.core.model.IBasicUser; import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.skynet.core.UserManager; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.ArtifactFactory; @@ -175,12 +176,13 @@ public class TaskArtifact extends AbstractWorkflowArtifact implements IATSStateM @Override public List<IBasicUser> getImplementers() throws OseeCoreException { - List<IBasicUser> implementers = StateManager.getImplementersByState(this, TaskStates.InWork); - LogItem lastEvent = getLog().getLastEvent(LogType.StateComplete); - if (lastEvent != null && lastEvent.getUser() != null) { - for (IBasicUser user : getStateMgr().getAssignees(lastEvent.getState())) { - if (!UserManager.isUnAssignedUser(user) && !implementers.contains(user)) { - implementers.add(user); + List<IBasicUser> implementers = new ArrayList<IBasicUser>(); + if (isCompleted()) { + String completedFromStateStr = getSoleAttributeValue(AtsAttributeTypes.CompletedFromState, ""); + if (Strings.isValid(completedFromStateStr)) { + StateDefinition completedFromState = getWorkDefinition().getStateByName(completedFromStateStr); + if (completedFromState != null) { + implementers.addAll(StateManager.getAssigneesByState(this, completedFromState)); } } } |