Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2011-06-15 18:12:07 +0000
committerRyan D. Brooks2011-06-15 18:12:07 +0000
commit4ec2332b13b6ffd4b68c676132ca6fcede83464b (patch)
treeb636f503c267971bd43cc6beee620f94b7c3822a /plugins/org.eclipse.osee.ats.core/src/org
parente0f84c2cd45b9d98cbc1477abcd4db8ce78fa891 (diff)
downloadorg.eclipse.osee-4ec2332b13b6ffd4b68c676132ca6fcede83464b.tar.gz
org.eclipse.osee-4ec2332b13b6ffd4b68c676132ca6fcede83464b.tar.xz
org.eclipse.osee-4ec2332b13b6ffd4b68c676132ca6fcede83464b.zip
feature[ats_USHBR]: Create state assignee and completed date columns
Diffstat (limited to 'plugins/org.eclipse.osee.ats.core/src/org')
-rw-r--r--plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/StateManager.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/StateManager.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/StateManager.java
index 79e055f35b4..6ca492df526 100644
--- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/StateManager.java
+++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/StateManager.java
@@ -25,13 +25,17 @@ import org.eclipse.osee.ats.core.team.TeamState;
import org.eclipse.osee.ats.core.type.AtsAttributeTypes;
import org.eclipse.osee.ats.core.util.AtsUtilCore;
import org.eclipse.osee.ats.core.workdef.StateDefinition;
+import org.eclipse.osee.ats.core.workdef.WorkDefinition;
+import org.eclipse.osee.ats.core.workdef.WorkDefinitionFactory;
import org.eclipse.osee.ats.core.workflow.log.LogItem;
+import org.eclipse.osee.ats.core.workflow.log.LogType;
import org.eclipse.osee.framework.core.enums.SystemUser;
import org.eclipse.osee.framework.core.exception.OseeArgumentException;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.IBasicUser;
import org.eclipse.osee.framework.core.util.IWorkPage;
import org.eclipse.osee.framework.core.util.WorkPageType;
+import org.eclipse.osee.framework.jdk.core.util.DateUtil;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.UserManager;
@@ -48,6 +52,7 @@ public class StateManager {
private final XStateDam stateDam;
private final AbstractWorkflowArtifact sma;
private static final Set<String> notValidAttributeType = new HashSet<String>();
+ private static List<String> stateNames = null;
public StateManager(AbstractWorkflowArtifact sma) {
this.sma = sma;
@@ -455,4 +460,40 @@ public class StateManager {
}
currentStateDam.setState(state);
}
+
+ public static Collection<? extends IBasicUser> getAssigneesByState(AbstractWorkflowArtifact workflow, StateDefinition state) throws OseeCoreException {
+ Set<IBasicUser> users = new HashSet<IBasicUser>();
+ SMAState smaState = workflow.getStateMgr().getSMAState(state, false);
+ if (smaState != null) {
+ users.addAll(smaState.getAssignees());
+ }
+ return users;
+ }
+
+ public synchronized static Collection<? extends String> getStateNames() {
+ if (stateNames == null) {
+ stateNames = new ArrayList<String>();
+ try {
+ for (WorkDefinition workDef : WorkDefinitionFactory.loadAllDefinitions()) {
+ for (StateDefinition state : workDef.getStates()) {
+ if (!stateNames.contains(state.getName())) {
+ stateNames.add(state.getName());
+ }
+ }
+ }
+ } catch (OseeCoreException ex) {
+ OseeLog.log(Activator.class, Level.SEVERE, ex);
+ }
+ Collections.sort(stateNames);
+ }
+ return stateNames;
+ }
+
+ public static String getCompletedDateByState(AbstractWorkflowArtifact awa, StateDefinition state) throws OseeCoreException {
+ LogItem stateEvent = awa.getLog().getStateEvent(LogType.StateComplete, state.getPageName());
+ if (stateEvent != null && stateEvent.getDate() != null) {
+ return DateUtil.getMMDDYYHHMM(stateEvent.getDate());
+ }
+ return "";
+ }
}

Back to the top