airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chath...@apache.org
Subject [1/2] airavata git commit: adding improvements to input and output data types - AIRAVATA-1544
Date Mon, 08 Dec 2014 21:28:17 GMT
Repository: airavata
Updated Branches:
  refs/heads/master 0c6301afa -> d35226d88


http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowOutput.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowOutput.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowOutput.java
index 5532c6c..8343a48 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowOutput.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowOutput.java
@@ -40,6 +40,12 @@ public class WorkflowOutput implements Serializable {
     private char[] outputVal;
     @Column(name = "DATA_TYPE")
     private String dataType;
+    @Column(name = "VALIDITY_TYPE")
+    private String validityType;
+    @Column(name = "DATA_MOVEMENT")
+    private boolean dataMovement;
+    @Column(name = "DATA_NAME_LOCATION")
+    private String dataNameLocation;
 
     @ManyToOne(cascade= CascadeType.MERGE)
     @JoinColumn(name = "WF_TEMPLATE_ID")
@@ -84,4 +90,28 @@ public class WorkflowOutput implements Serializable {
     public void setOutputVal(char[] outputVal) {
         this.outputVal = outputVal;
     }
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public boolean isDataMovement() {
+        return dataMovement;
+    }
+
+    public void setDataMovement(boolean dataMovement) {
+        this.dataMovement = dataMovement;
+    }
+
+    public String getDataNameLocation() {
+        return dataNameLocation;
+    }
+
+    public void setDataNameLocation(String dataNameLocation) {
+        this.dataNameLocation = dataNameLocation;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
index 21a0844..87e1246 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
@@ -50,6 +50,9 @@ public class ApplicationInputResource extends AbstractResource {
     private String userFriendlyDesc;
     private int inputOrder;
     private boolean standardInput;
+    private String validityType;
+    private String commandLineType;
+    private boolean dataStaged;
 
     private AppInterfaceResource appInterfaceResource;
 
@@ -291,6 +294,9 @@ public class ApplicationInputResource extends AbstractResource {
             applicationInput.setUserFriendlyDesc(userFriendlyDesc);
             applicationInput.setStandardInput(standardInput);
             applicationInput.setInputOrder(inputOrder);
+            applicationInput.setCommandLineType(commandLineType);
+            applicationInput.setValidityType(validityType);
+            applicationInput.setDataStaged(dataStaged);
             if (existingApplicationInput == null) {
                 em.persist(applicationInput);
             } else {
@@ -421,4 +427,28 @@ public class ApplicationInputResource extends AbstractResource {
     public void setInputOrder(int inputOrder) {
         this.inputOrder = inputOrder;
     }
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
+
+    public boolean isDataStaged() {
+        return dataStaged;
+    }
+
+    public void setDataStaged(boolean dataStaged) {
+        this.dataStaged = dataStaged;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
index ea0f52b..e3d97c2 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
@@ -44,6 +44,9 @@ public class ApplicationOutputResource extends AbstractResource {
     private String outputKey;
     private String outputVal;
     private String dataType;
+    private String validityType;
+    private boolean dataMovement;
+    private String dataNameLocation;
 
     private AppInterfaceResource appInterfaceResource;
 
@@ -283,6 +286,9 @@ public class ApplicationOutputResource extends AbstractResource {
             applicationOutput.setDataType(dataType);
             applicationOutput.setOutputKey(outputKey);
             applicationOutput.setOutputVal(outputVal);
+            applicationOutput.setValidityType(validityType);
+            applicationOutput.setDataMovement(dataMovement);
+            applicationOutput.setDataNameLocation(dataNameLocation);
             em.merge(applicationOutput);
             em.getTransaction().commit();
             em.close();
@@ -369,4 +375,28 @@ public class ApplicationOutputResource extends AbstractResource {
     public void setAppInterfaceResource(AppInterfaceResource appInterfaceResource) {
         this.appInterfaceResource = appInterfaceResource;
     }
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public boolean isDataMovement() {
+        return dataMovement;
+    }
+
+    public void setDataMovement(boolean dataMovement) {
+        this.dataMovement = dataMovement;
+    }
+
+    public String getDataNameLocation() {
+        return dataNameLocation;
+    }
+
+    public void setDataNameLocation(String dataNameLocation) {
+        this.dataNameLocation = dataNameLocation;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowInputResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowInputResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowInputResource.java
index 23f6536..c00d48c 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowInputResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowInputResource.java
@@ -50,6 +50,9 @@ public class WorkflowInputResource extends AbstractResource {
     private String userFriendlyDesc;
     private boolean standardInput;
     private int inputOrder;
+    private String validityType;
+    private String commandLineType;
+    private boolean dataStaged;
 
     private WorkflowResource workflowResource;
 
@@ -288,6 +291,9 @@ public class WorkflowInputResource extends AbstractResource {
             workflowInput.setAppArgument(appArgument);
             workflowInput.setUserFriendlyDesc(userFriendlyDesc);
             workflowInput.setStandardInput(standardInput);
+            workflowInput.setCommandLineType(commandLineType);
+            workflowInput.setValidityType(validityType);
+            workflowInput.setDataStaged(dataStaged);
             if (existingWFInput == null) {
                 em.persist(workflowInput);
             } else {
@@ -418,4 +424,28 @@ public class WorkflowInputResource extends AbstractResource {
     public void setInputOrder(int inputOrder) {
         this.inputOrder = inputOrder;
     }
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
+
+    public boolean isDataStaged() {
+        return dataStaged;
+    }
+
+    public void setDataStaged(boolean dataStaged) {
+        this.dataStaged = dataStaged;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowOutputResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowOutputResource.java
index edefad9..b8f7bbf 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowOutputResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowOutputResource.java
@@ -44,6 +44,9 @@ public class WorkflowOutputResource extends AbstractResource {
     private String outputKey;
     private String outputVal;
     private String dataType;
+    private String validityType;
+    private boolean dataMovement;
+    private String dataNameLocation;
 
     private WorkflowResource workflowResource;
 
@@ -276,6 +279,9 @@ public class WorkflowOutputResource extends AbstractResource {
                 if (outputKey != null){
                     existingWorkflowOutput.setOutputVal(outputVal.toCharArray());
                 }
+                existingWorkflowOutput.setValidityType(validityType);
+                existingWorkflowOutput.setDataMovement(dataMovement);
+                existingWorkflowOutput.setDataNameLocation(dataNameLocation);
                 em.merge(existingWorkflowOutput);
             } else {
                 WorkflowOutput workflowOutput = new WorkflowOutput();
@@ -287,6 +293,9 @@ public class WorkflowOutputResource extends AbstractResource {
                 if (outputKey != null){
                     workflowOutput.setOutputVal(outputVal.toCharArray());
                 }
+                workflowOutput.setValidityType(validityType);
+                workflowOutput.setDataMovement(dataMovement);
+                workflowOutput.setDataNameLocation(dataNameLocation);
                 em.persist(workflowOutput);
             }
             em.getTransaction().commit();
@@ -374,4 +383,28 @@ public class WorkflowOutputResource extends AbstractResource {
     public void setWorkflowResource(WorkflowResource workflowResource) {
         this.workflowResource = workflowResource;
     }
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public boolean isDataMovement() {
+        return dataMovement;
+    }
+
+    public void setDataMovement(boolean dataMovement) {
+        this.dataMovement = dataMovement;
+    }
+
+    public String getDataNameLocation() {
+        return dataNameLocation;
+    }
+
+    public void setDataNameLocation(String dataNameLocation) {
+        this.dataNameLocation = dataNameLocation;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
index de6a010..4c9d257 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
@@ -762,6 +762,9 @@ public class AppCatalogJPAUtils {
             resource.setUserFriendlyDesc(o.getUserFriendlyDesc());
             resource.setStandardInput(o.isStandardInput());
             resource.setInputOrder(o.getInputOrder());
+            resource.setValidityType(o.getValidityType());
+            resource.setCommandLineType(o.getCommandLineType());
+            resource.setDataStaged(o.isDataStaged());
             resource.setAppInterfaceResource((AppInterfaceResource)createAppInterfaceResource(o.getApplicationInterface()));
         }
         return resource;
@@ -781,6 +784,9 @@ public class AppCatalogJPAUtils {
             resource.setInputOrder(o.getInputOrder());
             resource.setUserFriendlyDesc(o.getUserFriendlyDesc());
             resource.setStandardInput(o.isStandardInput());
+            resource.setValidityType(o.getValidityType());
+            resource.setCommandLineType(o.getCommandLineType());
+            resource.setDataStaged(o.isDataStaged());
             resource.setWorkflowResource((WorkflowResource)createWorkflow(o.getWorkflow()));
         }
         return resource;
@@ -793,6 +799,9 @@ public class AppCatalogJPAUtils {
             resource.setOutputKey(o.getOutputKey());
             resource.setOutputVal(o.getOutputVal());
             resource.setDataType(o.getDataType());
+            resource.setValidityType(o.getValidityType());
+            resource.setDataMovement(o.isDataMovement());
+            resource.setDataNameLocation(o.getDataNameLocation());
             resource.setAppInterfaceResource((AppInterfaceResource)createAppInterfaceResource(o.getApplicationInterface()));
         }
         return resource;
@@ -807,6 +816,9 @@ public class AppCatalogJPAUtils {
                 resource.setOutputVal(new String(o.getOutputVal()));
             }
             resource.setDataType(o.getDataType());
+            resource.setValidityType(o.getValidityType());
+            resource.setDataMovement(o.isDataMovement());
+            resource.setDataNameLocation(o.getDataNameLocation());
             resource.setWorkflowResource((WorkflowResource)createWorkflow(o.getWorkflow()));
         }
         return resource;

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
index 0ada380..de9d577 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
@@ -28,10 +28,7 @@ import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentD
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationParallelismType;
 import org.apache.airavata.model.appcatalog.appdeployment.SetEnvPaths;
-import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
-import org.apache.airavata.model.appcatalog.appinterface.DataType;
-import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
-import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.*;
 import org.apache.airavata.model.appcatalog.computeresource.*;
 import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference;
 import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile;
@@ -561,6 +558,13 @@ public class AppCatalogThriftConversion {
         inputDataObjectType.setType(DataType.valueOf(input.getDataType()));
         inputDataObjectType.setStandardInput(input.isStandardInput());
         inputDataObjectType.setUserFriendlyDescription(input.getUserFriendlyDesc());
+        if (input.getValidityType() != null){
+            inputDataObjectType.setInputValid(ValidityType.valueOf(input.getValidityType()));
+        }
+        if (input.getCommandLineType() != null){
+            inputDataObjectType.setAddedToCommandLine(CommandLineType.valueOf(input.getCommandLineType()));
+        }
+        inputDataObjectType.setDataStaged(input.isDataStaged());
         return inputDataObjectType;
     }
 
@@ -576,6 +580,11 @@ public class AppCatalogThriftConversion {
         outputDataObjectType.setName(output.getOutputKey());
         outputDataObjectType.setValue(output.getOutputVal());
         outputDataObjectType.setType(DataType.valueOf(output.getDataType()));
+        if (output.getValidityType() != null){
+            outputDataObjectType.setValidityType(ValidityType.valueOf(output.getValidityType()));
+        }
+        outputDataObjectType.setDataMovement(output.isDataMovement());
+        outputDataObjectType.setDataNameLocation(output.getDataNameLocation());
         return outputDataObjectType;
     }
 
@@ -701,6 +710,13 @@ public class AppCatalogThriftConversion {
         input.setType(DataType.valueOf(resource.getDataType()));
         input.setMetaData(resource.getMetadata());
         input.setUserFriendlyDescription(resource.getUserFriendlyDesc());
+        if (resource.getValidityType() != null){
+            input.setInputValid(ValidityType.valueOf(resource.getValidityType()));
+        }
+        if (resource.getCommandLineType() != null){
+            input.setAddedToCommandLine(CommandLineType.valueOf(resource.getCommandLineType()));
+        }
+        input.setDataStaged(resource.isDataStaged());
         return input;
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
index 7037508..a98fef6 100644
--- a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
@@ -270,6 +270,10 @@ CREATE TABLE APPLICATION_INPUT
          METADATA VARCHAR(255),
          APP_ARGUMENT VARCHAR(255),
          STANDARD_INPUT SMALLINT,
+         INPUT_ORDER INTEGER,
+         VALIDITY_TYPE VARCHAR(255),
+         COMMANDLINE_TYPE VARCHAR(255),
+         DATA_STAGED SMALLINT,
          USER_FRIENDLY_DESC VARCHAR(255),
          PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
          FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
@@ -281,6 +285,9 @@ CREATE TABLE APPLICATION_OUTPUT
          OUTPUT_KEY VARCHAR(255),
          OUTPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
+         VALIDITY_TYPE VARCHAR(255),
+         DATA_MOVEMENT SMALLINT,
+         DATA_NAME_LOCATION VARCHAR(255),
          PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),
          FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
index 44d7fd8..5a4d239 100644
--- a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
@@ -256,6 +256,10 @@ CREATE TABLE APPLICATION_INPUT
          APP_ARGUMENT VARCHAR(255),
          STANDARD_INPUT SMALLINT,
          USER_FRIENDLY_DESC VARCHAR(255),
+         INPUT_ORDER INTEGER,
+         VALIDITY_TYPE VARCHAR(255),
+         COMMANDLINE_TYPE VARCHAR(255),
+         DATA_STAGED SMALLINT,
          PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
          FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
 );
@@ -266,6 +270,9 @@ CREATE TABLE APPLICATION_OUTPUT
          OUTPUT_KEY VARCHAR(255),
          OUTPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
+         VALIDITY_TYPE VARCHAR(255),
+         DATA_MOVEMENT SMALLINT,
+         DATA_NAME_LOCATION VARCHAR(255),
          PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),
          FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql b/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql
index 7037508..a98fef6 100644
--- a/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql
+++ b/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql
@@ -270,6 +270,10 @@ CREATE TABLE APPLICATION_INPUT
          METADATA VARCHAR(255),
          APP_ARGUMENT VARCHAR(255),
          STANDARD_INPUT SMALLINT,
+         INPUT_ORDER INTEGER,
+         VALIDITY_TYPE VARCHAR(255),
+         COMMANDLINE_TYPE VARCHAR(255),
+         DATA_STAGED SMALLINT,
          USER_FRIENDLY_DESC VARCHAR(255),
          PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
          FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
@@ -281,6 +285,9 @@ CREATE TABLE APPLICATION_OUTPUT
          OUTPUT_KEY VARCHAR(255),
          OUTPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
+         VALIDITY_TYPE VARCHAR(255),
+         DATA_MOVEMENT SMALLINT,
+         DATA_NAME_LOCATION VARCHAR(255),
          PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),
          FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
index 6ece1c2..2e68768 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
@@ -56,6 +56,13 @@ public class ApplicationInput implements Serializable {
     @Column(name = "USER_FRIENDLY_DESC")
     private String userFriendlyDesc;
 
+    @Column(name="VALIDITY_TYPE")
+    private String validityType;
+    @Column(name="COMMANDLINE_TYPE")
+    private String commandLineType;
+    @Column(name = "DATA_STAGED")
+    private boolean dataStaged;
+
     @ManyToOne(cascade= CascadeType.MERGE)
     @JoinColumn(name = "TASK_ID")
     private TaskDetail task;
@@ -139,4 +146,28 @@ public class ApplicationInput implements Serializable {
     public void setUserFriendlyDesc(String userFriendlyDesc) {
         this.userFriendlyDesc = userFriendlyDesc;
     }
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
+
+    public boolean isDataStaged() {
+        return dataStaged;
+    }
+
+    public void setDataStaged(boolean dataStaged) {
+        this.dataStaged = dataStaged;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
index 7014a30..b13c842 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
@@ -43,6 +43,13 @@ public class ApplicationOutput implements Serializable {
     @Column(name = "VALUE")
     private char[] value;
 
+    @Column(name = "VALIDITY_TYPE")
+    private String validityType;
+    @Column(name = "DATA_MOVEMENT")
+    private boolean dataMovement;
+    @Column(name = "DATA_NAME_LOCATION")
+    private String dataNameLocation;
+
     @ManyToOne(cascade= CascadeType.MERGE)
     @JoinColumn(name = "TASK_ID")
     private TaskDetail task;
@@ -86,4 +93,28 @@ public class ApplicationOutput implements Serializable {
     public void setDataType(String dataType) {
         this.dataType = dataType;
     }
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public boolean isDataMovement() {
+        return dataMovement;
+    }
+
+    public void setDataMovement(boolean dataMovement) {
+        this.dataMovement = dataMovement;
+    }
+
+    public String getDataNameLocation() {
+        return dataNameLocation;
+    }
+
+    public void setDataNameLocation(String dataNameLocation) {
+        this.dataNameLocation = dataNameLocation;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Input.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Input.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Input.java
index cfa2bd6..c174bce 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Input.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Input.java
@@ -61,6 +61,13 @@ public class Experiment_Input implements Serializable {
     @Column(name = "INPUT_ORDER")
     private int inputOrder;
 
+    @Column(name="VALIDITY_TYPE")
+    private String validityType;
+    @Column(name="COMMANDLINE_TYPE")
+    private String commandLineType;
+    @Column(name = "DATA_STAGED")
+    private boolean dataStaged;
+
     @ManyToOne
     @JoinColumn(name = "EXPERIMENT_ID")
     private Experiment experiment;
@@ -144,4 +151,28 @@ public class Experiment_Input implements Serializable {
     public void setUserFriendlyDesc(String userFriendlyDesc) {
         this.userFriendlyDesc = userFriendlyDesc;
     }
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
+
+    public boolean isDataStaged() {
+        return dataStaged;
+    }
+
+    public void setDataStaged(boolean dataStaged) {
+        this.dataStaged = dataStaged;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Output.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Output.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Output.java
index a88659b..c40a5ff 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Output.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Output.java
@@ -44,6 +44,13 @@ public class Experiment_Output  implements Serializable {
     @Column(name = "DATA_TYPE")
     private String dataType;
 
+    @Column(name = "VALIDITY_TYPE")
+    private String validityType;
+    @Column(name = "DATA_MOVEMENT")
+    private boolean dataMovement;
+    @Column(name = "DATA_NAME_LOCATION")
+    private String dataNameLocation;
+
     @ManyToOne
     @JoinColumn(name = "EXPERIMENT_ID")
     private Experiment experiment;
@@ -87,4 +94,28 @@ public class Experiment_Output  implements Serializable {
     public void setExperiment(Experiment experiment) {
         this.experiment = experiment;
     }
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public boolean isDataMovement() {
+        return dataMovement;
+    }
+
+    public void setDataMovement(boolean dataMovement) {
+        this.dataMovement = dataMovement;
+    }
+
+    public String getDataNameLocation() {
+        return dataNameLocation;
+    }
+
+    public void setDataNameLocation(String dataNameLocation) {
+        this.dataNameLocation = dataNameLocation;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeInput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeInput.java
index 6b5ce02..6d090e8 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeInput.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeInput.java
@@ -54,6 +54,13 @@ public class NodeInput implements Serializable {
     @Column(name = "USER_FRIENDLY_DESC")
     private String userFriendlyDesc;
 
+    @Column(name="VALIDITY_TYPE")
+    private String validityType;
+    @Column(name="COMMANDLINE_TYPE")
+    private String commandLineType;
+    @Column(name = "DATA_STAGED")
+    private boolean dataStaged;
+
     @ManyToOne(cascade= CascadeType.MERGE)
     @JoinColumn(name = "NODE_INSTANCE_ID")
     private WorkflowNodeDetail nodeDetails;
@@ -137,4 +144,28 @@ public class NodeInput implements Serializable {
     public void setInputOrder(int inputOrder) {
         this.inputOrder = inputOrder;
     }
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
+
+    public boolean isDataStaged() {
+        return dataStaged;
+    }
+
+    public void setDataStaged(boolean dataStaged) {
+        this.dataStaged = dataStaged;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeOutput.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeOutput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeOutput.java
index 7aa9d40..bca1e33 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeOutput.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeOutput.java
@@ -41,6 +41,13 @@ public class NodeOutput implements Serializable {
     private String dataType;
     @Column(name = "VALUE")
     private String value;
+    @Column(name = "VALIDITY_TYPE")
+    private String validityType;
+    @Column(name = "DATA_MOVEMENT")
+    private boolean dataMovement;
+    @Column(name = "DATA_NAME_LOCATION")
+    private String dataNameLocation;
+
 
     @ManyToOne(cascade= CascadeType.MERGE)
     @JoinColumn(name = "NODE_INSTANCE_ID")
@@ -85,4 +92,28 @@ public class NodeOutput implements Serializable {
     public void setDataType(String dataType) {
         this.dataType = dataType;
     }
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public boolean isDataMovement() {
+        return dataMovement;
+    }
+
+    public void setDataMovement(boolean dataMovement) {
+        this.dataMovement = dataMovement;
+    }
+
+    public String getDataNameLocation() {
+        return dataNameLocation;
+    }
+
+    public void setDataNameLocation(String dataNameLocation) {
+        this.dataNameLocation = dataNameLocation;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
index adca11b..8ce8c6d 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
@@ -46,6 +46,33 @@ public class ApplicationInputResource extends AbstractResource {
     private boolean standardInput;
     private String userFriendlyDesc;
     private int inputOrder;
+    private String validityType;
+    private String commandLineType;
+    private boolean dataStaged;
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
+
+    public boolean isDataStaged() {
+        return dataStaged;
+    }
+
+    public void setDataStaged(boolean dataStaged) {
+        this.dataStaged = dataStaged;
+    }
 
     public int getInputOrder() {
         return inputOrder;
@@ -163,6 +190,9 @@ public class ApplicationInputResource extends AbstractResource {
             applicationInput.setStandardInput(standardInput);
             applicationInput.setUserFriendlyDesc(userFriendlyDesc);
             applicationInput.setInputOrder(inputOrder);
+            applicationInput.setCommandLineType(commandLineType);
+            applicationInput.setValidityType(validityType);
+            applicationInput.setDataStaged(dataStaged);
             if (value != null){
                 applicationInput.setValue(value.toCharArray());
             }
@@ -178,6 +208,9 @@ public class ApplicationInputResource extends AbstractResource {
                 existingInput.setStandardInput(standardInput);
                 existingInput.setUserFriendlyDesc(userFriendlyDesc);
                 existingInput.setInputOrder(inputOrder);
+                existingInput.setCommandLineType(commandLineType);
+                existingInput.setValidityType(validityType);
+                existingInput.setDataStaged(dataStaged);
                 if (value != null){
                     existingInput.setValue(value.toCharArray());
                 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
index db39c49..4209f87 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
@@ -41,6 +41,33 @@ public class ApplicationOutputResource extends AbstractResource {
     private String outputKey;
     private String dataType;
     private String value;
+    private String validityType;
+    private boolean dataMovement;
+    private String dataNameLocation;
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public boolean isDataMovement() {
+        return dataMovement;
+    }
+
+    public void setDataMovement(boolean dataMovement) {
+        this.dataMovement = dataMovement;
+    }
+
+    public String getDataNameLocation() {
+        return dataNameLocation;
+    }
+
+    public void setDataNameLocation(String dataNameLocation) {
+        this.dataNameLocation = dataNameLocation;
+    }
 
     public String getOutputKey() {
         return outputKey;
@@ -114,6 +141,9 @@ public class ApplicationOutputResource extends AbstractResource {
             applicationOutput.setTaskId(taskDetail.getTaskId());
             applicationOutput.setOutputKey(outputKey);
             applicationOutput.setDataType(dataType);
+            applicationOutput.setValidityType(validityType);
+            applicationOutput.setDataMovement(dataMovement);
+            applicationOutput.setDataNameLocation(dataNameLocation);
             if (value != null){
                 applicationOutput.setValue(value.toCharArray());
             }
@@ -123,6 +153,9 @@ public class ApplicationOutputResource extends AbstractResource {
                 existingOutput.setTaskId(taskDetail.getTaskId());
                 existingOutput.setOutputKey(outputKey);
                 existingOutput.setDataType(dataType);
+                existingOutput.setValidityType(validityType);
+                existingOutput.setDataMovement(dataMovement);
+                existingOutput.setDataNameLocation(dataNameLocation);
                 if (value != null){
                     existingOutput.setValue(value.toCharArray());
                 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentInputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentInputResource.java
index 8d84fd0..eaf401d 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentInputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentInputResource.java
@@ -46,6 +46,33 @@ public class ExperimentInputResource extends AbstractResource {
     private boolean standardInput;
     private String userFriendlyDesc;
     private int inputOrder;
+    private String validityType;
+    private String commandLineType;
+    private boolean dataStaged;
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
+
+    public boolean isDataStaged() {
+        return dataStaged;
+    }
+
+    public void setDataStaged(boolean dataStaged) {
+        this.dataStaged = dataStaged;
+    }
 
     public int getInputOrder() {
         return inputOrder;
@@ -162,6 +189,9 @@ public class ExperimentInputResource extends AbstractResource {
             exInput.setStandardInput(standardInput);
             exInput.setUserFriendlyDesc(userFriendlyDesc);
             exInput.setInputOrder(inputOrder);
+            exInput.setCommandLineType(commandLineType);
+            exInput.setValidityType(validityType);
+            exInput.setDataStaged(dataStaged);
             if (existingInput != null) {
                 existingInput.setEx_key(experimentKey);
                 existingInput.setExperiment(experiment);
@@ -175,6 +205,9 @@ public class ExperimentInputResource extends AbstractResource {
                 existingInput.setStandardInput(standardInput);
                 existingInput.setUserFriendlyDesc(userFriendlyDesc);
                 existingInput.setInputOrder(inputOrder);
+                existingInput.setCommandLineType(commandLineType);
+                existingInput.setValidityType(validityType);
+                existingInput.setDataStaged(dataStaged);
                 exInput = em.merge(existingInput);
             } else {
                 em.persist(exInput);

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java
index c6375f7..983ff8b 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java
@@ -41,6 +41,33 @@ public class ExperimentOutputResource extends AbstractResource {
     private String experimentKey;
     private String value;
     private String dataType;
+    private String validityType;
+    private boolean dataMovement;
+    private String dataNameLocation;
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public boolean isDataMovement() {
+        return dataMovement;
+    }
+
+    public void setDataMovement(boolean dataMovement) {
+        this.dataMovement = dataMovement;
+    }
+
+    public String getDataNameLocation() {
+        return dataNameLocation;
+    }
+
+    public void setDataNameLocation(String dataNameLocation) {
+        this.dataNameLocation = dataNameLocation;
+    }
 
     public String getExperimentKey() {
         return experimentKey;
@@ -112,6 +139,9 @@ public class ExperimentOutputResource extends AbstractResource {
                 exOutput.setValue(value.toCharArray());
             }
             exOutput.setDataType(dataType);
+            exOutput.setValidityType(validityType);
+            exOutput.setDataMovement(dataMovement);
+            exOutput.setDataNameLocation(dataNameLocation);
 
             if (existingOutput != null) {
                 existingOutput.setEx_key(experimentKey);
@@ -121,6 +151,9 @@ public class ExperimentOutputResource extends AbstractResource {
                 }
                 existingOutput.setExperiment_id(experiment.getExpId());
                 existingOutput.setDataType(dataType);
+                existingOutput.setValidityType(validityType);
+                existingOutput.setDataMovement(dataMovement);
+                existingOutput.setDataNameLocation(dataNameLocation);
                 exOutput = em.merge(existingOutput);
             } else {
                 em.persist(exOutput);

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
index eb933bf..75fe601 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
@@ -47,6 +47,33 @@ public class NodeInputResource extends AbstractResource {
     private boolean standardInput;
     private String userFriendlyDesc;
     private int inputOrder;
+    private String validityType;
+    private String commandLineType;
+    private boolean dataStaged;
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public String getCommandLineType() {
+        return commandLineType;
+    }
+
+    public void setCommandLineType(String commandLineType) {
+        this.commandLineType = commandLineType;
+    }
+
+    public boolean isDataStaged() {
+        return dataStaged;
+    }
+
+    public void setDataStaged(boolean dataStaged) {
+        this.dataStaged = dataStaged;
+    }
 
     public String getAppArgument() {
         return appArgument;
@@ -165,6 +192,9 @@ public class NodeInputResource extends AbstractResource {
             nodeInput.setStandardInput(standardInput);
             nodeInput.setUserFriendlyDesc(userFriendlyDesc);
             nodeInput.setInputOrder(inputOrder);
+            nodeInput.setCommandLineType(commandLineType);
+            nodeInput.setValidityType(validityType);
+            nodeInput.setDataStaged(dataStaged);
 
             if (existingInput != null){
                 existingInput.setNodeDetails(nodeDetail);
@@ -177,6 +207,9 @@ public class NodeInputResource extends AbstractResource {
                 existingInput.setStandardInput(standardInput);
                 existingInput.setUserFriendlyDesc(userFriendlyDesc);
                 existingInput.setInputOrder(inputOrder);
+                existingInput.setCommandLineType(commandLineType);
+                existingInput.setValidityType(validityType);
+                existingInput.setDataStaged(dataStaged);
                 nodeInput = em.merge(existingInput);
             }else {
                 em.persist(nodeInput);

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java
index 0770894..caeae7e 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java
@@ -42,6 +42,33 @@ public class NodeOutputResource extends AbstractResource {
     private String outputKey;
     private String dataType;
     private String value;
+    private String validityType;
+    private boolean dataMovement;
+    private String dataNameLocation;
+
+    public String getValidityType() {
+        return validityType;
+    }
+
+    public void setValidityType(String validityType) {
+        this.validityType = validityType;
+    }
+
+    public boolean isDataMovement() {
+        return dataMovement;
+    }
+
+    public void setDataMovement(boolean dataMovement) {
+        this.dataMovement = dataMovement;
+    }
+
+    public String getDataNameLocation() {
+        return dataNameLocation;
+    }
+
+    public void setDataNameLocation(String dataNameLocation) {
+        this.dataNameLocation = dataNameLocation;
+    }
 
     public WorkflowNodeDetailResource getNodeDetailResource() {
         return nodeDetailResource;
@@ -116,6 +143,9 @@ public class NodeOutputResource extends AbstractResource {
             nodeOutput.setOutputKey(outputKey);
             nodeOutput.setDataType(dataType);
             nodeOutput.setValue(value);
+            nodeOutput.setValidityType(validityType);
+            nodeOutput.setDataMovement(dataMovement);
+            nodeOutput.setDataNameLocation(dataNameLocation);
 
             if (existingOutput != null) {
                 existingOutput.setNode(nodeDetail);
@@ -123,6 +153,9 @@ public class NodeOutputResource extends AbstractResource {
                 existingOutput.setOutputKey(outputKey);
                 existingOutput.setDataType(dataType);
                 existingOutput.setValue(value);
+                existingOutput.setValidityType(validityType);
+                existingOutput.setDataMovement(dataMovement);
+                existingOutput.setDataNameLocation(dataNameLocation);
                 nodeOutput = em.merge(existingOutput);
             } else {
                 em.persist(nodeOutput);

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
index 7b00f3a..e131a47 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
@@ -520,6 +520,10 @@ public class Utils {
             eInputResource.setInputOrder(o.getInputOrder());
             eInputResource.setStandardInput(o.isStandardInput());
             eInputResource.setUserFriendlyDesc(o.getUserFriendlyDesc());
+            eInputResource.setValidityType(o.getValidityType());
+            eInputResource.setCommandLineType(o.getCommandLineType());
+            eInputResource.setDataStaged(o.isDataStaged());
+
             if (o.getValue() != null){
                 eInputResource.setValue(new String(o.getValue()));
             }
@@ -538,6 +542,9 @@ public class Utils {
                 eOutputResource.setValue(new String(o.getValue()));
             }
             eOutputResource.setDataType(o.getDataType());
+            eOutputResource.setValidityType(o.getValidityType());
+            eOutputResource.setDataMovement(o.isDataMovement());
+            eOutputResource.setDataNameLocation(o.getDataNameLocation());
         }
         return eOutputResource;
     }
@@ -609,6 +616,9 @@ public class Utils {
             inputResource.setInputOrder(o.getInputOrder());
             inputResource.setStandardInput(o.isStandardInput());
             inputResource.setUserFriendlyDesc(o.getUserFriendlyDesc());
+            inputResource.setValidityType(o.getValidityType());
+            inputResource.setCommandLineType(o.getCommandLineType());
+            inputResource.setDataStaged(o.isDataStaged());
             if (o.getValue() != null){
                 inputResource.setValue(new String(o.getValue()));
             }
@@ -627,6 +637,9 @@ public class Utils {
             if (o.getValue() != null){
                 outputResource.setValue(new String(o.getValue()));
             }
+            outputResource.setValidityType(o.getValidityType());
+            outputResource.setDataMovement(o.isDataMovement());
+            outputResource.setDataNameLocation(o.getDataNameLocation());
         }
         return outputResource;
     }
@@ -644,6 +657,9 @@ public class Utils {
             inputResource.setInputOrder(o.getInputOrder());
             inputResource.setStandardInput(o.isStandardInput());
             inputResource.setUserFriendlyDesc(o.getUserFriendlyDesc());
+            inputResource.setValidityType(o.getValidityType());
+            inputResource.setCommandLineType(o.getCommandLineType());
+            inputResource.setDataStaged(o.isDataStaged());
         }
         return inputResource;
     }
@@ -656,6 +672,9 @@ public class Utils {
             outputResource.setDataType(o.getDataType());
             outputResource.setOutputKey(o.getOutputKey());
             outputResource.setValue(o.getValue());
+            outputResource.setValidityType(o.getValidityType());
+            outputResource.setDataMovement(o.isDataMovement());
+            outputResource.setDataNameLocation(o.getDataNameLocation());
         }
 
         return outputResource;

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
index a080c11..9818e6f 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/utils/ThriftDataModelConversion.java
@@ -24,9 +24,7 @@ package org.apache.airavata.persistance.registry.jpa.utils;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.airavata.model.appcatalog.appinterface.DataType;
-import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
-import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.*;
 import org.apache.airavata.model.workspace.Project;
 import org.apache.airavata.model.workspace.experiment.ActionableGroup;
 import org.apache.airavata.model.workspace.experiment.AdvancedInputDataHandling;
@@ -194,6 +192,13 @@ public class ThriftDataModelConversion {
                 dataObjectType.setStandardInput(expInput.isStandardInput());
                 dataObjectType.setUserFriendlyDescription(expInput.getUserFriendlyDesc());
                 dataObjectType.setInputOrder(expInput.getInputOrder());
+                if (expInput.getValidityType() != null){
+                    dataObjectType.setInputValid(ValidityType.valueOf(expInput.getValidityType()));
+                }
+                if (expInput.getCommandLineType() != null){
+                    dataObjectType.setAddedToCommandLine(CommandLineType.valueOf(expInput.getCommandLineType()));
+                }
+                dataObjectType.setDataStaged(expInput.isDataStaged());
                 return dataObjectType;
             }else if (object instanceof NodeInputResource){
                 NodeInputResource nodeInputResource = (NodeInputResource)object;
@@ -207,6 +212,13 @@ public class ThriftDataModelConversion {
                 dataObjectType.setStandardInput(nodeInputResource.isStandardInput());
                 dataObjectType.setUserFriendlyDescription(nodeInputResource.getUserFriendlyDesc());
                 dataObjectType.setInputOrder(nodeInputResource.getInputOrder());
+                if (nodeInputResource.getValidityType() != null){
+                    dataObjectType.setInputValid(ValidityType.valueOf(nodeInputResource.getValidityType()));
+                }
+                if (nodeInputResource.getCommandLineType() != null){
+                    dataObjectType.setAddedToCommandLine(CommandLineType.valueOf(nodeInputResource.getCommandLineType()));
+                }
+                dataObjectType.setDataStaged(nodeInputResource.isDataStaged());
                 return dataObjectType;
             }else if (object instanceof ApplicationInputResource){
                 ApplicationInputResource inputResource = (ApplicationInputResource)object;
@@ -220,6 +232,13 @@ public class ThriftDataModelConversion {
                 dataObjectType.setStandardInput(inputResource.isStandardInput());
                 dataObjectType.setUserFriendlyDescription(inputResource.getUserFriendlyDesc());
                 dataObjectType.setInputOrder(inputResource.getInputOrder());
+                if (inputResource.getValidityType() != null){
+                    dataObjectType.setInputValid(ValidityType.valueOf(inputResource.getValidityType()));
+                }
+                if (inputResource.getCommandLineType() != null){
+                    dataObjectType.setAddedToCommandLine(CommandLineType.valueOf(inputResource.getCommandLineType()));
+                }
+                dataObjectType.setDataStaged(inputResource.isDataStaged());
                 return dataObjectType;
             }else {
                 return null;
@@ -238,6 +257,11 @@ public class ThriftDataModelConversion {
                 if (expOutput.getDataType() != null){
                     dataObjectType.setType(DataType.valueOf(expOutput.getDataType()));
                 }
+                if (expOutput.getValidityType() != null){
+                    dataObjectType.setValidityType(ValidityType.valueOf(expOutput.getValidityType()));
+                }
+                dataObjectType.setDataMovement(expOutput.isDataMovement());
+                dataObjectType.setDataNameLocation(expOutput.getDataNameLocation());
                 return dataObjectType;
             }else if (object instanceof NodeOutputResource){
                 NodeOutputResource nodeOutputResource = (NodeOutputResource)object;
@@ -246,6 +270,11 @@ public class ThriftDataModelConversion {
                 if (nodeOutputResource.getDataType() != null){
                     dataObjectType.setType(DataType.valueOf(nodeOutputResource.getDataType()));
                 }
+                if (nodeOutputResource.getValidityType() != null){
+                    dataObjectType.setValidityType(ValidityType.valueOf(nodeOutputResource.getValidityType()));
+                }
+                dataObjectType.setDataMovement(nodeOutputResource.isDataMovement());
+                dataObjectType.setDataNameLocation(nodeOutputResource.getDataNameLocation());
                 return dataObjectType;
             }else if (object instanceof ApplicationOutputResource){
                 ApplicationOutputResource outputResource = (ApplicationOutputResource)object;
@@ -254,6 +283,11 @@ public class ThriftDataModelConversion {
                 if (outputResource.getDataType() != null){
                     dataObjectType.setType(DataType.valueOf(outputResource.getDataType()));
                 }
+                if (outputResource.getValidityType() != null){
+                    dataObjectType.setValidityType(ValidityType.valueOf(outputResource.getValidityType()));
+                }
+                dataObjectType.setDataMovement(outputResource.isDataMovement());
+                dataObjectType.setDataNameLocation(outputResource.getDataNameLocation());
                 return dataObjectType;
             }else {
                 return null;

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql b/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
index 3db4f36..c1bd458 100644
--- a/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
+++ b/modules/registry/airavata-jpa-registry/src/main/resources/registry-derby.sql
@@ -132,6 +132,9 @@ CREATE TABLE EXPERIMENT_INPUT
         USER_FRIENDLY_DESC VARCHAR(255),
         VALUE CLOB,
         INPUT_ORDER INTEGER,
+        VALIDITY_TYPE VARCHAR(255),
+        COMMANDLINE_TYPE VARCHAR(255),
+        DATA_STAGED SMALLINT,
         PRIMARY KEY(EXPERIMENT_ID,INPUT_KEY),
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
@@ -142,6 +145,9 @@ CREATE TABLE EXPERIMENT_OUTPUT
         OUTPUT_KEY VARCHAR(255) NOT NULL,
         DATA_TYPE VARCHAR(255),
         VALUE CLOB,
+        VALIDITY_TYPE VARCHAR(255),
+        DATA_MOVEMENT SMALLINT,
+        DATA_NAME_LOCATION VARCHAR(255),
         PRIMARY KEY(EXPERIMENT_ID,OUTPUT_KEY),
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
@@ -202,6 +208,9 @@ CREATE TABLE APPLICATION_INPUT
         USER_FRIENDLY_DESC VARCHAR(255),
         VALUE CLOB,
         INPUT_ORDER INTEGER,
+        VALIDITY_TYPE VARCHAR(255),
+        COMMANDLINE_TYPE VARCHAR(255),
+        DATA_STAGED SMALLINT,
         PRIMARY KEY(TASK_ID,INPUT_KEY),
         FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE
 );
@@ -212,6 +221,9 @@ CREATE TABLE APPLICATION_OUTPUT
         OUTPUT_KEY VARCHAR(255) NOT NULL,
         DATA_TYPE VARCHAR(255),
         VALUE CLOB,
+        VALIDITY_TYPE VARCHAR(255),
+        DATA_MOVEMENT SMALLINT,
+        DATA_NAME_LOCATION VARCHAR(255),
         PRIMARY KEY(TASK_ID,OUTPUT_KEY),
         FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE
 );
@@ -227,6 +239,9 @@ CREATE TABLE NODE_INPUT
        USER_FRIENDLY_DESC VARCHAR(255),
        VALUE VARCHAR(255),
        INPUT_ORDER INTEGER,
+       VALIDITY_TYPE VARCHAR(255),
+       COMMANDLINE_TYPE VARCHAR(255),
+       DATA_STAGED SMALLINT,
        PRIMARY KEY(NODE_INSTANCE_ID,INPUT_KEY),
        FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE
 );
@@ -237,6 +252,9 @@ CREATE TABLE NODE_OUTPUT
        OUTPUT_KEY VARCHAR(255) NOT NULL,
        DATA_TYPE VARCHAR(255),
        VALUE VARCHAR(255),
+       VALIDITY_TYPE VARCHAR(255),
+       DATA_MOVEMENT SMALLINT,
+       DATA_NAME_LOCATION VARCHAR(255),
        PRIMARY KEY(NODE_INSTANCE_ID,OUTPUT_KEY),
        FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql b/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
index b6ce88a..7f7dfab 100644
--- a/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
+++ b/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
@@ -132,6 +132,9 @@ CREATE TABLE EXPERIMENT_INPUT
         METADATA VARCHAR(255),
         VALUE LONGTEXT,
         INPUT_ORDER INTEGER,
+        VALIDITY_TYPE VARCHAR(255),
+        COMMANDLINE_TYPE VARCHAR(255),
+        DATA_STAGED SMALLINT,
         PRIMARY KEY(EXPERIMENT_ID,INPUT_KEY),
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
@@ -142,6 +145,9 @@ CREATE TABLE EXPERIMENT_OUTPUT
         OUTPUT_KEY VARCHAR(255) NOT NULL,
         DATA_TYPE VARCHAR(255),
         VALUE LONGTEXT,
+        VALIDITY_TYPE VARCHAR(255),
+        DATA_MOVEMENT SMALLINT,
+        DATA_NAME_LOCATION VARCHAR(255),
         PRIMARY KEY(EXPERIMENT_ID,OUTPUT_KEY),
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
@@ -183,6 +189,9 @@ CREATE TABLE APPLICATION_INPUT
         METADATA VARCHAR(255),
         VALUE LONGTEXT,
         INPUT_ORDER INTEGER,
+        VALIDITY_TYPE VARCHAR(255),
+        COMMANDLINE_TYPE VARCHAR(255),
+        DATA_STAGED SMALLINT,
         PRIMARY KEY(TASK_ID,INPUT_KEY),
         FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE
 );
@@ -193,6 +202,9 @@ CREATE TABLE APPLICATION_OUTPUT
         OUTPUT_KEY VARCHAR(255) NOT NULL,
         DATA_TYPE VARCHAR(255),
         VALUE LONGTEXT,
+        VALIDITY_TYPE VARCHAR(255),
+        DATA_MOVEMENT SMALLINT,
+        DATA_NAME_LOCATION VARCHAR(255),
         PRIMARY KEY(TASK_ID,OUTPUT_KEY),
         FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE
 );
@@ -208,6 +220,9 @@ CREATE TABLE NODE_INPUT
        METADATA VARCHAR(255),
        VALUE VARCHAR(255),
        INPUT_ORDER INTEGER,
+       VALIDITY_TYPE VARCHAR(255),
+       COMMANDLINE_TYPE VARCHAR(255),
+       DATA_STAGED SMALLINT,
        PRIMARY KEY(NODE_INSTANCE_ID,INPUT_KEY),
        FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE
 );
@@ -218,6 +233,9 @@ CREATE TABLE NODE_OUTPUT
        OUTPUT_KEY VARCHAR(255) NOT NULL,
        DATA_TYPE VARCHAR(255),
        VALUE VARCHAR(255),
+       VALIDITY_TYPE VARCHAR(255),
+       DATA_MOVEMENT SMALLINT,
+       DATA_NAME_LOCATION VARCHAR(255),
        PRIMARY KEY(NODE_INSTANCE_ID,OUTPUT_KEY),
        FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/d35226d8/modules/registry/airavata-jpa-registry/src/test/resources/registry-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/test/resources/registry-derby.sql b/modules/registry/airavata-jpa-registry/src/test/resources/registry-derby.sql
index 9ed5ca9..c1bd458 100644
--- a/modules/registry/airavata-jpa-registry/src/test/resources/registry-derby.sql
+++ b/modules/registry/airavata-jpa-registry/src/test/resources/registry-derby.sql
@@ -125,9 +125,16 @@ CREATE TABLE EXPERIMENT_INPUT
 (
         EXPERIMENT_ID VARCHAR(255),
         INPUT_KEY VARCHAR(255) NOT NULL,
-        INPUT_TYPE VARCHAR(255),
+        DATA_TYPE VARCHAR(255),
         METADATA VARCHAR(255),
+        APP_ARGUMENT VARCHAR(255),
+        STANDARD_INPUT SMALLINT,
+        USER_FRIENDLY_DESC VARCHAR(255),
         VALUE CLOB,
+        INPUT_ORDER INTEGER,
+        VALIDITY_TYPE VARCHAR(255),
+        COMMANDLINE_TYPE VARCHAR(255),
+        DATA_STAGED SMALLINT,
         PRIMARY KEY(EXPERIMENT_ID,INPUT_KEY),
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
@@ -136,9 +143,11 @@ CREATE TABLE EXPERIMENT_OUTPUT
 (
         EXPERIMENT_ID VARCHAR(255),
         OUTPUT_KEY VARCHAR(255) NOT NULL,
-        OUTPUT_KEY_TYPE VARCHAR(255),
-        METADATA VARCHAR(255),
+        DATA_TYPE VARCHAR(255),
         VALUE CLOB,
+        VALIDITY_TYPE VARCHAR(255),
+        DATA_MOVEMENT SMALLINT,
+        DATA_NAME_LOCATION VARCHAR(255),
         PRIMARY KEY(EXPERIMENT_ID,OUTPUT_KEY),
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
@@ -192,9 +201,16 @@ CREATE TABLE APPLICATION_INPUT
 (
         TASK_ID VARCHAR(255),
         INPUT_KEY VARCHAR(255) NOT NULL,
-        INPUT_KEY_TYPE VARCHAR(255),
+        DATA_TYPE VARCHAR(255),
         METADATA VARCHAR(255),
+        APP_ARGUMENT VARCHAR(255),
+        STANDARD_INPUT SMALLINT,
+        USER_FRIENDLY_DESC VARCHAR(255),
         VALUE CLOB,
+        INPUT_ORDER INTEGER,
+        VALIDITY_TYPE VARCHAR(255),
+        COMMANDLINE_TYPE VARCHAR(255),
+        DATA_STAGED SMALLINT,
         PRIMARY KEY(TASK_ID,INPUT_KEY),
         FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE
 );
@@ -203,9 +219,11 @@ CREATE TABLE APPLICATION_OUTPUT
 (
         TASK_ID VARCHAR(255),
         OUTPUT_KEY VARCHAR(255) NOT NULL,
-        OUTPUT_KEY_TYPE VARCHAR(255),
-        METADATA VARCHAR(255),
+        DATA_TYPE VARCHAR(255),
         VALUE CLOB,
+        VALIDITY_TYPE VARCHAR(255),
+        DATA_MOVEMENT SMALLINT,
+        DATA_NAME_LOCATION VARCHAR(255),
         PRIMARY KEY(TASK_ID,OUTPUT_KEY),
         FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE
 );
@@ -214,9 +232,16 @@ CREATE TABLE NODE_INPUT
 (
        NODE_INSTANCE_ID VARCHAR(255),
        INPUT_KEY VARCHAR(255) NOT NULL,
-       INPUT_KEY_TYPE VARCHAR(255),
+       DATA_TYPE VARCHAR(255),
        METADATA VARCHAR(255),
+       APP_ARGUMENT VARCHAR(255),
+       STANDARD_INPUT SMALLINT,
+       USER_FRIENDLY_DESC VARCHAR(255),
        VALUE VARCHAR(255),
+       INPUT_ORDER INTEGER,
+       VALIDITY_TYPE VARCHAR(255),
+       COMMANDLINE_TYPE VARCHAR(255),
+       DATA_STAGED SMALLINT,
        PRIMARY KEY(NODE_INSTANCE_ID,INPUT_KEY),
        FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE
 );
@@ -225,9 +250,11 @@ CREATE TABLE NODE_OUTPUT
 (
        NODE_INSTANCE_ID VARCHAR(255),
        OUTPUT_KEY VARCHAR(255) NOT NULL,
-       OUTPUT_KEY_TYPE VARCHAR(255),
-       METADATA VARCHAR(255),
+       DATA_TYPE VARCHAR(255),
        VALUE VARCHAR(255),
+       VALIDITY_TYPE VARCHAR(255),
+       DATA_MOVEMENT SMALLINT,
+       DATA_NAME_LOCATION VARCHAR(255),
        PRIMARY KEY(NODE_INSTANCE_ID,OUTPUT_KEY),
        FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE
 );


Mime
View raw message