diff options
author | ddunne | 2010-12-20 18:53:51 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2010-12-20 18:53:51 +0000 |
commit | 03cd075064b65d08c7a7d37fe509a6dbc51e9521 (patch) | |
tree | 7471bf6c72c16da67af88b24fc648e07169bd9f3 | |
parent | 21fe33efd494e400de4a411b09c976ee31d6c4a4 (diff) | |
download | org.eclipse.osee-03cd075064b65d08c7a7d37fe509a6dbc51e9521.tar.gz org.eclipse.osee-03cd075064b65d08c7a7d37fe509a6dbc51e9521.tar.xz org.eclipse.osee-03cd075064b65d08c7a7d37fe509a6dbc51e9521.zip |
feature: Create WorkDefinition model to abstract ATS workflow definitions
4 files changed, 44 insertions, 5 deletions
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 f139f9eb7d8..a364cbdf676 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 @@ -66,7 +66,7 @@ public class WorkflowDebugAction extends Action { // Display workflows rd.log(AHTML.newline() + AHTML.bold("WorkDefinition id: " + sma.getWorkDefinition().getName()) + AHTML.newline()); for (RuleDefinition ruleDefinition : sma.getWorkDefinition().getRules()) { - rd.log(AHTML.addSpace(6) + "Rule: " + ruleDefinition.toString()); + rd.log(AHTML.addSpace(6) + AHTML.color("green", "Rule: ") + ruleDefinition.toString()); } // Display pages @@ -74,7 +74,14 @@ public class WorkflowDebugAction extends Action { rd.log(AHTML.bold(state.toString())); processStateItems(state.getStateItems(), rd, 1); for (RuleDefinition rule : state.getRules()) { - rd.log(AHTML.addSpace(6) + "Rule: " + rule.toString()); + rd.log(AHTML.addSpace(6) + AHTML.color("cyan", "Rule: ") + rule.toString()); + } + for (StateDefinition toState : state.getToStates()) { + boolean isDefault = state.getDefaultToStates().contains(toState); + rd.log(AHTML.addSpace(6) + AHTML.color("blue", "Transition ToState: ") + toState.getPageName() + (isDefault ? " (Default)" : "")); + } + for (StateDefinition toState : state.getReturnStates()) { + rd.log(AHTML.addSpace(6) + AHTML.color("blue", "Transition ReturnState: ") + toState.getReturnStates()); } } return rd; @@ -83,7 +90,7 @@ public class WorkflowDebugAction extends Action { private void processStateItems(List<StateItem> stateItems, XResultData rd, int level) { for (StateItem stateItem : stateItems) { if (stateItem instanceof WidgetDefinition) { - rd.log(AHTML.addSpace(6 * level) + "Widget: " + stateItem.toString()); + rd.log(AHTML.addSpace(6 * level) + AHTML.color("green", "Widget: ") + stateItem.toString()); } else if (stateItem instanceof CompositeStateItem) { rd.log(AHTML.addSpace(6 * level) + AHTML.bold("Composite - numColumns = " + ((CompositeStateItem) stateItem).getNumColumns())); processStateItems(((CompositeStateItem) stateItem).getStateItems(), rd, level + 1); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateDefinition.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateDefinition.java index c164862bf4c..c9fadc66076 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateDefinition.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateDefinition.java @@ -149,4 +149,35 @@ public class StateDefinition extends AbstractWorkDefItem implements IWorkPage { public List<StateDefinition> getOverrideAttributeValidationStates() { return overrideAttributeValidationStates; } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((getFullName() == null) ? 0 : getFullName().hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + StateDefinition other = (StateDefinition) obj; + if (getFullName() == null) { + if (other.getFullName() != null) { + return false; + } + } else if (!getFullName().equals(other.getFullName())) { + return false; + } + return true; + } + } diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java index 03a9345d21a..fc3e64c5e51 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java @@ -110,6 +110,7 @@ public class WorkDefinitionFactory { stateDef.setStartState(true); } stateDef.setWorkPageType(workPage.getWorkPageType()); + for (WorkPageDefinition returnPageDefinition : workFlowDef.getReturnPages(workPage)) { StateDefinition returnStateDef = workDef.getOrCreateState(returnPageDefinition.getPageName()); stateDef.getReturnStates().add(returnStateDef); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java index 7e161288cb9..73a38eca586 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java @@ -63,13 +63,13 @@ public class TransitionManager { final StateDefinition fromStateDefinition = aba.getStateDefinition(); final StateDefinition toStateDefinition = aba.getStateDefinitionByName(toState.getPageName()); if (toStateDefinition == null) { - return new Result("Invalid toState \"" + toState + "\""); + return new Result("Invalid toState \"" + toState.getPageName() + "\""); } // Validate transition from fromPage to toPage if (!overrideTransitionCheck && !fromStateDefinition.getToStates().contains(toStateDefinition)) { String errStr = - "Not configured to transition to \"" + toState + "\" from \"" + fromStateDefinition.getPageName() + "\""; + "Not configured to transition to \"" + toState.getPageName() + "\" from \"" + fromStateDefinition.getPageName() + "\""; OseeLog.log(AtsPlugin.class, Level.SEVERE, errStr); return new Result(errStr); } |