You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2016/01/12 16:58:34 UTC

[20/65] [abbrv] airavata git commit: adding thrift generated files

http://git-wip-us.apache.org/repos/asf/airavata/blob/a14d717f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileModel.java
new file mode 100644
index 0000000..4a4fc0f
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileModel.java
@@ -0,0 +1,1879 @@
+/**
+ * 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.replica;
+
+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 FileModel implements org.apache.thrift.TBase<FileModel, FileModel._Fields>, java.io.Serializable, Cloneable, Comparable<FileModel> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("FileModel");
+
+  private static final org.apache.thrift.protocol.TField FILE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("fileId", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField USERNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("username", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField SHARED_USERS_FIELD_DESC = new org.apache.thrift.protocol.TField("sharedUsers", org.apache.thrift.protocol.TType.LIST, (short)4);
+  private static final org.apache.thrift.protocol.TField SHARED_PUBLIC_FIELD_DESC = new org.apache.thrift.protocol.TField("sharedPublic", org.apache.thrift.protocol.TType.BOOL, (short)5);
+  private static final org.apache.thrift.protocol.TField FILE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("fileName", org.apache.thrift.protocol.TType.STRING, (short)6);
+  private static final org.apache.thrift.protocol.TField FILE_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("fileDescription", org.apache.thrift.protocol.TType.STRING, (short)7);
+  private static final org.apache.thrift.protocol.TField SHA256_CHECKSUM_FIELD_DESC = new org.apache.thrift.protocol.TField("sha256Checksum", org.apache.thrift.protocol.TType.STRING, (short)8);
+  private static final org.apache.thrift.protocol.TField FILE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("fileType", org.apache.thrift.protocol.TType.I32, (short)9);
+  private static final org.apache.thrift.protocol.TField FILE_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("fileSize", org.apache.thrift.protocol.TType.I32, (short)10);
+  private static final org.apache.thrift.protocol.TField DATA_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("dataType", org.apache.thrift.protocol.TType.STRING, (short)11);
+  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)12);
+  private static final org.apache.thrift.protocol.TField LAST_MODIFIED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("lastModifiedTime", org.apache.thrift.protocol.TType.I64, (short)13);
+  private static final org.apache.thrift.protocol.TField FILE_REPLICAS_FIELD_DESC = new org.apache.thrift.protocol.TField("fileReplicas", org.apache.thrift.protocol.TType.LIST, (short)14);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new FileModelStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new FileModelTupleSchemeFactory());
+  }
+
+  private String fileId; // optional
+  private String gatewayId; // optional
+  private String username; // optional
+  private List<String> sharedUsers; // optional
+  private boolean sharedPublic; // optional
+  private String fileName; // optional
+  private String fileDescription; // optional
+  private String sha256Checksum; // optional
+  private FileModelType fileType; // optional
+  private int fileSize; // optional
+  private String dataType; // optional
+  private long creationTime; // optional
+  private long lastModifiedTime; // optional
+  private List<FileReplicaModel> fileReplicas; // 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 {
+    FILE_ID((short)1, "fileId"),
+    GATEWAY_ID((short)2, "gatewayId"),
+    USERNAME((short)3, "username"),
+    SHARED_USERS((short)4, "sharedUsers"),
+    SHARED_PUBLIC((short)5, "sharedPublic"),
+    FILE_NAME((short)6, "fileName"),
+    FILE_DESCRIPTION((short)7, "fileDescription"),
+    SHA256_CHECKSUM((short)8, "sha256Checksum"),
+    /**
+     * 
+     * @see FileModelType
+     */
+    FILE_TYPE((short)9, "fileType"),
+    FILE_SIZE((short)10, "fileSize"),
+    DATA_TYPE((short)11, "dataType"),
+    CREATION_TIME((short)12, "creationTime"),
+    LAST_MODIFIED_TIME((short)13, "lastModifiedTime"),
+    FILE_REPLICAS((short)14, "fileReplicas");
+
+    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: // FILE_ID
+          return FILE_ID;
+        case 2: // GATEWAY_ID
+          return GATEWAY_ID;
+        case 3: // USERNAME
+          return USERNAME;
+        case 4: // SHARED_USERS
+          return SHARED_USERS;
+        case 5: // SHARED_PUBLIC
+          return SHARED_PUBLIC;
+        case 6: // FILE_NAME
+          return FILE_NAME;
+        case 7: // FILE_DESCRIPTION
+          return FILE_DESCRIPTION;
+        case 8: // SHA256_CHECKSUM
+          return SHA256_CHECKSUM;
+        case 9: // FILE_TYPE
+          return FILE_TYPE;
+        case 10: // FILE_SIZE
+          return FILE_SIZE;
+        case 11: // DATA_TYPE
+          return DATA_TYPE;
+        case 12: // CREATION_TIME
+          return CREATION_TIME;
+        case 13: // LAST_MODIFIED_TIME
+          return LAST_MODIFIED_TIME;
+        case 14: // FILE_REPLICAS
+          return FILE_REPLICAS;
+        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 __SHAREDPUBLIC_ISSET_ID = 0;
+  private static final int __FILESIZE_ISSET_ID = 1;
+  private static final int __CREATIONTIME_ISSET_ID = 2;
+  private static final int __LASTMODIFIEDTIME_ISSET_ID = 3;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.FILE_ID,_Fields.GATEWAY_ID,_Fields.USERNAME,_Fields.SHARED_USERS,_Fields.SHARED_PUBLIC,_Fields.FILE_NAME,_Fields.FILE_DESCRIPTION,_Fields.SHA256_CHECKSUM,_Fields.FILE_TYPE,_Fields.FILE_SIZE,_Fields.DATA_TYPE,_Fields.CREATION_TIME,_Fields.LAST_MODIFIED_TIME,_Fields.FILE_REPLICAS};
+  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.FILE_ID, new org.apache.thrift.meta_data.FieldMetaData("fileId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.USERNAME, new org.apache.thrift.meta_data.FieldMetaData("username", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.SHARED_USERS, new org.apache.thrift.meta_data.FieldMetaData("sharedUsers", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    tmpMap.put(_Fields.SHARED_PUBLIC, new org.apache.thrift.meta_data.FieldMetaData("sharedPublic", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.FILE_NAME, new org.apache.thrift.meta_data.FieldMetaData("fileName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.FILE_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("fileDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.SHA256_CHECKSUM, new org.apache.thrift.meta_data.FieldMetaData("sha256Checksum", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.FILE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("fileType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, FileModelType.class)));
+    tmpMap.put(_Fields.FILE_SIZE, new org.apache.thrift.meta_data.FieldMetaData("fileSize", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.DATA_TYPE, new org.apache.thrift.meta_data.FieldMetaData("dataType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.CREATION_TIME, new org.apache.thrift.meta_data.FieldMetaData("creationTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.LAST_MODIFIED_TIME, new org.apache.thrift.meta_data.FieldMetaData("lastModifiedTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.FILE_REPLICAS, new org.apache.thrift.meta_data.FieldMetaData("fileReplicas", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT            , "FileReplicaModel"))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(FileModel.class, metaDataMap);
+  }
+
+  public FileModel() {
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public FileModel(FileModel other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetFileId()) {
+      this.fileId = other.fileId;
+    }
+    if (other.isSetGatewayId()) {
+      this.gatewayId = other.gatewayId;
+    }
+    if (other.isSetUsername()) {
+      this.username = other.username;
+    }
+    if (other.isSetSharedUsers()) {
+      List<String> __this__sharedUsers = new ArrayList<String>(other.sharedUsers);
+      this.sharedUsers = __this__sharedUsers;
+    }
+    this.sharedPublic = other.sharedPublic;
+    if (other.isSetFileName()) {
+      this.fileName = other.fileName;
+    }
+    if (other.isSetFileDescription()) {
+      this.fileDescription = other.fileDescription;
+    }
+    if (other.isSetSha256Checksum()) {
+      this.sha256Checksum = other.sha256Checksum;
+    }
+    if (other.isSetFileType()) {
+      this.fileType = other.fileType;
+    }
+    this.fileSize = other.fileSize;
+    if (other.isSetDataType()) {
+      this.dataType = other.dataType;
+    }
+    this.creationTime = other.creationTime;
+    this.lastModifiedTime = other.lastModifiedTime;
+    if (other.isSetFileReplicas()) {
+      List<FileReplicaModel> __this__fileReplicas = new ArrayList<FileReplicaModel>(other.fileReplicas.size());
+      for (FileReplicaModel other_element : other.fileReplicas) {
+        __this__fileReplicas.add(other_element);
+      }
+      this.fileReplicas = __this__fileReplicas;
+    }
+  }
+
+  public FileModel deepCopy() {
+    return new FileModel(this);
+  }
+
+  @Override
+  public void clear() {
+    this.fileId = null;
+    this.gatewayId = null;
+    this.username = null;
+    this.sharedUsers = null;
+    setSharedPublicIsSet(false);
+    this.sharedPublic = false;
+    this.fileName = null;
+    this.fileDescription = null;
+    this.sha256Checksum = null;
+    this.fileType = null;
+    setFileSizeIsSet(false);
+    this.fileSize = 0;
+    this.dataType = null;
+    setCreationTimeIsSet(false);
+    this.creationTime = 0;
+    setLastModifiedTimeIsSet(false);
+    this.lastModifiedTime = 0;
+    this.fileReplicas = null;
+  }
+
+  public String getFileId() {
+    return this.fileId;
+  }
+
+  public void setFileId(String fileId) {
+    this.fileId = fileId;
+  }
+
+  public void unsetFileId() {
+    this.fileId = null;
+  }
+
+  /** Returns true if field fileId is set (has been assigned a value) and false otherwise */
+  public boolean isSetFileId() {
+    return this.fileId != null;
+  }
+
+  public void setFileIdIsSet(boolean value) {
+    if (!value) {
+      this.fileId = null;
+    }
+  }
+
+  public String getGatewayId() {
+    return this.gatewayId;
+  }
+
+  public void setGatewayId(String gatewayId) {
+    this.gatewayId = gatewayId;
+  }
+
+  public void unsetGatewayId() {
+    this.gatewayId = null;
+  }
+
+  /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+  public boolean isSetGatewayId() {
+    return this.gatewayId != null;
+  }
+
+  public void setGatewayIdIsSet(boolean value) {
+    if (!value) {
+      this.gatewayId = null;
+    }
+  }
+
+  public String getUsername() {
+    return this.username;
+  }
+
+  public void setUsername(String username) {
+    this.username = username;
+  }
+
+  public void unsetUsername() {
+    this.username = null;
+  }
+
+  /** Returns true if field username is set (has been assigned a value) and false otherwise */
+  public boolean isSetUsername() {
+    return this.username != null;
+  }
+
+  public void setUsernameIsSet(boolean value) {
+    if (!value) {
+      this.username = null;
+    }
+  }
+
+  public int getSharedUsersSize() {
+    return (this.sharedUsers == null) ? 0 : this.sharedUsers.size();
+  }
+
+  public java.util.Iterator<String> getSharedUsersIterator() {
+    return (this.sharedUsers == null) ? null : this.sharedUsers.iterator();
+  }
+
+  public void addToSharedUsers(String elem) {
+    if (this.sharedUsers == null) {
+      this.sharedUsers = new ArrayList<String>();
+    }
+    this.sharedUsers.add(elem);
+  }
+
+  public List<String> getSharedUsers() {
+    return this.sharedUsers;
+  }
+
+  public void setSharedUsers(List<String> sharedUsers) {
+    this.sharedUsers = sharedUsers;
+  }
+
+  public void unsetSharedUsers() {
+    this.sharedUsers = null;
+  }
+
+  /** Returns true if field sharedUsers is set (has been assigned a value) and false otherwise */
+  public boolean isSetSharedUsers() {
+    return this.sharedUsers != null;
+  }
+
+  public void setSharedUsersIsSet(boolean value) {
+    if (!value) {
+      this.sharedUsers = null;
+    }
+  }
+
+  public boolean isSharedPublic() {
+    return this.sharedPublic;
+  }
+
+  public void setSharedPublic(boolean sharedPublic) {
+    this.sharedPublic = sharedPublic;
+    setSharedPublicIsSet(true);
+  }
+
+  public void unsetSharedPublic() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SHAREDPUBLIC_ISSET_ID);
+  }
+
+  /** Returns true if field sharedPublic is set (has been assigned a value) and false otherwise */
+  public boolean isSetSharedPublic() {
+    return EncodingUtils.testBit(__isset_bitfield, __SHAREDPUBLIC_ISSET_ID);
+  }
+
+  public void setSharedPublicIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SHAREDPUBLIC_ISSET_ID, value);
+  }
+
+  public String getFileName() {
+    return this.fileName;
+  }
+
+  public void setFileName(String fileName) {
+    this.fileName = fileName;
+  }
+
+  public void unsetFileName() {
+    this.fileName = null;
+  }
+
+  /** Returns true if field fileName is set (has been assigned a value) and false otherwise */
+  public boolean isSetFileName() {
+    return this.fileName != null;
+  }
+
+  public void setFileNameIsSet(boolean value) {
+    if (!value) {
+      this.fileName = null;
+    }
+  }
+
+  public String getFileDescription() {
+    return this.fileDescription;
+  }
+
+  public void setFileDescription(String fileDescription) {
+    this.fileDescription = fileDescription;
+  }
+
+  public void unsetFileDescription() {
+    this.fileDescription = null;
+  }
+
+  /** Returns true if field fileDescription is set (has been assigned a value) and false otherwise */
+  public boolean isSetFileDescription() {
+    return this.fileDescription != null;
+  }
+
+  public void setFileDescriptionIsSet(boolean value) {
+    if (!value) {
+      this.fileDescription = null;
+    }
+  }
+
+  public String getSha256Checksum() {
+    return this.sha256Checksum;
+  }
+
+  public void setSha256Checksum(String sha256Checksum) {
+    this.sha256Checksum = sha256Checksum;
+  }
+
+  public void unsetSha256Checksum() {
+    this.sha256Checksum = null;
+  }
+
+  /** Returns true if field sha256Checksum is set (has been assigned a value) and false otherwise */
+  public boolean isSetSha256Checksum() {
+    return this.sha256Checksum != null;
+  }
+
+  public void setSha256ChecksumIsSet(boolean value) {
+    if (!value) {
+      this.sha256Checksum = null;
+    }
+  }
+
+  /**
+   * 
+   * @see FileModelType
+   */
+  public FileModelType getFileType() {
+    return this.fileType;
+  }
+
+  /**
+   * 
+   * @see FileModelType
+   */
+  public void setFileType(FileModelType fileType) {
+    this.fileType = fileType;
+  }
+
+  public void unsetFileType() {
+    this.fileType = null;
+  }
+
+  /** Returns true if field fileType is set (has been assigned a value) and false otherwise */
+  public boolean isSetFileType() {
+    return this.fileType != null;
+  }
+
+  public void setFileTypeIsSet(boolean value) {
+    if (!value) {
+      this.fileType = null;
+    }
+  }
+
+  public int getFileSize() {
+    return this.fileSize;
+  }
+
+  public void setFileSize(int fileSize) {
+    this.fileSize = fileSize;
+    setFileSizeIsSet(true);
+  }
+
+  public void unsetFileSize() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __FILESIZE_ISSET_ID);
+  }
+
+  /** Returns true if field fileSize is set (has been assigned a value) and false otherwise */
+  public boolean isSetFileSize() {
+    return EncodingUtils.testBit(__isset_bitfield, __FILESIZE_ISSET_ID);
+  }
+
+  public void setFileSizeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __FILESIZE_ISSET_ID, value);
+  }
+
+  public String getDataType() {
+    return this.dataType;
+  }
+
+  public void setDataType(String dataType) {
+    this.dataType = dataType;
+  }
+
+  public void unsetDataType() {
+    this.dataType = null;
+  }
+
+  /** Returns true if field dataType is set (has been assigned a value) and false otherwise */
+  public boolean isSetDataType() {
+    return this.dataType != null;
+  }
+
+  public void setDataTypeIsSet(boolean value) {
+    if (!value) {
+      this.dataType = null;
+    }
+  }
+
+  public long getCreationTime() {
+    return this.creationTime;
+  }
+
+  public void setCreationTime(long creationTime) {
+    this.creationTime = creationTime;
+    setCreationTimeIsSet(true);
+  }
+
+  public void unsetCreationTime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CREATIONTIME_ISSET_ID);
+  }
+
+  /** Returns true if field creationTime is set (has been assigned a value) and false otherwise */
+  public boolean isSetCreationTime() {
+    return EncodingUtils.testBit(__isset_bitfield, __CREATIONTIME_ISSET_ID);
+  }
+
+  public void setCreationTimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CREATIONTIME_ISSET_ID, value);
+  }
+
+  public long getLastModifiedTime() {
+    return this.lastModifiedTime;
+  }
+
+  public void setLastModifiedTime(long lastModifiedTime) {
+    this.lastModifiedTime = lastModifiedTime;
+    setLastModifiedTimeIsSet(true);
+  }
+
+  public void unsetLastModifiedTime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID);
+  }
+
+  /** Returns true if field lastModifiedTime is set (has been assigned a value) and false otherwise */
+  public boolean isSetLastModifiedTime() {
+    return EncodingUtils.testBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID);
+  }
+
+  public void setLastModifiedTimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID, value);
+  }
+
+  public int getFileReplicasSize() {
+    return (this.fileReplicas == null) ? 0 : this.fileReplicas.size();
+  }
+
+  public java.util.Iterator<FileReplicaModel> getFileReplicasIterator() {
+    return (this.fileReplicas == null) ? null : this.fileReplicas.iterator();
+  }
+
+  public void addToFileReplicas(FileReplicaModel elem) {
+    if (this.fileReplicas == null) {
+      this.fileReplicas = new ArrayList<FileReplicaModel>();
+    }
+    this.fileReplicas.add(elem);
+  }
+
+  public List<FileReplicaModel> getFileReplicas() {
+    return this.fileReplicas;
+  }
+
+  public void setFileReplicas(List<FileReplicaModel> fileReplicas) {
+    this.fileReplicas = fileReplicas;
+  }
+
+  public void unsetFileReplicas() {
+    this.fileReplicas = null;
+  }
+
+  /** Returns true if field fileReplicas is set (has been assigned a value) and false otherwise */
+  public boolean isSetFileReplicas() {
+    return this.fileReplicas != null;
+  }
+
+  public void setFileReplicasIsSet(boolean value) {
+    if (!value) {
+      this.fileReplicas = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case FILE_ID:
+      if (value == null) {
+        unsetFileId();
+      } else {
+        setFileId((String)value);
+      }
+      break;
+
+    case GATEWAY_ID:
+      if (value == null) {
+        unsetGatewayId();
+      } else {
+        setGatewayId((String)value);
+      }
+      break;
+
+    case USERNAME:
+      if (value == null) {
+        unsetUsername();
+      } else {
+        setUsername((String)value);
+      }
+      break;
+
+    case SHARED_USERS:
+      if (value == null) {
+        unsetSharedUsers();
+      } else {
+        setSharedUsers((List<String>)value);
+      }
+      break;
+
+    case SHARED_PUBLIC:
+      if (value == null) {
+        unsetSharedPublic();
+      } else {
+        setSharedPublic((Boolean)value);
+      }
+      break;
+
+    case FILE_NAME:
+      if (value == null) {
+        unsetFileName();
+      } else {
+        setFileName((String)value);
+      }
+      break;
+
+    case FILE_DESCRIPTION:
+      if (value == null) {
+        unsetFileDescription();
+      } else {
+        setFileDescription((String)value);
+      }
+      break;
+
+    case SHA256_CHECKSUM:
+      if (value == null) {
+        unsetSha256Checksum();
+      } else {
+        setSha256Checksum((String)value);
+      }
+      break;
+
+    case FILE_TYPE:
+      if (value == null) {
+        unsetFileType();
+      } else {
+        setFileType((FileModelType)value);
+      }
+      break;
+
+    case FILE_SIZE:
+      if (value == null) {
+        unsetFileSize();
+      } else {
+        setFileSize((Integer)value);
+      }
+      break;
+
+    case DATA_TYPE:
+      if (value == null) {
+        unsetDataType();
+      } else {
+        setDataType((String)value);
+      }
+      break;
+
+    case CREATION_TIME:
+      if (value == null) {
+        unsetCreationTime();
+      } else {
+        setCreationTime((Long)value);
+      }
+      break;
+
+    case LAST_MODIFIED_TIME:
+      if (value == null) {
+        unsetLastModifiedTime();
+      } else {
+        setLastModifiedTime((Long)value);
+      }
+      break;
+
+    case FILE_REPLICAS:
+      if (value == null) {
+        unsetFileReplicas();
+      } else {
+        setFileReplicas((List<FileReplicaModel>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case FILE_ID:
+      return getFileId();
+
+    case GATEWAY_ID:
+      return getGatewayId();
+
+    case USERNAME:
+      return getUsername();
+
+    case SHARED_USERS:
+      return getSharedUsers();
+
+    case SHARED_PUBLIC:
+      return isSharedPublic();
+
+    case FILE_NAME:
+      return getFileName();
+
+    case FILE_DESCRIPTION:
+      return getFileDescription();
+
+    case SHA256_CHECKSUM:
+      return getSha256Checksum();
+
+    case FILE_TYPE:
+      return getFileType();
+
+    case FILE_SIZE:
+      return getFileSize();
+
+    case DATA_TYPE:
+      return getDataType();
+
+    case CREATION_TIME:
+      return getCreationTime();
+
+    case LAST_MODIFIED_TIME:
+      return getLastModifiedTime();
+
+    case FILE_REPLICAS:
+      return getFileReplicas();
+
+    }
+    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 FILE_ID:
+      return isSetFileId();
+    case GATEWAY_ID:
+      return isSetGatewayId();
+    case USERNAME:
+      return isSetUsername();
+    case SHARED_USERS:
+      return isSetSharedUsers();
+    case SHARED_PUBLIC:
+      return isSetSharedPublic();
+    case FILE_NAME:
+      return isSetFileName();
+    case FILE_DESCRIPTION:
+      return isSetFileDescription();
+    case SHA256_CHECKSUM:
+      return isSetSha256Checksum();
+    case FILE_TYPE:
+      return isSetFileType();
+    case FILE_SIZE:
+      return isSetFileSize();
+    case DATA_TYPE:
+      return isSetDataType();
+    case CREATION_TIME:
+      return isSetCreationTime();
+    case LAST_MODIFIED_TIME:
+      return isSetLastModifiedTime();
+    case FILE_REPLICAS:
+      return isSetFileReplicas();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof FileModel)
+      return this.equals((FileModel)that);
+    return false;
+  }
+
+  public boolean equals(FileModel that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_fileId = true && this.isSetFileId();
+    boolean that_present_fileId = true && that.isSetFileId();
+    if (this_present_fileId || that_present_fileId) {
+      if (!(this_present_fileId && that_present_fileId))
+        return false;
+      if (!this.fileId.equals(that.fileId))
+        return false;
+    }
+
+    boolean this_present_gatewayId = true && this.isSetGatewayId();
+    boolean that_present_gatewayId = true && that.isSetGatewayId();
+    if (this_present_gatewayId || that_present_gatewayId) {
+      if (!(this_present_gatewayId && that_present_gatewayId))
+        return false;
+      if (!this.gatewayId.equals(that.gatewayId))
+        return false;
+    }
+
+    boolean this_present_username = true && this.isSetUsername();
+    boolean that_present_username = true && that.isSetUsername();
+    if (this_present_username || that_present_username) {
+      if (!(this_present_username && that_present_username))
+        return false;
+      if (!this.username.equals(that.username))
+        return false;
+    }
+
+    boolean this_present_sharedUsers = true && this.isSetSharedUsers();
+    boolean that_present_sharedUsers = true && that.isSetSharedUsers();
+    if (this_present_sharedUsers || that_present_sharedUsers) {
+      if (!(this_present_sharedUsers && that_present_sharedUsers))
+        return false;
+      if (!this.sharedUsers.equals(that.sharedUsers))
+        return false;
+    }
+
+    boolean this_present_sharedPublic = true && this.isSetSharedPublic();
+    boolean that_present_sharedPublic = true && that.isSetSharedPublic();
+    if (this_present_sharedPublic || that_present_sharedPublic) {
+      if (!(this_present_sharedPublic && that_present_sharedPublic))
+        return false;
+      if (this.sharedPublic != that.sharedPublic)
+        return false;
+    }
+
+    boolean this_present_fileName = true && this.isSetFileName();
+    boolean that_present_fileName = true && that.isSetFileName();
+    if (this_present_fileName || that_present_fileName) {
+      if (!(this_present_fileName && that_present_fileName))
+        return false;
+      if (!this.fileName.equals(that.fileName))
+        return false;
+    }
+
+    boolean this_present_fileDescription = true && this.isSetFileDescription();
+    boolean that_present_fileDescription = true && that.isSetFileDescription();
+    if (this_present_fileDescription || that_present_fileDescription) {
+      if (!(this_present_fileDescription && that_present_fileDescription))
+        return false;
+      if (!this.fileDescription.equals(that.fileDescription))
+        return false;
+    }
+
+    boolean this_present_sha256Checksum = true && this.isSetSha256Checksum();
+    boolean that_present_sha256Checksum = true && that.isSetSha256Checksum();
+    if (this_present_sha256Checksum || that_present_sha256Checksum) {
+      if (!(this_present_sha256Checksum && that_present_sha256Checksum))
+        return false;
+      if (!this.sha256Checksum.equals(that.sha256Checksum))
+        return false;
+    }
+
+    boolean this_present_fileType = true && this.isSetFileType();
+    boolean that_present_fileType = true && that.isSetFileType();
+    if (this_present_fileType || that_present_fileType) {
+      if (!(this_present_fileType && that_present_fileType))
+        return false;
+      if (!this.fileType.equals(that.fileType))
+        return false;
+    }
+
+    boolean this_present_fileSize = true && this.isSetFileSize();
+    boolean that_present_fileSize = true && that.isSetFileSize();
+    if (this_present_fileSize || that_present_fileSize) {
+      if (!(this_present_fileSize && that_present_fileSize))
+        return false;
+      if (this.fileSize != that.fileSize)
+        return false;
+    }
+
+    boolean this_present_dataType = true && this.isSetDataType();
+    boolean that_present_dataType = true && that.isSetDataType();
+    if (this_present_dataType || that_present_dataType) {
+      if (!(this_present_dataType && that_present_dataType))
+        return false;
+      if (!this.dataType.equals(that.dataType))
+        return false;
+    }
+
+    boolean this_present_creationTime = true && this.isSetCreationTime();
+    boolean that_present_creationTime = true && that.isSetCreationTime();
+    if (this_present_creationTime || that_present_creationTime) {
+      if (!(this_present_creationTime && that_present_creationTime))
+        return false;
+      if (this.creationTime != that.creationTime)
+        return false;
+    }
+
+    boolean this_present_lastModifiedTime = true && this.isSetLastModifiedTime();
+    boolean that_present_lastModifiedTime = true && that.isSetLastModifiedTime();
+    if (this_present_lastModifiedTime || that_present_lastModifiedTime) {
+      if (!(this_present_lastModifiedTime && that_present_lastModifiedTime))
+        return false;
+      if (this.lastModifiedTime != that.lastModifiedTime)
+        return false;
+    }
+
+    boolean this_present_fileReplicas = true && this.isSetFileReplicas();
+    boolean that_present_fileReplicas = true && that.isSetFileReplicas();
+    if (this_present_fileReplicas || that_present_fileReplicas) {
+      if (!(this_present_fileReplicas && that_present_fileReplicas))
+        return false;
+      if (!this.fileReplicas.equals(that.fileReplicas))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_fileId = true && (isSetFileId());
+    list.add(present_fileId);
+    if (present_fileId)
+      list.add(fileId);
+
+    boolean present_gatewayId = true && (isSetGatewayId());
+    list.add(present_gatewayId);
+    if (present_gatewayId)
+      list.add(gatewayId);
+
+    boolean present_username = true && (isSetUsername());
+    list.add(present_username);
+    if (present_username)
+      list.add(username);
+
+    boolean present_sharedUsers = true && (isSetSharedUsers());
+    list.add(present_sharedUsers);
+    if (present_sharedUsers)
+      list.add(sharedUsers);
+
+    boolean present_sharedPublic = true && (isSetSharedPublic());
+    list.add(present_sharedPublic);
+    if (present_sharedPublic)
+      list.add(sharedPublic);
+
+    boolean present_fileName = true && (isSetFileName());
+    list.add(present_fileName);
+    if (present_fileName)
+      list.add(fileName);
+
+    boolean present_fileDescription = true && (isSetFileDescription());
+    list.add(present_fileDescription);
+    if (present_fileDescription)
+      list.add(fileDescription);
+
+    boolean present_sha256Checksum = true && (isSetSha256Checksum());
+    list.add(present_sha256Checksum);
+    if (present_sha256Checksum)
+      list.add(sha256Checksum);
+
+    boolean present_fileType = true && (isSetFileType());
+    list.add(present_fileType);
+    if (present_fileType)
+      list.add(fileType.getValue());
+
+    boolean present_fileSize = true && (isSetFileSize());
+    list.add(present_fileSize);
+    if (present_fileSize)
+      list.add(fileSize);
+
+    boolean present_dataType = true && (isSetDataType());
+    list.add(present_dataType);
+    if (present_dataType)
+      list.add(dataType);
+
+    boolean present_creationTime = true && (isSetCreationTime());
+    list.add(present_creationTime);
+    if (present_creationTime)
+      list.add(creationTime);
+
+    boolean present_lastModifiedTime = true && (isSetLastModifiedTime());
+    list.add(present_lastModifiedTime);
+    if (present_lastModifiedTime)
+      list.add(lastModifiedTime);
+
+    boolean present_fileReplicas = true && (isSetFileReplicas());
+    list.add(present_fileReplicas);
+    if (present_fileReplicas)
+      list.add(fileReplicas);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(FileModel other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetFileId()).compareTo(other.isSetFileId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetFileId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fileId, other.fileId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetGatewayId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetUsername()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.username, other.username);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetSharedUsers()).compareTo(other.isSetSharedUsers());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSharedUsers()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sharedUsers, other.sharedUsers);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetSharedPublic()).compareTo(other.isSetSharedPublic());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSharedPublic()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sharedPublic, other.sharedPublic);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetFileName()).compareTo(other.isSetFileName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetFileName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fileName, other.fileName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetFileDescription()).compareTo(other.isSetFileDescription());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetFileDescription()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fileDescription, other.fileDescription);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetSha256Checksum()).compareTo(other.isSetSha256Checksum());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSha256Checksum()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sha256Checksum, other.sha256Checksum);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetFileType()).compareTo(other.isSetFileType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetFileType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fileType, other.fileType);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetFileSize()).compareTo(other.isSetFileSize());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetFileSize()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fileSize, other.fileSize);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDataType()).compareTo(other.isSetDataType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDataType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataType, other.dataType);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCreationTime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creationTime, other.creationTime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetLastModifiedTime()).compareTo(other.isSetLastModifiedTime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetLastModifiedTime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lastModifiedTime, other.lastModifiedTime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetFileReplicas()).compareTo(other.isSetFileReplicas());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetFileReplicas()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fileReplicas, other.fileReplicas);
+      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("FileModel(");
+    boolean first = true;
+
+    if (isSetFileId()) {
+      sb.append("fileId:");
+      if (this.fileId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.fileId);
+      }
+      first = false;
+    }
+    if (isSetGatewayId()) {
+      if (!first) sb.append(", ");
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gatewayId);
+      }
+      first = false;
+    }
+    if (isSetUsername()) {
+      if (!first) sb.append(", ");
+      sb.append("username:");
+      if (this.username == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.username);
+      }
+      first = false;
+    }
+    if (isSetSharedUsers()) {
+      if (!first) sb.append(", ");
+      sb.append("sharedUsers:");
+      if (this.sharedUsers == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.sharedUsers);
+      }
+      first = false;
+    }
+    if (isSetSharedPublic()) {
+      if (!first) sb.append(", ");
+      sb.append("sharedPublic:");
+      sb.append(this.sharedPublic);
+      first = false;
+    }
+    if (isSetFileName()) {
+      if (!first) sb.append(", ");
+      sb.append("fileName:");
+      if (this.fileName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.fileName);
+      }
+      first = false;
+    }
+    if (isSetFileDescription()) {
+      if (!first) sb.append(", ");
+      sb.append("fileDescription:");
+      if (this.fileDescription == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.fileDescription);
+      }
+      first = false;
+    }
+    if (isSetSha256Checksum()) {
+      if (!first) sb.append(", ");
+      sb.append("sha256Checksum:");
+      if (this.sha256Checksum == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.sha256Checksum);
+      }
+      first = false;
+    }
+    if (isSetFileType()) {
+      if (!first) sb.append(", ");
+      sb.append("fileType:");
+      if (this.fileType == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.fileType);
+      }
+      first = false;
+    }
+    if (isSetFileSize()) {
+      if (!first) sb.append(", ");
+      sb.append("fileSize:");
+      sb.append(this.fileSize);
+      first = false;
+    }
+    if (isSetDataType()) {
+      if (!first) sb.append(", ");
+      sb.append("dataType:");
+      if (this.dataType == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.dataType);
+      }
+      first = false;
+    }
+    if (isSetCreationTime()) {
+      if (!first) sb.append(", ");
+      sb.append("creationTime:");
+      sb.append(this.creationTime);
+      first = false;
+    }
+    if (isSetLastModifiedTime()) {
+      if (!first) sb.append(", ");
+      sb.append("lastModifiedTime:");
+      sb.append(this.lastModifiedTime);
+      first = false;
+    }
+    if (isSetFileReplicas()) {
+      if (!first) sb.append(", ");
+      sb.append("fileReplicas:");
+      if (this.fileReplicas == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.fileReplicas);
+      }
+      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 FileModelStandardSchemeFactory implements SchemeFactory {
+    public FileModelStandardScheme getScheme() {
+      return new FileModelStandardScheme();
+    }
+  }
+
+  private static class FileModelStandardScheme extends StandardScheme<FileModel> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, FileModel 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: // FILE_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.fileId = iprot.readString();
+              struct.setFileIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // GATEWAY_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.gatewayId = iprot.readString();
+              struct.setGatewayIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // USERNAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.username = iprot.readString();
+              struct.setUsernameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // SHARED_USERS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
+                struct.sharedUsers = new ArrayList<String>(_list16.size);
+                String _elem17;
+                for (int _i18 = 0; _i18 < _list16.size; ++_i18)
+                {
+                  _elem17 = iprot.readString();
+                  struct.sharedUsers.add(_elem17);
+                }
+                iprot.readListEnd();
+              }
+              struct.setSharedUsersIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // SHARED_PUBLIC
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.sharedPublic = iprot.readBool();
+              struct.setSharedPublicIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // FILE_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.fileName = iprot.readString();
+              struct.setFileNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // FILE_DESCRIPTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.fileDescription = iprot.readString();
+              struct.setFileDescriptionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // SHA256_CHECKSUM
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.sha256Checksum = iprot.readString();
+              struct.setSha256ChecksumIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // FILE_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.fileType = org.apache.airavata.model.data.replica.FileModelType.findByValue(iprot.readI32());
+              struct.setFileTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // FILE_SIZE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.fileSize = iprot.readI32();
+              struct.setFileSizeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // DATA_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.dataType = iprot.readString();
+              struct.setDataTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 12: // CREATION_TIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.creationTime = iprot.readI64();
+              struct.setCreationTimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 13: // LAST_MODIFIED_TIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.lastModifiedTime = iprot.readI64();
+              struct.setLastModifiedTimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 14: // FILE_REPLICAS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list19 = iprot.readListBegin();
+                struct.fileReplicas = new ArrayList<FileReplicaModel>(_list19.size);
+                FileReplicaModel _elem20;
+                for (int _i21 = 0; _i21 < _list19.size; ++_i21)
+                {
+                  _elem20 = new FileReplicaModel();
+                  _elem20.read(iprot);
+                  struct.fileReplicas.add(_elem20);
+                }
+                iprot.readListEnd();
+              }
+              struct.setFileReplicasIsSet(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, FileModel struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.fileId != null) {
+        if (struct.isSetFileId()) {
+          oprot.writeFieldBegin(FILE_ID_FIELD_DESC);
+          oprot.writeString(struct.fileId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.gatewayId != null) {
+        if (struct.isSetGatewayId()) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.username != null) {
+        if (struct.isSetUsername()) {
+          oprot.writeFieldBegin(USERNAME_FIELD_DESC);
+          oprot.writeString(struct.username);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.sharedUsers != null) {
+        if (struct.isSetSharedUsers()) {
+          oprot.writeFieldBegin(SHARED_USERS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.sharedUsers.size()));
+            for (String _iter22 : struct.sharedUsers)
+            {
+              oprot.writeString(_iter22);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetSharedPublic()) {
+        oprot.writeFieldBegin(SHARED_PUBLIC_FIELD_DESC);
+        oprot.writeBool(struct.sharedPublic);
+        oprot.writeFieldEnd();
+      }
+      if (struct.fileName != null) {
+        if (struct.isSetFileName()) {
+          oprot.writeFieldBegin(FILE_NAME_FIELD_DESC);
+          oprot.writeString(struct.fileName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.fileDescription != null) {
+        if (struct.isSetFileDescription()) {
+          oprot.writeFieldBegin(FILE_DESCRIPTION_FIELD_DESC);
+          oprot.writeString(struct.fileDescription);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.sha256Checksum != null) {
+        if (struct.isSetSha256Checksum()) {
+          oprot.writeFieldBegin(SHA256_CHECKSUM_FIELD_DESC);
+          oprot.writeString(struct.sha256Checksum);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.fileType != null) {
+        if (struct.isSetFileType()) {
+          oprot.writeFieldBegin(FILE_TYPE_FIELD_DESC);
+          oprot.writeI32(struct.fileType.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetFileSize()) {
+        oprot.writeFieldBegin(FILE_SIZE_FIELD_DESC);
+        oprot.writeI32(struct.fileSize);
+        oprot.writeFieldEnd();
+      }
+      if (struct.dataType != null) {
+        if (struct.isSetDataType()) {
+          oprot.writeFieldBegin(DATA_TYPE_FIELD_DESC);
+          oprot.writeString(struct.dataType);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetCreationTime()) {
+        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
+        oprot.writeI64(struct.creationTime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetLastModifiedTime()) {
+        oprot.writeFieldBegin(LAST_MODIFIED_TIME_FIELD_DESC);
+        oprot.writeI64(struct.lastModifiedTime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.fileReplicas != null) {
+        if (struct.isSetFileReplicas()) {
+          oprot.writeFieldBegin(FILE_REPLICAS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.fileReplicas.size()));
+            for (FileReplicaModel _iter23 : struct.fileReplicas)
+            {
+              _iter23.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class FileModelTupleSchemeFactory implements SchemeFactory {
+    public FileModelTupleScheme getScheme() {
+      return new FileModelTupleScheme();
+    }
+  }
+
+  private static class FileModelTupleScheme extends TupleScheme<FileModel> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, FileModel struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetFileId()) {
+        optionals.set(0);
+      }
+      if (struct.isSetGatewayId()) {
+        optionals.set(1);
+      }
+      if (struct.isSetUsername()) {
+        optionals.set(2);
+      }
+      if (struct.isSetSharedUsers()) {
+        optionals.set(3);
+      }
+      if (struct.isSetSharedPublic()) {
+        optionals.set(4);
+      }
+      if (struct.isSetFileName()) {
+        optionals.set(5);
+      }
+      if (struct.isSetFileDescription()) {
+        optionals.set(6);
+      }
+      if (struct.isSetSha256Checksum()) {
+        optionals.set(7);
+      }
+      if (struct.isSetFileType()) {
+        optionals.set(8);
+      }
+      if (struct.isSetFileSize()) {
+        optionals.set(9);
+      }
+      if (struct.isSetDataType()) {
+        optionals.set(10);
+      }
+      if (struct.isSetCreationTime()) {
+        optionals.set(11);
+      }
+      if (struct.isSetLastModifiedTime()) {
+        optionals.set(12);
+      }
+      if (struct.isSetFileReplicas()) {
+        optionals.set(13);
+      }
+      oprot.writeBitSet(optionals, 14);
+      if (struct.isSetFileId()) {
+        oprot.writeString(struct.fileId);
+      }
+      if (struct.isSetGatewayId()) {
+        oprot.writeString(struct.gatewayId);
+      }
+      if (struct.isSetUsername()) {
+        oprot.writeString(struct.username);
+      }
+      if (struct.isSetSharedUsers()) {
+        {
+          oprot.writeI32(struct.sharedUsers.size());
+          for (String _iter24 : struct.sharedUsers)
+          {
+            oprot.writeString(_iter24);
+          }
+        }
+      }
+      if (struct.isSetSharedPublic()) {
+        oprot.writeBool(struct.sharedPublic);
+      }
+      if (struct.isSetFileName()) {
+        oprot.writeString(struct.fileName);
+      }
+      if (struct.isSetFileDescription()) {
+        oprot.writeString(struct.fileDescription);
+      }
+      if (struct.isSetSha256Checksum()) {
+        oprot.writeString(struct.sha256Checksum);
+      }
+      if (struct.isSetFileType()) {
+        oprot.writeI32(struct.fileType.getValue());
+      }
+      if (struct.isSetFileSize()) {
+        oprot.writeI32(struct.fileSize);
+      }
+      if (struct.isSetDataType()) {
+        oprot.writeString(struct.dataType);
+      }
+      if (struct.isSetCreationTime()) {
+        oprot.writeI64(struct.creationTime);
+      }
+      if (struct.isSetLastModifiedTime()) {
+        oprot.writeI64(struct.lastModifiedTime);
+      }
+      if (struct.isSetFileReplicas()) {
+        {
+          oprot.writeI32(struct.fileReplicas.size());
+          for (FileReplicaModel _iter25 : struct.fileReplicas)
+          {
+            _iter25.write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, FileModel struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(14);
+      if (incoming.get(0)) {
+        struct.fileId = iprot.readString();
+        struct.setFileIdIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.gatewayId = iprot.readString();
+        struct.setGatewayIdIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.username = iprot.readString();
+        struct.setUsernameIsSet(true);
+      }
+      if (incoming.get(3)) {
+        {
+          org.apache.thrift.protocol.TList _list26 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.sharedUsers = new ArrayList<String>(_list26.size);
+          String _elem27;
+          for (int _i28 = 0; _i28 < _list26.size; ++_i28)
+          {
+            _elem27 = iprot.readString();
+            struct.sharedUsers.add(_elem27);
+          }
+        }
+        struct.setSharedUsersIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.sharedPublic = iprot.readBool();
+        struct.setSharedPublicIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.fileName = iprot.readString();
+        struct.setFileNameIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.fileDescription = iprot.readString();
+        struct.setFileDescriptionIsSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.sha256Checksum = iprot.readString();
+        struct.setSha256ChecksumIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.fileType = org.apache.airavata.model.data.replica.FileModelType.findByValue(iprot.readI32());
+        struct.setFileTypeIsSet(true);
+      }
+      if (incoming.get(9)) {
+        struct.fileSize = iprot.readI32();
+        struct.setFileSizeIsSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.dataType = iprot.readString();
+        struct.setDataTypeIsSet(true);
+      }
+      if (incoming.get(11)) {
+        struct.creationTime = iprot.readI64();
+        struct.setCreationTimeIsSet(true);
+      }
+      if (incoming.get(12)) {
+        struct.lastModifiedTime = iprot.readI64();
+        struct.setLastModifiedTimeIsSet(true);
+      }
+      if (incoming.get(13)) {
+        {
+          org.apache.thrift.protocol.TList _list29 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.fileReplicas = new ArrayList<FileReplicaModel>(_list29.size);
+          FileReplicaModel _elem30;
+          for (int _i31 = 0; _i31 < _list29.size; ++_i31)
+          {
+            _elem30 = new FileReplicaModel();
+            _elem30.read(iprot);
+            struct.fileReplicas.add(_elem30);
+          }
+        }
+        struct.setFileReplicasIsSet(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/replica/FileModelType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileModelType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileModelType.java
new file mode 100644
index 0000000..ad0bc91
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileModelType.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.replica;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum FileModelType implements org.apache.thrift.TEnum {
+  FILE(0),
+  DIRECTORY(1);
+
+  private final int value;
+
+  private FileModelType(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 FileModelType findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return FILE;
+      case 1:
+        return DIRECTORY;
+      default:
+        return null;
+    }
+  }
+}