Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2010-12-20 18:53:51 +0000
committerRyan D. Brooks2010-12-20 18:53:51 +0000
commit03cd075064b65d08c7a7d37fe509a6dbc51e9521 (patch)
tree7471bf6c72c16da67af88b24fc648e07169bd9f3
parent21fe33efd494e400de4a411b09c976ee31d6c4a4 (diff)
downloadorg.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
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/WorkflowDebugAction.java13
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateDefinition.java31
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java1
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java4
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);
}

Back to the top