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 2015/01/12 22:40:19 UTC

[3/4] airavata git commit: changing validity type and addedToCMD to boolean

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
index 7c67dea..a0fcba3 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
@@ -175,13 +175,13 @@ public class RegisterUS3Application {
             appModules.add(ultrascanModuleId);
 
             InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("input", null,
-                    DataType.URI, null, 1,null, null, false, "input tar file", null);
+                    DataType.URI, null, 1,true, true, false, "input tar file", null);
            
             List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
             applicationInputs.add(input1);
 
             OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("output",
-                    "", DataType.URI, null, null);
+                    "", DataType.URI, true, false);
 
 //            OutputDataObjectType output2 = RegisterSampleApplicationsUtils.createAppOutput("stdout",
 //                    "", DataType.URI);

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/CommandLineType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/CommandLineType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/CommandLineType.java
deleted file mode 100644
index a24a524..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/CommandLineType.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.appcatalog.appinterface;
-
-
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-@SuppressWarnings("all") public enum CommandLineType implements org.apache.thrift.TEnum {
-  IMPLICIT(0),
-  EXPLICIT(1);
-
-  private final int value;
-
-  private CommandLineType(int value) {
-    this.value = value;
-  }
-
-  /**
-   * Get the integer value of this enum value, as defined in the Thrift IDL.
-   */
-  public int getValue() {
-    return value;
-  }
-
-  /**
-   * Find a the enum type by its integer value, as defined in the Thrift IDL.
-   * @return null if the value is not found.
-   */
-  public static CommandLineType findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return IMPLICIT;
-      case 1:
-        return EXPLICIT;
-      default:
-        return null;
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/InputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/InputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/InputDataObjectType.java
index 8ab0b46..eb7bf3f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/InputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/InputDataObjectType.java
@@ -86,8 +86,8 @@ import org.slf4j.LoggerFactory;
   private static final org.apache.thrift.protocol.TField USER_FRIENDLY_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("userFriendlyDescription", org.apache.thrift.protocol.TType.STRING, (short)6);
   private static final org.apache.thrift.protocol.TField META_DATA_FIELD_DESC = new org.apache.thrift.protocol.TField("metaData", org.apache.thrift.protocol.TType.STRING, (short)7);
   private static final org.apache.thrift.protocol.TField INPUT_ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("inputOrder", org.apache.thrift.protocol.TType.I32, (short)8);
-  private static final org.apache.thrift.protocol.TField INPUT_VALID_FIELD_DESC = new org.apache.thrift.protocol.TField("inputValid", org.apache.thrift.protocol.TType.I32, (short)9);
-  private static final org.apache.thrift.protocol.TField ADDED_TO_COMMAND_LINE_FIELD_DESC = new org.apache.thrift.protocol.TField("addedToCommandLine", org.apache.thrift.protocol.TType.I32, (short)10);
+  private static final org.apache.thrift.protocol.TField IS_REQUIRED_FIELD_DESC = new org.apache.thrift.protocol.TField("isRequired", org.apache.thrift.protocol.TType.BOOL, (short)9);
+  private static final org.apache.thrift.protocol.TField REQUIRED_TO_ADDED_TO_COMMAND_LINE_FIELD_DESC = new org.apache.thrift.protocol.TField("requiredToAddedToCommandLine", org.apache.thrift.protocol.TType.BOOL, (short)10);
   private static final org.apache.thrift.protocol.TField DATA_STAGED_FIELD_DESC = new org.apache.thrift.protocol.TField("dataStaged", org.apache.thrift.protocol.TType.BOOL, (short)11);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
@@ -104,8 +104,8 @@ import org.slf4j.LoggerFactory;
   private String userFriendlyDescription; // optional
   private String metaData; // optional
   private int inputOrder; // optional
-  private ValidityType inputValid; // optional
-  private CommandLineType addedToCommandLine; // optional
+  private boolean isRequired; // optional
+  private boolean requiredToAddedToCommandLine; // optional
   private boolean dataStaged; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -122,16 +122,8 @@ import org.slf4j.LoggerFactory;
     USER_FRIENDLY_DESCRIPTION((short)6, "userFriendlyDescription"),
     META_DATA((short)7, "metaData"),
     INPUT_ORDER((short)8, "inputOrder"),
-    /**
-     * 
-     * @see ValidityType
-     */
-    INPUT_VALID((short)9, "inputValid"),
-    /**
-     * 
-     * @see CommandLineType
-     */
-    ADDED_TO_COMMAND_LINE((short)10, "addedToCommandLine"),
+    IS_REQUIRED((short)9, "isRequired"),
+    REQUIRED_TO_ADDED_TO_COMMAND_LINE((short)10, "requiredToAddedToCommandLine"),
     DATA_STAGED((short)11, "dataStaged");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -163,10 +155,10 @@ import org.slf4j.LoggerFactory;
           return META_DATA;
         case 8: // INPUT_ORDER
           return INPUT_ORDER;
-        case 9: // INPUT_VALID
-          return INPUT_VALID;
-        case 10: // ADDED_TO_COMMAND_LINE
-          return ADDED_TO_COMMAND_LINE;
+        case 9: // IS_REQUIRED
+          return IS_REQUIRED;
+        case 10: // REQUIRED_TO_ADDED_TO_COMMAND_LINE
+          return REQUIRED_TO_ADDED_TO_COMMAND_LINE;
         case 11: // DATA_STAGED
           return DATA_STAGED;
         default:
@@ -211,9 +203,11 @@ import org.slf4j.LoggerFactory;
   // isset id assignments
   private static final int __STANDARDINPUT_ISSET_ID = 0;
   private static final int __INPUTORDER_ISSET_ID = 1;
-  private static final int __DATASTAGED_ISSET_ID = 2;
+  private static final int __ISREQUIRED_ISSET_ID = 2;
+  private static final int __REQUIREDTOADDEDTOCOMMANDLINE_ISSET_ID = 3;
+  private static final int __DATASTAGED_ISSET_ID = 4;
   private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.APPLICATION_ARGUMENT,_Fields.STANDARD_INPUT,_Fields.USER_FRIENDLY_DESCRIPTION,_Fields.META_DATA,_Fields.INPUT_ORDER,_Fields.INPUT_VALID,_Fields.ADDED_TO_COMMAND_LINE,_Fields.DATA_STAGED};
+  private _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.APPLICATION_ARGUMENT,_Fields.STANDARD_INPUT,_Fields.USER_FRIENDLY_DESCRIPTION,_Fields.META_DATA,_Fields.INPUT_ORDER,_Fields.IS_REQUIRED,_Fields.REQUIRED_TO_ADDED_TO_COMMAND_LINE,_Fields.DATA_STAGED};
   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);
@@ -233,10 +227,10 @@ import org.slf4j.LoggerFactory;
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.INPUT_ORDER, new org.apache.thrift.meta_data.FieldMetaData("inputOrder", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-    tmpMap.put(_Fields.INPUT_VALID, new org.apache.thrift.meta_data.FieldMetaData("inputValid", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ValidityType.class)));
-    tmpMap.put(_Fields.ADDED_TO_COMMAND_LINE, new org.apache.thrift.meta_data.FieldMetaData("addedToCommandLine", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, CommandLineType.class)));
+    tmpMap.put(_Fields.IS_REQUIRED, new org.apache.thrift.meta_data.FieldMetaData("isRequired", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.REQUIRED_TO_ADDED_TO_COMMAND_LINE, new org.apache.thrift.meta_data.FieldMetaData("requiredToAddedToCommandLine", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     tmpMap.put(_Fields.DATA_STAGED, new org.apache.thrift.meta_data.FieldMetaData("dataStaged", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -282,12 +276,8 @@ import org.slf4j.LoggerFactory;
       this.metaData = other.metaData;
     }
     this.inputOrder = other.inputOrder;
-    if (other.isSetInputValid()) {
-      this.inputValid = other.inputValid;
-    }
-    if (other.isSetAddedToCommandLine()) {
-      this.addedToCommandLine = other.addedToCommandLine;
-    }
+    this.isRequired = other.isRequired;
+    this.requiredToAddedToCommandLine = other.requiredToAddedToCommandLine;
     this.dataStaged = other.dataStaged;
   }
 
@@ -307,8 +297,10 @@ import org.slf4j.LoggerFactory;
     this.metaData = null;
     setInputOrderIsSet(false);
     this.inputOrder = 0;
-    this.inputValid = null;
-    this.addedToCommandLine = null;
+    setIsRequiredIsSet(false);
+    this.isRequired = false;
+    setRequiredToAddedToCommandLineIsSet(false);
+    this.requiredToAddedToCommandLine = false;
     this.dataStaged = false;
 
   }
@@ -503,66 +495,48 @@ import org.slf4j.LoggerFactory;
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __INPUTORDER_ISSET_ID, value);
   }
 
