You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by go...@apache.org on 2017/05/02 19:59:01 UTC

[03/17] airavata git commit: Add Tenant Profile Thrift Model

http://git-wip-us.apache.org/repos/asf/airavata/blob/ddb95c12/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/Tenant.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/Tenant.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/Tenant.java
new file mode 100644
index 0000000..77dd186
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/Tenant.java
@@ -0,0 +1,2322 @@
+/**
+ * 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.tenant;
+
+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)")
+public class Tenant implements org.apache.thrift.TBase<Tenant, Tenant._Fields>, java.io.Serializable, Cloneable, Comparable<Tenant> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Tenant");
+
+  private static final org.apache.thrift.protocol.TField TENANT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantId", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField TENANT_APPROVAL_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantApprovalStatus", org.apache.thrift.protocol.TType.I32, (short)2);
+  private static final org.apache.thrift.protocol.TField TENANT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantName", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField DOMAIN_FIELD_DESC = new org.apache.thrift.protocol.TField("domain", org.apache.thrift.protocol.TType.STRING, (short)4);
+  private static final org.apache.thrift.protocol.TField EMAIL_ADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("emailAddress", org.apache.thrift.protocol.TType.STRING, (short)5);
+  private static final org.apache.thrift.protocol.TField TENANT_ACRONYM_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantAcronym", org.apache.thrift.protocol.TType.STRING, (short)6);
+  private static final org.apache.thrift.protocol.TField TENANT_URL_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantURL", org.apache.thrift.protocol.TType.STRING, (short)7);
+  private static final org.apache.thrift.protocol.TField TENANT_PUBLIC_ABSTRACT_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantPublicAbstract", org.apache.thrift.protocol.TType.STRING, (short)8);
+  private static final org.apache.thrift.protocol.TField REVIEW_PROPOSAL_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("reviewProposalDescription", org.apache.thrift.protocol.TType.STRING, (short)9);
+  private static final org.apache.thrift.protocol.TField TENANT_ADMIN_FIRST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantAdminFirstName", org.apache.thrift.protocol.TType.STRING, (short)10);
+  private static final org.apache.thrift.protocol.TField TENANT_ADMIN_LAST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantAdminLastName", org.apache.thrift.protocol.TType.STRING, (short)11);
+  private static final org.apache.thrift.protocol.TField TENANT_ADMIN_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("tenantAdminEmail", org.apache.thrift.protocol.TType.STRING, (short)12);
+  private static final org.apache.thrift.protocol.TField IDENTITY_SERVER_USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("identityServerUserName", org.apache.thrift.protocol.TType.STRING, (short)13);
+  private static final org.apache.thrift.protocol.TField IDENTITY_SERVER_PASSWORD_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("identityServerPasswordToken", org.apache.thrift.protocol.TType.STRING, (short)14);
+  private static final org.apache.thrift.protocol.TField DECLINED_REASON_FIELD_DESC = new org.apache.thrift.protocol.TField("declinedReason", org.apache.thrift.protocol.TType.STRING, (short)15);
+  private static final org.apache.thrift.protocol.TField OAUTH_CLIENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("oauthClientId", org.apache.thrift.protocol.TType.STRING, (short)16);
+  private static final org.apache.thrift.protocol.TField OAUTH_CLIENT_SECRET_FIELD_DESC = new org.apache.thrift.protocol.TField("oauthClientSecret", org.apache.thrift.protocol.TType.STRING, (short)17);
+  private static final org.apache.thrift.protocol.TField REQUEST_CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("requestCreationTime", org.apache.thrift.protocol.TType.I64, (short)18);
+  private static final org.apache.thrift.protocol.TField REQUESTER_USERNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("requesterUsername", org.apache.thrift.protocol.TType.STRING, (short)19);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new TenantStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new TenantTupleSchemeFactory());
+  }
+
+  private String tenantId; // required
+  private TenantApprovalStatus tenantApprovalStatus; // required
+  private String tenantName; // optional
+  private String domain; // optional
+  private String emailAddress; // optional
+  private String tenantAcronym; // optional
+  private String tenantURL; // optional
+  private String tenantPublicAbstract; // optional
+  private String reviewProposalDescription; // optional
+  private String tenantAdminFirstName; // optional
+  private String tenantAdminLastName; // optional
+  private String tenantAdminEmail; // optional
+  private String identityServerUserName; // optional
+  private String identityServerPasswordToken; // optional
+  private String declinedReason; // optional
+  private String oauthClientId; // optional
+  private String oauthClientSecret; // optional
+  private long requestCreationTime; // optional
+  private String requesterUsername; // 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 {
+    TENANT_ID((short)1, "tenantId"),
+    /**
+     * 
+     * @see TenantApprovalStatus
+     */
+    TENANT_APPROVAL_STATUS((short)2, "tenantApprovalStatus"),
+    TENANT_NAME((short)3, "tenantName"),
+    DOMAIN((short)4, "domain"),
+    EMAIL_ADDRESS((short)5, "emailAddress"),
+    TENANT_ACRONYM((short)6, "tenantAcronym"),
+    TENANT_URL((short)7, "tenantURL"),
+    TENANT_PUBLIC_ABSTRACT((short)8, "tenantPublicAbstract"),
+    REVIEW_PROPOSAL_DESCRIPTION((short)9, "reviewProposalDescription"),
+    TENANT_ADMIN_FIRST_NAME((short)10, "tenantAdminFirstName"),
+    TENANT_ADMIN_LAST_NAME((short)11, "tenantAdminLastName"),
+    TENANT_ADMIN_EMAIL((short)12, "tenantAdminEmail"),
+    IDENTITY_SERVER_USER_NAME((short)13, "identityServerUserName"),
+    IDENTITY_SERVER_PASSWORD_TOKEN((short)14, "identityServerPasswordToken"),
+    DECLINED_REASON((short)15, "declinedReason"),
+    OAUTH_CLIENT_ID((short)16, "oauthClientId"),
+    OAUTH_CLIENT_SECRET((short)17, "oauthClientSecret"),
+    REQUEST_CREATION_TIME((short)18, "requestCreationTime"),
+    REQUESTER_USERNAME((short)19, "requesterUsername");
+
+    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: // TENANT_ID
+          return TENANT_ID;
+        case 2: // TENANT_APPROVAL_STATUS
+          return TENANT_APPROVAL_STATUS;
+        case 3: // TENANT_NAME
+          return TENANT_NAME;
+        case 4: // DOMAIN
+          return DOMAIN;
+        case 5: // EMAIL_ADDRESS
+          return EMAIL_ADDRESS;
+        case 6: // TENANT_ACRONYM
+          return TENANT_ACRONYM;
+        case 7: // TENANT_URL
+          return TENANT_URL;
+        case 8: // TENANT_PUBLIC_ABSTRACT
+          return TENANT_PUBLIC_ABSTRACT;
+        case 9: // REVIEW_PROPOSAL_DESCRIPTION
+          return REVIEW_PROPOSAL_DESCRIPTION;
+        case 10: // TENANT_ADMIN_FIRST_NAME
+          return TENANT_ADMIN_FIRST_NAME;
+        case 11: // TENANT_ADMIN_LAST_NAME
+          return TENANT_ADMIN_LAST_NAME;
+        case 12: // TENANT_ADMIN_EMAIL
+          return TENANT_ADMIN_EMAIL;
+        case 13: // IDENTITY_SERVER_USER_NAME
+          return IDENTITY_SERVER_USER_NAME;
+        case 14: // IDENTITY_SERVER_PASSWORD_TOKEN
+          return IDENTITY_SERVER_PASSWORD_TOKEN;
+        case 15: // DECLINED_REASON
+          return DECLINED_REASON;
+        case 16: // OAUTH_CLIENT_ID
+          return OAUTH_CLIENT_ID;
+        case 17: // OAUTH_CLIENT_SECRET
+          return OAUTH_CLIENT_SECRET;
+        case 18: // REQUEST_CREATION_TIME
+          return REQUEST_CREATION_TIME;
+        case 19: // REQUESTER_USERNAME
+          return REQUESTER_USERNAME;
+        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 __REQUESTCREATIONTIME_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.TENANT_NAME,_Fields.DOMAIN,_Fields.EMAIL_ADDRESS,_Fields.TENANT_ACRONYM,_Fields.TENANT_URL,_Fields.TENANT_PUBLIC_ABSTRACT,_Fields.REVIEW_PROPOSAL_DESCRIPTION,_Fields.TENANT_ADMIN_FIRST_NAME,_Fields.TENANT_ADMIN_LAST_NAME,_Fields.TENANT_ADMIN_EMAIL,_Fields.IDENTITY_SERVER_USER_NAME,_Fields.IDENTITY_SERVER_PASSWORD_TOKEN,_Fields.DECLINED_REASON,_Fields.OAUTH_CLIENT_ID,_Fields.OAUTH_CLIENT_SECRET,_Fields.REQUEST_CREATION_TIME,_Fields.REQUESTER_USERNAME};
+  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.TENANT_ID, new org.apache.thrift.meta_data.FieldMetaData("tenantId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_APPROVAL_STATUS, new org.apache.thrift.meta_data.FieldMetaData("tenantApprovalStatus", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TenantApprovalStatus.class)));
+    tmpMap.put(_Fields.TENANT_NAME, new org.apache.thrift.meta_data.FieldMetaData("tenantName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DOMAIN, new org.apache.thrift.meta_data.FieldMetaData("domain", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.EMAIL_ADDRESS, new org.apache.thrift.meta_data.FieldMetaData("emailAddress", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_ACRONYM, new org.apache.thrift.meta_data.FieldMetaData("tenantAcronym", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_URL, new org.apache.thrift.meta_data.FieldMetaData("tenantURL", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_PUBLIC_ABSTRACT, new org.apache.thrift.meta_data.FieldMetaData("tenantPublicAbstract", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.REVIEW_PROPOSAL_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("reviewProposalDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_ADMIN_FIRST_NAME, new org.apache.thrift.meta_data.FieldMetaData("tenantAdminFirstName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_ADMIN_LAST_NAME, new org.apache.thrift.meta_data.FieldMetaData("tenantAdminLastName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TENANT_ADMIN_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("tenantAdminEmail", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.IDENTITY_SERVER_USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("identityServerUserName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.IDENTITY_SERVER_PASSWORD_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("identityServerPasswordToken", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DECLINED_REASON, new org.apache.thrift.meta_data.FieldMetaData("declinedReason", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.OAUTH_CLIENT_ID, new org.apache.thrift.meta_data.FieldMetaData("oauthClientId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.OAUTH_CLIENT_SECRET, new org.apache.thrift.meta_data.FieldMetaData("oauthClientSecret", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.REQUEST_CREATION_TIME, new org.apache.thrift.meta_data.FieldMetaData("requestCreationTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.REQUESTER_USERNAME, new org.apache.thrift.meta_data.FieldMetaData("requesterUsername", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Tenant.class, metaDataMap);
+  }
+
+  public Tenant() {
+  }
+
+  public Tenant(
+    String tenantId,
+    TenantApprovalStatus tenantApprovalStatus)
+  {
+    this();
+    this.tenantId = tenantId;
+    this.tenantApprovalStatus = tenantApprovalStatus;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Tenant(Tenant other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetTenantId()) {
+      this.tenantId = other.tenantId;
+    }
+    if (other.isSetTenantApprovalStatus()) {
+      this.tenantApprovalStatus = other.tenantApprovalStatus;
+    }
+    if (other.isSetTenantName()) {
+      this.tenantName = other.tenantName;
+    }
+    if (other.isSetDomain()) {
+      this.domain = other.domain;
+    }
+    if (other.isSetEmailAddress()) {
+      this.emailAddress = other.emailAddress;
+    }
+    if (other.isSetTenantAcronym()) {
+      this.tenantAcronym = other.tenantAcronym;
+    }
+    if (other.isSetTenantURL()) {
+      this.tenantURL = other.tenantURL;
+    }
+    if (other.isSetTenantPublicAbstract()) {
+      this.tenantPublicAbstract = other.tenantPublicAbstract;
+    }
+    if (other.isSetReviewProposalDescription()) {
+      this.reviewProposalDescription = other.reviewProposalDescription;
+    }
+    if (other.isSetTenantAdminFirstName()) {
+      this.tenantAdminFirstName = other.tenantAdminFirstName;
+    }
+    if (other.isSetTenantAdminLastName()) {
+      this.tenantAdminLastName = other.tenantAdminLastName;
+    }
+    if (other.isSetTenantAdminEmail()) {
+      this.tenantAdminEmail = other.tenantAdminEmail;
+    }
+    if (other.isSetIdentityServerUserName()) {
+      this.identityServerUserName = other.identityServerUserName;
+    }
+    if (other.isSetIdentityServerPasswordToken()) {
+      this.identityServerPasswordToken = other.identityServerPasswordToken;
+    }
+    if (other.isSetDeclinedReason()) {
+      this.declinedReason = other.declinedReason;
+    }
+    if (other.isSetOauthClientId()) {
+      this.oauthClientId = other.oauthClientId;
+    }
+    if (other.isSetOauthClientSecret()) {
+      this.oauthClientSecret = other.oauthClientSecret;
+    }
+    this.requestCreationTime = other.requestCreationTime;
+    if (other.isSetRequesterUsername()) {
+      this.requesterUsername = other.requesterUsername;
+    }
+  }
+
+  public Tenant deepCopy() {
+    return new Tenant(this);
+  }
+
+  @Override
+  public void clear() {
+    this.tenantId = null;
+    this.tenantApprovalStatus = null;
+    this.tenantName = null;
+    this.domain = null;
+    this.emailAddress = null;
+    this.tenantAcronym = null;
+    this.tenantURL = null;
+    this.tenantPublicAbstract = null;
+    this.reviewProposalDescription = null;
+    this.tenantAdminFirstName = null;
+    this.tenantAdminLastName = null;
+    this.tenantAdminEmail = null;
+    this.identityServerUserName = null;
+    this.identityServerPasswordToken = null;
+    this.declinedReason = null;
+    this.oauthClientId = null;
+    this.oauthClientSecret = null;
+    setRequestCreationTimeIsSet(false);
+    this.requestCreationTime = 0;
+    this.requesterUsername = null;
+  }
+
+  public String getTenantId() {
+    return this.tenantId;
+  }
+
+  public void setTenantId(String tenantId) {
+    this.tenantId = tenantId;
+  }
+
+  public void unsetTenantId() {
+    this.tenantId = null;
+  }
+
+  /** Returns true if field tenantId is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantId() {
+    return this.tenantId != null;
+  }
+
+  public void setTenantIdIsSet(boolean value) {
+    if (!value) {
+      this.tenantId = null;
+    }
+  }
+
+  /**
+   * 
+   * @see TenantApprovalStatus
+   */
+  public TenantApprovalStatus getTenantApprovalStatus() {
+    return this.tenantApprovalStatus;
+  }
+
+  /**
+   * 
+   * @see TenantApprovalStatus
+   */
+  public void setTenantApprovalStatus(TenantApprovalStatus tenantApprovalStatus) {
+    this.tenantApprovalStatus = tenantApprovalStatus;
+  }
+
+  public void unsetTenantApprovalStatus() {
+    this.tenantApprovalStatus = null;
+  }
+
+  /** Returns true if field tenantApprovalStatus is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantApprovalStatus() {
+    return this.tenantApprovalStatus != null;
+  }
+
+  public void setTenantApprovalStatusIsSet(boolean value) {
+    if (!value) {
+      this.tenantApprovalStatus = null;
+    }
+  }
+
+  public String getTenantName() {
+    return this.tenantName;
+  }
+
+  public void setTenantName(String tenantName) {
+    this.tenantName = tenantName;
+  }
+
+  public void unsetTenantName() {
+    this.tenantName = null;
+  }
+
+  /** Returns true if field tenantName is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantName() {
+    return this.tenantName != null;
+  }
+
+  public void setTenantNameIsSet(boolean value) {
+    if (!value) {
+      this.tenantName = null;
+    }
+  }
+
+  public String getDomain() {
+    return this.domain;
+  }
+
+  public void setDomain(String domain) {
+    this.domain = domain;
+  }
+
+  public void unsetDomain() {
+    this.domain = null;
+  }
+
+  /** Returns true if field domain is set (has been assigned a value) and false otherwise */
+  public boolean isSetDomain() {
+    return this.domain != null;
+  }
+
+  public void setDomainIsSet(boolean value) {
+    if (!value) {
+      this.domain = null;
+    }
+  }
+
+  public String getEmailAddress() {
+    return this.emailAddress;
+  }
+
+  public void setEmailAddress(String emailAddress) {
+    this.emailAddress = emailAddress;
+  }
+
+  public void unsetEmailAddress() {
+    this.emailAddress = null;
+  }
+
+  /** Returns true if field emailAddress is set (has been assigned a value) and false otherwise */
+  public boolean isSetEmailAddress() {
+    return this.emailAddress != null;
+  }
+
+  public void setEmailAddressIsSet(boolean value) {
+    if (!value) {
+      this.emailAddress = null;
+    }
+  }
+
+  public String getTenantAcronym() {
+    return this.tenantAcronym;
+  }
+
+  public void setTenantAcronym(String tenantAcronym) {
+    this.tenantAcronym = tenantAcronym;
+  }
+
+  public void unsetTenantAcronym() {
+    this.tenantAcronym = null;
+  }
+
+  /** Returns true if field tenantAcronym is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantAcronym() {
+    return this.tenantAcronym != null;
+  }
+
+  public void setTenantAcronymIsSet(boolean value) {
+    if (!value) {
+      this.tenantAcronym = null;
+    }
+  }
+
+  public String getTenantURL() {
+    return this.tenantURL;
+  }
+
+  public void setTenantURL(String tenantURL) {
+    this.tenantURL = tenantURL;
+  }
+
+  public void unsetTenantURL() {
+    this.tenantURL = null;
+  }
+
+  /** Returns true if field tenantURL is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantURL() {
+    return this.tenantURL != null;
+  }
+
+  public void setTenantURLIsSet(boolean value) {
+    if (!value) {
+      this.tenantURL = null;
+    }
+  }
+
+  public String getTenantPublicAbstract() {
+    return this.tenantPublicAbstract;
+  }
+
+  public void setTenantPublicAbstract(String tenantPublicAbstract) {
+    this.tenantPublicAbstract = tenantPublicAbstract;
+  }
+
+  public void unsetTenantPublicAbstract() {
+    this.tenantPublicAbstract = null;
+  }
+
+  /** Returns true if field tenantPublicAbstract is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantPublicAbstract() {
+    return this.tenantPublicAbstract != null;
+  }
+
+  public void setTenantPublicAbstractIsSet(boolean value) {
+    if (!value) {
+      this.tenantPublicAbstract = null;
+    }
+  }
+
+  public String getReviewProposalDescription() {
+    return this.reviewProposalDescription;
+  }
+
+  public void setReviewProposalDescription(String reviewProposalDescription) {
+    this.reviewProposalDescription = reviewProposalDescription;
+  }
+
+  public void unsetReviewProposalDescription() {
+    this.reviewProposalDescription = null;
+  }
+
+  /** Returns true if field reviewProposalDescription is set (has been assigned a value) and false otherwise */
+  public boolean isSetReviewProposalDescription() {
+    return this.reviewProposalDescription != null;
+  }
+
+  public void setReviewProposalDescriptionIsSet(boolean value) {
+    if (!value) {
+      this.reviewProposalDescription = null;
+    }
+  }
+
+  public String getTenantAdminFirstName() {
+    return this.tenantAdminFirstName;
+  }
+
+  public void setTenantAdminFirstName(String tenantAdminFirstName) {
+    this.tenantAdminFirstName = tenantAdminFirstName;
+  }
+
+  public void unsetTenantAdminFirstName() {
+    this.tenantAdminFirstName = null;
+  }
+
+  /** Returns true if field tenantAdminFirstName is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantAdminFirstName() {
+    return this.tenantAdminFirstName != null;
+  }
+
+  public void setTenantAdminFirstNameIsSet(boolean value) {
+    if (!value) {
+      this.tenantAdminFirstName = null;
+    }
+  }
+
+  public String getTenantAdminLastName() {
+    return this.tenantAdminLastName;
+  }
+
+  public void setTenantAdminLastName(String tenantAdminLastName) {
+    this.tenantAdminLastName = tenantAdminLastName;
+  }
+
+  public void unsetTenantAdminLastName() {
+    this.tenantAdminLastName = null;
+  }
+
+  /** Returns true if field tenantAdminLastName is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantAdminLastName() {
+    return this.tenantAdminLastName != null;
+  }
+
+  public void setTenantAdminLastNameIsSet(boolean value) {
+    if (!value) {
+      this.tenantAdminLastName = null;
+    }
+  }
+
+  public String getTenantAdminEmail() {
+    return this.tenantAdminEmail;
+  }
+
+  public void setTenantAdminEmail(String tenantAdminEmail) {
+    this.tenantAdminEmail = tenantAdminEmail;
+  }
+
+  public void unsetTenantAdminEmail() {
+    this.tenantAdminEmail = null;
+  }
+
+  /** Returns true if field tenantAdminEmail is set (has been assigned a value) and false otherwise */
+  public boolean isSetTenantAdminEmail() {
+    return this.tenantAdminEmail != null;
+  }
+
+  public void setTenantAdminEmailIsSet(boolean value) {
+    if (!value) {
+      this.tenantAdminEmail = null;
+    }
+  }
+
+  public String getIdentityServerUserName() {
+    return this.identityServerUserName;
+  }
+
+  public void setIdentityServerUserName(String identityServerUserName) {
+    this.identityServerUserName = identityServerUserName;
+  }
+
+  public void unsetIdentityServerUserName() {
+    this.identityServerUserName = null;
+  }
+
+  /** Returns true if field identityServerUserName is set (has been assigned a value) and false otherwise */
+  public boolean isSetIdentityServerUserName() {
+    return this.identityServerUserName != null;
+  }
+
+  public void setIdentityServerUserNameIsSet(boolean value) {
+    if (!value) {
+      this.identityServerUserName = null;
+    }
+  }
+
+  public String getIdentityServerPasswordToken() {
+    return this.identityServerPasswordToken;
+  }
+
+  public void setIdentityServerPasswordToken(String identityServerPasswordToken) {
+    this.identityServerPasswordToken = identityServerPasswordToken;
+  }
+
+  public void unsetIdentityServerPasswordToken() {
+    this.identityServerPasswordToken = null;
+  }
+
+  /** Returns true if field identityServerPasswordToken is set (has been assigned a value) and false otherwise */
+  public boolean isSetIdentityServerPasswordToken() {
+    return this.identityServerPasswordToken != null;
+  }
+
+  public void setIdentityServerPasswordTokenIsSet(boolean value) {
+    if (!value) {
+      this.identityServerPasswordToken = null;
+    }
+  }
+
+  public String getDeclinedReason() {
+    return this.declinedReason;
+  }
+
+  public void setDeclinedReason(String declinedReason) {
+    this.declinedReason = declinedReason;
+  }
+
+  public void unsetDeclinedReason() {
+    this.declinedReason = null;
+  }
+
+  /** Returns true if field declinedReason is set (has been assigned a value) and false otherwise */
+  public boolean isSetDeclinedReason() {
+    return this.declinedReason != null;
+  }
+
+  public void setDeclinedReasonIsSet(boolean value) {
+    if (!value) {
+      this.declinedReason = null;
+    }
+  }
+
+  public String getOauthClientId() {
+    return this.oauthClientId;
+  }
+
+  public void setOauthClientId(String oauthClientId) {
+    this.oauthClientId = oauthClientId;
+  }
+
+  public void unsetOauthClientId() {
+    this.oauthClientId = null;
+  }
+
+  /** Returns true if field oauthClientId is set (has been assigned a value) and false otherwise */
+  public boolean isSetOauthClientId() {
+    return this.oauthClientId != null;
+  }
+
+  public void setOauthClientIdIsSet(boolean value) {
+    if (!value) {
+      this.oauthClientId = null;
+    }
+  }
+
+  public String getOauthClientSecret() {
+    return this.oauthClientSecret;
+  }
+
+  public void setOauthClientSecret(String oauthClientSecret) {
+    this.oauthClientSecret = oauthClientSecret;
+  }
+
+  public void unsetOauthClientSecret() {
+    this.oauthClientSecret = null;
+  }
+
+  /** Returns true if field oauthClientSecret is set (has been assigned a value) and false otherwise */
+  public boolean isSetOauthClientSecret() {
+    return this.oauthClientSecret != null;
+  }
+
+  public void setOauthClientSecretIsSet(boolean value) {
+    if (!value) {
+      this.oauthClientSecret = null;
+    }
+  }
+
+  public long getRequestCreationTime() {
+    return this.requestCreationTime;
+  }
+
+  public void setRequestCreationTime(long requestCreationTime) {
+    this.requestCreationTime = requestCreationTime;
+    setRequestCreationTimeIsSet(true);
+  }
+
+  public void unsetRequestCreationTime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __REQUESTCREATIONTIME_ISSET_ID);
+  }
+
+  /** Returns true if field requestCreationTime is set (has been assigned a value) and false otherwise */
+  public boolean isSetRequestCreationTime() {
+    return EncodingUtils.testBit(__isset_bitfield, __REQUESTCREATIONTIME_ISSET_ID);
+  }
+
+  public void setRequestCreationTimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __REQUESTCREATIONTIME_ISSET_ID, value);
+  }
+
+  public String getRequesterUsername() {
+    return this.requesterUsername;
+  }
+
+  public void setRequesterUsername(String requesterUsername) {
+    this.requesterUsername = requesterUsername;
+  }
+
+  public void unsetRequesterUsername() {
+    this.requesterUsername = null;
+  }
+
+  /** Returns true if field requesterUsername is set (has been assigned a value) and false otherwise */
+  public boolean isSetRequesterUsername() {
+    return this.requesterUsername != null;
+  }
+
+  public void setRequesterUsernameIsSet(boolean value) {
+    if (!value) {
+      this.requesterUsername = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case TENANT_ID:
+      if (value == null) {
+        unsetTenantId();
+      } else {
+        setTenantId((String)value);
+      }
+      break;
+
+    case TENANT_APPROVAL_STATUS:
+      if (value == null) {
+        unsetTenantApprovalStatus();
+      } else {
+        setTenantApprovalStatus((TenantApprovalStatus)value);
+      }
+      break;
+
+    case TENANT_NAME:
+      if (value == null) {
+        unsetTenantName();
+      } else {
+        setTenantName((String)value);
+      }
+      break;
+
+    case DOMAIN:
+      if (value == null) {
+        unsetDomain();
+      } else {
+        setDomain((String)value);
+      }
+      break;
+
+    case EMAIL_ADDRESS:
+      if (value == null) {
+        unsetEmailAddress();
+      } else {
+        setEmailAddress((String)value);
+      }
+      break;
+
+    case TENANT_ACRONYM:
+      if (value == null) {
+        unsetTenantAcronym();
+      } else {
+        setTenantAcronym((String)value);
+      }
+      break;
+
+    case TENANT_URL:
+      if (value == null) {
+        unsetTenantURL();
+      } else {
+        setTenantURL((String)value);
+      }
+      break;
+
+    case TENANT_PUBLIC_ABSTRACT:
+      if (value == null) {
+        unsetTenantPublicAbstract();
+      } else {
+        setTenantPublicAbstract((String)value);
+      }
+      break;
+
+    case REVIEW_PROPOSAL_DESCRIPTION:
+      if (value == null) {
+        unsetReviewProposalDescription();
+      } else {
+        setReviewProposalDescription((String)value);
+      }
+      break;
+
+    case TENANT_ADMIN_FIRST_NAME:
+      if (value == null) {
+        unsetTenantAdminFirstName();
+      } else {
+        setTenantAdminFirstName((String)value);
+      }
+      break;
+
+    case TENANT_ADMIN_LAST_NAME:
+      if (value == null) {
+        unsetTenantAdminLastName();
+      } else {
+        setTenantAdminLastName((String)value);
+      }
+      break;
+
+    case TENANT_ADMIN_EMAIL:
+      if (value == null) {
+        unsetTenantAdminEmail();
+      } else {
+        setTenantAdminEmail((String)value);
+      }
+      break;
+
+    case IDENTITY_SERVER_USER_NAME:
+      if (value == null) {
+        unsetIdentityServerUserName();
+      } else {
+        setIdentityServerUserName((String)value);
+      }
+      break;
+
+    case IDENTITY_SERVER_PASSWORD_TOKEN:
+      if (value == null) {
+        unsetIdentityServerPasswordToken();
+      } else {
+        setIdentityServerPasswordToken((String)value);
+      }
+      break;
+
+    case DECLINED_REASON:
+      if (value == null) {
+        unsetDeclinedReason();
+      } else {
+        setDeclinedReason((String)value);
+      }
+      break;
+
+    case OAUTH_CLIENT_ID:
+      if (value == null) {
+        unsetOauthClientId();
+      } else {
+        setOauthClientId((String)value);
+      }
+      break;
+
+    case OAUTH_CLIENT_SECRET:
+      if (value == null) {
+        unsetOauthClientSecret();
+      } else {
+        setOauthClientSecret((String)value);
+      }
+      break;
+
+    case REQUEST_CREATION_TIME:
+      if (value == null) {
+        unsetRequestCreationTime();
+      } else {
+        setRequestCreationTime((Long)value);
+      }
+      break;
+
+    case REQUESTER_USERNAME:
+      if (value == null) {
+        unsetRequesterUsername();
+      } else {
+        setRequesterUsername((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case TENANT_ID:
+      return getTenantId();
+
+    case TENANT_APPROVAL_STATUS:
+      return getTenantApprovalStatus();
+
+    case TENANT_NAME:
+      return getTenantName();
+
+    case DOMAIN:
+      return getDomain();
+
+    case EMAIL_ADDRESS:
+      return getEmailAddress();
+
+    case TENANT_ACRONYM:
+      return getTenantAcronym();
+
+    case TENANT_URL:
+      return getTenantURL();
+
+    case TENANT_PUBLIC_ABSTRACT:
+      return getTenantPublicAbstract();
+
+    case REVIEW_PROPOSAL_DESCRIPTION:
+      return getReviewProposalDescription();
+
+    case TENANT_ADMIN_FIRST_NAME:
+      return getTenantAdminFirstName();
+
+    case TENANT_ADMIN_LAST_NAME:
+      return getTenantAdminLastName();
+
+    case TENANT_ADMIN_EMAIL:
+      return getTenantAdminEmail();
+
+    case IDENTITY_SERVER_USER_NAME:
+      return getIdentityServerUserName();
+
+    case IDENTITY_SERVER_PASSWORD_TOKEN:
+      return getIdentityServerPasswordToken();
+
+    case DECLINED_REASON:
+      return getDeclinedReason();
+
+    case OAUTH_CLIENT_ID:
+      return getOauthClientId();
+
+    case OAUTH_CLIENT_SECRET:
+      return getOauthClientSecret();
+
+    case REQUEST_CREATION_TIME:
+      return getRequestCreationTime();
+
+    case REQUESTER_USERNAME:
+      return getRequesterUsername();
+
+    }
+    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 TENANT_ID:
+      return isSetTenantId();
+    case TENANT_APPROVAL_STATUS:
+      return isSetTenantApprovalStatus();
+    case TENANT_NAME:
+      return isSetTenantName();
+    case DOMAIN:
+      return isSetDomain();
+    case EMAIL_ADDRESS:
+      return isSetEmailAddress();
+    case TENANT_ACRONYM:
+      return isSetTenantAcronym();
+    case TENANT_URL:
+      return isSetTenantURL();
+    case TENANT_PUBLIC_ABSTRACT:
+      return isSetTenantPublicAbstract();
+    case REVIEW_PROPOSAL_DESCRIPTION:
+      return isSetReviewProposalDescription();
+    case TENANT_ADMIN_FIRST_NAME:
+      return isSetTenantAdminFirstName();
+    case TENANT_ADMIN_LAST_NAME:
+      return isSetTenantAdminLastName();
+    case TENANT_ADMIN_EMAIL:
+      return isSetTenantAdminEmail();
+    case IDENTITY_SERVER_USER_NAME:
+      return isSetIdentityServerUserName();
+    case IDENTITY_SERVER_PASSWORD_TOKEN:
+      return isSetIdentityServerPasswordToken();
+    case DECLINED_REASON:
+      return isSetDeclinedReason();
+    case OAUTH_CLIENT_ID:
+      return isSetOauthClientId();
+    case OAUTH_CLIENT_SECRET:
+      return isSetOauthClientSecret();
+    case REQUEST_CREATION_TIME:
+      return isSetRequestCreationTime();
+    case REQUESTER_USERNAME:
+      return isSetRequesterUsername();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Tenant)
+      return this.equals((Tenant)that);
+    return false;
+  }
+
+  public boolean equals(Tenant that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_tenantId = true && this.isSetTenantId();
+    boolean that_present_tenantId = true && that.isSetTenantId();
+    if (this_present_tenantId || that_present_tenantId) {
+      if (!(this_present_tenantId && that_present_tenantId))
+        return false;
+      if (!this.tenantId.equals(that.tenantId))
+        return false;
+    }
+
+    boolean this_present_tenantApprovalStatus = true && this.isSetTenantApprovalStatus();
+    boolean that_present_tenantApprovalStatus = true && that.isSetTenantApprovalStatus();
+    if (this_present_tenantApprovalStatus || that_present_tenantApprovalStatus) {
+      if (!(this_present_tenantApprovalStatus && that_present_tenantApprovalStatus))
+        return false;
+      if (!this.tenantApprovalStatus.equals(that.tenantApprovalStatus))
+        return false;
+    }
+
+    boolean this_present_tenantName = true && this.isSetTenantName();
+    boolean that_present_tenantName = true && that.isSetTenantName();
+    if (this_present_tenantName || that_present_tenantName) {
+      if (!(this_present_tenantName && that_present_tenantName))
+        return false;
+      if (!this.tenantName.equals(that.tenantName))
+        return false;
+    }
+
+    boolean this_present_domain = true && this.isSetDomain();
+    boolean that_present_domain = true && that.isSetDomain();
+    if (this_present_domain || that_present_domain) {
+      if (!(this_present_domain && that_present_domain))
+        return false;
+      if (!this.domain.equals(that.domain))
+        return false;
+    }
+
+    boolean this_present_emailAddress = true && this.isSetEmailAddress();
+    boolean that_present_emailAddress = true && that.isSetEmailAddress();
+    if (this_present_emailAddress || that_present_emailAddress) {
+      if (!(this_present_emailAddress && that_present_emailAddress))
+        return false;
+      if (!this.emailAddress.equals(that.emailAddress))
+        return false;
+    }
+
+    boolean this_present_tenantAcronym = true && this.isSetTenantAcronym();
+    boolean that_present_tenantAcronym = true && that.isSetTenantAcronym();
+    if (this_present_tenantAcronym || that_present_tenantAcronym) {
+      if (!(this_present_tenantAcronym && that_present_tenantAcronym))
+        return false;
+      if (!this.tenantAcronym.equals(that.tenantAcronym))
+        return false;
+    }
+
+    boolean this_present_tenantURL = true && this.isSetTenantURL();
+    boolean that_present_tenantURL = true && that.isSetTenantURL();
+    if (this_present_tenantURL || that_present_tenantURL) {
+      if (!(this_present_tenantURL && that_present_tenantURL))
+        return false;
+      if (!this.tenantURL.equals(that.tenantURL))
+        return false;
+    }
+
+    boolean this_present_tenantPublicAbstract = true && this.isSetTenantPublicAbstract();
+    boolean that_present_tenantPublicAbstract = true && that.isSetTenantPublicAbstract();
+    if (this_present_tenantPublicAbstract || that_present_tenantPublicAbstract) {
+      if (!(this_present_tenantPublicAbstract && that_present_tenantPublicAbstract))
+        return false;
+      if (!this.tenantPublicAbstract.equals(that.tenantPublicAbstract))
+        return false;
+    }
+
+    boolean this_present_reviewProposalDescription = true && this.isSetReviewProposalDescription();
+    boolean that_present_reviewProposalDescription = true && that.isSetReviewProposalDescription();
+    if (this_present_reviewProposalDescription || that_present_reviewProposalDescription) {
+      if (!(this_present_reviewProposalDescription && that_present_reviewProposalDescription))
+        return false;
+      if (!this.reviewProposalDescription.equals(that.reviewProposalDescription))
+        return false;
+    }
+
+    boolean this_present_tenantAdminFirstName = true && this.isSetTenantAdminFirstName();
+    boolean that_present_tenantAdminFirstName = true && that.isSetTenantAdminFirstName();
+    if (this_present_tenantAdminFirstName || that_present_tenantAdminFirstName) {
+      if (!(this_present_tenantAdminFirstName && that_present_tenantAdminFirstName))
+        return false;
+      if (!this.tenantAdminFirstName.equals(that.tenantAdminFirstName))
+        return false;
+    }
+
+    boolean this_present_tenantAdminLastName = true && this.isSetTenantAdminLastName();
+    boolean that_present_tenantAdminLastName = true && that.isSetTenantAdminLastName();
+    if (this_present_tenantAdminLastName || that_present_tenantAdminLastName) {
+      if (!(this_present_tenantAdminLastName && that_present_tenantAdminLastName))
+        return false;
+      if (!this.tenantAdminLastName.equals(that.tenantAdminLastName))
+        return false;
+    }
+
+    boolean this_present_tenantAdminEmail = true && this.isSetTenantAdminEmail();
+    boolean that_present_tenantAdminEmail = true && that.isSetTenantAdminEmail();
+    if (this_present_tenantAdminEmail || that_present_tenantAdminEmail) {
+      if (!(this_present_tenantAdminEmail && that_present_tenantAdminEmail))
+        return false;
+      if (!this.tenantAdminEmail.equals(that.tenantAdminEmail))
+        return false;
+    }
+
+    boolean this_present_identityServerUserName = true && this.isSetIdentityServerUserName();
+    boolean that_present_identityServerUserName = true && that.isSetIdentityServerUserName();
+    if (this_present_identityServerUserName || that_present_identityServerUserName) {
+      if (!(this_present_identityServerUserName && that_present_identityServerUserName))
+        return false;
+      if (!this.identityServerUserName.equals(that.identityServerUserName))
+        return false;
+    }
+
+    boolean this_present_identityServerPasswordToken = true && this.isSetIdentityServerPasswordToken();
+    boolean that_present_identityServerPasswordToken = true && that.isSetIdentityServerPasswordToken();
+    if (this_present_identityServerPasswordToken || that_present_identityServerPasswordToken) {
+      if (!(this_present_identityServerPasswordToken && that_present_identityServerPasswordToken))
+        return false;
+      if (!this.identityServerPasswordToken.equals(that.identityServerPasswordToken))
+        return false;
+    }
+
+    boolean this_present_declinedReason = true && this.isSetDeclinedReason();
+    boolean that_present_declinedReason = true && that.isSetDeclinedReason();
+    if (this_present_declinedReason || that_present_declinedReason) {
+      if (!(this_present_declinedReason && that_present_declinedReason))
+        return false;
+      if (!this.declinedReason.equals(that.declinedReason))
+        return false;
+    }
+
+    boolean this_present_oauthClientId = true && this.isSetOauthClientId();
+    boolean that_present_oauthClientId = true && that.isSetOauthClientId();
+    if (this_present_oauthClientId || that_present_oauthClientId) {
+      if (!(this_present_oauthClientId && that_present_oauthClientId))
+        return false;
+      if (!this.oauthClientId.equals(that.oauthClientId))
+        return false;
+    }
+
+    boolean this_present_oauthClientSecret = true && this.isSetOauthClientSecret();
+    boolean that_present_oauthClientSecret = true && that.isSetOauthClientSecret();
+    if (this_present_oauthClientSecret || that_present_oauthClientSecret) {
+      if (!(this_present_oauthClientSecret && that_present_oauthClientSecret))
+        return false;
+      if (!this.oauthClientSecret.equals(that.oauthClientSecret))
+        return false;
+    }
+
+    boolean this_present_requestCreationTime = true && this.isSetRequestCreationTime();
+    boolean that_present_requestCreationTime = true && that.isSetRequestCreationTime();
+    if (this_present_requestCreationTime || that_present_requestCreationTime) {
+      if (!(this_present_requestCreationTime && that_present_requestCreationTime))
+        return false;
+      if (this.requestCreationTime != that.requestCreationTime)
+        return false;
+    }
+
+    boolean this_present_requesterUsername = true && this.isSetRequesterUsername();
+    boolean that_present_requesterUsername = true && that.isSetRequesterUsername();
+    if (this_present_requesterUsername || that_present_requesterUsername) {
+      if (!(this_present_requesterUsername && that_present_requesterUsername))
+        return false;
+      if (!this.requesterUsername.equals(that.requesterUsername))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_tenantId = true && (isSetTenantId());
+    list.add(present_tenantId);
+    if (present_tenantId)
+      list.add(tenantId);
+
+    boolean present_tenantApprovalStatus = true && (isSetTenantApprovalStatus());
+    list.add(present_tenantApprovalStatus);
+    if (present_tenantApprovalStatus)
+      list.add(tenantApprovalStatus.getValue());
+
+    boolean present_tenantName = true && (isSetTenantName());
+    list.add(present_tenantName);
+    if (present_tenantName)
+      list.add(tenantName);
+
+    boolean present_domain = true && (isSetDomain());
+    list.add(present_domain);
+    if (present_domain)
+      list.add(domain);
+
+    boolean present_emailAddress = true && (isSetEmailAddress());
+    list.add(present_emailAddress);
+    if (present_emailAddress)
+      list.add(emailAddress);
+
+    boolean present_tenantAcronym = true && (isSetTenantAcronym());
+    list.add(present_tenantAcronym);
+    if (present_tenantAcronym)
+      list.add(tenantAcronym);
+
+    boolean present_tenantURL = true && (isSetTenantURL());
+    list.add(present_tenantURL);
+    if (present_tenantURL)
+      list.add(tenantURL);
+
+    boolean present_tenantPublicAbstract = true && (isSetTenantPublicAbstract());
+    list.add(present_tenantPublicAbstract);
+    if (present_tenantPublicAbstract)
+      list.add(tenantPublicAbstract);
+
+    boolean present_reviewProposalDescription = true && (isSetReviewProposalDescription());
+    list.add(present_reviewProposalDescription);
+    if (present_reviewProposalDescription)
+      list.add(reviewProposalDescription);
+
+    boolean present_tenantAdminFirstName = true && (isSetTenantAdminFirstName());
+    list.add(present_tenantAdminFirstName);
+    if (present_tenantAdminFirstName)
+      list.add(tenantAdminFirstName);
+
+    boolean present_tenantAdminLastName = true && (isSetTenantAdminLastName());
+    list.add(present_tenantAdminLastName);
+    if (present_tenantAdminLastName)
+      list.add(tenantAdminLastName);
+
+    boolean present_tenantAdminEmail = true && (isSetTenantAdminEmail());
+    list.add(present_tenantAdminEmail);
+    if (present_tenantAdminEmail)
+      list.add(tenantAdminEmail);
+
+    boolean present_identityServerUserName = true && (isSetIdentityServerUserName());
+    list.add(present_identityServerUserName);
+    if (present_identityServerUserName)
+      list.add(identityServerUserName);
+
+    boolean present_identityServerPasswordToken = true && (isSetIdentityServerPasswordToken());
+    list.add(present_identityServerPasswordToken);
+    if (present_identityServerPasswordToken)
+      list.add(identityServerPasswordToken);
+
+    boolean present_declinedReason = true && (isSetDeclinedReason());
+    list.add(present_declinedReason);
+    if (present_declinedReason)
+      list.add(declinedReason);
+
+    boolean present_oauthClientId = true && (isSetOauthClientId());
+    list.add(present_oauthClientId);
+    if (present_oauthClientId)
+      list.add(oauthClientId);
+
+    boolean present_oauthClientSecret = true && (isSetOauthClientSecret());
+    list.add(present_oauthClientSecret);
+    if (present_oauthClientSecret)
+      list.add(oauthClientSecret);
+
+    boolean present_requestCreationTime = true && (isSetRequestCreationTime());
+    list.add(present_requestCreationTime);
+    if (present_requestCreationTime)
+      list.add(requestCreationTime);
+
+    boolean present_requesterUsername = true && (isSetRequesterUsername());
+    list.add(present_requesterUsername);
+    if (present_requesterUsername)
+      list.add(requesterUsername);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(Tenant other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetTenantId()).compareTo(other.isSetTenantId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantId, other.tenantId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantApprovalStatus()).compareTo(other.isSetTenantApprovalStatus());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantApprovalStatus()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantApprovalStatus, other.tenantApprovalStatus);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantName()).compareTo(other.isSetTenantName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantName, other.tenantName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDomain()).compareTo(other.isSetDomain());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDomain()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domain, other.domain);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetEmailAddress()).compareTo(other.isSetEmailAddress());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetEmailAddress()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.emailAddress, other.emailAddress);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantAcronym()).compareTo(other.isSetTenantAcronym());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantAcronym()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantAcronym, other.tenantAcronym);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantURL()).compareTo(other.isSetTenantURL());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantURL()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantURL, other.tenantURL);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantPublicAbstract()).compareTo(other.isSetTenantPublicAbstract());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantPublicAbstract()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantPublicAbstract, other.tenantPublicAbstract);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetReviewProposalDescription()).compareTo(other.isSetReviewProposalDescription());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetReviewProposalDescription()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.reviewProposalDescription, other.reviewProposalDescription);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantAdminFirstName()).compareTo(other.isSetTenantAdminFirstName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantAdminFirstName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantAdminFirstName, other.tenantAdminFirstName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantAdminLastName()).compareTo(other.isSetTenantAdminLastName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantAdminLastName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantAdminLastName, other.tenantAdminLastName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTenantAdminEmail()).compareTo(other.isSetTenantAdminEmail());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTenantAdminEmail()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tenantAdminEmail, other.tenantAdminEmail);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetIdentityServerUserName()).compareTo(other.isSetIdentityServerUserName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetIdentityServerUserName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.identityServerUserName, other.identityServerUserName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetIdentityServerPasswordToken()).compareTo(other.isSetIdentityServerPasswordToken());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetIdentityServerPasswordToken()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.identityServerPasswordToken, other.identityServerPasswordToken);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDeclinedReason()).compareTo(other.isSetDeclinedReason());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDeclinedReason()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.declinedReason, other.declinedReason);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetOauthClientId()).compareTo(other.isSetOauthClientId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetOauthClientId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.oauthClientId, other.oauthClientId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetOauthClientSecret()).compareTo(other.isSetOauthClientSecret());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetOauthClientSecret()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.oauthClientSecret, other.oauthClientSecret);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetRequestCreationTime()).compareTo(other.isSetRequestCreationTime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetRequestCreationTime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.requestCreationTime, other.requestCreationTime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetRequesterUsername()).compareTo(other.isSetRequesterUsername());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetRequesterUsername()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.requesterUsername, other.requesterUsername);
+      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("Tenant(");
+    boolean first = true;
+
+    sb.append("tenantId:");
+    if (this.tenantId == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.tenantId);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("tenantApprovalStatus:");
+    if (this.tenantApprovalStatus == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.tenantApprovalStatus);
+    }
+    first = false;
+    if (isSetTenantName()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantName:");
+      if (this.tenantName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantName);
+      }
+      first = false;
+    }
+    if (isSetDomain()) {
+      if (!first) sb.append(", ");
+      sb.append("domain:");
+      if (this.domain == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.domain);
+      }
+      first = false;
+    }
+    if (isSetEmailAddress()) {
+      if (!first) sb.append(", ");
+      sb.append("emailAddress:");
+      if (this.emailAddress == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.emailAddress);
+      }
+      first = false;
+    }
+    if (isSetTenantAcronym()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantAcronym:");
+      if (this.tenantAcronym == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantAcronym);
+      }
+      first = false;
+    }
+    if (isSetTenantURL()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantURL:");
+      if (this.tenantURL == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantURL);
+      }
+      first = false;
+    }
+    if (isSetTenantPublicAbstract()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantPublicAbstract:");
+      if (this.tenantPublicAbstract == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantPublicAbstract);
+      }
+      first = false;
+    }
+    if (isSetReviewProposalDescription()) {
+      if (!first) sb.append(", ");
+      sb.append("reviewProposalDescription:");
+      if (this.reviewProposalDescription == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.reviewProposalDescription);
+      }
+      first = false;
+    }
+    if (isSetTenantAdminFirstName()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantAdminFirstName:");
+      if (this.tenantAdminFirstName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantAdminFirstName);
+      }
+      first = false;
+    }
+    if (isSetTenantAdminLastName()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantAdminLastName:");
+      if (this.tenantAdminLastName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantAdminLastName);
+      }
+      first = false;
+    }
+    if (isSetTenantAdminEmail()) {
+      if (!first) sb.append(", ");
+      sb.append("tenantAdminEmail:");
+      if (this.tenantAdminEmail == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tenantAdminEmail);
+      }
+      first = false;
+    }
+    if (isSetIdentityServerUserName()) {
+      if (!first) sb.append(", ");
+      sb.append("identityServerUserName:");
+      if (this.identityServerUserName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.identityServerUserName);
+      }
+      first = false;
+    }
+    if (isSetIdentityServerPasswordToken()) {
+      if (!first) sb.append(", ");
+      sb.append("identityServerPasswordToken:");
+      if (this.identityServerPasswordToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.identityServerPasswordToken);
+      }
+      first = false;
+    }
+    if (isSetDeclinedReason()) {
+      if (!first) sb.append(", ");
+      sb.append("declinedReason:");
+      if (this.declinedReason == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.declinedReason);
+      }
+      first = false;
+    }
+    if (isSetOauthClientId()) {
+      if (!first) sb.append(", ");
+      sb.append("oauthClientId:");
+      if (this.oauthClientId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.oauthClientId);
+      }
+      first = false;
+    }
+    if (isSetOauthClientSecret()) {
+      if (!first) sb.append(", ");
+      sb.append("oauthClientSecret:");
+      if (this.oauthClientSecret == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.oauthClientSecret);
+      }
+      first = false;
+    }
+    if (isSetRequestCreationTime()) {
+      if (!first) sb.append(", ");
+      sb.append("requestCreationTime:");
+      sb.append(this.requestCreationTime);
+      first = false;
+    }
+    if (isSetRequesterUsername()) {
+      if (!first) sb.append(", ");
+      sb.append("requesterUsername:");
+      if (this.requesterUsername == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.requesterUsername);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetTenantId()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'tenantId' is unset! Struct:" + toString());
+    }
+
+    if (!isSetTenantApprovalStatus()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'tenantApprovalStatus' is unset! Struct:" + toString());
+    }
+
+    // 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 TenantStandardSchemeFactory implements SchemeFactory {
+    public TenantStandardScheme getScheme() {
+      return new TenantStandardScheme();
+    }
+  }
+
+  private static class TenantStandardScheme extends StandardScheme<Tenant> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Tenant 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: // TENANT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantId = iprot.readString();
+              struct.setTenantIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // TENANT_APPROVAL_STATUS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.tenantApprovalStatus = org.apache.airavata.model.tenant.TenantApprovalStatus.findByValue(iprot.readI32());
+              struct.setTenantApprovalStatusIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // TENANT_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantName = iprot.readString();
+              struct.setTenantNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // DOMAIN
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.domain = iprot.readString();
+              struct.setDomainIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // EMAIL_ADDRESS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.emailAddress = iprot.readString();
+              struct.setEmailAddressIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // TENANT_ACRONYM
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantAcronym = iprot.readString();
+              struct.setTenantAcronymIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // TENANT_URL
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantURL = iprot.readString();
+              struct.setTenantURLIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // TENANT_PUBLIC_ABSTRACT
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantPublicAbstract = iprot.readString();
+              struct.setTenantPublicAbstractIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // REVIEW_PROPOSAL_DESCRIPTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.reviewProposalDescription = iprot.readString();
+              struct.setReviewProposalDescriptionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // TENANT_ADMIN_FIRST_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantAdminFirstName = iprot.readString();
+              struct.setTenantAdminFirstNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // TENANT_ADMIN_LAST_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantAdminLastName = iprot.readString();
+              struct.setTenantAdminLastNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 12: // TENANT_ADMIN_EMAIL
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tenantAdminEmail = iprot.readString();
+              struct.setTenantAdminEmailIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 13: // IDENTITY_SERVER_USER_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.identityServerUserName = iprot.readString();
+              struct.setIdentityServerUserNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 14: // IDENTITY_SERVER_PASSWORD_TOKEN
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.identityServerPasswordToken = iprot.readString();
+              struct.setIdentityServerPasswordTokenIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 15: // DECLINED_REASON
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.declinedReason = iprot.readString();
+              struct.setDeclinedReasonIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 16: // OAUTH_CLIENT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.oauthClientId = iprot.readString();
+              struct.setOauthClientIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 17: // OAUTH_CLIENT_SECRET
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.oauthClientSecret = iprot.readString();
+              struct.setOauthClientSecretIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 18: // REQUEST_CREATION_TIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.requestCreationTime = iprot.readI64();
+              struct.setRequestCreationTimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 19: // REQUESTER_USERNAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.requesterUsername = iprot.readString();
+              struct.setRequesterUsernameIsSet(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, Tenant struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.tenantId != null) {
+        oprot.writeFieldBegin(TENANT_ID_FIELD_DESC);
+        oprot.writeString(struct.tenantId);
+        oprot.writeFieldEnd();
+      }
+      if (struct.tenantApprovalStatus != null) {
+        oprot.writeFieldBegin(TENANT_APPROVAL_STATUS_FIELD_DESC);
+        oprot.writeI32(struct.tenantApprovalStatus.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.tenantName != null) {
+        if (struct.isSetTenantName()) {
+          oprot.writeFieldBegin(TENANT_NAME_FIELD_DESC);
+          oprot.writeString(struct.tenantName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.domain != null) {
+        if (struct.isSetDomain()) {
+          oprot.writeFieldBegin(DOMAIN_FIELD_DESC);
+          oprot.writeString(struct.domain);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.emailAddress != null) {
+        if (struct.isSetEmailAddress()) {
+          oprot.writeFieldBegin(EMAIL_ADDRESS_FIELD_DESC);
+          oprot.writeString(struct.emailAddress);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.tenantAcronym != null) {
+        if (struct.isSetTenantAcronym()) {
+          oprot.writeFieldBegin(TENANT_ACRONYM_FIELD_DESC);
+          oprot.writeString(struct.tenantAcronym);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.tenantURL != null) {
+        if (struct.isSetTenantURL()) {
+          oprot.writeFieldBegin(TENANT_URL_FIELD_DESC);
+          oprot.writeString(struct.tenantURL);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.tenantPublicAbstract != null) {
+        if (struct.isSetTenantPublicAbstract()) {
+          oprot.writeFieldBegin(TENANT_PUBLIC_ABSTRACT_FIELD_DESC);
+          oprot.writeString(struct.tenantPublicAbstract);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.reviewProposalDescription != null) {
+        if (struct.isSetReviewProposalDescription()) {
+          oprot.writeFieldBegin(REVIEW_PROPOSAL_DESCRIPTION_FIELD_DESC);
+          oprot.writeString(struct.reviewProposalDescription);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.tenantAdminFirstName != null) {
+        if (struct.isSetTenantAdminFirstName()) {
+          oprot.writeFieldBegin(TENANT_ADMIN_FIRST_NAME_FIELD_DESC);
+          oprot.writeString(struct.tenantAdminFirstName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.tenantAdminLastName != null) {
+        if (struct.isSetTenantAdminLastName()) {
+          oprot.writeFieldBegin(TENANT_ADMIN_LAST_NAME_FIELD_DESC);
+          oprot.writeString(struct.tenantAdminLastName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.tenantAdminEmail != null) {
+        if (struct.isSetTenantAdminEmail()) {
+          oprot.writeFieldBegin(TENANT_ADMIN_EMAIL_FIELD_DESC);
+          oprot.writeString(struct.tenantAdminEmail);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.identityServerUserName != null) {
+        if (struct.isSetIdentityServerUserName()) {
+          oprot.writeFieldBegin(IDENTITY_SERVER_USER_NAME_FIELD_DESC);
+          oprot.writeString(struct.identityServerUserName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.identityServerPasswordToken != null) {
+        if (struct.isSetIdentityServerPasswordToken()) {
+          oprot.writeFieldBegin(IDENTITY_SERVER_PASSWORD_TOKEN_FIELD_DESC);
+          oprot.writeString(struct.identityServerPasswordToken);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.declinedReason != null) {
+        if (struct.isSetDeclinedReason()) {
+          oprot.writeFieldBegin(DECLINED_REASON_FIELD_DESC);
+          oprot.writeString(struct.declinedReason);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.oauthClientId != null) {
+        if (struct.isSetOauthClientId()) {
+          oprot.writeFieldBegin(OAUTH_CLIENT_ID_FIELD_DESC);
+          oprot.writeString(struct.oauthClientId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.oauthClientSecret != null) {
+        if (struct.isSetOauthClientSecret()) {
+          oprot.writeFieldBegin(OAUTH_CLIENT_SECRET_FIELD_DESC);
+          oprot.writeString(struct.oauthClientSecret);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetRequestCreationTime()) {
+        oprot.writeFieldBegin(REQUEST_CREATION_TIME_FIELD_DESC);
+        oprot.writeI64(struct.requestCreationTime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.requesterUsername != null) {
+        if (struct.isSetRequesterUsername()) {
+          oprot.writeFieldBegin(REQUESTER_USERNAME_FIELD_DESC);
+          oprot.writeString(struct.requesterUsername);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class TenantTupleSchemeFactory implements SchemeFactory {
+    public TenantTupleScheme getScheme() {
+      return new TenantTupleScheme();
+    }
+  }
+
+  private static class TenantTupleScheme extends TupleScheme<Tenant> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Tenant struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.tenantId);
+      oprot.writeI32(struct.tenantApprovalStatus.getValue());
+      BitSet optionals = new BitSet();
+      if (struct.isSetTenantName()) {
+        optionals.set(0);
+      }
+      if (struct.isSetDomain()) {
+        optionals.set(1);
+      }
+      if (struct.isSetEmailAddress()) {
+        optionals.set(2);
+      }
+      if (struct.isSetTenantAcronym()) {
+        optionals.set(3);
+      }
+      if (struct.isSetTenantURL()) {
+        optionals.set(4);
+      }
+      if (struct.isSetTenantPublicAbstract()) {
+        optionals.set(5);
+      }
+      if (struct.isSetReviewProposalDescription()) {
+        optionals.set(6);
+      }
+      if (struct.isSetTenantAdminFirstName()) {
+        optionals.set(7);
+      }
+      if (struct.isSetTenantAdminLastName()) {
+        optionals.set(8);
+      }
+      if (struct.isSetTenantAdminEmail()) {
+        optionals.set(9);
+      }
+      if (struct.isSetIdentityServerUserName()) {
+        optionals.set(10);
+      }
+      if (struct.isSetIdentityServerPasswordToken()) {
+        optionals.set(11);
+      }
+      if (struct.isSetDeclinedReason()) {
+        optionals.set(12);
+      }
+      if (struct.isSetOauthClientId()) {
+        optionals.set(13);
+      }
+      if (struct.isSetOauthClientSecret()) {
+        optionals.set(14);
+      }
+      if (struct.isSetRequestCreationTime()) {
+        optionals.set(15);
+      }
+      if (struct.isSetRequesterUsername()) {
+        optionals.set(16);
+      }
+      oprot.writeBitSet(optionals, 17);
+      if (struct.isSetTenantName()) {
+        oprot.writeString(struct.tenantName);
+      }
+      if (struct.isSetDomain()) {
+        oprot.writeString(struct.domain);
+      }
+      if (struct.isSetEmailAddress()) {
+        oprot.writeString(struct.emailAddress);
+      }
+      if (struct.isSetTenantAcronym()) {
+        oprot.writeString(struct.tenantAcronym);
+      }
+      if (struct.isSetTenantURL()) {
+        oprot.writeString(struct.tenantURL);
+      }
+      if (struct.isSetTenantPublicAbstract()) {
+        oprot.writeString(struct.tenantPublicAbstract);
+      }
+      if (struct.isSetReviewProposalDescription()) {
+        oprot.writeString(struct.reviewProposalDescription);
+      }
+      if (struct.isSetTenantAdminFirstName()) {
+        oprot.writeString(struct.tenantAdminFirstName);
+      }
+      if (struct.isSetTenantAdminLastName()) {
+        oprot.writeString(struct.tenantAdminLastName);
+      }
+      if (struct.isSetTenantAdminEmail()) {
+        oprot.writeString(struct.tenantAdminEmail);
+      }
+      if (struct.isSetIdentityServerUserName()) {
+        oprot.writeString(struct.identityServerUserName);
+      }
+      if (struct.isSetIdentityServerPasswordToken()) {
+        oprot.writeString(struct.identityServerPasswordToken);
+      }
+      if (struct.isSetDeclinedReason()) {
+        oprot.writeString(struct.declinedReason);
+      }
+      if (struct.isSetOauthClientId()) {
+        oprot.writeString(struct.oauthClientId);
+      }
+      if (struct.isSetOauthClientSecret()) {
+        oprot.writeString(struct.oauthClientSecret);
+      }
+      if (struct.isSetRequestCreationTime()) {
+        oprot.writeI64(struct.requestCreationTime);
+      }
+      if (struct.isSetRequesterUsername()) {
+        oprot.writeString(struct.requesterUsername);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Tenant struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.tenantId = iprot.readString();
+      struct.setTenantIdIsSet(true);
+      struct.tenantApprovalStatus = org.apache.airavata.model.tenant.TenantApprovalStatus.findByValue(iprot.readI32());
+      struct.setTenantApprovalStatusIsSet(true);
+      BitSet incoming = iprot.readBitSet(17);
+      if (incoming.get(0)) {
+        struct.tenantName = iprot.readString();
+        struct.setTenantNameIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.domain = iprot.readString();
+        struct.setDomainIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.emailAddress = iprot.readString();
+        struct.setEmailAddressIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.tenantAcronym = iprot.readString();
+        struct.setTenantAcronymIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.tenantURL = iprot.readString();
+        struct.setTenantURLIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.tenantPublicAbstract = iprot.readString();
+        struct.setTenantPublicAbstractIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.reviewProposalDescription = iprot.readString();
+        struct.setReviewProposalDescriptionIsSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.tenantAdminFirstName = iprot.readString();
+        struct.setTenantAdminFirstNameIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.tenantAdminLastName = iprot.readString();
+        struct.setTenantAdminLastNameIsSet(true);
+      }
+      if (incoming.get(9)) {
+        struct.tenantAdminEmail = iprot.readString();
+        struct.setTenantAdminEmailIsSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.identityServerUserName = iprot.readString();
+        struct.setIdentityServerUserNameIsSet(true);
+      }
+      if (incoming.get(11)) {
+        struct.identityServerPasswordToken = iprot.readString();
+        struct.setIdentityServerPasswordTokenIsSet(true);
+      }
+      if (incoming.get(12)) {
+        struct.declinedReason = iprot.readString();
+        struct.setDeclinedReasonIsSet(true);
+      }
+      if (incoming.get(13)) {
+        struct.oauthClientId = iprot.readString();
+        struct.setOauthClientIdIsSet(true);
+      }
+      if (incoming.get(14)) {
+        struct.oauthClientSecret = iprot.readString();
+        struct.setOauthClientSecretIsSet(true);
+      }
+      if (incoming.get(15)) {
+        struct.requestCreationTime = iprot.readI64();
+        struct.setRequestCreationTimeIsSet(true);
+      }
+      if (incoming.get(16)) {
+        struct.requesterUsername = iprot.readString();
+        struct.setRequesterUsernameIsSet(true);
+      }
+    }
+  }
+
+}
+