airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From scnakand...@apache.org
Subject [17/24] airavata git commit: adding thrift generated files
Date Tue, 12 Jan 2016 15:48:00 GMT
http://git-wip-us.apache.org/repos/asf/airavata/blob/a14d717f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/FileTransferStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/FileTransferStatus.java
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/FileTransferStatus.java
new file mode 100644
index 0000000..70449bb
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/FileTransferStatus.java
@@ -0,0 +1,71 @@
+/**
+ * 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.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.model.data.transfer;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum FileTransferStatus implements org.apache.thrift.TEnum {
+  CREATED(0),
+  QUEUED(1),
+  RUNNING(2),
+  COMPLETED(3),
+  FAILED(4);
+
+  private final int value;
+
+  private FileTransferStatus(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 FileTransferStatus findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return CREATED;
+      case 1:
+        return QUEUED;
+      case 2:
+        return RUNNING;
+      case 3:
+        return COMPLETED;
+      case 4:
+        return FAILED;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a14d717f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/LSEntryModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/LSEntryModel.java
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/LSEntryModel.java
new file mode 100644
index 0000000..930819a
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/LSEntryModel.java
@@ -0,0 +1,1147 @@
+/**
+ * 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.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.model.data.transfer;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
+public class LSEntryModel implements org.apache.thrift.TBase<LSEntryModel, LSEntryModel._Fields>,
java.io.Serializable, Cloneable, Comparable<LSEntryModel> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LSEntryModel");
+
+  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)1);
+  private static final org.apache.thrift.protocol.TField SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("size",
org.apache.thrift.protocol.TType.I64, (short)2);
+  private static final org.apache.thrift.protocol.TField NATIVE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("nativeType",
org.apache.thrift.protocol.TType.STRING, (short)3);
+  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)4);
+  private static final org.apache.thrift.protocol.TField PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("path",
org.apache.thrift.protocol.TType.STRING, (short)5);
+  private static final org.apache.thrift.protocol.TField STORAGE_HOST_NAME_FIELD_DESC = new
org.apache.thrift.protocol.TField("storageHostName", org.apache.thrift.protocol.TType.STRING,
(short)6);
+  private static final org.apache.thrift.protocol.TField LAST_MODIFIED_TYPE_FIELD_DESC =
new org.apache.thrift.protocol.TField("lastModifiedType", org.apache.thrift.protocol.TType.I64,
(short)7);
+  private static final org.apache.thrift.protocol.TField CREATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("createdTime",
org.apache.thrift.protocol.TType.I64, (short)8);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes =
new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new LSEntryModelStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new LSEntryModelTupleSchemeFactory());
+  }
+
+  private LSEntryType type; // optional
+  private long size; // optional
+  private String nativeType; // optional
+  private String name; // optional
+  private String path; // optional
+  private String storageHostName; // optional
+  private long lastModifiedType; // optional
+  private long createdTime; // optional
+
+  /** The set of fields this struct contains, along with convenience methods for finding
and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    /**
+     * 
+     * @see LSEntryType
+     */
+    TYPE((short)1, "type"),
+    SIZE((short)2, "size"),
+    NATIVE_TYPE((short)3, "nativeType"),
+    NAME((short)4, "name"),
+    PATH((short)5, "path"),
+    STORAGE_HOST_NAME((short)6, "storageHostName"),
+    LAST_MODIFIED_TYPE((short)7, "lastModifiedType"),
+    CREATED_TIME((short)8, "createdTime");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // TYPE
+          return TYPE;
+        case 2: // SIZE
+          return SIZE;
+        case 3: // NATIVE_TYPE
+          return NATIVE_TYPE;
+        case 4: // NAME
+          return NAME;
+        case 5: // PATH
+          return PATH;
+        case 6: // STORAGE_HOST_NAME
+          return STORAGE_HOST_NAME;
+        case 7: // LAST_MODIFIED_TYPE
+          return LAST_MODIFIED_TYPE;
+        case 8: // CREATED_TIME
+          return CREATED_TIME;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't
exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final int __SIZE_ISSET_ID = 0;
+  private static final int __LASTMODIFIEDTYPE_ISSET_ID = 1;
+  private static final int __CREATEDTIME_ISSET_ID = 2;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.TYPE,_Fields.SIZE,_Fields.NATIVE_TYPE,_Fields.NAME,_Fields.PATH,_Fields.STORAGE_HOST_NAME,_Fields.LAST_MODIFIED_TYPE,_Fields.CREATED_TIME};
+  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);
+    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,
LSEntryType.class)));
+    tmpMap.put(_Fields.SIZE, new org.apache.thrift.meta_data.FieldMetaData("size", org.apache.thrift.TFieldRequirementType.OPTIONAL,

+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.NATIVE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("nativeType",
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.OPTIONAL,

+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.PATH, new org.apache.thrift.meta_data.FieldMetaData("path", org.apache.thrift.TFieldRequirementType.OPTIONAL,

+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.STORAGE_HOST_NAME, new org.apache.thrift.meta_data.FieldMetaData("storageHostName",
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.LAST_MODIFIED_TYPE, new org.apache.thrift.meta_data.FieldMetaData("lastModifiedType",
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.CREATED_TIME, new org.apache.thrift.meta_data.FieldMetaData("createdTime",
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(LSEntryModel.class, metaDataMap);
+  }
+
+  public LSEntryModel() {
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public LSEntryModel(LSEntryModel other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetType()) {
+      this.type = other.type;
+    }
+    this.size = other.size;
+    if (other.isSetNativeType()) {
+      this.nativeType = other.nativeType;
+    }
+    if (other.isSetName()) {
+      this.name = other.name;
+    }
+    if (other.isSetPath()) {
+      this.path = other.path;
+    }
+    if (other.isSetStorageHostName()) {
+      this.storageHostName = other.storageHostName;
+    }
+    this.lastModifiedType = other.lastModifiedType;
+    this.createdTime = other.createdTime;
+  }
+
+  public LSEntryModel deepCopy() {
+    return new LSEntryModel(this);
+  }
+
+  @Override
+  public void clear() {
+    this.type = null;
+    setSizeIsSet(false);
+    this.size = 0;
+    this.nativeType = null;
+    this.name = null;
+    this.path = null;
+    this.storageHostName = null;
+    setLastModifiedTypeIsSet(false);
+    this.lastModifiedType = 0;
+    setCreatedTimeIsSet(false);
+    this.createdTime = 0;
+  }
+
+  /**
+   * 
+   * @see LSEntryType
+   */
+  public LSEntryType getType() {
+    return this.type;
+  }
+
+  /**
+   * 
+   * @see LSEntryType
+   */
+  public void setType(LSEntryType type) {
+    this.type = type;
+  }
+
+  public void unsetType() {
+    this.type = null;
+  }
+
+  /** Returns true if field type is set (has been assigned a value) and false otherwise */
+  public boolean isSetType() {
+    return this.type != null;
+  }
+
+  public void setTypeIsSet(boolean value) {
+    if (!value) {
+      this.type = null;
+    }
+  }
+
+  public long getSize() {
+    return this.size;
+  }
+
+  public void setSize(long size) {
+    this.size = size;
+    setSizeIsSet(true);
+  }
+
+  public void unsetSize() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SIZE_ISSET_ID);
+  }
+
+  /** Returns true if field size is set (has been assigned a value) and false otherwise */
+  public boolean isSetSize() {
+    return EncodingUtils.testBit(__isset_bitfield, __SIZE_ISSET_ID);
+  }
+
+  public void setSizeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SIZE_ISSET_ID, value);
+  }
+
+  public String getNativeType() {
+    return this.nativeType;
+  }
+
+  public void setNativeType(String nativeType) {
+    this.nativeType = nativeType;
+  }
+
+  public void unsetNativeType() {
+    this.nativeType = null;
+  }
+
+  /** Returns true if field nativeType is set (has been assigned a value) and false otherwise
*/
+  public boolean isSetNativeType() {
+    return this.nativeType != null;
+  }
+
+  public void setNativeTypeIsSet(boolean value) {
+    if (!value) {
+      this.nativeType = null;
+    }
+  }
+
+  public String getName() {
+    return this.name;
+  }
+
+  public void setName(String name) {
+    this.name = name;
+  }
+
+  public void unsetName() {
+    this.name = null;
+  }
+
+  /** Returns true if field name is set (has been assigned a value) and false otherwise */
+  public boolean isSetName() {
+    return this.name != null;
+  }
+
+  public void setNameIsSet(boolean value) {
+    if (!value) {
+      this.name = null;
+    }
+  }
+
+  public String getPath() {
+    return this.path;
+  }
+
+  public void setPath(String path) {
+    this.path = path;
+  }
+
+  public void unsetPath() {
+    this.path = null;
+  }
+
+  /** Returns true if field path is set (has been assigned a value) and false otherwise */
+  public boolean isSetPath() {
+    return this.path != null;
+  }
+
+  public void setPathIsSet(boolean value) {
+    if (!value) {
+      this.path = null;
+    }
+  }
+
+  public String getStorageHostName() {
+    return this.storageHostName;
+  }
+
+  public void setStorageHostName(String storageHostName) {
+    this.storageHostName = storageHostName;
+  }
+
+  public void unsetStorageHostName() {
+    this.storageHostName = null;
+  }
+
+  /** Returns true if field storageHostName is set (has been assigned a value) and false
otherwise */
+  public boolean isSetStorageHostName() {
+    return this.storageHostName != null;
+  }
+
+  public void setStorageHostNameIsSet(boolean value) {
+    if (!value) {
+      this.storageHostName = null;
+    }
+  }
+
+  public long getLastModifiedType() {
+    return this.lastModifiedType;
+  }
+
+  public void setLastModifiedType(long lastModifiedType) {
+    this.lastModifiedType = lastModifiedType;
+    setLastModifiedTypeIsSet(true);
+  }
+
+  public void unsetLastModifiedType() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LASTMODIFIEDTYPE_ISSET_ID);
+  }
+
+  /** Returns true if field lastModifiedType is set (has been assigned a value) and false
otherwise */
+  public boolean isSetLastModifiedType() {
+    return EncodingUtils.testBit(__isset_bitfield, __LASTMODIFIEDTYPE_ISSET_ID);
+  }
+
+  public void setLastModifiedTypeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LASTMODIFIEDTYPE_ISSET_ID,
value);
+  }
+
+  public long getCreatedTime() {
+    return this.createdTime;
+  }
+
+  public void setCreatedTime(long createdTime) {
+    this.createdTime = createdTime;
+    setCreatedTimeIsSet(true);
+  }
+
+  public void unsetCreatedTime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CREATEDTIME_ISSET_ID);
+  }
+
+  /** Returns true if field createdTime is set (has been assigned a value) and false otherwise
*/
+  public boolean isSetCreatedTime() {
+    return EncodingUtils.testBit(__isset_bitfield, __CREATEDTIME_ISSET_ID);
+  }
+
+  public void setCreatedTimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CREATEDTIME_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case TYPE:
+      if (value == null) {
+        unsetType();
+      } else {
+        setType((LSEntryType)value);
+      }
+      break;
+
+    case SIZE:
+      if (value == null) {
+        unsetSize();
+      } else {
+        setSize((Long)value);
+      }
+      break;
+
+    case NATIVE_TYPE:
+      if (value == null) {
+        unsetNativeType();
+      } else {
+        setNativeType((String)value);
+      }
+      break;
+
+    case NAME:
+      if (value == null) {
+        unsetName();
+      } else {
+        setName((String)value);
+      }
+      break;
+
+    case PATH:
+      if (value == null) {
+        unsetPath();
+      } else {
+        setPath((String)value);
+      }
+      break;
+
+    case STORAGE_HOST_NAME:
+      if (value == null) {
+        unsetStorageHostName();
+      } else {
+        setStorageHostName((String)value);
+      }
+      break;
+
+    case LAST_MODIFIED_TYPE:
+      if (value == null) {
+        unsetLastModifiedType();
+      } else {
+        setLastModifiedType((Long)value);
+      }
+      break;
+
+    case CREATED_TIME:
+      if (value == null) {
+        unsetCreatedTime();
+      } else {
+        setCreatedTime((Long)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case TYPE:
+      return getType();
+
+    case SIZE:
+      return getSize();
+
+    case NATIVE_TYPE:
+      return getNativeType();
+
+    case NAME:
+      return getName();
+
+    case PATH:
+      return getPath();
+
+    case STORAGE_HOST_NAME:
+      return getStorageHostName();
+
+    case LAST_MODIFIED_TYPE:
+      return getLastModifiedType();
+
+    case CREATED_TIME:
+      return getCreatedTime();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and
false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case TYPE:
+      return isSetType();
+    case SIZE:
+      return isSetSize();
+    case NATIVE_TYPE:
+      return isSetNativeType();
+    case NAME:
+      return isSetName();
+    case PATH:
+      return isSetPath();
+    case STORAGE_HOST_NAME:
+      return isSetStorageHostName();
+    case LAST_MODIFIED_TYPE:
+      return isSetLastModifiedType();
+    case CREATED_TIME:
+      return isSetCreatedTime();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof LSEntryModel)
+      return this.equals((LSEntryModel)that);
+    return false;
+  }
+
+  public boolean equals(LSEntryModel that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_type = true && this.isSetType();
+    boolean that_present_type = true && that.isSetType();
+    if (this_present_type || that_present_type) {
+      if (!(this_present_type && that_present_type))
+        return false;
+      if (!this.type.equals(that.type))
+        return false;
+    }
+
+    boolean this_present_size = true && this.isSetSize();
+    boolean that_present_size = true && that.isSetSize();
+    if (this_present_size || that_present_size) {
+      if (!(this_present_size && that_present_size))
+        return false;
+      if (this.size != that.size)
+        return false;
+    }
+
+    boolean this_present_nativeType = true && this.isSetNativeType();
+    boolean that_present_nativeType = true && that.isSetNativeType();
+    if (this_present_nativeType || that_present_nativeType) {
+      if (!(this_present_nativeType && that_present_nativeType))
+        return false;
+      if (!this.nativeType.equals(that.nativeType))
+        return false;
+    }
+
+    boolean this_present_name = true && this.isSetName();
+    boolean that_present_name = true && that.isSetName();
+    if (this_present_name || that_present_name) {
+      if (!(this_present_name && that_present_name))
+        return false;
+      if (!this.name.equals(that.name))
+        return false;
+    }
+
+    boolean this_present_path = true && this.isSetPath();
+    boolean that_present_path = true && that.isSetPath();
+    if (this_present_path || that_present_path) {
+      if (!(this_present_path && that_present_path))
+        return false;
+      if (!this.path.equals(that.path))
+        return false;
+    }
+
+    boolean this_present_storageHostName = true && this.isSetStorageHostName();
+    boolean that_present_storageHostName = true && that.isSetStorageHostName();
+    if (this_present_storageHostName || that_present_storageHostName) {
+      if (!(this_present_storageHostName && that_present_storageHostName))
+        return false;
+      if (!this.storageHostName.equals(that.storageHostName))
+        return false;
+    }
+
+    boolean this_present_lastModifiedType = true && this.isSetLastModifiedType();
+    boolean that_present_lastModifiedType = true && that.isSetLastModifiedType();
+    if (this_present_lastModifiedType || that_present_lastModifiedType) {
+      if (!(this_present_lastModifiedType && that_present_lastModifiedType))
+        return false;
+      if (this.lastModifiedType != that.lastModifiedType)
+        return false;
+    }
+
+    boolean this_present_createdTime = true && this.isSetCreatedTime();
+    boolean that_present_createdTime = true && that.isSetCreatedTime();
+    if (this_present_createdTime || that_present_createdTime) {
+      if (!(this_present_createdTime && that_present_createdTime))
+        return false;
+      if (this.createdTime != that.createdTime)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_type = true && (isSetType());
+    list.add(present_type);
+    if (present_type)
+      list.add(type.getValue());
+
+    boolean present_size = true && (isSetSize());
+    list.add(present_size);
+    if (present_size)
+      list.add(size);
+
+    boolean present_nativeType = true && (isSetNativeType());
+    list.add(present_nativeType);
+    if (present_nativeType)
+      list.add(nativeType);
+
+    boolean present_name = true && (isSetName());
+    list.add(present_name);
+    if (present_name)
+      list.add(name);
+
+    boolean present_path = true && (isSetPath());
+    list.add(present_path);
+    if (present_path)
+      list.add(path);
+
+    boolean present_storageHostName = true && (isSetStorageHostName());
+    list.add(present_storageHostName);
+    if (present_storageHostName)
+      list.add(storageHostName);
+
+    boolean present_lastModifiedType = true && (isSetLastModifiedType());
+    list.add(present_lastModifiedType);
+    if (present_lastModifiedType)
+      list.add(lastModifiedType);
+
+    boolean present_createdTime = true && (isSetCreatedTime());
+    list.add(present_createdTime);
+    if (present_createdTime)
+      list.add(createdTime);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(LSEntryModel other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type, other.type);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetSize()).compareTo(other.isSetSize());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSize()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.size, other.size);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetNativeType()).compareTo(other.isSetNativeType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetNativeType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nativeType, other.nativeType);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetPath()).compareTo(other.isSetPath());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetPath()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.path, other.path);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetStorageHostName()).compareTo(other.isSetStorageHostName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetStorageHostName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageHostName, other.storageHostName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetLastModifiedType()).compareTo(other.isSetLastModifiedType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetLastModifiedType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lastModifiedType, other.lastModifiedType);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCreatedTime()).compareTo(other.isSetCreatedTime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCreatedTime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.createdTime, other.createdTime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException
{
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException
{
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("LSEntryModel(");
+    boolean first = true;
+
+    if (isSetType()) {
+      sb.append("type:");
+      if (this.type == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.type);
+      }
+      first = false;
+    }
+    if (isSetSize()) {
+      if (!first) sb.append(", ");
+      sb.append("size:");
+      sb.append(this.size);
+      first = false;
+    }
+    if (isSetNativeType()) {
+      if (!first) sb.append(", ");
+      sb.append("nativeType:");
+      if (this.nativeType == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.nativeType);
+      }
+      first = false;
+    }
+    if (isSetName()) {
+      if (!first) sb.append(", ");
+      sb.append("name:");
+      if (this.name == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.name);
+      }
+      first = false;
+    }
+    if (isSetPath()) {
+      if (!first) sb.append(", ");
+      sb.append("path:");
+      if (this.path == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.path);
+      }
+      first = false;
+    }
+    if (isSetStorageHostName()) {
+      if (!first) sb.append(", ");
+      sb.append("storageHostName:");
+      if (this.storageHostName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.storageHostName);
+      }
+      first = false;
+    }
+    if (isSetLastModifiedType()) {
+      if (!first) sb.append(", ");
+      sb.append("lastModifiedType:");
+      sb.append(this.lastModifiedType);
+      first = false;
+    }
+    if (isSetCreatedTime()) {
+      if (!first) sb.append(", ");
+      sb.append("createdTime:");
+      sb.append(this.createdTime);
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException
{
+    try {
+      // it doesn't seem like you should have to do this, but java serialization is wacky,
and doesn't call the default constructor.
+      __isset_bitfield = 0;
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class LSEntryModelStandardSchemeFactory implements SchemeFactory {
+    public LSEntryModelStandardScheme getScheme() {
+      return new LSEntryModelStandardScheme();
+    }
+  }
+
+  private static class LSEntryModelStandardScheme extends StandardScheme<LSEntryModel>
{
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, LSEntryModel struct) throws
org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.type = org.apache.airavata.model.data.transfer.LSEntryType.findByValue(iprot.readI32());
+              struct.setTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // SIZE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.size = iprot.readI64();
+              struct.setSizeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // NATIVE_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.nativeType = iprot.readString();
+              struct.setNativeTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.name = iprot.readString();
+              struct.setNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // PATH
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.path = iprot.readString();
+              struct.setPathIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // STORAGE_HOST_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.storageHostName = iprot.readString();
+              struct.setStorageHostNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // LAST_MODIFIED_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.lastModifiedType = iprot.readI64();
+              struct.setLastModifiedTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // CREATED_TIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.createdTime = iprot.readI64();
+              struct.setCreatedTimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, LSEntryModel struct) throws
org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.type != null) {
+        if (struct.isSetType()) {
+          oprot.writeFieldBegin(TYPE_FIELD_DESC);
+          oprot.writeI32(struct.type.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetSize()) {
+        oprot.writeFieldBegin(SIZE_FIELD_DESC);
+        oprot.writeI64(struct.size);
+        oprot.writeFieldEnd();
+      }
+      if (struct.nativeType != null) {
+        if (struct.isSetNativeType()) {
+          oprot.writeFieldBegin(NATIVE_TYPE_FIELD_DESC);
+          oprot.writeString(struct.nativeType);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.name != null) {
+        if (struct.isSetName()) {
+          oprot.writeFieldBegin(NAME_FIELD_DESC);
+          oprot.writeString(struct.name);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.path != null) {
+        if (struct.isSetPath()) {
+          oprot.writeFieldBegin(PATH_FIELD_DESC);
+          oprot.writeString(struct.path);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.storageHostName != null) {
+        if (struct.isSetStorageHostName()) {
+          oprot.writeFieldBegin(STORAGE_HOST_NAME_FIELD_DESC);
+          oprot.writeString(struct.storageHostName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetLastModifiedType()) {
+        oprot.writeFieldBegin(LAST_MODIFIED_TYPE_FIELD_DESC);
+        oprot.writeI64(struct.lastModifiedType);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetCreatedTime()) {
+        oprot.writeFieldBegin(CREATED_TIME_FIELD_DESC);
+        oprot.writeI64(struct.createdTime);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class LSEntryModelTupleSchemeFactory implements SchemeFactory {
+    public LSEntryModelTupleScheme getScheme() {
+      return new LSEntryModelTupleScheme();
+    }
+  }
+
+  private static class LSEntryModelTupleScheme extends TupleScheme<LSEntryModel> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, LSEntryModel struct) throws
org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetType()) {
+        optionals.set(0);
+      }
+      if (struct.isSetSize()) {
+        optionals.set(1);
+      }
+      if (struct.isSetNativeType()) {
+        optionals.set(2);
+      }
+      if (struct.isSetName()) {
+        optionals.set(3);
+      }
+      if (struct.isSetPath()) {
+        optionals.set(4);
+      }
+      if (struct.isSetStorageHostName()) {
+        optionals.set(5);
+      }
+      if (struct.isSetLastModifiedType()) {
+        optionals.set(6);
+      }
+      if (struct.isSetCreatedTime()) {
+        optionals.set(7);
+      }
+      oprot.writeBitSet(optionals, 8);
+      if (struct.isSetType()) {
+        oprot.writeI32(struct.type.getValue());
+      }
+      if (struct.isSetSize()) {
+        oprot.writeI64(struct.size);
+      }
+      if (struct.isSetNativeType()) {
+        oprot.writeString(struct.nativeType);
+      }
+      if (struct.isSetName()) {
+        oprot.writeString(struct.name);
+      }
+      if (struct.isSetPath()) {
+        oprot.writeString(struct.path);
+      }
+      if (struct.isSetStorageHostName()) {
+        oprot.writeString(struct.storageHostName);
+      }
+      if (struct.isSetLastModifiedType()) {
+        oprot.writeI64(struct.lastModifiedType);
+      }
+      if (struct.isSetCreatedTime()) {
+        oprot.writeI64(struct.createdTime);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, LSEntryModel struct) throws
org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(8);
+      if (incoming.get(0)) {
+        struct.type = org.apache.airavata.model.data.transfer.LSEntryType.findByValue(iprot.readI32());
+        struct.setTypeIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.size = iprot.readI64();
+        struct.setSizeIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.nativeType = iprot.readString();
+        struct.setNativeTypeIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.name = iprot.readString();
+        struct.setNameIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.path = iprot.readString();
+        struct.setPathIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.storageHostName = iprot.readString();
+        struct.setStorageHostNameIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.lastModifiedType = iprot.readI64();
+        struct.setLastModifiedTypeIsSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.createdTime = iprot.readI64();
+        struct.setCreatedTimeIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/a14d717f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/LSEntryType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/LSEntryType.java
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/LSEntryType.java
new file mode 100644
index 0000000..b905e0d
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/LSEntryType.java
@@ -0,0 +1,62 @@
+/**
+ * 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.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.model.data.transfer;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum LSEntryType implements org.apache.thrift.TEnum {
+  DIRECTORY(0),
+  FILE(1);
+
+  private final int value;
+
+  private LSEntryType(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 LSEntryType findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return DIRECTORY;
+      case 1:
+        return FILE;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a14d717f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/StorageResourceProtocol.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/StorageResourceProtocol.java
b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/StorageResourceProtocol.java
new file mode 100644
index 0000000..06281e6
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/transfer/StorageResourceProtocol.java
@@ -0,0 +1,74 @@
+/**
+ * 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.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.model.data.transfer;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum StorageResourceProtocol implements org.apache.thrift.TEnum {
+  SCP(0),
+  SFTP(1),
+  HTTP(2),
+  HTTPS(3),
+  GridFTP(4),
+  LOCAL(5);
+
+  private final int value;
+
+  private StorageResourceProtocol(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 StorageResourceProtocol findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return SCP;
+      case 1:
+        return SFTP;
+      case 2:
+        return HTTP;
+      case 3:
+        return HTTPS;
+      case 4:
+        return GridFTP;
+      case 5:
+        return LOCAL;
+      default:
+        return null;
+    }
+  }
+}


Mime
View raw message