-  /**
-   * 
-   * @see ValidityType
-   */
-  public ValidityType getInputValid() {
-    return this.inputValid;
+  public boolean isIsRequired() {
+    return this.isRequired;
   }
 
-  /**
-   * 
-   * @see ValidityType
-   */
-  public void setInputValid(ValidityType inputValid) {
-    this.inputValid = inputValid;
+  public void setIsRequired(boolean isRequired) {
+    this.isRequired = isRequired;
+    setIsRequiredIsSet(true);
   }
 
-  public void unsetInputValid() {
-    this.inputValid = null;
+  public void unsetIsRequired() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ISREQUIRED_ISSET_ID);
   }
 
-  /** Returns true if field inputValid is set (has been assigned a value) and false otherwise */
-  public boolean isSetInputValid() {
-    return this.inputValid != null;
+  /** Returns true if field isRequired is set (has been assigned a value) and false otherwise */
+  public boolean isSetIsRequired() {
+    return EncodingUtils.testBit(__isset_bitfield, __ISREQUIRED_ISSET_ID);
   }
 
-  public void setInputValidIsSet(boolean value) {
-    if (!value) {
-      this.inputValid = null;
-    }
+  public void setIsRequiredIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ISREQUIRED_ISSET_ID, value);
   }
 
-  /**
-   * 
-   * @see CommandLineType
-   */
-  public CommandLineType getAddedToCommandLine() {
-    return this.addedToCommandLine;
+  public boolean isRequiredToAddedToCommandLine() {
+    return this.requiredToAddedToCommandLine;
   }
 
-  /**
-   * 
-   * @see CommandLineType
-   */
-  public void setAddedToCommandLine(CommandLineType addedToCommandLine) {
-    this.addedToCommandLine = addedToCommandLine;
+  public void setRequiredToAddedToCommandLine(boolean requiredToAddedToCommandLine) {
+    this.requiredToAddedToCommandLine = requiredToAddedToCommandLine;
+    setRequiredToAddedToCommandLineIsSet(true);
   }
 
-  public void unsetAddedToCommandLine() {
-    this.addedToCommandLine = null;
+  public void unsetRequiredToAddedToCommandLine() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __REQUIREDTOADDEDTOCOMMANDLINE_ISSET_ID);
   }
 
-  /** Returns true if field addedToCommandLine is set (has been assigned a value) and false otherwise */
-  public boolean isSetAddedToCommandLine() {
-    return this.addedToCommandLine != null;
+  /** Returns true if field requiredToAddedToCommandLine is set (has been assigned a value) and false otherwise */
+  public boolean isSetRequiredToAddedToCommandLine() {
+    return EncodingUtils.testBit(__isset_bitfield, __REQUIREDTOADDEDTOCOMMANDLINE_ISSET_ID);
   }
 
-  public void setAddedToCommandLineIsSet(boolean value) {
-    if (!value) {
-      this.addedToCommandLine = null;
-    }
+  public void setRequiredToAddedToCommandLineIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __REQUIREDTOADDEDTOCOMMANDLINE_ISSET_ID, value);
   }
 
   public boolean isDataStaged() {
@@ -653,19 +627,19 @@ import org.slf4j.LoggerFactory;
       }
       break;
 
-    case INPUT_VALID:
+    case IS_REQUIRED:
       if (value == null) {
-        unsetInputValid();
+        unsetIsRequired();
       } else {
-        setInputValid((ValidityType)value);
+        setIsRequired((Boolean)value);
       }
       break;
 
-    case ADDED_TO_COMMAND_LINE:
+    case REQUIRED_TO_ADDED_TO_COMMAND_LINE:
       if (value == null) {
-        unsetAddedToCommandLine();
+        unsetRequiredToAddedToCommandLine();
       } else {
-        setAddedToCommandLine((CommandLineType)value);
+        setRequiredToAddedToCommandLine((Boolean)value);
       }
       break;
 
@@ -706,11 +680,11 @@ import org.slf4j.LoggerFactory;
     case INPUT_ORDER:
       return Integer.valueOf(getInputOrder());
 
-    case INPUT_VALID:
-      return getInputValid();
+    case IS_REQUIRED:
+      return Boolean.valueOf(isIsRequired());
 
-    case ADDED_TO_COMMAND_LINE:
-      return getAddedToCommandLine();
+    case REQUIRED_TO_ADDED_TO_COMMAND_LINE:
+      return Boolean.valueOf(isRequiredToAddedToCommandLine());
 
     case DATA_STAGED:
       return Boolean.valueOf(isDataStaged());
@@ -742,10 +716,10 @@ import org.slf4j.LoggerFactory;
       return isSetMetaData();
     case INPUT_ORDER:
       return isSetInputOrder();
-    case INPUT_VALID:
-      return isSetInputValid();
-    case ADDED_TO_COMMAND_LINE:
-      return isSetAddedToCommandLine();
+    case IS_REQUIRED:
+      return isSetIsRequired();
+    case REQUIRED_TO_ADDED_TO_COMMAND_LINE:
+      return isSetRequiredToAddedToCommandLine();
     case DATA_STAGED:
       return isSetDataStaged();
     }
@@ -837,21 +811,21 @@ import org.slf4j.LoggerFactory;
         return false;
     }
 
-    boolean this_present_inputValid = true && this.isSetInputValid();
-    boolean that_present_inputValid = true && that.isSetInputValid();
-    if (this_present_inputValid || that_present_inputValid) {
-      if (!(this_present_inputValid && that_present_inputValid))
+    boolean this_present_isRequired = true && this.isSetIsRequired();
+    boolean that_present_isRequired = true && that.isSetIsRequired();
+    if (this_present_isRequired || that_present_isRequired) {
+      if (!(this_present_isRequired && that_present_isRequired))
         return false;
-      if (!this.inputValid.equals(that.inputValid))
+      if (this.isRequired != that.isRequired)
         return false;
     }
 
-    boolean this_present_addedToCommandLine = true && this.isSetAddedToCommandLine();
-    boolean that_present_addedToCommandLine = true && that.isSetAddedToCommandLine();
-    if (this_present_addedToCommandLine || that_present_addedToCommandLine) {
-      if (!(this_present_addedToCommandLine && that_present_addedToCommandLine))
+    boolean this_present_requiredToAddedToCommandLine = true && this.isSetRequiredToAddedToCommandLine();
+    boolean that_present_requiredToAddedToCommandLine = true && that.isSetRequiredToAddedToCommandLine();
+    if (this_present_requiredToAddedToCommandLine || that_present_requiredToAddedToCommandLine) {
+      if (!(this_present_requiredToAddedToCommandLine && that_present_requiredToAddedToCommandLine))
         return false;
-      if (!this.addedToCommandLine.equals(that.addedToCommandLine))
+      if (this.requiredToAddedToCommandLine != that.requiredToAddedToCommandLine)
         return false;
     }
 
@@ -960,22 +934,22 @@ import org.slf4j.LoggerFactory;
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetInputValid()).compareTo(other.isSetInputValid());
+    lastComparison = Boolean.valueOf(isSetIsRequired()).compareTo(other.isSetIsRequired());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetInputValid()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.inputValid, other.inputValid);
+    if (isSetIsRequired()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isRequired, other.isRequired);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetAddedToCommandLine()).compareTo(other.isSetAddedToCommandLine());
+    lastComparison = Boolean.valueOf(isSetRequiredToAddedToCommandLine()).compareTo(other.isSetRequiredToAddedToCommandLine());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetAddedToCommandLine()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.addedToCommandLine, other.addedToCommandLine);
+    if (isSetRequiredToAddedToCommandLine()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.requiredToAddedToCommandLine, other.requiredToAddedToCommandLine);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1079,24 +1053,16 @@ import org.slf4j.LoggerFactory;
       sb.append(this.inputOrder);
       first = false;
     }
