diff options
author | ddunne | 2012-04-09 16:54:56 +0000 |
---|---|---|
committer | Roberto E. Escobar | 2012-04-09 16:54:56 +0000 |
commit | 1cd18c33bc5d862ea0a16cff46ab359d391ea3ce (patch) | |
tree | c996ebd5f18dcb8ca7b150493043bed1eecc262b | |
parent | b8926c75e41d949e2ee6a1d6142c760f0643e066 (diff) | |
download | org.eclipse.osee-1cd18c33bc5d862ea0a16cff46ab359d391ea3ce.tar.gz org.eclipse.osee-1cd18c33bc5d862ea0a16cff46ab359d391ea3ce.tar.xz org.eclipse.osee-1cd18c33bc5d862ea0a16cff46ab359d391ea3ce.zip |
feature[ats_0VB3H]: RPCR tasks - Add task functionality to CPCR/TPCR workflows - Post Deploy
21 files changed, 80 insertions, 1082 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 51d5d9ec161..b6da3a7c65c 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 @@ -19,7 +19,6 @@ import org.eclipse.osee.ats.core.team.TeamState; import org.eclipse.osee.ats.core.team.TeamWorkFlowArtifact; import org.eclipse.osee.ats.core.type.AtsAttributeTypes; import org.eclipse.osee.ats.core.type.AtsRelationTypes; -import org.eclipse.osee.ats.core.util.AtsUtilCore; import org.eclipse.osee.ats.core.workdef.StateDefinition; import org.eclipse.osee.ats.core.workflow.AbstractWorkflowArtifact; import org.eclipse.osee.ats.core.workflow.EstimatedHoursUtil; @@ -59,56 +58,6 @@ public class TaskArtifact extends AbstractWorkflowArtifact implements IATSStateM getParentAWA().getStateMgr().getCurrentStateName()); } - public boolean isUsingTaskResolutionOptions() throws OseeCoreException { - return AtsUtilCore.isAtsUsingResolutionOptions() && getTaskResolutionOptionDefintions().size() > 0; - } - - public List<TaskResOptionDefinition> getTaskResolutionOptionDefintions() throws OseeCoreException { - if (!AtsUtilCore.isAtsUsingResolutionOptions()) { - return TaskResolutionOptionRule.EMPTY_TASK_RESOLUTION_OPTIONS; - } - TeamWorkFlowArtifact team = getParentTeamWorkflow(); - if (team == null) { - return TaskResolutionOptionRule.EMPTY_TASK_RESOLUTION_OPTIONS; - } - return TaskResolutionOptionRule.getTaskResolutionOptions(team.getStateDefinition()); - } - - public TaskResOptionDefinition getTaskResolutionOptionDefinition(String optionName) throws OseeCoreException { - if (!AtsUtilCore.isAtsUsingResolutionOptions()) { - return null; - } - for (TaskResOptionDefinition def : getTaskResolutionOptionDefintions()) { - if (def.getName().equals(optionName)) { - return def; - } - } - return null; - } - - public List<TaskResOptionDefinition> getTaskResolutionOptionDefintions(String stateName) throws OseeCoreException { - if (!AtsUtilCore.isAtsUsingResolutionOptions()) { - return TaskResolutionOptionRule.EMPTY_TASK_RESOLUTION_OPTIONS; - } - TeamWorkFlowArtifact team = getParentTeamWorkflow(); - if (team == null) { - return TaskResolutionOptionRule.EMPTY_TASK_RESOLUTION_OPTIONS; - } - return TaskResolutionOptionRule.getTaskResolutionOptions(team.getStateDefinitionByName(stateName)); - } - - public TaskResOptionDefinition getTaskResolutionOptionDefinition(String stateName, String optionName) throws OseeCoreException { - if (!AtsUtilCore.isAtsUsingResolutionOptions()) { - return null; - } - for (TaskResOptionDefinition def : getTaskResolutionOptionDefintions(stateName)) { - if (def.getName().equals(optionName)) { - return def; - } - } - return null; - } - @Override public String getDescription() { try { diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/task/TaskResOptionDefinition.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/task/TaskResOptionDefinition.java deleted file mode 100644 index a41657319f5..00000000000 --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/task/TaskResOptionDefinition.java +++ /dev/null @@ -1,178 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.task; - -import org.eclipse.osee.framework.core.exception.OseeArgumentException; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.jdk.core.util.AXml; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -/** - * @author Donald G. Dunne - */ -public class TaskResOptionDefinition { - - private String name; - private String desc; - private boolean completeable; - private String color; - private String percent; - public final static String ATS_TASK_OPTION_TAG = "AtsTaskOption"; - - public TaskResOptionDefinition() { - name = ""; - desc = ""; - percent = ""; - completeable = false; - } - - /** - * @param completeable true/false of whether option allows task to be transitioned to complete - */ - public TaskResOptionDefinition(String name, String desc, String completeable, String color, String defaultPercent) { - this(name, desc, completeable.equals("true"), color, defaultPercent); - } - - public TaskResOptionDefinition(String name, String desc, boolean completeable, String defaultPercent) { - this(name, desc, completeable, "", defaultPercent); - } - - public void setFromElement(Element element) throws OseeCoreException { - for (int x = 0; x < element.getAttributes().getLength(); x++) { - Node node = element.getAttributes().item(x); - String nodeName = node.getNodeName(); - if (nodeName.equals(Field.name.name())) { - name = node.getNodeValue(); - } else if (nodeName.equals(Field.desc.name())) { - desc = node.getNodeValue(); - } else if (nodeName.equals(Field.complete.name())) { - completeable = Boolean.parseBoolean(node.getNodeValue()); - } else if (nodeName.equals(Field.color.name())) { - color = node.getNodeValue(); - } else if (nodeName.equals(Field.percent.name())) { - percent = node.getNodeValue(); - } else { - throw new OseeArgumentException("Unknow Task Resolution Option Attribute [%s]", nodeName); - } - } - } - - /** - * @param completeable true if option allows task to be transitioned to complete - * @param color BLUE, RED, etc...; "" for black - */ - public TaskResOptionDefinition(String name, String desc, boolean completeable, String color, String defaultPercent) { - this.name = name; - this.desc = desc; - this.completeable = completeable; - this.color = color; - this.percent = defaultPercent; - } - - /** - * @return true if resolution option allows task to be transitioned to complete - */ - public boolean isCompleteable() { - return completeable; - } - - public String getDesc() { - return desc; - } - - public String getName() { - return name; - } - - private enum Field { - name, - desc, - complete, - percent, - color - }; - - public void setFromXml(String xml) throws OseeCoreException { - for (Field field : Field.values()) { - String data = AXml.getTagData(xml, field.name()); - if (field == Field.name) { - setName(data); - } else if (field == Field.color) { - setColor(data); - } else if (field == Field.desc) { - setDesc(data); - } else if (field == Field.percent) { - setPercent(data); - } else if (field == Field.complete) { - setComplete(data.equals("true")); - } else { - throw new OseeArgumentException("Unexpected field"); - } - } - } - - public String toXml() throws OseeCoreException { - StringBuffer sb = new StringBuffer("<" + ATS_TASK_OPTION_TAG + ">"); - for (Field field : Field.values()) { - String str = ""; - if (field == Field.name) { - str = getName(); - } else if (field == Field.color) { - str = getColor(); - } else if (field == Field.desc) { - str = getDesc(); - } else if (field == Field.percent) { - str = getPercent(); - } else if (field == Field.complete) { - str = isCompleteable() ? "true" : "false"; - } else { - throw new OseeCoreException("Unexpected field"); - } - sb.append(AXml.addTagData(field.name(), str)); - } - sb.append("</" + ATS_TASK_OPTION_TAG + ">"); - return sb.toString(); - } - - public void setComplete(boolean complete) { - this.completeable = complete; - } - - public void setDesc(String desc) { - this.desc = desc; - } - - public void setName(String name) { - this.name = name; - } - - public String getColor() { - return color; - } - - public void setColor(String color) { - this.color = color; - } - - public String getPercent() { - return percent; - } - - public void setPercent(String defaultPercent) { - this.percent = defaultPercent; - } - - @Override - public String toString() { - return String.format("%s - %s - %s", name, percent, desc); - } -} diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/task/TaskResolutionOptionRule.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/task/TaskResolutionOptionRule.java deleted file mode 100644 index 55ace834380..00000000000 --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/task/TaskResolutionOptionRule.java +++ /dev/null @@ -1,160 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.task; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.logging.Level; -import org.eclipse.osee.ats.core.internal.Activator; -import org.eclipse.osee.ats.core.util.AtsUtilCore; -import org.eclipse.osee.ats.core.workdef.RuleDefinition; -import org.eclipse.osee.ats.core.workdef.StateDefinition; -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.exception.ArtifactDoesNotExist; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.exception.OseeExceptions; -import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -/** - * @author Donald G. Dunne - */ -public class TaskResolutionOptionRule { - - private final List<TaskResOptionDefinition> options = new ArrayList<TaskResOptionDefinition>(); - public final static String ATS_TASK_OPTIONS_TAG = "AtsTaskOptions"; - public final static String WORK_TYPE = "AtsTaskResolutionOptions"; - public final static List<TaskResOptionDefinition> EMPTY_TASK_RESOLUTION_OPTIONS = - new ArrayList<TaskResOptionDefinition>(); - public final static Map<StateDefinition, List<TaskResOptionDefinition>> stateDefToTaskResOptDefCache = - new HashMap<StateDefinition, List<TaskResOptionDefinition>>(); - - public static List<TaskResOptionDefinition> getTaskResolutionOptions(StateDefinition stateDefinition) throws OseeCoreException { - if (!AtsUtilCore.isAtsUsingResolutionOptions()) { - return TaskResolutionOptionRule.EMPTY_TASK_RESOLUTION_OPTIONS; - } - if (!stateDefToTaskResOptDefCache.containsKey(stateDefinition)) { - TaskResolutionOptionRule taskResolutionOptionRule = getTaskResolutionOptionRule(stateDefinition); - if (taskResolutionOptionRule != null) { - stateDefToTaskResOptDefCache.put(stateDefinition, taskResolutionOptionRule.getOptions()); - } else { - stateDefToTaskResOptDefCache.put(stateDefinition, EMPTY_TASK_RESOLUTION_OPTIONS); - } - } - return stateDefToTaskResOptDefCache.get(stateDefinition); - } - - public static TaskResolutionOptionRule getTaskResolutionOptionRule(StateDefinition stateDefinition) throws OseeCoreException { - if (!AtsUtilCore.isAtsUsingResolutionOptions()) { - return null; - } - List<RuleDefinition> wids = new ArrayList<RuleDefinition>(); - for (RuleDefinition ruleDef : stateDefinition.getRules()) { - if (ruleDef.getName().contains("taskResolutionOptions")) { - wids.add(ruleDef); - break; - } - } - if (wids.isEmpty()) { - return null; - } - RuleDefinition ruleDefinition = wids.iterator().next(); - if (ruleDefinition != null) { - TaskResolutionOptionRule taskResolutionOptionRule = new TaskResolutionOptionRule(); - taskResolutionOptionRule.fromXml(getTaskResolutionRuleXml(ruleDefinition)); - return taskResolutionOptionRule; - } - return null; - } - - private static String getTaskResolutionRuleXml(RuleDefinition ruleDefinition) throws OseeCoreException { - // Look for a GeneralData artifact of same name as rule to retrieve options xml string - Artifact artifact = null; - try { - artifact = - ArtifactQuery.getArtifactFromTypeAndName(CoreArtifactTypes.GeneralData, ruleDefinition.getName(), - AtsUtilCore.getAtsBranch()); - return artifact.getSoleAttributeValue(CoreAttributeTypes.GeneralStringData, ""); - } catch (ArtifactDoesNotExist ex) { - OseeLog.logf(Activator.class, Level.SEVERE, ex, "GeneralData artifact named [%s] does not exist", - ruleDefinition.getName()); - } - return ""; - } - - private void setFromDoc(Document doc) throws OseeCoreException { - NodeList nodes = doc.getElementsByTagName(TaskResOptionDefinition.ATS_TASK_OPTION_TAG); - if (nodes.getLength() > 0) { - for (int x = 0; x < nodes.getLength(); x++) { - Element element = (Element) nodes.item(x); - TaskResOptionDefinition trd = new TaskResOptionDefinition(); - trd.setFromElement(element); - options.add(trd); - } - } - } - - private void fromXml(String xmlStr) throws OseeCoreException { - try { - setFromDoc(Jaxp.readXmlDocument(xmlStr)); - } catch (Exception ex) { - OseeExceptions.wrapAndThrow(ex); - } - } - - public String toXml() throws OseeCoreException { - StringBuffer sb = new StringBuffer(); - sb.append("<" + TaskResOptionDefinition.ATS_TASK_OPTION_TAG + ">\n"); - for (TaskResOptionDefinition def : options) { - sb.append(def.toXml()); - sb.append("\n"); - } - sb.append("</"); - sb.append(TaskResOptionDefinition.ATS_TASK_OPTION_TAG); - sb.append(">\n"); - return sb.toString(); - } - - public List<TaskResOptionDefinition> getOptions() { - return options; - } - - /** - * Return the order index number of the given option name. Used for comparisons of resolutions like < and > by - * getting both indexes and doing a mathmatical comparison. - * - * @return index number (starting at 1) or null if not found - */ - public Integer getResolutionOptionOrderIndex(String name) { - int x = 1; - for (TaskResOptionDefinition option : options) { - if (option.getName().equals(name)) { - return x; - } - x++; - } - return null; - } - - public static void clearCaches() { - if (stateDefToTaskResOptDefCache != null) { - stateDefToTaskResOptDefCache.clear(); - } - } -} diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/AtsUtilCore.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/AtsUtilCore.java index 9308efeb4aa..57313e3dfbe 100644 --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/AtsUtilCore.java +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/AtsUtilCore.java @@ -15,7 +15,6 @@ import java.util.Collection; import java.util.List; import java.util.logging.Level; import org.eclipse.osee.ats.core.internal.Activator; -import org.eclipse.osee.ats.core.task.TaskArtifact; import org.eclipse.osee.ats.core.type.AtsArtifactTypes; import org.eclipse.osee.ats.core.type.AtsAttributeTypes; import org.eclipse.osee.framework.core.data.IArtifactToken; @@ -24,7 +23,6 @@ import org.eclipse.osee.framework.core.enums.Active; import org.eclipse.osee.framework.core.enums.CoreBranches; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.Branch; -import org.eclipse.osee.framework.database.core.OseeInfo; import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; @@ -50,19 +48,6 @@ public class AtsUtilCore { private static List<IEventFilter> atsObjectEventFilter = new ArrayList<IEventFilter>(2); private static boolean emailEnabled = true; - /** - * TODO Is ATS using Resolution Options. After resolution conversion (around 0.9.9_SR5ish), this flag can be removed - * and all the code dealing with resolution options. Also, search for "AtsUsingResolutionOptions" string in java code - * to remove any un-necessary methods and code. - */ - public static boolean isAtsUsingResolutionOptions() throws OseeCoreException { - return OseeInfo.isBoolean("AtsUsingResolutionOptions"); - } - - public static void setAtsUsingResolutionOptions(boolean set) throws OseeCoreException { - OseeInfo.setBoolean("AtsUsingResolutionOptions", set); - } - public static boolean isEmailEnabled() { return emailEnabled; } @@ -175,12 +160,4 @@ public class AtsUtilCore { return reviewArtifactTypesFilter; } - public static String getStateName(TaskArtifact taskArt) throws OseeCoreException { - if (AtsUtilCore.isAtsUsingResolutionOptions()) { - return taskArt.getSoleAttributeValue(AtsAttributeTypes.Resolution, ""); - } else { - return taskArt.getCurrentStateName(); - } - } - } diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workdef/WorkDefinitionFactory.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workdef/WorkDefinitionFactory.java index 1383d282dd4..37b40f98498 100644 --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workdef/WorkDefinitionFactory.java +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workdef/WorkDefinitionFactory.java @@ -21,7 +21,6 @@ import java.util.logging.Level; import org.eclipse.osee.ats.core.config.TeamDefinitionArtifact; import org.eclipse.osee.ats.core.internal.Activator; import org.eclipse.osee.ats.core.task.TaskArtifact; -import org.eclipse.osee.ats.core.task.TaskResolutionOptionRule; import org.eclipse.osee.ats.core.team.TeamWorkFlowArtifact; import org.eclipse.osee.ats.core.team.TeamWorkflowProviders; import org.eclipse.osee.ats.core.type.AtsArtifactTypes; @@ -59,7 +58,6 @@ public class WorkDefinitionFactory { public static void clearCaches() { awaArtIdToWorkDefinition.clear(); workDefIdToWorkDefintion.clear(); - TaskResolutionOptionRule.clearCaches(); } public static void addWorkDefinition(WorkDefinition workDef) { diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/workflow/SMAPromptChangeStatusTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/workflow/SMAPromptChangeStatusTest.java index 259f30af3d2..6dc8e616189 100644 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/workflow/SMAPromptChangeStatusTest.java +++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/workflow/SMAPromptChangeStatusTest.java @@ -22,7 +22,6 @@ import org.eclipse.osee.ats.core.task.TaskStates; import org.eclipse.osee.ats.core.team.TeamState; import org.eclipse.osee.ats.core.team.TeamWorkFlowArtifact; import org.eclipse.osee.ats.core.type.AtsAttributeTypes; -import org.eclipse.osee.ats.core.util.AtsUtilCore; 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; @@ -31,7 +30,6 @@ import org.eclipse.osee.ats.editor.SMAPromptChangeStatus; import org.eclipse.osee.ats.util.AtsUtil; import org.eclipse.osee.ats.util.DemoTestUtil; import org.eclipse.osee.ats.util.SMATestUtil; -import org.eclipse.osee.ats.util.widgets.dialog.SimpleTaskResolutionOptionsRule; import org.eclipse.osee.framework.core.util.Result; import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; @@ -59,7 +57,8 @@ public class SMAPromptChangeStatusTest { @org.junit.Test public void testInitialize() throws Exception { - SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); teamArt = DemoTestUtil.createSimpleAction(getClass().getSimpleName(), transaction); transaction.execute(); assertNotNull(teamArt); @@ -68,7 +67,8 @@ public class SMAPromptChangeStatusTest { @org.junit.Test public void testChangeTaskStatusNoResolution() throws Exception { - SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); Collection<TaskArtifact> tasks = DemoTestUtil.createSimpleTasks(teamArt, getClass().getSimpleName() + "_NoRes", 4, transaction); transaction.execute(); @@ -78,79 +78,31 @@ public class SMAPromptChangeStatusTest { assertTrue(SMAPromptChangeStatus.isValidToChangeStatus(tasks).isTrue()); // Change two to 100, 1 hr split - SMAPromptChangeStatus.performChangeStatus(tasks, null, null, 1, 100, true, true); - if (AtsUtilCore.isAtsUsingResolutionOptions()) { - SMATestUtil.validateSMAs(tasks, TaskStates.Completed.getPageName(), 100, 0.25); - } else { - SMATestUtil.validateSMAs(tasks, TaskStates.InWork.getPageName(), 100, 0.25); - } + SMAPromptChangeStatus.performChangeStatus(tasks, 1, 100, true, true); + SMATestUtil.validateSMAs(tasks, TaskStates.InWork.getPageName(), 100, 0.25); // Change two to 100, 1 hr split // hours should be added to inwork state; make sure completed state isn't statused - SMAPromptChangeStatus.performChangeStatus(tasks, null, null, 1, 100, true, true); - if (AtsUtilCore.isAtsUsingResolutionOptions()) { - SMATestUtil.validateSMAs(tasks, TaskStates.Completed.getPageName(), 100, 0.50); - } else { - SMATestUtil.validateSMAs(tasks, TaskStates.InWork.getPageName(), 100, 0.50); - } + SMAPromptChangeStatus.performChangeStatus(tasks, 1, 100, true, true); + SMATestUtil.validateSMAs(tasks, TaskStates.InWork.getPageName(), 100, 0.50); // Change two to 99, 1 hr split // transitions to InWork and adds hours // make sure hours not added to completed state - SMAPromptChangeStatus.performChangeStatus(tasks, null, null, 1, 99, true, true); + SMAPromptChangeStatus.performChangeStatus(tasks, 1, 99, true, true); SMATestUtil.validateSMAs(tasks, TaskStates.InWork.getPageName(), 99, 0.75); // Change two to 55, 0 // no transition, no hours spent - SMAPromptChangeStatus.performChangeStatus(tasks, null, null, 0, 55, true, true); + SMAPromptChangeStatus.performChangeStatus(tasks, 0, 55, true, true); SMATestUtil.validateSMAs(tasks, TaskStates.InWork.getPageName(), 55, 0.75); } @org.junit.Test - public void testChangeTaskStatusWithResolutionOptions() throws Exception { - if (!AtsUtilCore.isAtsUsingResolutionOptions()) { - return; - } - - SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); - Collection<TaskArtifact> tasks = - DemoTestUtil.createSimpleTasks(teamArt, getClass().getSimpleName() + "_Res", 4, transaction); - transaction.execute(); - - assertTrue(tasks.size() == 4); - - assertTrue(SMAPromptChangeStatus.isValidToChangeStatus(tasks).isTrue()); - SimpleTaskResolutionOptionsRule optionsRule = new SimpleTaskResolutionOptionsRule(); - - // Change two to 100, 1 hr split - SMAPromptChangeStatus.performChangeStatus(tasks, optionsRule.getOptions(), - SimpleTaskResolutionOptionsRule.States.Complete.name(), 1, 100, true, true); - SMATestUtil.validateSMAs(tasks, TaskStates.Completed.getPageName(), 100, 0.25); - - // Change two to 100, 1 hr split - // hours should be added to inwork state; make sure completed state isn't statused - SMAPromptChangeStatus.performChangeStatus(tasks, optionsRule.getOptions(), - SimpleTaskResolutionOptionsRule.States.Complete.name(), 1, 100, true, true); - SMATestUtil.validateSMAs(tasks, TaskStates.Completed.getPageName(), 100, 0.50); - - // Change two to 99, 1 hr split - // transitions to InWork and adds hours - // make sure hours not added to completed state - SMAPromptChangeStatus.performChangeStatus(tasks, optionsRule.getOptions(), - SimpleTaskResolutionOptionsRule.States.In_Work.name(), 1, 99, true, true); - SMATestUtil.validateSMAs(tasks, TaskStates.InWork.getPageName(), 99, 0.75); - - // Change two to 55, 0 - // no transition, no hours spent - SMAPromptChangeStatus.performChangeStatus(tasks, optionsRule.getOptions(), - SimpleTaskResolutionOptionsRule.States.In_Work.name(), 0, 55, true, true); - SMATestUtil.validateSMAs(tasks, TaskStates.InWork.getPageName(), 55, 0.75); - } - - @org.junit.Test public void testChangeStatusFailsIfTaskCancelled() throws Exception { - SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); Collection<TaskArtifact> tasks = DemoTestUtil.createSimpleTasks(teamArt, getClass().getSimpleName() + "_Cancel", 2, transaction); transaction.execute(); @@ -176,7 +128,8 @@ public class SMAPromptChangeStatusTest { @org.junit.Test public void testChangeStatusFailsIfTaskWrongRelatedToState() throws Exception { - SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); Collection<TaskArtifact> tasks = DemoTestUtil.createSimpleTasks(teamArt, getClass().getSimpleName() + "_RelState", 2, transaction); transaction.execute(); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ResolutionColumn.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ResolutionColumn.java index 7106a73269d..dbc98121a6f 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ResolutionColumn.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ResolutionColumn.java @@ -10,33 +10,9 @@ *******************************************************************************/ package org.eclipse.osee.ats.column; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import java.util.logging.Level; -import org.eclipse.nebula.widgets.xviewer.XViewer; -import org.eclipse.nebula.widgets.xviewer.XViewerColumn; -import org.eclipse.osee.ats.core.task.TaskArtifact; -import org.eclipse.osee.ats.core.task.TaskResOptionDefinition; -import org.eclipse.osee.ats.core.type.AtsArtifactTypes; import org.eclipse.osee.ats.core.type.AtsAttributeTypes; -import org.eclipse.osee.ats.editor.SMAPromptChangeStatus; -import org.eclipse.osee.ats.internal.Activator; -import org.eclipse.osee.ats.util.PromptChangeUtil; -import org.eclipse.osee.ats.util.widgets.dialog.TaskResOptionDefinitionToSwtColor; import org.eclipse.osee.ats.util.xviewer.column.XViewerAtsAttributeValueColumn; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.logging.OseeLevel; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.skynet.core.utility.Artifacts; -import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; -import org.eclipse.osee.framework.ui.swt.Displays; import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.widgets.TreeColumn; -import org.eclipse.swt.widgets.TreeItem; public class ResolutionColumn extends XViewerAtsAttributeValueColumn { @@ -66,105 +42,4 @@ public class ResolutionColumn extends XViewerAtsAttributeValueColumn { return true; } - public static boolean promptChangeResolutionOfTasks(XViewer xViewer, TaskArtifact taskArt, boolean persist) { - return promptChangeResolutionOfTasks(xViewer, Arrays.asList(taskArt), persist); - } - - public static boolean promptChangeResolutionOfTasks(XViewer xViewer, final Collection<? extends TaskArtifact> tasks, boolean persist) { - try { - // Ensure tasks are related to current state of workflow - Result result = SMAPromptChangeStatus.isValidToChangeStatus(tasks); - if (result.isFalse()) { - AWorkbench.popup(result); - return false; - } - - if (tasks.iterator().next().isUsingTaskResolutionOptions()) { - if (SMAPromptChangeStatus.promptChangeStatus(tasks, false)) { - // editor.onDirtied(); - xViewer.update(tasks.toArray(), null); - return true; - } - } else if (PromptChangeUtil.promptChangeAttribute(tasks, AtsAttributeTypes.Resolution, false, true)) { - // editor.onDirtied(); - xViewer.update(tasks.toArray(), null); - return true; - } - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex); - } - return false; - } - - public boolean isSelectedTaskArtifactsAreInWork(final Collection<? extends TaskArtifact> tasks) throws OseeCoreException { - for (TaskArtifact taskArt : tasks) { - if (!taskArt.isInWork()) { - return false; - } - } - return true; - } - - @Override - public boolean handleAltLeftClick(TreeColumn treeColumn, TreeItem treeItem) { - if (Artifacts.isOfType(treeItem, AtsArtifactTypes.Task)) { - return promptChangeResolutionOfTasks(getXViewer(), (TaskArtifact) treeItem.getData(), isPersistAltLeftClick()); - } - return super.handleAltLeftClick(treeColumn, treeItem); - } - - @Override - public Color getForeground(Object element, XViewerColumn xCol, int columnIndex) { - try { - TaskArtifact taskArt = (TaskArtifact) element; - TaskResOptionDefinition def = - taskArt.getTaskResolutionOptionDefinition((String) taskArt.getSoleAttributeValue( - AtsAttributeTypes.Resolution, null)); - if (def != null) { - return Displays.getSystemColor(TaskResOptionDefinitionToSwtColor.getColorInt(def)); - } - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - return null; - } - - @Override - public void handleColumnMultiEdit(TreeColumn treeColumn, Collection<TreeItem> treeItems) { - List<TaskArtifact> tasksUsingResOptions = new ArrayList<TaskArtifact>(); - List<TaskArtifact> allTasks = new ArrayList<TaskArtifact>(); - List<TreeItem> otherTreeItems = new ArrayList<TreeItem>(); - for (TreeItem item : treeItems) { - try { - if (Artifacts.isOfType(item, AtsArtifactTypes.Task)) { - allTasks.add((TaskArtifact) item.getData()); - } - if (Artifacts.isOfType(item, AtsArtifactTypes.Task) && ((TaskArtifact) item.getData()).isUsingTaskResolutionOptions()) { - tasksUsingResOptions.add((TaskArtifact) item.getData()); - } else { - otherTreeItems.add(item); - } - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - } - // Ensure tasks are related to current state of workflow - try { - Result result = SMAPromptChangeStatus.isValidToChangeStatus(allTasks); - if (result.isFalse()) { - AWorkbench.popup(result); - return; - } - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex); - } - - if (!tasksUsingResOptions.isEmpty()) { - promptChangeResolutionOfTasks(getXViewer(), tasksUsingResOptions, isPersistAltLeftClick()); - } - if (!otherTreeItems.isEmpty()) { - super.handleColumnMultiEdit(treeColumn, otherTreeItems); - } - } - } diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsDatabaseConfig.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsDatabaseConfig.java index 86b5a6dff61..88ecc9830df 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsDatabaseConfig.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsDatabaseConfig.java @@ -15,7 +15,6 @@ import org.eclipse.osee.ats.core.config.AtsArtifactToken; import org.eclipse.osee.ats.core.config.TeamDefinitionManager; import org.eclipse.osee.ats.core.type.AtsAttributeTypes; import org.eclipse.osee.ats.core.util.AtsGroup; -import org.eclipse.osee.ats.core.util.AtsUtilCore; import org.eclipse.osee.ats.core.workdef.WorkDefinitionFactory; import org.eclipse.osee.ats.core.workflow.ActionableItemManagerCore; import org.eclipse.osee.ats.util.AtsUtil; @@ -34,7 +33,6 @@ public class AtsDatabaseConfig implements IDbInitializationTask { @Override public void run() throws OseeCoreException { - AtsUtilCore.setAtsUsingResolutionOptions(true); createAtsFolders(); AtsWorkDefinitionSheetProviders.initializeDatabase(new XResultData(false), false); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeHoursSpent.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeHoursSpent.java index 274d999128b..1f24d05a747 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeHoursSpent.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeHoursSpent.java @@ -12,10 +12,8 @@ package org.eclipse.osee.ats.editor; import java.util.Arrays; import java.util.Collection; -import org.eclipse.osee.ats.core.util.AtsUtilCore; import org.eclipse.osee.ats.core.workflow.AbstractWorkflowArtifact; import org.eclipse.osee.ats.core.workflow.transition.TransitionStatusData; -import org.eclipse.osee.ats.util.widgets.dialog.TaskOptionStatusDialog; import org.eclipse.osee.ats.util.widgets.dialog.TransitionStatusDialog; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.util.Result; @@ -48,24 +46,14 @@ public class SMAPromptChangeHoursSpent { return result; } - if (AtsUtilCore.isAtsUsingResolutionOptions()) { - TaskOptionStatusDialog tsd = new TaskOptionStatusDialog("Enter State Hours Spent", false, null, awas); - if (tsd.open() == 0) { - SMAPromptChangeStatus.performChangeStatus(awas, null, - tsd.getSelectedOptionDef() != null ? tsd.getSelectedOptionDef().getName() : null, - tsd.getHours().getFloat(), tsd.getPercent().getInt(), tsd.isSplitHours(), persist); - return Result.TrueResult; - } - } else { - TransitionStatusData data = new TransitionStatusData(awas, false); - TransitionStatusDialog dialog = - new TransitionStatusDialog("Enter Hours Spent", - "Enter percent complete and number of hours you spent since last status.", data); - if (dialog.open() == 0) { - SMAPromptChangeStatus.performChangeStatus(awas, null, null, data.getAdditionalHours(), data.getPercent(), - data.isSplitHoursBetweenItems(), persist); - return Result.TrueResult; - } + TransitionStatusData data = new TransitionStatusData(awas, false); + TransitionStatusDialog dialog = + new TransitionStatusDialog("Enter Hours Spent", + "Enter percent complete and number of hours you spent since last status.", data); + if (dialog.open() == 0) { + SMAPromptChangeStatus.performChangeStatus(awas, data.getAdditionalHours(), data.getPercent(), + data.isSplitHoursBetweenItems(), persist); + return Result.TrueResult; } return Result.FalseResult; } diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeStatus.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeStatus.java index 2f07728d5ba..c7543102729 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeStatus.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeStatus.java @@ -12,17 +12,12 @@ package org.eclipse.osee.ats.editor; import java.util.Arrays; import java.util.Collection; -import java.util.List; import org.eclipse.osee.ats.core.task.TaskArtifact; -import org.eclipse.osee.ats.core.task.TaskManager; -import org.eclipse.osee.ats.core.task.TaskResOptionDefinition; import org.eclipse.osee.ats.core.type.AtsArtifactTypes; import org.eclipse.osee.ats.core.type.AtsAttributeTypes; -import org.eclipse.osee.ats.core.util.AtsUtilCore; import org.eclipse.osee.ats.core.workflow.AbstractWorkflowArtifact; import org.eclipse.osee.ats.core.workflow.transition.TransitionStatusData; import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.widgets.dialog.TaskOptionStatusDialog; import org.eclipse.osee.ats.util.widgets.dialog.TransitionStatusDialog; import org.eclipse.osee.framework.core.enums.SystemUser; import org.eclipse.osee.framework.core.exception.OseeCoreException; @@ -89,34 +84,19 @@ public class SMAPromptChangeStatus { return result; } - // Access resolution options if object is task - List<TaskResOptionDefinition> options = null; - if (awas.iterator().next().isOfType(AtsArtifactTypes.Task) && ((TaskArtifact) awas.iterator().next()).isUsingTaskResolutionOptions()) { - options = ((TaskArtifact) awas.iterator().next()).getTaskResolutionOptionDefintions(); - } - if (AtsUtilCore.isAtsUsingResolutionOptions()) { - TaskOptionStatusDialog tsd = new TaskOptionStatusDialog("Enter State Status", true, options, awas); - if (tsd.open() == 0) { - performChangeStatus(awas, options, - tsd.getSelectedOptionDef() != null ? tsd.getSelectedOptionDef().getName() : null, - tsd.getHours().getFloat(), tsd.getPercent().getInt(), tsd.isSplitHours(), persist); - return Result.TrueResult; - } - } else { - TransitionStatusData data = new TransitionStatusData(awas, true); - TransitionStatusDialog dialog = - new TransitionStatusDialog("Enter Hours Spent", - "Enter percent complete and number of hours you spent since last status.", data); - if (dialog.open() == 0) { - performChangeStatus(awas, options, null, data.getAdditionalHours(), data.getPercent(), - data.isSplitHoursBetweenItems(), persist); - return Result.TrueResult; - } + TransitionStatusData data = new TransitionStatusData(awas, true); + TransitionStatusDialog dialog = + new TransitionStatusDialog("Enter Hours Spent", + "Enter percent complete and number of hours you spent since last status.", data); + if (dialog.open() == 0) { + performChangeStatus(awas, data.getAdditionalHours(), data.getPercent(), data.isSplitHoursBetweenItems(), + persist); + return Result.TrueResult; } return Result.FalseResult; } - public static void performChangeStatus(Collection<? extends AbstractWorkflowArtifact> awas, List<TaskResOptionDefinition> options, String selectedOption, double hours, int percent, boolean splitHours, boolean persist) throws OseeCoreException { + public static void performChangeStatus(Collection<? extends AbstractWorkflowArtifact> awas, double hours, int percent, boolean splitHours, boolean persist) throws OseeCoreException { if (splitHours) { hours = hours / awas.size(); } @@ -129,22 +109,11 @@ public class SMAPromptChangeStatus { awa.getStateMgr().removeAssignee(UserManager.getUser(SystemUser.UnAssigned)); awa.getStateMgr().addAssignee(UserManager.getUser()); } - if (options != null && AtsUtilCore.isAtsUsingResolutionOptions()) { - awa.setSoleAttributeValue(AtsAttributeTypes.Resolution, selectedOption); - } - if (AtsUtilCore.isAtsUsingResolutionOptions() && awa.isOfType(AtsArtifactTypes.Task)) { - Result result = TaskManager.statusPercentChanged(((TaskArtifact) awa), hours, percent, transaction); - if (result.isFalse()) { - AWorkbench.popup(result); - return; - } + if (awa.getWorkDefinition().isStateWeightingEnabled()) { + awa.getStateMgr().updateMetrics(hours, percent, true); } else { - if (awa.getWorkDefinition().isStateWeightingEnabled()) { - awa.getStateMgr().updateMetrics(hours, percent, true); - } else { - awa.getStateMgr().updateMetrics(hours, percent, true); - awa.setSoleAttributeValue(AtsAttributeTypes.PercentComplete, percent); - } + awa.getStateMgr().updateMetrics(hours, percent, true); + awa.setSoleAttributeValue(AtsAttributeTypes.PercentComplete, percent); } if (persist) { awa.persist(transaction); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/WETransitionComposite.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/WETransitionComposite.java index a4c9c5db0e3..33ffc9b3eeb 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/WETransitionComposite.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/WETransitionComposite.java @@ -37,7 +37,6 @@ import org.eclipse.osee.ats.editor.stateItem.AtsStateItemManager; import org.eclipse.osee.ats.editor.stateItem.IAtsStateItem; import org.eclipse.osee.ats.internal.Activator; import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.widgets.dialog.SMAStatusDialog; import org.eclipse.osee.ats.util.widgets.dialog.TransitionStatusDialog; import org.eclipse.osee.ats.workdef.StateDefinitionLabelProvider; import org.eclipse.osee.ats.workdef.StateDefinitionViewSorter; @@ -313,25 +312,14 @@ public class WETransitionComposite extends Composite { String msg = awa.getStateMgr().getCurrentStateName() + " State\n\n" + AtsUtilCore.doubleToI18nString(awa.getStateMgr().getHoursSpent()) + " hours already spent on this state.\n" + "Enter the additional number of hours you spent on this state."; // Remove after ATS Resolution options is removed 0.9.9_SR5ish - if (AtsUtilCore.isAtsUsingResolutionOptions()) { - SMAStatusDialog tsd = new SMAStatusDialog("Enter Hours Spent", msg, false, Arrays.asList(awa)); - int result = tsd.open(); - if (result == 0) { - awa.getStateMgr().updateMetrics(tsd.getHours().getFloat(), 100, true); - return true; - } else { - return false; - } + TransitionStatusData data = new TransitionStatusData(Arrays.asList(awa), false); + TransitionStatusDialog dialog = new TransitionStatusDialog("Enter Hours Spent", msg, data); + int result = dialog.open(); + if (result == 0) { + awa.getStateMgr().updateMetrics(data.getAdditionalHours(), 100, true); + return true; } else { - TransitionStatusData data = new TransitionStatusData(Arrays.asList(awa), false); - TransitionStatusDialog dialog = new TransitionStatusDialog("Enter Hours Spent", msg, data); - int result = dialog.open(); - if (result == 0) { - awa.getStateMgr().updateMetrics(data.getAdditionalHours(), 100, true); - return true; - } else { - return false; - } + return false; } } else { return true; diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/report/ExtendedStatusReportJob.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/report/ExtendedStatusReportJob.java index fb331a6fd5f..2299d47830c 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/report/ExtendedStatusReportJob.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/report/ExtendedStatusReportJob.java @@ -25,7 +25,6 @@ import org.eclipse.osee.ats.core.team.TeamState; import org.eclipse.osee.ats.core.team.TeamWorkFlowArtifact; import org.eclipse.osee.ats.core.type.AtsArtifactTypes; import org.eclipse.osee.ats.core.type.AtsAttributeTypes; -import org.eclipse.osee.ats.core.util.AtsUtilCore; import org.eclipse.osee.ats.core.workflow.AbstractWorkflowArtifact; import org.eclipse.osee.ats.core.workflow.ChangeType; import org.eclipse.osee.ats.core.workflow.ChangeTypeUtil; @@ -209,11 +208,11 @@ public class ExtendedStatusReportJob extends Job { } } - private static void handleAnalysisColumn(AbstractWorkflowArtifact awa, List<String> values) throws OseeCoreException { + private static void handleAnalysisColumn(AbstractWorkflowArtifact awa, List<String> values) { String desc = awa.getDescription(); if (awa.isOfType(AtsArtifactTypes.Task)) { TaskArtifact taskArt = (TaskArtifact) awa; - desc = taskArt.getDescription() + " " + AtsUtilCore.getStateName(taskArt); + desc = taskArt.getDescription() + " " + taskArt.getCurrentStateName(); } if (desc.matches("^ *$")) { values.add("."); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusBlam.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusBlam.java index e2153f4f45e..ebdd90b5bcd 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusBlam.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusBlam.java @@ -40,7 +40,6 @@ import org.eclipse.osee.ats.core.task.TaskArtifact; import org.eclipse.osee.ats.core.team.TeamState; import org.eclipse.osee.ats.core.team.TeamWorkFlowArtifact; import org.eclipse.osee.ats.core.type.AtsAttributeTypes; -import org.eclipse.osee.ats.core.util.AtsUtilCore; import org.eclipse.osee.ats.core.version.VersionArtifact; import org.eclipse.osee.ats.core.workflow.PercentCompleteTotalUtil; import org.eclipse.osee.ats.internal.Activator; @@ -625,8 +624,7 @@ public class DetailedTestStatusBlam extends AbstractBlam { } int percentComplete = PercentCompleteTotalUtil.getPercentCompleteTotal(task); - requirementStatus.addPartitionStatus(percentComplete, taskNameMatcher.group(1), - AtsUtilCore.getStateName(task)); + requirementStatus.addPartitionStatus(percentComplete, taskNameMatcher.group(1), task.getCurrentStateName()); requirementStatus.setTestPocs(task.getImplementers()); } } diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusOld.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusOld.java index 268853e0199..321444219ca 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusOld.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusOld.java @@ -38,7 +38,6 @@ import org.eclipse.osee.ats.core.task.TaskArtifact; import org.eclipse.osee.ats.core.team.TeamState; import org.eclipse.osee.ats.core.team.TeamWorkFlowArtifact; import org.eclipse.osee.ats.core.type.AtsAttributeTypes; -import org.eclipse.osee.ats.core.util.AtsUtilCore; import org.eclipse.osee.ats.core.version.VersionArtifact; import org.eclipse.osee.ats.core.workflow.PercentCompleteTotalUtil; import org.eclipse.osee.ats.internal.Activator; @@ -574,8 +573,7 @@ public class DetailedTestStatusOld extends AbstractBlam { } int percentComplete = PercentCompleteTotalUtil.getPercentCompleteTotal(task); - requirementStatus.addPartitionStatus(percentComplete, taskNameMatcher.group(1), - AtsUtilCore.getStateName(task)); + requirementStatus.addPartitionStatus(percentComplete, taskNameMatcher.group(1), task.getCurrentStateName()); requirementStatus.setTestPocs(task.getImplementers()); } else { logf("odd task: [%s]", task.getName()); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/TaskMetrics.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/TaskMetrics.java index 58bc9a14905..6662fc38cca 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/TaskMetrics.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/TaskMetrics.java @@ -26,7 +26,6 @@ import org.eclipse.osee.ats.core.task.TaskStates; import org.eclipse.osee.ats.core.team.TeamWorkFlowArtifact; import org.eclipse.osee.ats.core.type.AtsArtifactTypes; import org.eclipse.osee.ats.core.type.AtsRelationTypes; -import org.eclipse.osee.ats.core.util.AtsUtilCore; import org.eclipse.osee.ats.core.workflow.SMAState; import org.eclipse.osee.ats.core.workflow.XCurrentStateDam; import org.eclipse.osee.ats.core.workflow.XStateDam; @@ -141,9 +140,9 @@ public class TaskMetrics extends AbstractBlam { if (percentComplete == 100) { task.getCompletedDate(); - String resolution = AtsUtilCore.getStateName(task); + String stateStr = task.getCurrentStateName(); - if (resolution.equals("Complete")) { + if (stateStr.equals("Complete")) { metrics.put(user, 100); } else { metrics.put(user, 5); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java index a604ac080d7..d1d046d26e1 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java @@ -13,7 +13,6 @@ package org.eclipse.osee.ats.task; import java.util.Arrays; import java.util.Collection; import java.util.Iterator; -import java.util.logging.Level; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.MenuManager; @@ -26,10 +25,8 @@ import org.eclipse.osee.ats.column.HoursSpentSMAStateColumn; import org.eclipse.osee.ats.column.HoursSpentStateTotalColumn; import org.eclipse.osee.ats.column.PercentCompleteSMAStateColumn; import org.eclipse.osee.ats.column.PercentCompleteTotalColumn; -import org.eclipse.osee.ats.column.ResolutionColumn; import org.eclipse.osee.ats.core.task.TaskArtifact; import org.eclipse.osee.ats.core.type.AtsArtifactTypes; -import org.eclipse.osee.ats.core.util.AtsUtilCore; import org.eclipse.osee.ats.editor.SMAPromptChangeStatus; import org.eclipse.osee.ats.internal.Activator; import org.eclipse.osee.ats.workflow.TransitionToMenu; @@ -76,21 +73,6 @@ public class TaskXViewer extends WorldXViewer { } } - public boolean isUsingTaskResolutionOptions() { - try { - if (!AtsUtilCore.isAtsUsingResolutionOptions()) { - return false; - } - if (getSelectedTaskArtifact() == null) { - return false; - } - return getSelectedTaskArtifact().isUsingTaskResolutionOptions(); - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - return false; - } - @Override public void handleColumnMultiEdit(TreeColumn treeColumn, Collection<TreeItem> treeItems) { super.handleColumnMultiEdit(treeColumn, treeItems); @@ -197,9 +179,7 @@ public class TaskXViewer extends WorldXViewer { TaskArtifact taskArt = (TaskArtifact) treeItem.getData(); boolean modified = false; - if (isUsingTaskResolutionOptions() && (xCol.equals(HoursSpentSMAStateColumn.getInstance()) || xCol.equals(HoursSpentStateTotalColumn.getInstance()) || xCol.equals(PercentCompleteSMAStateColumn.getInstance()) || xCol.equals(PercentCompleteTotalColumn.getInstance()))) { - modified = ResolutionColumn.promptChangeResolutionOfTasks(this, getSelectedTaskArtifacts(), false); - } else if (xCol.equals(HoursSpentSMAStateColumn.getInstance()) || xCol.equals(HoursSpentStateTotalColumn.getInstance()) || xCol.equals(PercentCompleteSMAStateColumn.getInstance()) || xCol.equals(PercentCompleteTotalColumn.getInstance())) { + if (xCol.equals(HoursSpentSMAStateColumn.getInstance()) || xCol.equals(HoursSpentStateTotalColumn.getInstance()) || xCol.equals(PercentCompleteSMAStateColumn.getInstance()) || xCol.equals(PercentCompleteTotalColumn.getInstance())) { modified = SMAPromptChangeStatus.promptChangeStatus(Arrays.asList(taskArt), false); } else { modified = super.handleAltLeftClick(treeColumn, treeItem); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/SimpleTaskResolutionOptionsRule.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/SimpleTaskResolutionOptionsRule.java deleted file mode 100644 index 57c32e285b7..00000000000 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/SimpleTaskResolutionOptionsRule.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util.widgets.dialog; - -import org.eclipse.osee.ats.core.task.TaskResolutionOptionRule; - -/** - * @author Donald G. Dunne - */ -public class SimpleTaskResolutionOptionsRule extends TaskResolutionOptionRule { - - public final static String ID = "ats.simpleTaskResolutionOptions"; - public static enum States { - None, - In_Work, - Waiting, - Coded, - Awaiting_Review, - No_Change, - Complete - }; - public static String resolutionOptionsXml = - "<AtsTaskOptions> " + - // - "<AtsTaskOption name=\"" + States.None.name() + "\" desc=\"Nothing has been done.\" complete=\"false\" percent=\"0\"/> " + - // - "<AtsTaskOption name=\"In_Work\" desc=\"Working on task.\" complete=\"false\" percent=\"15\"/> " + - // - "<AtsTaskOption name=\"Waiting\" desc=\"Waiting on some other dependency.\" complete=\"false\" percent=\"15\" color=\"DARK_RED\"/> " + - // - "<AtsTaskOption name=\"Coded\" desc=\"Code is completed but not tested.\" complete=\"false\" percent=\"75\"/> " + - // - "<AtsTaskOption name=\"Awaiting_Review\" desc=\"Awaiting a review on changes made.\" complete=\"false\" percent=\"95\" color=\"DARK_RED\"/> " + - // - "<AtsTaskOption name=\"No_Change\" desc=\"No change to code is necessary.\" complete=\"true\" percent=\"100\" color=\"DARK_GREEN\"/> " + - // - "<AtsTaskOption name=\"Complete\" desc=\"Code finished.\" complete=\"true\" percent=\"100\" color=\"DARK_GREEN\"/> " + - // - "</AtsTaskOptions>"; - -} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/TaskOptionStatusDialog.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/TaskOptionStatusDialog.java deleted file mode 100644 index a9c16575403..00000000000 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/TaskOptionStatusDialog.java +++ /dev/null @@ -1,158 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util.widgets.dialog; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jface.viewers.ArrayContentProvider; -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.jface.viewers.ILabelProviderListener; -import org.eclipse.osee.ats.core.task.TaskResOptionDefinition; -import org.eclipse.osee.ats.core.type.AtsAttributeTypes; -import org.eclipse.osee.ats.core.workflow.AbstractWorkflowArtifact; -import org.eclipse.osee.ats.internal.Activator; -import org.eclipse.osee.framework.jdk.core.util.Strings; -import org.eclipse.osee.framework.logging.OseeLevel; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.ui.skynet.widgets.XComboViewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Composite; - -/** - * Replaced by TransitionStatusDialog. Remove once AtsUtilCore.isAtsUsingResolutionOptions gets removed. Around - * 0.9.9_SR4/5. - * - * @author Donald G Dunne - */ -public class TaskOptionStatusDialog extends SMAStatusDialog { - - XComboViewer resolutionCombo = new XComboViewer("Resolution", SWT.NONE); - private final List<TaskResOptionDefinition> options; - private final Map<String, TaskResOptionDefinition> nameToResDef = new HashMap<String, TaskResOptionDefinition>(); - private TaskResOptionDefinition selectedOption; - private final static String MESSAGE = "Enter percent complete and number of hours you spent since last status."; - private final static String OPTION_MESSAGE = - "Select resolution, enter percent complete and number of hours you spent since last status."; - - public TaskOptionStatusDialog(String dialogTitle, boolean showPercent, List<TaskResOptionDefinition> options, Collection<? extends AbstractWorkflowArtifact> tasks) { - super(dialogTitle, options == null ? MESSAGE : OPTION_MESSAGE, showPercent, tasks); - this.options = options; - if (options != null) { - for (TaskResOptionDefinition trd : options) { - nameToResDef.put(trd.getName(), trd); - } - } - } - - @Override - protected IStatus isComplete() { - TaskResOptionDefinition trd = getSelectedOptionDef(); - int percentComp = percent.getInt(); - if (trd != null && trd.isCompleteable() && percentComp != 100) { - return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Completed resolution must have %Complete == 100"); - } - if (percentComp == 100 && trd != null && !trd.isCompleteable()) { - return new Status(IStatus.ERROR, Activator.PLUGIN_ID, - "Can't have 100% complete with a non-Completed resolution"); - } - return super.isComplete(); - } - - public TaskResOptionDefinition getSelectedOptionDef() { - return selectedOption; - } - - @Override - protected void createPreCustomArea(Composite parent) { - super.createPreCustomArea(parent); - if (options != null) { - resolutionCombo.setLabelProvider(new ResolutionLabelProvider()); - resolutionCombo.setContentProvider(new ArrayContentProvider()); - resolutionCombo.setRequiredEntry(true); - ArrayList<Object> objs = new ArrayList<Object>(); - for (Object obj : options) { - objs.add(obj); - } - resolutionCombo.setInput(objs); - resolutionCombo.createWidgets(parent, 2); - try { - if (awas.size() == 1) { - String selOption = awas.iterator().next().getSoleAttributeValue(AtsAttributeTypes.Resolution, ""); - if (Strings.isValid(selOption)) { - selectedOption = nameToResDef.get(selOption); - if (selectedOption != null) { - ArrayList<Object> sel = new ArrayList<Object>(); - sel.add(selectedOption); - resolutionCombo.setSelected(sel); - } - } - } - } catch (Exception ex) { - OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex); - } - resolutionCombo.getCombo().setVisibleItemCount(20); - resolutionCombo.addSelectionListener(new SelectionAdapter() { - - @Override - public void widgetSelected(SelectionEvent e) { - selectedOption = (TaskResOptionDefinition) resolutionCombo.getSelected(); - if (selectedOption != null && !selectedOption.getPercent().equals("")) { - int newPercent = Integer.valueOf(selectedOption.getPercent()).intValue(); - percent.set(newPercent + ""); - updateStatusLabel(); - } - }; - }); - } - } - public static class ResolutionLabelProvider implements ILabelProvider { - - @Override - public Image getImage(Object arg0) { - return null; - } - - @Override - public String getText(Object arg0) { - TaskResOptionDefinition trd = (TaskResOptionDefinition) arg0; - return trd.getName() + " - " + trd.getDesc() + (trd.isCompleteable() ? " (Completed)" : ""); - } - - @Override - public void addListener(ILabelProviderListener arg0) { - // do nothing - } - - @Override - public void dispose() { - // do nothing - } - - @Override - public boolean isLabelProperty(Object arg0, String arg1) { - return false; - } - - @Override - public void removeListener(ILabelProviderListener arg0) { - // do nothing - } - - } -} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/TaskResOptionDefinitionToSwtColor.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/TaskResOptionDefinitionToSwtColor.java deleted file mode 100644 index 06942f1a349..00000000000 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/dialog/TaskResOptionDefinitionToSwtColor.java +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util.widgets.dialog; - -import org.eclipse.osee.ats.core.task.TaskResOptionDefinition; -import org.eclipse.osee.framework.jdk.core.util.Strings; -import org.eclipse.swt.SWT; - -/** - * @author Donald G. Dunne - */ -public class TaskResOptionDefinitionToSwtColor { - - public static int getColorInt(TaskResOptionDefinition def) { - if (!Strings.isValid(def.getColor())) { - return SWT.COLOR_BLACK; - } - if (def.getColor().equals("WHITE")) { - return SWT.COLOR_WHITE; - } - if (def.getColor().equals("BLACK")) { - return SWT.COLOR_BLACK; - } - if (def.getColor().equals("RED")) { - return SWT.COLOR_RED; - } - if (def.getColor().equals("DARK_RED")) { - return SWT.COLOR_DARK_RED; - } - if (def.getColor().equals("GREEN")) { - return SWT.COLOR_GREEN; - } - if (def.getColor().equals("DARK_GREEN")) { - return SWT.COLOR_DARK_GREEN; - } - if (def.getColor().equals("YELLOW")) { - return SWT.COLOR_YELLOW; - } - if (def.getColor().equals("DARK_YELLOW")) { - return SWT.COLOR_DARK_YELLOW; - } - if (def.getColor().equals("BLUE")) { - return SWT.COLOR_BLUE; - } - if (def.getColor().equals("DARK_BLUE")) { - return SWT.COLOR_DARK_BLUE; - } - if (def.getColor().equals("MAGENTA")) { - return SWT.COLOR_MAGENTA; - } - if (def.getColor().equals("DARK_MAGENTA")) { - return SWT.COLOR_DARK_MAGENTA; - } - if (def.getColor().equals("CYAN")) { - return SWT.COLOR_CYAN; - } - if (def.getColor().equals("DARK_CYAN")) { - return SWT.COLOR_DARK_CYAN; - } - if (def.getColor().equals("GRAY")) { - return SWT.COLOR_GRAY; - } - if (def.getColor().equals("DARK_GRAY")) { - return SWT.COLOR_DARK_GRAY; - } - return SWT.COLOR_BLACK; - } - -} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateXWidgetPage.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateXWidgetPage.java index f33f70599e8..3b3308946dd 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateXWidgetPage.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateXWidgetPage.java @@ -26,7 +26,6 @@ import java.util.Set; import java.util.logging.Level; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; -import org.eclipse.osee.ats.core.task.TaskResolutionOptionRule; import org.eclipse.osee.ats.core.type.AtsAttributeTypes; import org.eclipse.osee.ats.core.workdef.CompositeStateItem; import org.eclipse.osee.ats.core.workdef.StateDefinition; @@ -75,7 +74,6 @@ public class StateXWidgetPage implements IDynamicWidgetLayoutListener, IWorkPage protected DynamicXWidgetLayout dynamicXWidgetLayout; protected final StateDefinition stateDefinition; protected final WorkDefinition workDefinition; - protected TaskResolutionOptionRule taskResolutionOptions; private AbstractWorkflowArtifact sma; private StateXWidgetPage(WorkDefinition workDefinition, StateDefinition stateDefinition, IXWidgetOptionResolver optionResolver, IDynamicWidgetLayoutListener dynamicWidgetLayoutListener) { @@ -317,18 +315,6 @@ public class StateXWidgetPage implements IDynamicWidgetLayoutListener, IWorkPage this.sma = sma; } - public TaskResolutionOptionRule getTaskResDef() { - return taskResolutionOptions; - } - - public void setTaskResDef(TaskResolutionOptionRule taskResolutionOptions) { - this.taskResolutionOptions = taskResolutionOptions; - } - - public boolean isUsingTaskResolutionOptions() { - return this.taskResolutionOptions != null; - } - public boolean isCurrentState(AbstractWorkflowArtifact sma) { return sma.isInState(this); } diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionToMenu.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionToMenu.java index 4b6678d608a..d4c033bf8a2 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionToMenu.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionToMenu.java @@ -24,7 +24,6 @@ import org.eclipse.jface.action.MenuManager; import org.eclipse.nebula.widgets.xviewer.XViewer; import org.eclipse.osee.ats.AtsImage; import org.eclipse.osee.ats.core.team.TeamState; -import org.eclipse.osee.ats.core.util.AtsUtilCore; import org.eclipse.osee.ats.core.workdef.StateDefinition; import org.eclipse.osee.ats.core.workflow.AbstractWorkflowArtifact; import org.eclipse.osee.ats.core.workflow.transition.ITransitionHelper; @@ -34,7 +33,6 @@ import org.eclipse.osee.ats.core.workflow.transition.TransitionStatusData; import org.eclipse.osee.ats.core.workflow.transition.TransitionToOperation; import org.eclipse.osee.ats.editor.SMAPromptChangeStatus; import org.eclipse.osee.ats.internal.Activator; -import org.eclipse.osee.ats.util.widgets.dialog.SMAStatusDialog; import org.eclipse.osee.ats.util.widgets.dialog.TransitionStatusDialog; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.operation.Operations; @@ -135,71 +133,38 @@ public class TransitionToMenu { public void run() { StateDefinition toStateDef = awas.iterator().next().getWorkDefinition().getStateByName(toStateName); boolean showPercentCompleted = !toStateDef.isCompletedOrCancelledPage(); - try { - if (AtsUtilCore.isAtsUsingResolutionOptions()) { - SMAStatusDialog tsd = - new SMAStatusDialog("Enter Hours Spent", "Enter additional hours spent in current state(s)", - showPercentCompleted, getAwas()); - if (toStateDef.getRecommendedPercentComplete() != null) { - tsd.setDefaultPercent(toStateDef.getRecommendedPercentComplete()); - } - int dialogResult = tsd.open(); - if (dialogResult == 0) { - try { - SMAPromptChangeStatus.performChangeStatus(awas, null, null, tsd.getHours().getFloat(), - tsd.getPercent().getInt(), tsd.isSplitHours(), true); - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - result.set(false); - result.setTextWithFormat( - "Exception handling extra hours spent for transition to [%s] (see log)", - getToStateName()); - } - } else { - result.setCancelled(true); - } - } else { - TransitionStatusData data = new TransitionStatusData(getAwas(), showPercentCompleted); - if (toStateDef.getRecommendedPercentComplete() != null) { - data.setDefaultPercent(toStateDef.getRecommendedPercentComplete()); - data.setPercent(100); - } else if (toStateDef.isCompletedOrCancelledPage()) { - data.setDefaultPercent(100); - data.setPercent(100); - } - String title = null; - String message = null; - if (data.isPercentRequired()) { - title = "Enter Percent and Hours Spent"; - message = "Enter percent complete and additional hours spent in current state(s)"; - } else { - title = "Enter Hours Spent"; - message = "Enter additional hours spent in current state(s)"; - } - TransitionStatusDialog dialog = new TransitionStatusDialog(title, message, data); - - int dialogResult = dialog.open(); - if (dialogResult == 0) { - try { - SMAPromptChangeStatus.performChangeStatus(awas, null, null, data.getAdditionalHours(), - data.getPercent(), data.isSplitHoursBetweenItems(), true); - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - result.set(false); - result.setTextWithFormat( - "Exception handling extra hours spent for transition to [%s] (see log)", - getToStateName()); - } - } else { - result.setCancelled(true); - } + TransitionStatusData data = new TransitionStatusData(getAwas(), showPercentCompleted); + if (toStateDef.getRecommendedPercentComplete() != null) { + data.setDefaultPercent(toStateDef.getRecommendedPercentComplete()); + data.setPercent(100); + } else if (toStateDef.isCompletedOrCancelledPage()) { + data.setDefaultPercent(100); + data.setPercent(100); + } + String title = null; + String message = null; + if (data.isPercentRequired()) { + title = "Enter Percent and Hours Spent"; + message = "Enter percent complete and additional hours spent in current state(s)"; + } else { + title = "Enter Hours Spent"; + message = "Enter additional hours spent in current state(s)"; + } + TransitionStatusDialog dialog = new TransitionStatusDialog(title, message, data); + + int dialogResult = dialog.open(); + if (dialogResult == 0) { + try { + SMAPromptChangeStatus.performChangeStatus(awas, data.getAdditionalHours(), data.getPercent(), + data.isSplitHoursBetweenItems(), true); + } catch (OseeCoreException ex) { + OseeLog.log(Activator.class, Level.SEVERE, ex); + result.set(false); + result.setTextWithFormat( + "Exception handling extra hours spent for transition to [%s] (see log)", getToStateName()); } - } catch (OseeCoreException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - result.set(false); - result.setTextWithFormat("Exception handling extra hours spent for transition to [%s] (see log)", - getToStateName()); - + } else { + result.setCancelled(true); } } }, true); |