diff options
author | donald.g.dunne | 2011-09-06 23:21:07 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2011-09-06 23:21:07 +0000 |
commit | 1dcc430a78f5065c8b4a0cb4b63c7124f0b2e056 (patch) | |
tree | eaefa1b7d8678e97f3a1169c932d1df98eebfb1a | |
parent | 80808677455801c056310c1e055bef3ffd17b0c5 (diff) | |
download | org.eclipse.osee-1dcc430a78f5065c8b4a0cb4b63c7124f0b2e056.tar.gz org.eclipse.osee-1dcc430a78f5065c8b4a0cb4b63c7124f0b2e056.tar.xz org.eclipse.osee-1dcc430a78f5065c8b4a0cb4b63c7124f0b2e056.zip |
bug[ats_Z53V9]: Authorized state display out of order for OTE Action
8 files changed, 46 insertions, 18 deletions
diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workdef/WorkDefinition.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workdef/WorkDefinition.java index 9870172ce39..34e43920422 100644 --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workdef/WorkDefinition.java +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workdef/WorkDefinition.java @@ -36,14 +36,26 @@ public class WorkDefinition extends AbstractWorkDefItem { return states; } - public List<StateDefinition> getStatesOrdered() { + public List<StateDefinition> getStatesOrderedByOrdinal() { + List<StateDefinition> orderedPages = new ArrayList<StateDefinition>(); + for (int x = 1; x < states.size(); x++) { + for (StateDefinition state : states) { + if (state.getOrdinal() == x) { + orderedPages.add(state); + } + } + } + return orderedPages; + } + + public List<StateDefinition> getStatesOrderedByDefaultToState() { if (startState == null) { throw new IllegalArgumentException("Can't locate Start State for workflow " + getName()); } // Get ordered pages starting with start page List<StateDefinition> orderedPages = new ArrayList<StateDefinition>(); - getOrderedStates(startState, orderedPages); + getStatesOrderedByDefaultToState(startState, orderedPages); // Move completed to the end if it exists StateDefinition completedPage = null; @@ -61,7 +73,7 @@ public class WorkDefinition extends AbstractWorkDefItem { return orderedPages; } - private void getOrderedStates(StateDefinition stateDefinition, List<StateDefinition> pages) { + private void getStatesOrderedByDefaultToState(StateDefinition stateDefinition, List<StateDefinition> pages) { if (pages.contains(stateDefinition)) { return; } @@ -70,12 +82,12 @@ public class WorkDefinition extends AbstractWorkDefItem { // Add default page StateDefinition defaultToState = getDefaultToState(stateDefinition); if (defaultToState != null && !defaultToState.getName().equals(stateDefinition.getName())) { - getOrderedStates(getDefaultToState(stateDefinition), pages); + getStatesOrderedByDefaultToState(getDefaultToState(stateDefinition), pages); } // Add remaining pages for (StateDefinition stateDef : stateDefinition.getToStates()) { if (!pages.contains(stateDef)) { - getOrderedStates(stateDef, pages); + getStatesOrderedByDefaultToState(stateDef, pages); } } } diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AddNoteAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AddNoteAction.java index 5da88e7c133..21867e4c9ed 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AddNoteAction.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/AddNoteAction.java @@ -57,7 +57,7 @@ public class AddNoteAction extends Action { ArrayList<String> artifactNames = new ArrayList<String>(); Map<String, String> selectedToStateName = new HashMap<String, String>(); artifactNames.add("Whole \"" + sma.getArtifactTypeName() + "\""); - for (StateDefinition stateDefinition : sma.getWorkDefinition().getStatesOrdered()) { + for (StateDefinition stateDefinition : sma.getWorkDefinition().getStatesOrderedByDefaultToState()) { String displayName = "\"" + stateDefinition.getPageName() + "\" State"; artifactNames.add(displayName); selectedToStateName.put(displayName, stateDefinition.getPageName()); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/WorkflowDebugAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/WorkflowDebugAction.java index 019ee80c023..56679a95ffb 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/WorkflowDebugAction.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/WorkflowDebugAction.java @@ -76,7 +76,7 @@ public class WorkflowDebugAction extends Action { } // Display pages - for (StateDefinition state : sma.getWorkDefinition().getStatesOrdered()) { + for (StateDefinition state : sma.getWorkDefinition().getStatesOrderedByDefaultToState()) { rd.log(AHTML.bold(state.toString())); processStateItems(state.getStateItems(), rd, 1); for (RuleDefinition rule : state.getRules()) { diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/WorkflowManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/WorkflowManager.java index f7ca851f1c4..c7ea0db1124 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/WorkflowManager.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/WorkflowManager.java @@ -52,8 +52,8 @@ public class WorkflowManager { awa.isAccessControlWrite() && // (WorkflowManagerCore.isEditable(awa, awa.getStateDefinition(), priviledgedEditEnabled) || // - // page is define to allow anyone to edit - awa.getStateDefinition().hasRule(RuleDefinitionOption.AllowAssigneeToAll) || + // page is define to allow anyone to edit + awa.getStateDefinition().hasRule(RuleDefinitionOption.AllowAssigneeToAll) || // team definition has allowed anyone to edit awa.teamDefHasRule(RuleDefinitionOption.AllowAssigneeToAll)); } @@ -293,7 +293,7 @@ public class WorkflowManager { } public static StateXWidgetPage getCurrentAtsWorkPage(AbstractWorkflowArtifact awa) { - for (StateXWidgetPage statePage : getStatePages(awa)) { + for (StateXWidgetPage statePage : getStatePagesOrderedByDefaultToState(awa)) { if (awa.getStateMgr().isInState(statePage)) { return statePage; } @@ -301,9 +301,25 @@ public class WorkflowManager { return null; } - public static List<StateXWidgetPage> getStatePages(AbstractWorkflowArtifact awa) { + public static List<StateXWidgetPage> getStatePagesOrderedByOrdinal(AbstractWorkflowArtifact awa) { List<StateXWidgetPage> statePages = new ArrayList<StateXWidgetPage>(); - for (StateDefinition stateDefinition : awa.getWorkDefinition().getStatesOrdered()) { + for (StateDefinition stateDefinition : awa.getWorkDefinition().getStatesOrderedByOrdinal()) { + try { + StateXWidgetPage statePage = + new StateXWidgetPage(awa.getWorkDefinition(), stateDefinition, null, + ATSXWidgetOptionResolver.getInstance()); + statePages.add(statePage); + } catch (Exception ex) { + OseeLog.log(Activator.class, Level.SEVERE, ex); + } + } + return statePages; + + } + + public static List<StateXWidgetPage> getStatePagesOrderedByDefaultToState(AbstractWorkflowArtifact awa) { + List<StateXWidgetPage> statePages = new ArrayList<StateXWidgetPage>(); + for (StateDefinition stateDefinition : awa.getWorkDefinition().getStatesOrderedByDefaultToState()) { try { StateXWidgetPage statePage = new StateXWidgetPage(awa.getWorkDefinition(), stateDefinition, null, diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditorOutlinePage.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditorOutlinePage.java index 53aaecd90d7..3114d6b7312 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditorOutlinePage.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditorOutlinePage.java @@ -293,7 +293,7 @@ public class SMAEditorOutlinePage extends ContentOutlinePage { } private void getChildrenFromWrappedPercentDefinition(WrappedPercentWeight weightDef, List<Object> items) { - for (StateDefinition stateDef : weightDef.getWorkDef().getStatesOrdered()) { + for (StateDefinition stateDef : weightDef.getWorkDef().getStatesOrderedByDefaultToState()) { items.add(String.format("State [%s]: %d", stateDef.getName(), stateDef.getStateWeight())); } } @@ -384,7 +384,7 @@ public class SMAEditorOutlinePage extends ContentOutlinePage { for (String id : ((WorkDefinitionMatch) element).getWorkDefinition().getIds()) { items.add("Id: " + id); } - items.addAll(((WorkDefinitionMatch) element).getWorkDefinition().getStatesOrdered()); + items.addAll(((WorkDefinitionMatch) element).getWorkDefinition().getStatesOrderedByDefaultToState()); items.addAll(((WorkDefinitionMatch) element).getWorkDefinition().getRules()); items.add(new WrappedPercentWeight(((WorkDefinitionMatch) element).getWorkDefinition())); items.add(new WrappedTrace(((WorkDefinitionMatch) element).getTrace())); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPrint.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPrint.java index b8b5b2d8d9c..a7a489df3cc 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPrint.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPrint.java @@ -159,7 +159,7 @@ public class SMAPrint extends Action { private void getWorkFlowHtml(XResultData rd) throws OseeCoreException { // Only display current or past states - for (StateXWidgetPage statePage : WorkflowManager.getStatePages(sma)) { + for (StateXWidgetPage statePage : WorkflowManager.getStatePagesOrderedByOrdinal(sma)) { if (sma.isInState(statePage) || sma.getStateMgr().isStateVisited(statePage)) { // Don't show completed or cancelled state if not currently those state if (statePage.isCompletedPage() && !sma.isCompleted()) { diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java index d5c09709067..a873af5cc6e 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java @@ -343,7 +343,7 @@ public class SMAWorkFlowTab extends FormPage implements IActionable { private void createPageSections() { try { // Only display current or past states - for (StateXWidgetPage statePage : WorkflowManager.getStatePages(awa)) { + for (StateXWidgetPage statePage : WorkflowManager.getStatePagesOrderedByOrdinal(awa)) { try { if (awa.isInState(statePage) || awa.getStateMgr().isStateVisited(statePage)) { // Don't show completed or cancelled state if not currently those state diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/viewer/AtsWorkDefConfigEditor.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/viewer/AtsWorkDefConfigEditor.java index cffbdd5de32..f74a60add0b 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/viewer/AtsWorkDefConfigEditor.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/viewer/AtsWorkDefConfigEditor.java @@ -222,7 +222,7 @@ public class AtsWorkDefConfigEditor extends GraphicalEditorWithFlyoutPalette { throw new OseeArgumentException("StartPage null for workflow " + workflowDef); } // Create states - List<StateDefinition> stateDefs = workflowDef.getStatesOrdered(); + List<StateDefinition> stateDefs = workflowDef.getStatesOrderedByDefaultToState(); for (StateDefinition stateDef : workflowDef.getStates()) { if (!stateDefs.contains(stateDef)) { stateDefs.add(stateDef); @@ -241,7 +241,7 @@ public class AtsWorkDefConfigEditor extends GraphicalEditorWithFlyoutPalette { } // Create transitions - for (StateDefinition stateDef : workflowDef.getStatesOrdered()) { + for (StateDefinition stateDef : workflowDef.getStatesOrderedByDefaultToState()) { StateDefShape pageShape = getStateDefShape(stateDef); // Handle to pages Set<StateDefinition> toPages = new HashSet<StateDefinition>(); |