-    if (isSetInputValid()) {
+    if (isSetIsRequired()) {
       if (!first) sb.append(", ");
-      sb.append("inputValid:");
-      if (this.inputValid == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.inputValid);
-      }
+      sb.append("isRequired:");
+      sb.append(this.isRequired);
       first = false;
     }
-    if (isSetAddedToCommandLine()) {
+    if (isSetRequiredToAddedToCommandLine()) {
       if (!first) sb.append(", ");
-      sb.append("addedToCommandLine:");
-      if (this.addedToCommandLine == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.addedToCommandLine);
-      }
+      sb.append("requiredToAddedToCommandLine:");
+      sb.append(this.requiredToAddedToCommandLine);
       first = false;
     }
     if (isSetDataStaged()) {
@@ -1218,18 +1184,18 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 9: // INPUT_VALID
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.inputValid = ValidityType.findByValue(iprot.readI32());
-              struct.setInputValidIsSet(true);
+          case 9: // IS_REQUIRED
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.isRequired = iprot.readBool();
+              struct.setIsRequiredIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 10: // ADDED_TO_COMMAND_LINE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.addedToCommandLine = CommandLineType.findByValue(iprot.readI32());
-              struct.setAddedToCommandLineIsSet(true);
+          case 10: // REQUIRED_TO_ADDED_TO_COMMAND_LINE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.requiredToAddedToCommandLine = iprot.readBool();
+              struct.setRequiredToAddedToCommandLineIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -1305,19 +1271,15 @@ import org.slf4j.LoggerFactory;
         oprot.writeI32(struct.inputOrder);
         oprot.writeFieldEnd();
       }
-      if (struct.inputValid != null) {
-        if (struct.isSetInputValid()) {
-          oprot.writeFieldBegin(INPUT_VALID_FIELD_DESC);
-          oprot.writeI32(struct.inputValid.getValue());
-          oprot.writeFieldEnd();
-        }
+      if (struct.isSetIsRequired()) {
+        oprot.writeFieldBegin(IS_REQUIRED_FIELD_DESC);
+        oprot.writeBool(struct.isRequired);
+        oprot.writeFieldEnd();
       }
-      if (struct.addedToCommandLine != null) {
-        if (struct.isSetAddedToCommandLine()) {
-          oprot.writeFieldBegin(ADDED_TO_COMMAND_LINE_FIELD_DESC);
-          oprot.writeI32(struct.addedToCommandLine.getValue());
-          oprot.writeFieldEnd();
-        }
+      if (struct.isSetRequiredToAddedToCommandLine()) {
+        oprot.writeFieldBegin(REQUIRED_TO_ADDED_TO_COMMAND_LINE_FIELD_DESC);
+        oprot.writeBool(struct.requiredToAddedToCommandLine);
+        oprot.writeFieldEnd();
       }
       if (struct.isSetDataStaged()) {
         oprot.writeFieldBegin(DATA_STAGED_FIELD_DESC);
@@ -1364,10 +1326,10 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetInputOrder()) {
         optionals.set(6);
       }
-      if (struct.isSetInputValid()) {
+      if (struct.isSetIsRequired()) {
         optionals.set(7);
       }
-      if (struct.isSetAddedToCommandLine()) {
+      if (struct.isSetRequiredToAddedToCommandLine()) {
         optionals.set(8);
       }
       if (struct.isSetDataStaged()) {
@@ -1395,11 +1357,11 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetInputOrder()) {
         oprot.writeI32(struct.inputOrder);
       }
-      if (struct.isSetInputValid()) {
-        oprot.writeI32(struct.inputValid.getValue());
+      if (struct.isSetIsRequired()) {
+        oprot.writeBool(struct.isRequired);
       }
-      if (struct.isSetAddedToCommandLine()) {
-        oprot.writeI32(struct.addedToCommandLine.getValue());
+      if (struct.isSetRequiredToAddedToCommandLine()) {
+        oprot.writeBool(struct.requiredToAddedToCommandLine);
       }
       if (struct.isSetDataStaged()) {
         oprot.writeBool(struct.dataStaged);
@@ -1441,12 +1403,12 @@ import org.slf4j.LoggerFactory;
         struct.setInputOrderIsSet(true);
       }
       if (incoming.get(7)) {
-        struct.inputValid = ValidityType.findByValue(iprot.readI32());
-        struct.setInputValidIsSet(true);
+        struct.isRequired = iprot.readBool();
+        struct.setIsRequiredIsSet(true);
       }
       if (incoming.get(8)) {
-        struct.addedToCommandLine = CommandLineType.findByValue(iprot.readI32());
-        struct.setAddedToCommandLineIsSet(true);
+        struct.requiredToAddedToCommandLine = iprot.readBool();
+        struct.setRequiredToAddedToCommandLineIsSet(true);
       }
       if (incoming.get(9)) {
         struct.dataStaged = iprot.readBool();

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/OutputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/OutputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/OutputDataObjectType.java
index 4197c30..d432d09 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/OutputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/OutputDataObjectType.java
@@ -81,8 +81,8 @@ import org.slf4j.LoggerFactory;
   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)1);
   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)2);
   private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.I32, (short)3);
-  private static final org.apache.thrift.protocol.TField VALIDITY_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("validityType", org.apache.thrift.protocol.TType.I32, (short)4);
-  private static final org.apache.thrift.protocol.TField ADDED_TO_COMMAND_LINE_FIELD_DESC = new org.apache.thrift.protocol.TField("addedToCommandLine", org.apache.thrift.protocol.TType.I32, (short)5);
+  private static final org.apache.thrift.protocol.TField IS_REQUIRED_FIELD_DESC = new org.apache.thrift.protocol.TField("isRequired", org.apache.thrift.protocol.TType.BOOL, (short)4);
+  private static final org.apache.thrift.protocol.TField REQUIRED_TO_ADDED_TO_COMMAND_LINE_FIELD_DESC = new org.apache.thrift.protocol.TField("requiredToAddedToCommandLine", org.apache.thrift.protocol.TType.BOOL, (short)5);
   private static final org.apache.thrift.protocol.TField DATA_MOVEMENT_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMovement", org.apache.thrift.protocol.TType.BOOL, (short)6);
   private static final org.apache.thrift.protocol.TField DATA_NAME_LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("dataNameLocation", org.apache.thrift.protocol.TType.STRING, (short)7);
 
@@ -95,8 +95,8 @@ import org.slf4j.LoggerFactory;
   private String name; // required
   private String value; // optional
   private DataType type; // optional
-  private ValidityType validityType; // optional
-  private CommandLineType addedToCommandLine; // optional
+  private boolean isRequired; // optional
+  private boolean requiredToAddedToCommandLine; // optional
   private boolean dataMovement; // optional
   private String dataNameLocation; // optional
 
@@ -109,16 +109,8 @@ import org.slf4j.LoggerFactory;
      * @see DataType
      */
     TYPE((short)3, "type"),
-    /**
-     * 
-     * @see ValidityType
-     */
-    VALIDITY_TYPE((short)4, "validityType"),
-    /**
-     * 
-     * @see CommandLineType
-     */
-    ADDED_TO_COMMAND_LINE((short)5, "addedToCommandLine"),
+    IS_REQUIRED((short)4, "isRequired"),
+    REQUIRED_TO_ADDED_TO_COMMAND_LINE((short)5, "requiredToAddedToCommandLine"),
     DATA_MOVEMENT((short)6, "dataMovement"),
     DATA_NAME_LOCATION((short)7, "dataNameLocation");
 
@@ -141,10 +133,10 @@ import org.slf4j.LoggerFactory;
           return VALUE;
         case 3: // TYPE
           return TYPE;
-        case 4: // VALIDITY_TYPE
-          return VALIDITY_TYPE;
-        case 5: // ADDED_TO_COMMAND_LINE
-          return ADDED_TO_COMMAND_LINE;
+        case 4: // IS_REQUIRED
+          return IS_REQUIRED;
+        case 5: // REQUIRED_TO_ADDED_TO_COMMAND_LINE
+          return REQUIRED_TO_ADDED_TO_COMMAND_LINE;
         case 6: // DATA_MOVEMENT
           return DATA_MOVEMENT;
         case 7: // DATA_NAME_LOCATION
@@ -189,9 +181,11 @@ import org.slf4j.LoggerFactory;
   }
 
   // isset id assignments
-  private static final int __DATAMOVEMENT_ISSET_ID = 0;
+  private static final int __ISREQUIRED_ISSET_ID = 0;
+  private static final int __REQUIREDTOADDEDTOCOMMANDLINE_ISSET_ID = 1;
+  private static final int __DATAMOVEMENT_ISSET_ID = 2;
   private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.VALIDITY_TYPE,_Fields.ADDED_TO_COMMAND_LINE,_Fields.DATA_MOVEMENT,_Fields.DATA_NAME_LOCATION};
