You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2016/02/08 17:49:05 UTC
[23/50] [abbrv] airavata git commit: Changed dag classes to work with
thrift workflow data models
Changed dag classes to work with thrift workflow data models
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/9859af32
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/9859af32
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/9859af32
Branch: refs/heads/master
Commit: 9859af32bfd71aa95ec0e5e170d4937398899ecd
Parents: 494e0d7
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Feb 1 13:17:05 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Feb 1 13:17:05 2016 -0500
----------------------------------------------------------------------
.../org/apache/airavata/model/PortModel.java | 122 +++++++++++++++++--
.../workflow/core/dag/edge/DirectedEdge.java | 12 ++
.../airavata/workflow/core/dag/edge/Edge.java | 5 +
.../core/dag/nodes/ApplicationNode.java | 2 +
.../core/dag/nodes/ApplicationNodeImpl.java | 62 +++++-----
.../core/dag/nodes/WorkflowInputNodeImpl.java | 44 ++++---
.../workflow/core/dag/nodes/WorkflowNode.java | 14 ++-
.../core/dag/nodes/WorkflowOutputNodeImpl.java | 44 ++++---
.../workflow/core/dag/port/InputPortIml.java | 24 ++--
.../workflow/core/dag/port/OutPortImpl.java | 19 ++-
.../airavata/workflow/core/dag/port/Port.java | 5 +
.../workflow-models/workflow_data_model.thrift | 5 +-
12 files changed, 270 insertions(+), 88 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
index 5b5c9fd..41cf054 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
@@ -58,7 +58,8 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
private static final org.apache.thrift.protocol.TField PORT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("portId", org.apache.thrift.protocol.TType.STRING, (short)1);
private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRUCT, (short)3);
- private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)4);
+ private static final org.apache.thrift.protocol.TField VALUE_FIELD_DESC = new org.apache.thrift.protocol.TField("value", org.apache.thrift.protocol.TType.STRING, (short)4);
+ private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)5);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -69,6 +70,7 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
private String portId; // required
private String name; // optional
private ComponentStatus status; // optional
+ private String value; // optional
private String description; // optional
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -76,7 +78,8 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
PORT_ID((short)1, "portId"),
NAME((short)2, "name"),
STATUS((short)3, "status"),
- DESCRIPTION((short)4, "description");
+ VALUE((short)4, "value"),
+ DESCRIPTION((short)5, "description");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -97,7 +100,9 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
return NAME;
case 3: // STATUS
return STATUS;
- case 4: // DESCRIPTION
+ case 4: // VALUE
+ return VALUE;
+ case 5: // DESCRIPTION
return DESCRIPTION;
default:
return null;
@@ -139,7 +144,7 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
}
// isset id assignments
- private static final _Fields optionals[] = {_Fields.NAME,_Fields.STATUS,_Fields.DESCRIPTION};
+ private static final _Fields optionals[] = {_Fields.NAME,_Fields.STATUS,_Fields.VALUE,_Fields.DESCRIPTION};
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
static {
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -149,6 +154,8 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ComponentStatus.class)));
+ tmpMap.put(_Fields.VALUE, new org.apache.thrift.meta_data.FieldMetaData("value", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -180,6 +187,9 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
if (other.isSetStatus()) {
this.status = new ComponentStatus(other.status);
}
+ if (other.isSetValue()) {
+ this.value = other.value;
+ }
if (other.isSetDescription()) {
this.description = other.description;
}
@@ -195,6 +205,7 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
this.name = null;
this.status = null;
+ this.value = null;
this.description = null;
}
@@ -267,6 +278,29 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
}
}
+ public String getValue() {
+ return this.value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public void unsetValue() {
+ this.value = null;
+ }
+
+ /** Returns true if field value is set (has been assigned a value) and false otherwise */
+ public boolean isSetValue() {
+ return this.value != null;
+ }
+
+ public void setValueIsSet(boolean value) {
+ if (!value) {
+ this.value = null;
+ }
+ }
+
public String getDescription() {
return this.description;
}
@@ -316,6 +350,14 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
}
break;
+ case VALUE:
+ if (value == null) {
+ unsetValue();
+ } else {
+ setValue((String)value);
+ }
+ break;
+
case DESCRIPTION:
if (value == null) {
unsetDescription();
@@ -338,6 +380,9 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
case STATUS:
return getStatus();
+ case VALUE:
+ return getValue();
+
case DESCRIPTION:
return getDescription();
@@ -358,6 +403,8 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
return isSetName();
case STATUS:
return isSetStatus();
+ case VALUE:
+ return isSetValue();
case DESCRIPTION:
return isSetDescription();
}
@@ -404,6 +451,15 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
return false;
}
+ boolean this_present_value = true && this.isSetValue();
+ boolean that_present_value = true && that.isSetValue();
+ if (this_present_value || that_present_value) {
+ if (!(this_present_value && that_present_value))
+ return false;
+ if (!this.value.equals(that.value))
+ return false;
+ }
+
boolean this_present_description = true && this.isSetDescription();
boolean that_present_description = true && that.isSetDescription();
if (this_present_description || that_present_description) {
@@ -435,6 +491,11 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
if (present_status)
list.add(status);
+ boolean present_value = true && (isSetValue());
+ list.add(present_value);
+ if (present_value)
+ list.add(value);
+
boolean present_description = true && (isSetDescription());
list.add(present_description);
if (present_description)
@@ -481,6 +542,16 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(isSetValue()).compareTo(other.isSetValue());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetValue()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.value, other.value);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
lastComparison = Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
if (lastComparison != 0) {
return lastComparison;
@@ -538,6 +609,16 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
}
first = false;
}
+ if (isSetValue()) {
+ if (!first) sb.append(", ");
+ sb.append("value:");
+ if (this.value == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.value);
+ }
+ first = false;
+ }
if (isSetDescription()) {
if (!first) sb.append(", ");
sb.append("description:");
@@ -623,7 +704,15 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
- case 4: // DESCRIPTION
+ case 4: // VALUE
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.value = iprot.readString();
+ struct.setValueIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 5: // DESCRIPTION
if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
struct.description = iprot.readString();
struct.setDescriptionIsSet(true);
@@ -663,6 +752,13 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
oprot.writeFieldEnd();
}
}
+ if (struct.value != null) {
+ if (struct.isSetValue()) {
+ oprot.writeFieldBegin(VALUE_FIELD_DESC);
+ oprot.writeString(struct.value);
+ oprot.writeFieldEnd();
+ }
+ }
if (struct.description != null) {
if (struct.isSetDescription()) {
oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
@@ -695,16 +791,22 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
if (struct.isSetStatus()) {
optionals.set(1);
}
- if (struct.isSetDescription()) {
+ if (struct.isSetValue()) {
optionals.set(2);
}
- oprot.writeBitSet(optionals, 3);
+ if (struct.isSetDescription()) {
+ optionals.set(3);
+ }
+ oprot.writeBitSet(optionals, 4);
if (struct.isSetName()) {
oprot.writeString(struct.name);
}
if (struct.isSetStatus()) {
struct.status.write(oprot);
}
+ if (struct.isSetValue()) {
+ oprot.writeString(struct.value);
+ }
if (struct.isSetDescription()) {
oprot.writeString(struct.description);
}
@@ -715,7 +817,7 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
TTupleProtocol iprot = (TTupleProtocol) prot;
struct.portId = iprot.readString();
struct.setPortIdIsSet(true);
- BitSet incoming = iprot.readBitSet(3);
+ BitSet incoming = iprot.readBitSet(4);
if (incoming.get(0)) {
struct.name = iprot.readString();
struct.setNameIsSet(true);
@@ -726,6 +828,10 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
struct.setStatusIsSet(true);
}
if (incoming.get(2)) {
+ struct.value = iprot.readString();
+ struct.setValueIsSet(true);
+ }
+ if (incoming.get(3)) {
struct.description = iprot.readString();
struct.setDescriptionIsSet(true);
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java
index 91118cc..b1d79b1 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java
@@ -21,6 +21,7 @@
package org.apache.airavata.workflow.core.dag.edge;
+import org.apache.airavata.model.EdgeModel;
import org.apache.airavata.workflow.core.dag.port.InPort;
import org.apache.airavata.workflow.core.dag.port.OutPort;
@@ -29,6 +30,17 @@ public class DirectedEdge implements Edge {
private InPort inPort;
private OutPort outPort;
+ private EdgeModel edgeModel;
+
+ @Override
+ public void setEdgeModel(EdgeModel edgeModel) {
+ this.edgeModel = edgeModel;
+ }
+
+ @Override
+ public EdgeModel getEdgeModel() {
+ return edgeModel;
+ }
@Override
public InPort getToPort() {
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java
index ee11371..d1c340e 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java
@@ -21,6 +21,7 @@
package org.apache.airavata.workflow.core.dag.edge;
+import org.apache.airavata.model.EdgeModel;
import org.apache.airavata.workflow.core.dag.port.InPort;
import org.apache.airavata.workflow.core.dag.port.OutPort;
@@ -31,6 +32,10 @@ import org.apache.airavata.workflow.core.dag.port.OutPort;
public interface Edge {
+ public void setEdgeModel(EdgeModel edgeModel);
+
+ public EdgeModel getEdgeModel();
+
public InPort getToPort();
public void setToPort(InPort inPort);
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNode.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNode.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNode.java
index d775bf4..ab876cc 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNode.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNode.java
@@ -30,6 +30,8 @@ public interface ApplicationNode extends WorkflowNode {
public String getApplicationId();
+ public String getApplicationName();
+
public void addInPort(InPort inPort);
public List<InPort> getInputPorts();
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNodeImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNodeImpl.java
index ad7bd63..adc865f 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNodeImpl.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNodeImpl.java
@@ -21,6 +21,9 @@
package org.apache.airavata.workflow.core.dag.nodes;
+import org.apache.airavata.model.ComponentState;
+import org.apache.airavata.model.ComponentStatus;
+import org.apache.airavata.model.NodeModel;
import org.apache.airavata.workflow.core.dag.port.InPort;
import org.apache.airavata.workflow.core.dag.port.OutPort;
@@ -29,35 +32,32 @@ import java.util.List;
public class ApplicationNodeImpl implements ApplicationNode {
- private final String nodeId;
- private NodeState myState = NodeState.WAITING;
- private String applicationId;
- private List<InPort> inPorts = new ArrayList<InPort>();
- private List<OutPort> outPorts = new ArrayList<OutPort>();
- private String applicationName;
+ private NodeModel nodeModel;
+ private List<InPort> inPorts = new ArrayList<>();
+ private List<OutPort> outPorts = new ArrayList<>();
-// public ApplicationNodeImpl(String nodeId) {
-// this(nodeId, null);
-// }
-//
-// public ApplicationNodeImpl(String nodeId, String applicationId) {
-// this(nodeId, null, applicationId);
-// }
+ public ApplicationNodeImpl(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
+ }
+
+ @Override
+ public void setNodeModel(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
+ }
- public ApplicationNodeImpl(String nodeId, String applicationName, String applicationId) {
- this.nodeId = nodeId;
- this.applicationName = applicationName;
- this.applicationId = applicationId;
+ @Override
+ public NodeModel getNodeModel() {
+ return nodeModel;
}
@Override
public String getId() {
- return this.nodeId;
+ return nodeModel.getNodeId();
}
@Override
public String getName() {
- return applicationName;
+ return getNodeModel().getName();
}
@Override
@@ -66,17 +66,18 @@ public class ApplicationNodeImpl implements ApplicationNode {
}
@Override
- public NodeState getState() {
- return myState;
+ public ComponentState getState() {
+ return getStatus().getState();
}
@Override
- public void setState(NodeState newState) {
- if (newState.getLevel() > myState.getLevel()) {
- myState = newState;
- } else {
- throw new IllegalStateException("Node state can't be reversed. currentState : " + myState.toString() + " , newState " + newState.toString());
- }
+ public ComponentStatus getStatus() {
+ return getNodeModel().getStatus();
+ }
+
+ @Override
+ public void setStatus(ComponentStatus newStatus) {
+ getNodeModel().setStatus(newStatus);
}
@Override
@@ -91,7 +92,12 @@ public class ApplicationNodeImpl implements ApplicationNode {
@Override
public String getApplicationId() {
- return this.applicationId;
+ return getNodeModel().getApplicationId();
+ }
+
+ @Override
+ public String getApplicationName() {
+ return null;
}
@Override
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java
index 608bdbd..3ecc865 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java
@@ -19,35 +19,40 @@
package org.apache.airavata.workflow.core.dag.nodes;
+import org.apache.airavata.model.ComponentState;
+import org.apache.airavata.model.ComponentStatus;
+import org.apache.airavata.model.NodeModel;
import org.apache.airavata.model.application.io.InputDataObjectType;
import org.apache.airavata.workflow.core.dag.port.OutPort;
public class WorkflowInputNodeImpl implements WorkflowInputNode {
- private NodeState myState = NodeState.READY;
- private final String nodeId;
- private String nodeName;
+ private NodeModel nodeModel;
private OutPort outPort;
private InputDataObjectType inputDataObjectType;
- private String name;
- public WorkflowInputNodeImpl(String nodeId) {
- this(nodeId, null);
+ public WorkflowInputNodeImpl(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
}
- public WorkflowInputNodeImpl(String nodeId, String nodeName) {
- this.nodeId = nodeId;
- this.nodeName = nodeName;
+ @Override
+ public void setNodeModel(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
+ }
+
+ @Override
+ public NodeModel getNodeModel() {
+ return nodeModel;
}
@Override
public String getId() {
- return this.nodeId;
+ return getNodeModel().getNodeId();
}
@Override
public String getName() {
- return this.nodeName;
+ return getNodeModel().getName();
}
@Override
@@ -56,17 +61,18 @@ public class WorkflowInputNodeImpl implements WorkflowInputNode {
}
@Override
- public NodeState getState() {
- return myState;
+ public ComponentState getState() {
+ return getStatus().getState();
+ }
+
+ @Override
+ public ComponentStatus getStatus() {
+ return getNodeModel().getStatus();
}
@Override
- public void setState(NodeState newState) {
- if (newState.getLevel() > myState.getLevel()) {
- myState = newState;
- } else {
- throw new IllegalStateException("Node state can't be reversed. currentState : " + myState.toString() + " , newState " + newState.toString());
- }
+ public void setStatus(ComponentStatus newStatus) {
+ getNodeModel().setStatus(newStatus);
}
@Override
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowNode.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowNode.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowNode.java
index e86a740..b774465 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowNode.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowNode.java
@@ -21,17 +21,27 @@
package org.apache.airavata.workflow.core.dag.nodes;
+import org.apache.airavata.model.ComponentState;
+import org.apache.airavata.model.ComponentStatus;
+import org.apache.airavata.model.NodeModel;
+
public interface WorkflowNode {
+ public void setNodeModel(NodeModel nodeModel);
+
+ public NodeModel getNodeModel();
+
public String getId();
public String getName();
public NodeType getType();
- public NodeState getState();
+ public ComponentState getState();
+
+ public ComponentStatus getStatus();
- public void setState(NodeState newState);
+ public void setStatus(ComponentStatus newStatus);
public boolean isReady();
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java
index b592de8..5844753 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java
@@ -21,34 +21,40 @@
package org.apache.airavata.workflow.core.dag.nodes;
+import org.apache.airavata.model.ComponentState;
+import org.apache.airavata.model.ComponentStatus;
+import org.apache.airavata.model.NodeModel;
import org.apache.airavata.model.application.io.OutputDataObjectType;
import org.apache.airavata.workflow.core.dag.port.InPort;
public class WorkflowOutputNodeImpl implements WorkflowOutputNode {
- private NodeState myState = NodeState.WAITING;
- private final String nodeId;
- private String nodeName;
+ private NodeModel nodeModel;
private OutputDataObjectType outputDataObjectType;
private InPort inPort;
- public WorkflowOutputNodeImpl(String nodeId) {
- this(nodeId, null);
+ public WorkflowOutputNodeImpl(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
}
- public WorkflowOutputNodeImpl(String nodeId, String nodeName) {
- this.nodeId = nodeId;
- this.nodeName = nodeName;
+ @Override
+ public void setNodeModel(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
+ }
+
+ @Override
+ public NodeModel getNodeModel() {
+ return nodeModel;
}
@Override
public String getId() {
- return this.nodeId;
+ return getNodeModel().getNodeId();
}
@Override
public String getName() {
- return this.nodeName;
+ return getNodeModel().getName();
}
@Override
@@ -57,20 +63,22 @@ public class WorkflowOutputNodeImpl implements WorkflowOutputNode {
}
@Override
- public NodeState getState() {
- return myState;
+ public ComponentState getState() {
+ return getStatus().getState();
}
@Override
- public void setState(NodeState newState) {
- if (newState.getLevel() > myState.getLevel()) {
- myState = newState;
- } else {
- throw new IllegalStateException("Node state can't be reversed. currentState : " + myState.toString() + " , newState " + newState.toString());
- }
+ public ComponentStatus getStatus() {
+ return getNodeModel().getStatus();
}
@Override
+ public void setStatus(ComponentStatus newStatus) {
+ getNodeModel().setStatus(newStatus);
+ }
+
+
+ @Override
public boolean isReady() {
return !(inPort.getInputObject() == null || inPort.getInputObject().getValue() == null
|| inPort.getInputObject().getValue().equals(""));
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/InputPortIml.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/InputPortIml.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/InputPortIml.java
index 0341dd7..3f5d036 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/InputPortIml.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/InputPortIml.java
@@ -19,6 +19,7 @@
package org.apache.airavata.workflow.core.dag.port;
+import org.apache.airavata.model.PortModel;
import org.apache.airavata.model.application.io.InputDataObjectType;
import org.apache.airavata.workflow.core.dag.edge.Edge;
import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
@@ -27,13 +28,12 @@ public class InputPortIml implements InPort {
private InputDataObjectType inputDataObjectType;
private boolean ready = false;
- private String portId;
private Edge edge;
private WorkflowNode node;
- private String defaultValue;
+ private PortModel portModel;
- public InputPortIml(String portId) {
- this.portId = portId;
+ public InputPortIml(PortModel portModel) {
+ this.portModel = portModel;
}
@Override
@@ -60,11 +60,21 @@ public class InputPortIml implements InPort {
@Override
public String getDefaultValue() {
- return defaultValue;
+ return getPortModel().getValue();
}
public void setDefaultValue(String defaultValue) {
- this.defaultValue = defaultValue;
+ getPortModel().setValue(defaultValue);
+ }
+
+ @Override
+ public void setPortModel(PortModel portModel) {
+ this.portModel = portModel;
+ }
+
+ @Override
+ public PortModel getPortModel() {
+ return portModel;
}
@Override
@@ -85,7 +95,7 @@ public class InputPortIml implements InPort {
@Override
public String getId() {
- return this.portId;
+ return getPortModel().getPortId();
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java
index fd3045d..4d90308 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java
@@ -21,6 +21,7 @@
package org.apache.airavata.workflow.core.dag.port;
+import org.apache.airavata.model.PortModel;
import org.apache.airavata.model.application.io.OutputDataObjectType;
import org.apache.airavata.workflow.core.dag.edge.Edge;
import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
@@ -33,11 +34,11 @@ public class OutPortImpl implements OutPort {
private OutputDataObjectType outputDataObjectType;
private List<Edge> outEdges = new ArrayList<Edge>();
private boolean isSatisfy = false;
- private String portId;
private WorkflowNode node;
+ private PortModel portModel;
- public OutPortImpl(String portId) {
- this.portId = portId;
+ public OutPortImpl(PortModel portModel) {
+ this.portModel = portModel;
}
@Override
@@ -61,6 +62,16 @@ public class OutPortImpl implements OutPort {
}
@Override
+ public void setPortModel(PortModel portModel) {
+ this.portModel = portModel;
+ }
+
+ @Override
+ public PortModel getPortModel() {
+ return portModel;
+ }
+
+ @Override
public boolean isReady() {
return this.outputDataObjectType.getValue() != null
&& !this.outputDataObjectType.getValue().equals("");
@@ -78,6 +89,6 @@ public class OutPortImpl implements OutPort {
@Override
public String getId() {
- return portId;
+ return getPortModel().getPortId();
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/Port.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/Port.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/Port.java
index e3756cf..9fda882 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/Port.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/Port.java
@@ -21,10 +21,15 @@
package org.apache.airavata.workflow.core.dag.port;
+import org.apache.airavata.model.PortModel;
import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
public interface Port {
+ public void setPortModel(PortModel portModel);
+
+ public PortModel getPortModel();
+
public boolean isReady();
public WorkflowNode getNode();
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift b/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
index 62ed885..547ac3a 100644
--- a/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
+++ b/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
@@ -83,9 +83,10 @@ struct EdgeModel {
struct PortModel {
1: required string portId = airavata_commons.DEFAULT_ID,
- 2: optional string name
+ 2: optional string name,
3: optional ComponentStatus status,
- 4: optional string description
+ 4: optional string value,
+ 5: optional string description
}