+  private _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.IS_REQUIRED,_Fields.REQUIRED_TO_ADDED_TO_COMMAND_LINE,_Fields.DATA_MOVEMENT,_Fields.DATA_NAME_LOCATION};
   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);
@@ -201,10 +195,10 @@ import org.slf4j.LoggerFactory;
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.TYPE, new org.apache.thrift.meta_data.FieldMetaData("type", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, DataType.class)));
-    tmpMap.put(_Fields.VALIDITY_TYPE, new org.apache.thrift.meta_data.FieldMetaData("validityType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ValidityType.class)));
-    tmpMap.put(_Fields.ADDED_TO_COMMAND_LINE, new org.apache.thrift.meta_data.FieldMetaData("addedToCommandLine", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, CommandLineType.class)));
+    tmpMap.put(_Fields.IS_REQUIRED, new org.apache.thrift.meta_data.FieldMetaData("isRequired", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.REQUIRED_TO_ADDED_TO_COMMAND_LINE, new org.apache.thrift.meta_data.FieldMetaData("requiredToAddedToCommandLine", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     tmpMap.put(_Fields.DATA_MOVEMENT, new org.apache.thrift.meta_data.FieldMetaData("dataMovement", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     tmpMap.put(_Fields.DATA_NAME_LOCATION, new org.apache.thrift.meta_data.FieldMetaData("dataNameLocation", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -237,12 +231,8 @@ import org.slf4j.LoggerFactory;
     if (other.isSetType()) {
       this.type = other.type;
     }
-    if (other.isSetValidityType()) {
-      this.validityType = other.validityType;
-    }
-    if (other.isSetAddedToCommandLine()) {
-      this.addedToCommandLine = other.addedToCommandLine;
-    }
+    this.isRequired = other.isRequired;
+    this.requiredToAddedToCommandLine = other.requiredToAddedToCommandLine;
     this.dataMovement = other.dataMovement;
     if (other.isSetDataNameLocation()) {
       this.dataNameLocation = other.dataNameLocation;
@@ -258,8 +248,10 @@ import org.slf4j.LoggerFactory;
     this.name = null;
     this.value = null;
     this.type = null;
-    this.validityType = null;
-    this.addedToCommandLine = null;
+    setIsRequiredIsSet(false);
+    this.isRequired = false;
+    setRequiredToAddedToCommandLineIsSet(false);
+    this.requiredToAddedToCommandLine = false;
     setDataMovementIsSet(false);
     this.dataMovement = false;
     this.dataNameLocation = null;
@@ -342,66 +334,48 @@ import org.slf4j.LoggerFactory;
     }
   }
 
-  /**
-   * 
-   * @see ValidityType
-   */
-  public ValidityType getValidityType() {
-    return this.validityType;
+  public boolean isIsRequired() {
+    return this.isRequired;
   }
 
-  /**
-   * 
-   * @see ValidityType
-   */
-  public void setValidityType(ValidityType validityType) {
-    this.validityType = validityType;
+  public void setIsRequired(boolean isRequired) {
+    this.isRequired = isRequired;
+    setIsRequiredIsSet(true);
   }
 
-  public void unsetValidityType() {
-    this.validityType = null;
+  public void unsetIsRequired() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ISREQUIRED_ISSET_ID);
   }
 
-  /** Returns true if field validityType is set (has been assigned a value) and false otherwise */
-  public boolean isSetValidityType() {
-    return this.validityType != null;
+  /** Returns true if field isRequired is set (has been assigned a value) and false otherwise */
+  public boolean isSetIsRequired() {
+    return EncodingUtils.testBit(__isset_bitfield, __ISREQUIRED_ISSET_ID);
   }
 
-  public void setValidityTypeIsSet(boolean value) {
-    if (!value) {
-      this.validityType = null;
-    }
+  public void setIsRequiredIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ISREQUIRED_ISSET_ID, value);
   }
 
-  /**
-   * 
-   * @see CommandLineType
-   */
-  public CommandLineType getAddedToCommandLine() {
-    return this.addedToCommandLine;
+  public boolean isRequiredToAddedToCommandLine() {
+    return this.requiredToAddedToCommandLine;
   }
 
-  /**
-   * 
-   * @see CommandLineType
-   */
-  public void setAddedToCommandLine(CommandLineType addedToCommandLine) {
-    this.addedToCommandLine = addedToCommandLine;
+  public void setRequiredToAddedToCommandLine(boolean requiredToAddedToCommandLine) {
+    this.requiredToAddedToCommandLine = requiredToAddedToCommandLine;
+    setRequiredToAddedToCommandLineIsSet(true);
   }
 
-  public void unsetAddedToCommandLine() {
-    this.addedToCommandLine = null;
+  public void unsetRequiredToAddedToCommandLine() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __REQUIREDTOADDEDTOCOMMANDLINE_ISSET_ID);
   }
 
-  /** Returns true if field addedToCommandLine is set (has been assigned a value) and false otherwise */
-  public boolean isSetAddedToCommandLine() {
-    return this.addedToCommandLine != null;
+  /** Returns true if field requiredToAddedToCommandLine is set (has been assigned a value) and false otherwise */
+  public boolean isSetRequiredToAddedToCommandLine() {
+    return EncodingUtils.testBit(__isset_bitfield, __REQUIREDTOADDEDTOCOMMANDLINE_ISSET_ID);
   }
 
-  public void setAddedToCommandLineIsSet(boolean value) {
-    if (!value) {
-      this.addedToCommandLine = null;
-    }
+  public void setRequiredToAddedToCommandLineIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __REQUIREDTOADDEDTOCOMMANDLINE_ISSET_ID, value);
   }
 
   public boolean isDataMovement() {
@@ -475,19 +449,19 @@ import org.slf4j.LoggerFactory;
       }
       break;
 
-    case VALIDITY_TYPE:
+    case IS_REQUIRED:
       if (value == null) {
-        unsetValidityType();
+        unsetIsRequired();
       } else {
-        setValidityType((ValidityType)value);
+        setIsRequired((Boolean)value);
       }
       break;
 
-    case ADDED_TO_COMMAND_LINE:
+    case REQUIRED_TO_ADDED_TO_COMMAND_LINE:
       if (value == null) {
-        unsetAddedToCommandLine();
+        unsetRequiredToAddedToCommandLine();
       } else {
-        setAddedToCommandLine((CommandLineType)value);
+        setRequiredToAddedToCommandLine((Boolean)value);
       }
       break;
 
@@ -521,11 +495,11 @@ import org.slf4j.LoggerFactory;
     case TYPE:
       return getType();
 
-    case VALIDITY_TYPE:
-      return getValidityType();
+    case IS_REQUIRED:
+      return Boolean.valueOf(isIsRequired());
 
-    case ADDED_TO_COMMAND_LINE:
-      return getAddedToCommandLine();
+    case REQUIRED_TO_ADDED_TO_COMMAND_LINE:
+      return Boolean.valueOf(isRequiredToAddedToCommandLine());
 
     case DATA_MOVEMENT:
       return Boolean.valueOf(isDataMovement());
@@ -550,10 +524,10 @@ import org.slf4j.LoggerFactory;
       return isSetValue();
     case TYPE:
       return isSetType();
-    case VALIDITY_TYPE:
-      return isSetValidityType();
-    case ADDED_TO_COMMAND_LINE:
-      return isSetAddedToCommandLine();
+    case IS_REQUIRED:
+      return isSetIsRequired();
+    case REQUIRED_TO_ADDED_TO_COMMAND_LINE:
+      return isSetRequiredToAddedToCommandLine();
     case DATA_MOVEMENT:
       return isSetDataMovement();
     case DATA_NAME_LOCATION:
@@ -602,21 +576,21 @@ import org.slf4j.LoggerFactory;
         return false;
     }
 
-    boolean this_present_validityType = true && this.isSetValidityType();
-    boolean that_present_validityType = true && that.isSetValidityType();
-    if (this_present_validityType || that_present_validityType) {
-      if (!(this_present_validityType && that_present_validityType))
+    boolean this_present_isRequired = true && this.isSetIsRequired();
+    boolean that_present_isRequired = true && that.isSetIsRequired();
+    if (this_present_isRequired || that_present_isRequired) {
+      if (!(this_present_isRequired && that_present_isRequired))
         return false;
-      if (!this.validityType.equals(that.validityType))
+      if (this.isRequired != that.isRequired)
         return false;
     }
 
-    boolean this_present_addedToCommandLine = true && this.isSetAddedToCommandLine();
-    boolean that_present_addedToCommandLine = true && that.isSetAddedToCommandLine();
-    if (this_present_addedToCommandLine || that_present_addedToCommandLine) {
-      if (!(this_present_addedToCommandLine && that_present_addedToCommandLine))
+    boolean this_present_requiredToAddedToCommandLine = true && this.isSetRequiredToAddedToCommandLine();
+    boolean that_present_requiredToAddedToCommandLine = true && that.isSetRequiredToAddedToCommandLine();
+    if (this_present_requiredToAddedToCommandLine || that_present_requiredToAddedToCommandLine) {
+      if (!(this_present_requiredToAddedToCommandLine && that_present_requiredToAddedToCommandLine))
         return false;
-      if (!this.addedToCommandLine.equals(that.addedToCommandLine))
+      if (this.requiredToAddedToCommandLine != that.requiredToAddedToCommandLine)
         return false;
     }
 
@@ -684,22 +658,22 @@ import org.slf4j.LoggerFactory;
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetValidityType()).compareTo(other.isSetValidityType());
+    lastComparison = Boolean.valueOf(isSetIsRequired()).compareTo(other.isSetIsRequired());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetValidityType()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.validityType, other.validityType);
+    if (isSetIsRequired()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isRequired, other.isRequired);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetAddedToCommandLine()).compareTo(other.isSetAddedToCommandLine());
+    lastComparison = Boolean.valueOf(isSetRequiredToAddedToCommandLine()).compareTo(other.isSetRequiredToAddedToCommandLine());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetAddedToCommandLine()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.addedToCommandLine, other.addedToCommandLine);
+    if (isSetRequiredToAddedToCommandLine()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.requiredToAddedToCommandLine, other.requiredToAddedToCommandLine);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -771,24 +745,16 @@ import org.slf4j.LoggerFactory;
       }
       first = false;
     }
-    if (isSetValidityType()) {
+    if (isSetIsRequired()) {
       if (!first) sb.append(", ");
-      sb.append("validityType:");
-      if (this.validityType == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.validityType);
-      }
+      sb.append("isRequired:");
+      sb.append(this.isRequired);
       first = false;
     }
-    if (isSetAddedToCommandLine()) {
+    if (isSetRequiredToAddedToCommandLine()) {
       if (!first) sb.append(", ");
-      sb.append("addedToCommandLine:");
-      if (this.addedToCommandLine == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.addedToCommandLine);
-      }
+      sb.append("requiredToAddedToCommandLine:");
+      sb.append(this.requiredToAddedToCommandLine);
       first = false;
     }
     if (isSetDataMovement()) {
@@ -880,18 +846,18 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 4: // VALIDITY_TYPE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.validityType = ValidityType.findByValue(iprot.readI32());
-              struct.setValidityTypeIsSet(true);
+          case 4: // IS_REQUIRED
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.isRequired = iprot.readBool();
+              struct.setIsRequiredIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 5: // ADDED_TO_COMMAND_LINE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.addedToCommandLine = CommandLineType.findByValue(iprot.readI32());
-              struct.setAddedToCommandLineIsSet(true);
+          case 5: // REQUIRED_TO_ADDED_TO_COMMAND_LINE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.requiredToAddedToCommandLine = iprot.readBool();
+              struct.setRequiredToAddedToCommandLineIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -944,19 +910,15 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldEnd();
         }
       }
-      if (struct.validityType != null) {
-        if (struct.isSetValidityType()) {
-          oprot.writeFieldBegin(VALIDITY_TYPE_FIELD_DESC);
-          oprot.writeI32(struct.validityType.getValue());
-          oprot.writeFieldEnd();
-        }
+      if (struct.isSetIsRequired()) {
+        oprot.writeFieldBegin(IS_REQUIRED_FIELD_DESC);
+        oprot.writeBool(struct.isRequired);
+        oprot.writeFieldEnd();
       }
-      if (struct.addedToCommandLine != null) {
-        if (struct.isSetAddedToCommandLine()) {
-          oprot.writeFieldBegin(ADDED_TO_COMMAND_LINE_FIELD_DESC);
-          oprot.writeI32(struct.addedToCommandLine.getValue());
-          oprot.writeFieldEnd();
-        }
+      if (struct.isSetRequiredToAddedToCommandLine()) {
+        oprot.writeFieldBegin(REQUIRED_TO_ADDED_TO_COMMAND_LINE_FIELD_DESC);
+        oprot.writeBool(struct.requiredToAddedToCommandLine);
+        oprot.writeFieldEnd();
       }
       if (struct.isSetDataMovement()) {
         oprot.writeFieldBegin(DATA_MOVEMENT_FIELD_DESC);
@@ -995,10 +957,10 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetType()) {
         optionals.set(1);
       }
-      if (struct.isSetValidityType()) {
+      if (struct.isSetIsRequired()) {
         optionals.set(2);
       }
-      if (struct.isSetAddedToCommandLine()) {
+      if (struct.isSetRequiredToAddedToCommandLine()) {
         optionals.set(3);
       }
       if (struct.isSetDataMovement()) {
@@ -1014,11 +976,11 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetType()) {
         oprot.writeI32(struct.type.getValue());
       }
-      if (struct.isSetValidityType()) {
-        oprot.writeI32(struct.validityType.getValue());
+      if (struct.isSetIsRequired()) {
+        oprot.writeBool(struct.isRequired);
       }
-      if (struct.isSetAddedToCommandLine()) {
-        oprot.writeI32(struct.addedToCommandLine.getValue());
+      if (struct.isSetRequiredToAddedToCommandLine()) {
+        oprot.writeBool(struct.requiredToAddedToCommandLine);
       }
       if (struct.isSetDataMovement()) {
         oprot.writeBool(struct.dataMovement);
@@ -1043,12 +1005,12 @@ import org.slf4j.LoggerFactory;
         struct.setTypeIsSet(true);
       }
       if (incoming.get(2)) {
-        struct.validityType = ValidityType.findByValue(iprot.readI32());
-        struct.setValidityTypeIsSet(true);
+        struct.isRequired = iprot.readBool();
+        struct.setIsRequiredIsSet(true);
       }
       if (incoming.get(3)) {
-        struct.addedToCommandLine = CommandLineType.findByValue(iprot.readI32());
-        struct.setAddedToCommandLineIsSet(true);
+        struct.requiredToAddedToCommandLine = iprot.readBool();
+        struct.setRequiredToAddedToCommandLineIsSet(true);
       }
       if (incoming.get(4)) {
         struct.dataMovement = iprot.readBool();

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ValidityType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ValidityType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ValidityType.java
deleted file mode 100644
index e40f200..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ValidityType.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.appcatalog.appinterface;
-
-
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-@SuppressWarnings("all") public enum ValidityType implements org.apache.thrift.TEnum {
-  REQUIRED(0),
-  OPTIONAL(1);
-
-  private final int value;
-
-  private ValidityType(int value) {
-    this.value = value;
-  }
-
-  /**
-   * Get the integer value of this enum value, as defined in the Thrift IDL.
-   */
-  public int getValue() {
-    return value;
-  }
-
-  /**
-   * Find a the enum type by its integer value, as defined in the Thrift IDL.
-   * @return null if the value is not found.
-   */
-  public static ValidityType findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return REQUIRED;
-      case 1:
-        return OPTIONAL;
-      default:
-        return null;
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift b/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
index d724b5b..386dba2 100644
--- a/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
@@ -43,16 +43,6 @@ enum DataType{
 	STDERR
 }
 
-enum ValidityType{
-	REQUIRED,
-	OPTIONAL
-}
-
-enum CommandLineType{
-	IMPLICIT,
-	EXPLICIT
-}
-
 /**
  * Application Inputs. The paramters describe how inputs are passed to the application.
  *
@@ -88,8 +78,8 @@ struct InputDataObjectType {
     6: optional string userFriendlyDescription,
     7: optional string metaData,
     8: optional i32 inputOrder,
-    9: optional ValidityType inputValid,
-    10: optional CommandLineType addedToCommandLine,
+    9: optional bool isRequired,
+    10: optional bool requiredToAddedToCommandLine,
     11: optional bool dataStaged = 0
 }
 
@@ -123,8 +113,8 @@ struct OutputDataObjectType {
     1: required string name,
     2: optional string value,
     3: optional DataType type,
-    4: optional ValidityType validityType,
-    5: optional CommandLineType addedToCommandLine,
+    4: optional bool isRequired,
+    5: optional bool requiredToAddedToCommandLine,
     6: optional bool dataMovement,
     7: optional string dataNameLocation
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
index c5bd9c6..850e18c 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
@@ -104,31 +104,23 @@ public class ApplicationInterfaceImpl implements ApplicationInterface {
                     inputResource.setStandardInput(input.isStandardInput());
                     inputResource.setAppArgument(input.getApplicationArgument());
                     inputResource.setInputOrder(input.getInputOrder());
-                    if (input.getInputValid() != null){
-                        inputResource.setValidityType(input.getInputValid().toString());
-                    }
-                    if (input.getAddedToCommandLine() != null){
-                        inputResource.setCommandLineType(input.getAddedToCommandLine().toString());
-                    }
+                    inputResource.setRequired(input.isIsRequired());
+                    inputResource.setRequiredToCMD(input.isRequiredToAddedToCommandLine());
                     inputResource.save();
                 }
             }
 
             List<OutputDataObjectType> applicationOutputs = applicationInterfaceDescription.getApplicationOutputs();
-            if (applicationOutputs != null && !applicationOutputs.isEmpty()){
-                for (OutputDataObjectType output : applicationOutputs){
+            if (applicationOutputs != null && !applicationOutputs.isEmpty()) {
+                for (OutputDataObjectType output : applicationOutputs) {
                     ApplicationOutputResource outputResource = new ApplicationOutputResource();
                     outputResource.setInterfaceID(resource.getInterfaceId());
                     outputResource.setAppInterfaceResource(resource);
                     outputResource.setOutputKey(output.getName());
                     outputResource.setOutputVal(output.getValue());
                     outputResource.setDataType(output.getType().toString());
-                    if (output.getValidityType() != null){
-                        outputResource.setValidityType(output.getValidityType().toString());
-                    }
-                    if (output.getAddedToCommandLine() != null){
-                        outputResource.setCommandLineType(output.getAddedToCommandLine().toString());
-                    }
+                    outputResource.setRequired(output.isIsRequired());
+                    outputResource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
                     outputResource.setDataMovement(output.isDataMovement());
                     outputResource.setDataNameLocation(output.getDataNameLocation());
                     outputResource.save();
@@ -234,12 +226,8 @@ public class ApplicationInterfaceImpl implements ApplicationInterface {
                     inputResource.setStandardInput(input.isStandardInput());
                     inputResource.setAppArgument(input.getApplicationArgument());
                     inputResource.setInputOrder(input.getInputOrder());
-                    if (input.getInputValid() != null){
-                        inputResource.setValidityType(input.getInputValid().toString());
-                    }
-                    if (input.getAddedToCommandLine() != null){
-                        inputResource.setCommandLineType(input.getAddedToCommandLine().toString());
-                    }
+                    inputResource.setRequired(input.isIsRequired());
+                    inputResource.setRequiredToCMD(input.isRequiredToAddedToCommandLine());
                     inputResource.save();
                 }
             }
@@ -264,12 +252,8 @@ public class ApplicationInterfaceImpl implements ApplicationInterface {
                     outputResource.setOutputKey(output.getName());
                     outputResource.setOutputVal(output.getValue());
                     outputResource.setDataType(output.getType().toString());
-                    if (output.getValidityType() != null){
-                        outputResource.setValidityType(output.getValidityType().toString());
-                    }
-                    if (output.getAddedToCommandLine() != null){
-                        outputResource.setCommandLineType(output.getAddedToCommandLine().toString());
-                    }
+                    outputResource.setRequired(output.isIsRequired());
+                    outputResource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
                     outputResource.setDataMovement(output.isDataMovement());
                     outputResource.setDataNameLocation(output.getDataNameLocation());
                     outputResource.save();

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java
index e7b98c2..5255bc0 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java
@@ -49,10 +49,10 @@ public class ApplicationInput implements Serializable {
     private boolean standardInput;
     @Column(name="INPUT_ORDER")
     private int inputOrder;
-    @Column(name="VALIDITY_TYPE")
-    private String validityType;
-    @Column(name="COMMANDLINE_TYPE")
-    private String commandLineType;
+    @Column(name="IS_REQUIRED")
+    private boolean isRequired;
+    @Column(name="REQUIRED_TO_COMMANDLINE")
+    private boolean requiredToCMD;
     @Column(name = "DATA_STAGED")
     private boolean dataStaged;
 
@@ -140,20 +140,20 @@ public class ApplicationInput implements Serializable {
         this.inputOrder = inputOrder;
     }
 
-    public String getValidityType() {
-        return validityType;
+    public boolean isRequired() {
+        return isRequired;
     }
 
-    public void setValidityType(String validityType) {
-        this.validityType = validityType;
+    public void setRequired(boolean isRequired) {
+        this.isRequired = isRequired;
     }
 
-    public String getCommandLineType() {
-        return commandLineType;
+    public boolean isRequiredToCMD() {
+        return requiredToCMD;
     }
 
-    public void setCommandLineType(String commandLineType) {
-        this.commandLineType = commandLineType;
+    public void setRequiredToCMD(boolean requiredToCMD) {
+        this.requiredToCMD = requiredToCMD;
     }
 
     public boolean isDataStaged() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java
index 861698d..2115d92 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java
@@ -39,10 +39,10 @@ public class ApplicationOutput implements Serializable {
     private String outputVal;
     @Column(name = "DATA_TYPE")
     private String dataType;
-    @Column(name = "VALIDITY_TYPE")
-    private String validityType;
-    @Column(name="COMMANDLINE_TYPE")
-    private String commandLineType;
+    @Column(name = "IS_REQUIRED")
+    private boolean isRequired;
+    @Column(name="REQUIRED_TO_COMMANDLINE")
+    private boolean requiredToCMD;
     @Column(name = "DATA_MOVEMENT")
     private boolean dataMovement;
     @Column(name = "DATA_NAME_LOCATION")
@@ -52,13 +52,6 @@ public class ApplicationOutput implements Serializable {
     @JoinColumn(name = "INTERFACE_ID")
     private ApplicationInterface applicationInterface;
 
-    public String getCommandLineType() {
-        return commandLineType;
-    }
-
-    public void setCommandLineType(String commandLineType) {
-        this.commandLineType = commandLineType;
-    }
     public String getInterfaceID() {
         return interfaceID;
     }
@@ -99,12 +92,20 @@ public class ApplicationOutput implements Serializable {
         this.outputVal = outputVal;
     }
 
-    public String getValidityType() {
-        return validityType;
+    public boolean isRequired() {
+        return isRequired;
+    }
+
+    public void setRequired(boolean isRequired) {
+        this.isRequired = isRequired;
+    }
+
+    public boolean isRequiredToCMD() {
+        return requiredToCMD;
     }
 
-    public void setValidityType(String validityType) {
-        this.validityType = validityType;
+    public void setRequiredToCMD(boolean requiredToCMD) {
+        this.requiredToCMD = requiredToCMD;
     }
 
     public boolean isDataMovement() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowInput.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowInput.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowInput.java
index 8318bee..7ec659f 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowInput.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowInput.java
@@ -50,10 +50,10 @@ public class WorkflowInput implements Serializable {
     private boolean standardInput;
     @Column(name = "INPUT_ORDER")
     private int inputOrder;
-    @Column(name="VALIDITY_TYPE")
-    private String validityType;
-    @Column(name="COMMANDLINE_TYPE")
-    private String commandLineType;
+    @Column(name="IS_REQUIRED")
+    private boolean isRequired;
+    @Column(name="REQUIRED_TO_COMMANDLINE")
+    private boolean requiredToCMD;
     @Column(name = "DATA_STAGED")
     private boolean dataStaged;
 
@@ -141,20 +141,20 @@ public class WorkflowInput implements Serializable {
         this.inputOrder = inputOrder;
     }
 
-    public String getValidityType() {
-        return validityType;
+    public boolean isRequired() {
+        return isRequired;
     }
 
-    public void setValidityType(String validityType) {
-        this.validityType = validityType;
+    public void setRequired(boolean isRequired) {
+        this.isRequired = isRequired;
     }
 
-    public String getCommandLineType() {
-        return commandLineType;
+    public boolean isRequiredToCMD() {
+        return requiredToCMD;
     }
 
-    public void setCommandLineType(String commandLineType) {
-        this.commandLineType = commandLineType;
+    public void setRequiredToCMD(boolean requiredToCMD) {
+        this.requiredToCMD = requiredToCMD;
     }
 
     public boolean isDataStaged() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/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 87e1246..3dcb6b4 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,8 +50,8 @@ public class ApplicationInputResource extends AbstractResource {
     private String userFriendlyDesc;
     private int inputOrder;
     private boolean standardInput;
-    private String validityType;
-    private String commandLineType;
+    private boolean isRequired;
+    private boolean requiredToCMD;
     private boolean dataStaged;
 
     private AppInterfaceResource appInterfaceResource;
@@ -294,8 +294,8 @@ public class ApplicationInputResource extends AbstractResource {
             applicationInput.setUserFriendlyDesc(userFriendlyDesc);
             applicationInput.setStandardInput(standardInput);
             applicationInput.setInputOrder(inputOrder);
-            applicationInput.setCommandLineType(commandLineType);
-            applicationInput.setValidityType(validityType);
+            applicationInput.setRequiredToCMD(requiredToCMD);
+            applicationInput.setRequired(isRequired);
             applicationInput.setDataStaged(dataStaged);
             if (existingApplicationInput == null) {
                 em.persist(applicationInput);
@@ -428,20 +428,20 @@ public class ApplicationInputResource extends AbstractResource {
         this.inputOrder = inputOrder;
     }
 
-    public String getValidityType() {
-        return validityType;
+    public boolean getRequired() {
+        return isRequired;
     }
 
-    public void setValidityType(String validityType) {
-        this.validityType = validityType;
+    public void setRequired(boolean required) {
+        this.isRequired = required;
     }
 
-    public String getCommandLineType() {
-        return commandLineType;
+    public boolean getRequiredToCMD() {
+        return requiredToCMD;
     }
 
-    public void setCommandLineType(String commandLineType) {
-        this.commandLineType = commandLineType;
+    public void setRequiredToCMD(boolean requiredToCMD) {
+        this.requiredToCMD = requiredToCMD;
     }
 
     public boolean isDataStaged() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/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 f61f124..2a93354 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,10 +44,10 @@ public class ApplicationOutputResource extends AbstractResource {
     private String outputKey;
     private String outputVal;
     private String dataType;
-    private String validityType;
+    private boolean isRequired;
     private boolean dataMovement;
     private String dataNameLocation;
-    private String commandLineType;
+    private boolean requiredToCMD;
 
     private AppInterfaceResource appInterfaceResource;
 
@@ -287,8 +287,8 @@ public class ApplicationOutputResource extends AbstractResource {
             applicationOutput.setDataType(dataType);
             applicationOutput.setOutputKey(outputKey);
             applicationOutput.setOutputVal(outputVal);
-            applicationOutput.setValidityType(validityType);
-            applicationOutput.setCommandLineType(commandLineType);
+            applicationOutput.setRequired(isRequired);
+            applicationOutput.setRequiredToCMD(requiredToCMD);
             applicationOutput.setDataMovement(dataMovement);
             applicationOutput.setDataNameLocation(dataNameLocation);
             em.merge(applicationOutput);
@@ -378,12 +378,12 @@ public class ApplicationOutputResource extends AbstractResource {
         this.appInterfaceResource = appInterfaceResource;
     }
 
-    public String getValidityType() {
-        return validityType;
+    public boolean getRequired() {
+        return isRequired;
     }
 
-    public void setValidityType(String validityType) {
-        this.validityType = validityType;
+    public void setRequired(boolean required) {
+        this.isRequired = required;
     }
 
     public boolean isDataMovement() {
@@ -402,11 +402,11 @@ public class ApplicationOutputResource extends AbstractResource {
         this.dataNameLocation = dataNameLocation;
     }
 
-    public String getCommandLineType() {
-        return commandLineType;
+    public boolean getRequiredToCMD() {
+        return requiredToCMD;
     }
 
-    public void setCommandLineType(String commandLineType) {
-        this.commandLineType = commandLineType;
+    public void setRequiredToCMD(boolean requiredToCMD) {
+        this.requiredToCMD = requiredToCMD;
     }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/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 c00d48c..ac22744 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,8 +50,8 @@ public class WorkflowInputResource extends AbstractResource {
     private String userFriendlyDesc;
     private boolean standardInput;
     private int inputOrder;
-    private String validityType;
-    private String commandLineType;
+    private boolean isRequired;
+    private boolean requiredToCMD;
     private boolean dataStaged;
 
     private WorkflowResource workflowResource;
@@ -291,8 +291,8 @@ public class WorkflowInputResource extends AbstractResource {
             workflowInput.setAppArgument(appArgument);
             workflowInput.setUserFriendlyDesc(userFriendlyDesc);
             workflowInput.setStandardInput(standardInput);
-            workflowInput.setCommandLineType(commandLineType);
-            workflowInput.setValidityType(validityType);
+            workflowInput.setRequiredToCMD(requiredToCMD);
+            workflowInput.setRequired(isRequired);
             workflowInput.setDataStaged(dataStaged);
             if (existingWFInput == null) {
                 em.persist(workflowInput);
@@ -425,20 +425,20 @@ public class WorkflowInputResource extends AbstractResource {
         this.inputOrder = inputOrder;
     }
 
-    public String getValidityType() {
-        return validityType;
+    public boolean getRequired() {
+        return isRequired;
     }
 
-    public void setValidityType(String validityType) {
-        this.validityType = validityType;
+    public void setRequired(boolean required) {
+        this.isRequired = required;
     }
 
-    public String getCommandLineType() {
-        return commandLineType;
+    public boolean getRequiredToCMD() {
+        return requiredToCMD;
     }
 
-    public void setCommandLineType(String commandLineType) {
-        this.commandLineType = commandLineType;
+    public void setRequiredToCMD(boolean requiredToCMD) {
+        this.requiredToCMD = requiredToCMD;
     }
 
     public boolean isDataStaged() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/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 0dbf54c..e60e0d7 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
@@ -764,8 +764,8 @@ public class AppCatalogJPAUtils {
             resource.setUserFriendlyDesc(o.getUserFriendlyDesc());
             resource.setStandardInput(o.isStandardInput());
             resource.setInputOrder(o.getInputOrder());
-            resource.setValidityType(o.getValidityType());
-            resource.setCommandLineType(o.getCommandLineType());
+            resource.setRequired(o.isRequired());
+            resource.setRequiredToCMD(o.isRequiredToCMD());
             resource.setDataStaged(o.isDataStaged());
             resource.setAppInterfaceResource((AppInterfaceResource)createAppInterfaceResource(o.getApplicationInterface()));
         }
@@ -786,8 +786,8 @@ public class AppCatalogJPAUtils {
             resource.setInputOrder(o.getInputOrder());
             resource.setUserFriendlyDesc(o.getUserFriendlyDesc());
             resource.setStandardInput(o.isStandardInput());
-            resource.setValidityType(o.getValidityType());
-            resource.setCommandLineType(o.getCommandLineType());
+            resource.setRequired(o.isRequired());
+            resource.setRequiredToCMD(o.isRequiredToCMD());
             resource.setDataStaged(o.isDataStaged());
             resource.setWorkflowResource((WorkflowResource)createWorkflow(o.getWorkflow()));
         }
@@ -801,8 +801,8 @@ public class AppCatalogJPAUtils {
             resource.setOutputKey(o.getOutputKey());
             resource.setOutputVal(o.getOutputVal());
             resource.setDataType(o.getDataType());
-            resource.setValidityType(o.getValidityType());
-            resource.setCommandLineType(o.getCommandLineType());
+            resource.setRequired(o.isRequired());
+            resource.setRequiredToCMD(o.isRequiredToCMD());
             resource.setDataMovement(o.isDataMovement());
             resource.setDataNameLocation(o.getDataNameLocation());
             resource.setAppInterfaceResource((AppInterfaceResource)createAppInterfaceResource(o.getApplicationInterface()));

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/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 eaa9eae..87083a9 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
@@ -22,8 +22,6 @@
 package org.apache.aiaravata.application.catalog.data.util;
 
 import org.airavata.appcatalog.cpi.AppCatalogException;
-import org.apache.aiaravata.application.catalog.data.model.PostJobCommand;
-import org.apache.aiaravata.application.catalog.data.model.PreJobCommand;
 import org.apache.aiaravata.application.catalog.data.resources.*;
 import org.apache.airavata.model.Workflow;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
@@ -564,12 +562,8 @@ 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.setIsRequired(input.getRequired());
+        inputDataObjectType.setRequiredToAddedToCommandLine(input.getRequiredToCMD());
         inputDataObjectType.setDataStaged(input.isDataStaged());
         return inputDataObjectType;
     }
@@ -586,12 +580,8 @@ 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()));
-        }
-        if (output.getCommandLineType() != null){
-            outputDataObjectType.setAddedToCommandLine(CommandLineType.valueOf(output.getCommandLineType()));
-        }
+        outputDataObjectType.setIsRequired(output.getRequired());
+        outputDataObjectType.setRequiredToAddedToCommandLine(output.getRequiredToCMD());
         outputDataObjectType.setDataMovement(output.isDataMovement());
         outputDataObjectType.setDataNameLocation(output.getDataNameLocation());
         return outputDataObjectType;
@@ -733,12 +723,8 @@ 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.setIsRequired(resource.getRequired());
+        input.setRequiredToAddedToCommandLine(resource.getRequiredToCMD());
         input.setDataStaged(resource.isDataStaged());
         return input;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/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 34fa021..0bba153 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
@@ -274,8 +274,8 @@ CREATE TABLE APPLICATION_INPUT
          APP_ARGUMENT VARCHAR(255),
          STANDARD_INPUT SMALLINT,
          INPUT_ORDER INTEGER,
-         VALIDITY_TYPE VARCHAR(255),
-         COMMANDLINE_TYPE VARCHAR(255),
+         IS_REQUIRED SMALLINT,
+         REQUIRED_TO_COMMANDLINE SMALLINT,
          DATA_STAGED SMALLINT,
          USER_FRIENDLY_DESC VARCHAR(255),
          PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
@@ -288,8 +288,8 @@ CREATE TABLE APPLICATION_OUTPUT
          OUTPUT_KEY VARCHAR(255),
          OUTPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
-         VALIDITY_TYPE VARCHAR(255),
-         COMMANDLINE_TYPE VARCHAR(255),
+         IS_REQUIRED SMALLINT,
+         REQUIRED_TO_COMMANDLINE SMALLINT,
          DATA_MOVEMENT SMALLINT,
          DATA_NAME_LOCATION VARCHAR(255),
          PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/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 7cea574..e2893d3 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
@@ -274,8 +274,8 @@ CREATE TABLE APPLICATION_INPUT
          STANDARD_INPUT SMALLINT,
          USER_FRIENDLY_DESC VARCHAR(255),
          INPUT_ORDER INTEGER,
-         VALIDITY_TYPE VARCHAR(255),
-         COMMANDLINE_TYPE VARCHAR(255),
+         IS_REQUIRED SMALLINT,
+         REQUIRED_TO_COMMANDLINE SMALLINT,
          DATA_STAGED SMALLINT,
          PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
          FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
@@ -287,8 +287,8 @@ CREATE TABLE APPLICATION_OUTPUT
          OUTPUT_KEY VARCHAR(255),
          OUTPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
-         VALIDITY_TYPE VARCHAR(255),
-         COMMANDLINE_TYPE VARCHAR(255),
+         IS_REQUIRED SMALLINT,
+         REQUIRED_TO_COMMANDLINE SMALLINT,
          DATA_MOVEMENT SMALLINT,
          DATA_NAME_LOCATION VARCHAR(255),
          PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/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 34fa021..0bba153 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
@@ -274,8 +274,8 @@ CREATE TABLE APPLICATION_INPUT
          APP_ARGUMENT VARCHAR(255),
          STANDARD_INPUT SMALLINT,
          INPUT_ORDER INTEGER,
-         VALIDITY_TYPE VARCHAR(255),
-         COMMANDLINE_TYPE VARCHAR(255),
+         IS_REQUIRED SMALLINT,
+         REQUIRED_TO_COMMANDLINE SMALLINT,
          DATA_STAGED SMALLINT,
          USER_FRIENDLY_DESC VARCHAR(255),
          PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
@@ -288,8 +288,8 @@ CREATE TABLE APPLICATION_OUTPUT
          OUTPUT_KEY VARCHAR(255),
          OUTPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
-         VALIDITY_TYPE VARCHAR(255),
-         COMMANDLINE_TYPE VARCHAR(255),
+         IS_REQUIRED SMALLINT,
+         REQUIRED_TO_COMMANDLINE SMALLINT,
          DATA_MOVEMENT SMALLINT,
          DATA_NAME_LOCATION VARCHAR(255),
          PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
index 006319c..7aea965 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
@@ -381,7 +381,7 @@ public class BetterGfacImpl implements GFac,Watcher {
         }
 
         for (OutputDataObjectType objectType : taskOutputs){
-            if (objectType.getAddedToCommandLine() != null && objectType.getAddedToCommandLine()== CommandLineType.EXPLICIT){
+            if (objectType.isRequiredToAddedToCommandLine()){
               objectType.setValue(jobExecutionContext.getOutputDir() + File.separator + objectType.getName());
             }
             if (objectType.getType() == DataType.STDOUT){

http://git-wip-us.apache.org/repos/asf/airavata/blob/f8b6adb7/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java
index 1bc0683..cdcc0ec 100644
--- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java
+++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java
@@ -40,7 +40,6 @@ import org.apache.airavata.gsi.ssh.impl.GSISSHAbstractCluster;
 import org.apache.airavata.gsi.ssh.impl.PBSCluster;
 import org.apache.airavata.gsi.ssh.util.CommonUtils;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
-import org.apache.airavata.model.appcatalog.appinterface.CommandLineType;
 import org.apache.airavata.model.appcatalog.appinterface.DataType;
 import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
 import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
@@ -215,8 +214,7 @@ public class GFACGSISSHUtils {
             }
         }
         for (InputDataObjectType inputDataObjectType : sortedInputSet) {
-            if (inputDataObjectType.getAddedToCommandLine() != null
-                    && inputDataObjectType.getAddedToCommandLine() == CommandLineType.IMPLICIT) {
+            if (!inputDataObjectType.isRequiredToAddedToCommandLine()) {
                 continue;
             }
             if (inputDataObjectType.getApplicationArgument() != null
@@ -242,8 +240,7 @@ public class GFACGSISSHUtils {
         for (Object outputParam : outputParams.values()) {
             if (outputParam instanceof OutputDataObjectType) {
                 OutputDataObjectType output = (OutputDataObjectType) outputParam;
-                if (output.getValue() != null && !output.getValue().equals("") && output.getAddedToCommandLine() != null
-                        && output.getAddedToCommandLine() == CommandLineType.EXPLICIT) {
+                if (output.getValue() != null && !output.getValue().equals("") && output.isRequiredToAddedToCommandLine()) {
                     inputValues.add(output.getValue());
                 }
             }