http://git-wip-us.apache.org/repos/asf/airavata/blob/25da582a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java new file mode 100644 index 0000000..ba911fd --- /dev/null +++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java @@ -0,0 +1,2504 @@ +/** + * 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.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package org.apache.airavata.model.experiment; + +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"}) +/** + * A structure holding the experiment metadata and its child models. + * + * userName: + * The user name of the targeted gateway end user on whose behalf the experiment is being created. + * the associated gateway identity can only be inferred from the security hand-shake so as to avoid + * authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with + * Airavata, an authorization exception is thrown. + * + * experimentName: + * The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced + * by the generated experiment id. + * + * experimentDescription: + * The verbose description of the experiment. This is an optional parameter. + */ +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-2") +public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel, ExperimentModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentModel> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentModel"); + + private static final org.apache.thrift.protocol.TField EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentId", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)2); + 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)3); + private static final org.apache.thrift.protocol.TField EXPERIMENT_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentType", org.apache.thrift.protocol.TType.I32, (short)4); + private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)5); + private static final org.apache.thrift.protocol.TField EXPERIMENT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentName", org.apache.thrift.protocol.TType.STRING, (short)6); + 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)7); + private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)8); + private static final org.apache.thrift.protocol.TField EXECUTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("executionId", org.apache.thrift.protocol.TType.STRING, (short)9); + private static final org.apache.thrift.protocol.TField GATEWAY_EXECUTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayExecutionId", org.apache.thrift.protocol.TType.STRING, (short)10); + private static final org.apache.thrift.protocol.TField ENABLE_EMAIL_NOTIFICATION_FIELD_DESC = new org.apache.thrift.protocol.TField("enableEmailNotification", org.apache.thrift.protocol.TType.BOOL, (short)11); + private static final org.apache.thrift.protocol.TField EMAIL_ADDRESSES_FIELD_DESC = new org.apache.thrift.protocol.TField("emailAddresses", org.apache.thrift.protocol.TType.LIST, (short)12); + private static final org.apache.thrift.protocol.TField USER_CONFIGURATION_DATA_FIELD_DESC = new org.apache.thrift.protocol.TField("userConfigurationData", org.apache.thrift.protocol.TType.STRUCT, (short)13); + private static final org.apache.thrift.protocol.TField EXPERIMENT_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentInputs", org.apache.thrift.protocol.TType.LIST, (short)14); + private static final org.apache.thrift.protocol.TField EXPERIMENT_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentOutputs", org.apache.thrift.protocol.TType.LIST, (short)15); + private static final org.apache.thrift.protocol.TField EXPERIMENT_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentStatus", org.apache.thrift.protocol.TType.STRUCT, (short)16); + private static final org.apache.thrift.protocol.TField ERRORS_FIELD_DESC = new org.apache.thrift.protocol.TField("errors", org.apache.thrift.protocol.TType.LIST, (short)17); + private static final org.apache.thrift.protocol.TField PROCESSES_FIELD_DESC = new org.apache.thrift.protocol.TField("processes", org.apache.thrift.protocol.TType.LIST, (short)18); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ExperimentModelStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ExperimentModelTupleSchemeFactory()); + } + + public String experimentId; // required + public String projectId; // required + public String gatewayId; // required + /** + * + * @see ExperimentType + */ + public ExperimentType experimentType; // required + public String userName; // required + public String experimentName; // required + public long creationTime; // optional + public String description; // optional + public String executionId; // optional + public String gatewayExecutionId; // optional + public boolean enableEmailNotification; // optional + public List<String> emailAddresses; // optional + public UserConfigurationDataModel userConfigurationData; // optional + public List<org.apache.airavata.model.application.io.InputDataObjectType> experimentInputs; // optional + public List<org.apache.airavata.model.application.io.OutputDataObjectType> experimentOutputs; // optional + public org.apache.airavata.model.status.ExperimentStatus experimentStatus; // optional + public List<org.apache.airavata.model.commons.ErrorModel> errors; // optional + public List<org.apache.airavata.model.process.ProcessModel> processes; // 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 { + EXPERIMENT_ID((short)1, "experimentId"), + PROJECT_ID((short)2, "projectId"), + GATEWAY_ID((short)3, "gatewayId"), + /** + * + * @see ExperimentType + */ + EXPERIMENT_TYPE((short)4, "experimentType"), + USER_NAME((short)5, "userName"), + EXPERIMENT_NAME((short)6, "experimentName"), + CREATION_TIME((short)7, "creationTime"), + DESCRIPTION((short)8, "description"), + EXECUTION_ID((short)9, "executionId"), + GATEWAY_EXECUTION_ID((short)10, "gatewayExecutionId"), + ENABLE_EMAIL_NOTIFICATION((short)11, "enableEmailNotification"), + EMAIL_ADDRESSES((short)12, "emailAddresses"), + USER_CONFIGURATION_DATA((short)13, "userConfigurationData"), + EXPERIMENT_INPUTS((short)14, "experimentInputs"), + EXPERIMENT_OUTPUTS((short)15, "experimentOutputs"), + EXPERIMENT_STATUS((short)16, "experimentStatus"), + ERRORS((short)17, "errors"), + PROCESSES((short)18, "processes"); + + 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: // EXPERIMENT_ID + return EXPERIMENT_ID; + case 2: // PROJECT_ID + return PROJECT_ID; + case 3: // GATEWAY_ID + return GATEWAY_ID; + case 4: // EXPERIMENT_TYPE + return EXPERIMENT_TYPE; + case 5: // USER_NAME + return USER_NAME; + case 6: // EXPERIMENT_NAME + return EXPERIMENT_NAME; + case 7: // CREATION_TIME + return CREATION_TIME; + case 8: // DESCRIPTION + return DESCRIPTION; + case 9: // EXECUTION_ID + return EXECUTION_ID; + case 10: // GATEWAY_EXECUTION_ID + return GATEWAY_EXECUTION_ID; + case 11: // ENABLE_EMAIL_NOTIFICATION + return ENABLE_EMAIL_NOTIFICATION; + case 12: // EMAIL_ADDRESSES + return EMAIL_ADDRESSES; + case 13: // USER_CONFIGURATION_DATA + return USER_CONFIGURATION_DATA; + case 14: // EXPERIMENT_INPUTS + return EXPERIMENT_INPUTS; + case 15: // EXPERIMENT_OUTPUTS + return EXPERIMENT_OUTPUTS; + case 16: // EXPERIMENT_STATUS + return EXPERIMENT_STATUS; + case 17: // ERRORS + return ERRORS; + case 18: // PROCESSES + return PROCESSES; + 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 __CREATIONTIME_ISSET_ID = 0; + private static final int __ENABLEEMAILNOTIFICATION_ISSET_ID = 1; + private byte __isset_bitfield = 0; + private static final _Fields optionals[] = {_Fields.CREATION_TIME,_Fields.DESCRIPTION,_Fields.EXECUTION_ID,_Fields.GATEWAY_EXECUTION_ID,_Fields.ENABLE_EMAIL_NOTIFICATION,_Fields.EMAIL_ADDRESSES,_Fields.USER_CONFIGURATION_DATA,_Fields.EXPERIMENT_INPUTS,_Fields.EXPERIMENT_OUTPUTS,_Fields.EXPERIMENT_STATUS,_Fields.ERRORS,_Fields.PROCESSES}; + 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.EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("experimentId", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.REQUIRED, + 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.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.EXPERIMENT_TYPE, new org.apache.thrift.meta_data.FieldMetaData("experimentType", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ExperimentType.class))); + tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.EXPERIMENT_NAME, new org.apache.thrift.meta_data.FieldMetaData("experimentName", org.apache.thrift.TFieldRequirementType.REQUIRED, + 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.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.EXECUTION_ID, new org.apache.thrift.meta_data.FieldMetaData("executionId", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.GATEWAY_EXECUTION_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayExecutionId", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.ENABLE_EMAIL_NOTIFICATION, new org.apache.thrift.meta_data.FieldMetaData("enableEmailNotification", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.EMAIL_ADDRESSES, new org.apache.thrift.meta_data.FieldMetaData("emailAddresses", 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.USER_CONFIGURATION_DATA, new org.apache.thrift.meta_data.FieldMetaData("userConfigurationData", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, UserConfigurationDataModel.class))); + tmpMap.put(_Fields.EXPERIMENT_INPUTS, new org.apache.thrift.meta_data.FieldMetaData("experimentInputs", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.application.io.InputDataObjectType.class)))); + tmpMap.put(_Fields.EXPERIMENT_OUTPUTS, new org.apache.thrift.meta_data.FieldMetaData("experimentOutputs", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.application.io.OutputDataObjectType.class)))); + tmpMap.put(_Fields.EXPERIMENT_STATUS, new org.apache.thrift.meta_data.FieldMetaData("experimentStatus", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.ExperimentStatus.class))); + tmpMap.put(_Fields.ERRORS, new org.apache.thrift.meta_data.FieldMetaData("errors", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.commons.ErrorModel.class)))); + tmpMap.put(_Fields.PROCESSES, new org.apache.thrift.meta_data.FieldMetaData("processes", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.process.ProcessModel.class)))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ExperimentModel.class, metaDataMap); + } + + public ExperimentModel() { + this.experimentId = "DO_NOT_SET_AT_CLIENTS"; + + this.experimentType = org.apache.airavata.model.experiment.ExperimentType.SINGLE_APPLICATION; + + } + + public ExperimentModel( + String experimentId, + String projectId, + String gatewayId, + ExperimentType experimentType, + String userName, + String experimentName) + { + this(); + this.experimentId = experimentId; + this.projectId = projectId; + this.gatewayId = gatewayId; + this.experimentType = experimentType; + this.userName = userName; + this.experimentName = experimentName; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public ExperimentModel(ExperimentModel other) { + __isset_bitfield = other.__isset_bitfield; + if (other.isSetExperimentId()) { + this.experimentId = other.experimentId; + } + if (other.isSetProjectId()) { + this.projectId = other.projectId; + } + if (other.isSetGatewayId()) { + this.gatewayId = other.gatewayId; + } + if (other.isSetExperimentType()) { + this.experimentType = other.experimentType; + } + if (other.isSetUserName()) { + this.userName = other.userName; + } + if (other.isSetExperimentName()) { + this.experimentName = other.experimentName; + } + this.creationTime = other.creationTime; + if (other.isSetDescription()) { + this.description = other.description; + } + if (other.isSetExecutionId()) { + this.executionId = other.executionId; + } + if (other.isSetGatewayExecutionId()) { + this.gatewayExecutionId = other.gatewayExecutionId; + } + this.enableEmailNotification = other.enableEmailNotification; + if (other.isSetEmailAddresses()) { + List<String> __this__emailAddresses = new ArrayList<String>(other.emailAddresses); + this.emailAddresses = __this__emailAddresses; + } + if (other.isSetUserConfigurationData()) { + this.userConfigurationData = new UserConfigurationDataModel(other.userConfigurationData); + } + if (other.isSetExperimentInputs()) { + List<org.apache.airavata.model.application.io.InputDataObjectType> __this__experimentInputs = new ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(other.experimentInputs.size()); + for (org.apache.airavata.model.application.io.InputDataObjectType other_element : other.experimentInputs) { + __this__experimentInputs.add(new org.apache.airavata.model.application.io.InputDataObjectType(other_element)); + } + this.experimentInputs = __this__experimentInputs; + } + if (other.isSetExperimentOutputs()) { + List<org.apache.airavata.model.application.io.OutputDataObjectType> __this__experimentOutputs = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(other.experimentOutputs.size()); + for (org.apache.airavata.model.application.io.OutputDataObjectType other_element : other.experimentOutputs) { + __this__experimentOutputs.add(new org.apache.airavata.model.application.io.OutputDataObjectType(other_element)); + } + this.experimentOutputs = __this__experimentOutputs; + } + if (other.isSetExperimentStatus()) { + this.experimentStatus = new org.apache.airavata.model.status.ExperimentStatus(other.experimentStatus); + } + if (other.isSetErrors()) { + List<org.apache.airavata.model.commons.ErrorModel> __this__errors = new ArrayList<org.apache.airavata.model.commons.ErrorModel>(other.errors.size()); + for (org.apache.airavata.model.commons.ErrorModel other_element : other.errors) { + __this__errors.add(new org.apache.airavata.model.commons.ErrorModel(other_element)); + } + this.errors = __this__errors; + } + if (other.isSetProcesses()) { + List<org.apache.airavata.model.process.ProcessModel> __this__processes = new ArrayList<org.apache.airavata.model.process.ProcessModel>(other.processes.size()); + for (org.apache.airavata.model.process.ProcessModel other_element : other.processes) { + __this__processes.add(new org.apache.airavata.model.process.ProcessModel(other_element)); + } + this.processes = __this__processes; + } + } + + public ExperimentModel deepCopy() { + return new ExperimentModel(this); + } + + @Override + public void clear() { + this.experimentId = "DO_NOT_SET_AT_CLIENTS"; + + this.projectId = null; + this.gatewayId = null; + this.experimentType = org.apache.airavata.model.experiment.ExperimentType.SINGLE_APPLICATION; + + this.userName = null; + this.experimentName = null; + setCreationTimeIsSet(false); + this.creationTime = 0; + this.description = null; + this.executionId = null; + this.gatewayExecutionId = null; + setEnableEmailNotificationIsSet(false); + this.enableEmailNotification = false; + this.emailAddresses = null; + this.userConfigurationData = null; + this.experimentInputs = null; + this.experimentOutputs = null; + this.experimentStatus = null; + this.errors = null; + this.processes = null; + } + + public String getExperimentId() { + return this.experimentId; + } + + public ExperimentModel setExperimentId(String experimentId) { + this.experimentId = experimentId; + return this; + } + + public void unsetExperimentId() { + this.experimentId = null; + } + + /** Returns true if field experimentId is set (has been assigned a value) and false otherwise */ + public boolean isSetExperimentId() { + return this.experimentId != null; + } + + public void setExperimentIdIsSet(boolean value) { + if (!value) { + this.experimentId = null; + } + } + + public String getProjectId() { + return this.projectId; + } + + public ExperimentModel setProjectId(String projectId) { + this.projectId = projectId; + return this; + } + + public void unsetProjectId() { + this.projectId = null; + } + + /** Returns true if field projectId is set (has been assigned a value) and false otherwise */ + public boolean isSetProjectId() { + return this.projectId != null; + } + + public void setProjectIdIsSet(boolean value) { + if (!value) { + this.projectId = null; + } + } + + public String getGatewayId() { + return this.gatewayId; + } + + public ExperimentModel setGatewayId(String gatewayId) { + this.gatewayId = gatewayId; + return this; + } + + 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; + } + } + + /** + * + * @see ExperimentType + */ + public ExperimentType getExperimentType() { + return this.experimentType; + } + + /** + * + * @see ExperimentType + */ + public ExperimentModel setExperimentType(ExperimentType experimentType) { + this.experimentType = experimentType; + return this; + } + + public void unsetExperimentType() { + this.experimentType = null; + } + + /** Returns true if field experimentType is set (has been assigned a value) and false otherwise */ + public boolean isSetExperimentType() { + return this.experimentType != null; + } + + public void setExperimentTypeIsSet(boolean value) { + if (!value) { + this.experimentType = null; + } + } + + public String getUserName() { + return this.userName; + } + + public ExperimentModel setUserName(String userName) { + this.userName = userName; + return this; + } + + 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 String getExperimentName() { + return this.experimentName; + } + + public ExperimentModel setExperimentName(String experimentName) { + this.experimentName = experimentName; + return this; + } + + public void unsetExperimentName() { + this.experimentName = null; + } + + /** Returns true if field experimentName is set (has been assigned a value) and false otherwise */ + public boolean isSetExperimentName() { + return this.experimentName != null; + } + + public void setExperimentNameIsSet(boolean value) { + if (!value) { + this.experimentName = null; + } + } + + public long getCreationTime() { + return this.creationTime; + } + + public ExperimentModel setCreationTime(long creationTime) { + this.creationTime = creationTime; + setCreationTimeIsSet(true); + return this; + } + + 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 String getDescription() { + return this.description; + } + + public ExperimentModel setDescription(String description) { + this.description = description; + return this; + } + + public void unsetDescription() { + this.description = null; + } + + /** Returns true if field description is set (has been assigned a value) and false otherwise */ + public boolean isSetDescription() { + return this.description != null; + } + + public void setDescriptionIsSet(boolean value) { + if (!value) { + this.description = null; + } + } + + public String getExecutionId() { + return this.executionId; + } + + public ExperimentModel setExecutionId(String executionId) { + this.executionId = executionId; + return this; + } + + public void unsetExecutionId() { + this.executionId = null; + } + + /** Returns true if field executionId is set (has been assigned a value) and false otherwise */ + public boolean isSetExecutionId() { + return this.executionId != null; + } + + public void setExecutionIdIsSet(boolean value) { + if (!value) { + this.executionId = null; + } + } + + public String getGatewayExecutionId() { + return this.gatewayExecutionId; + } + + public ExperimentModel setGatewayExecutionId(String gatewayExecutionId) { + this.gatewayExecutionId = gatewayExecutionId; + return this; + } + + public void unsetGatewayExecutionId() { + this.gatewayExecutionId = null; + } + + /** Returns true if field gatewayExecutionId is set (has been assigned a value) and false otherwise */ + public boolean isSetGatewayExecutionId() { + return this.gatewayExecutionId != null; + } + + public void setGatewayExecutionIdIsSet(boolean value) { + if (!value) { + this.gatewayExecutionId = null; + } + } + + public boolean isEnableEmailNotification() { + return this.enableEmailNotification; + } + + public ExperimentModel setEnableEmailNotification(boolean enableEmailNotification) { + this.enableEmailNotification = enableEmailNotification; + setEnableEmailNotificationIsSet(true); + return this; + } + + public void unsetEnableEmailNotification() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ENABLEEMAILNOTIFICATION_ISSET_ID); + } + + /** Returns true if field enableEmailNotification is set (has been assigned a value) and false otherwise */ + public boolean isSetEnableEmailNotification() { + return EncodingUtils.testBit(__isset_bitfield, __ENABLEEMAILNOTIFICATION_ISSET_ID); + } + + public void setEnableEmailNotificationIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ENABLEEMAILNOTIFICATION_ISSET_ID, value); + } + + public int getEmailAddressesSize() { + return (this.emailAddresses == null) ? 0 : this.emailAddresses.size(); + } + + public java.util.Iterator<String> getEmailAddressesIterator() { + return (this.emailAddresses == null) ? null : this.emailAddresses.iterator(); + } + + public void addToEmailAddresses(String elem) { + if (this.emailAddresses == null) { + this.emailAddresses = new ArrayList<String>(); + } + this.emailAddresses.add(elem); + } + + public List<String> getEmailAddresses() { + return this.emailAddresses; + } + + public ExperimentModel setEmailAddresses(List<String> emailAddresses) { + this.emailAddresses = emailAddresses; + return this; + } + + public void unsetEmailAddresses() { + this.emailAddresses = null; + } + + /** Returns true if field emailAddresses is set (has been assigned a value) and false otherwise */ + public boolean isSetEmailAddresses() { + return this.emailAddresses != null; + } + + public void setEmailAddressesIsSet(boolean value) { + if (!value) { + this.emailAddresses = null; + } + } + + public UserConfigurationDataModel getUserConfigurationData() { + return this.userConfigurationData; + } + + public ExperimentModel setUserConfigurationData(UserConfigurationDataModel userConfigurationData) { + this.userConfigurationData = userConfigurationData; + return this; + } + + public void unsetUserConfigurationData() { + this.userConfigurationData = null; + } + + /** Returns true if field userConfigurationData is set (has been assigned a value) and false otherwise */ + public boolean isSetUserConfigurationData() { + return this.userConfigurationData != null; + } + + public void setUserConfigurationDataIsSet(boolean value) { + if (!value) { + this.userConfigurationData = null; + } + } + + public int getExperimentInputsSize() { + return (this.experimentInputs == null) ? 0 : this.experimentInputs.size(); + } + + public java.util.Iterator<org.apache.airavata.model.application.io.InputDataObjectType> getExperimentInputsIterator() { + return (this.experimentInputs == null) ? null : this.experimentInputs.iterator(); + } + + public void addToExperimentInputs(org.apache.airavata.model.application.io.InputDataObjectType elem) { + if (this.experimentInputs == null) { + this.experimentInputs = new ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(); + } + this.experimentInputs.add(elem); + } + + public List<org.apache.airavata.model.application.io.InputDataObjectType> getExperimentInputs() { + return this.experimentInputs; + } + + public ExperimentModel setExperimentInputs(List<org.apache.airavata.model.application.io.InputDataObjectType> experimentInputs) { + this.experimentInputs = experimentInputs; + return this; + } + + public void unsetExperimentInputs() { + this.experimentInputs = null; + } + + /** Returns true if field experimentInputs is set (has been assigned a value) and false otherwise */ + public boolean isSetExperimentInputs() { + return this.experimentInputs != null; + } + + public void setExperimentInputsIsSet(boolean value) { + if (!value) { + this.experimentInputs = null; + } + } + + public int getExperimentOutputsSize() { + return (this.experimentOutputs == null) ? 0 : this.experimentOutputs.size(); + } + + public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getExperimentOutputsIterator() { + return (this.experimentOutputs == null) ? null : this.experimentOutputs.iterator(); + } + + public void addToExperimentOutputs(org.apache.airavata.model.application.io.OutputDataObjectType elem) { + if (this.experimentOutputs == null) { + this.experimentOutputs = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(); + } + this.experimentOutputs.add(elem); + } + + public List<org.apache.airavata.model.application.io.OutputDataObjectType> getExperimentOutputs() { + return this.experimentOutputs; + } + + public ExperimentModel setExperimentOutputs(List<org.apache.airavata.model.application.io.OutputDataObjectType> experimentOutputs) { + this.experimentOutputs = experimentOutputs; + return this; + } + + public void unsetExperimentOutputs() { + this.experimentOutputs = null; + } + + /** Returns true if field experimentOutputs is set (has been assigned a value) and false otherwise */ + public boolean isSetExperimentOutputs() { + return this.experimentOutputs != null; + } + + public void setExperimentOutputsIsSet(boolean value) { + if (!value) { + this.experimentOutputs = null; + } + } + + public org.apache.airavata.model.status.ExperimentStatus getExperimentStatus() { + return this.experimentStatus; + } + + public ExperimentModel setExperimentStatus(org.apache.airavata.model.status.ExperimentStatus experimentStatus) { + this.experimentStatus = experimentStatus; + return this; + } + + public void unsetExperimentStatus() { + this.experimentStatus = null; + } + + /** Returns true if field experimentStatus is set (has been assigned a value) and false otherwise */ + public boolean isSetExperimentStatus() { + return this.experimentStatus != null; + } + + public void setExperimentStatusIsSet(boolean value) { + if (!value) { + this.experimentStatus = null; + } + } + + public int getErrorsSize() { + return (this.errors == null) ? 0 : this.errors.size(); + } + + public java.util.Iterator<org.apache.airavata.model.commons.ErrorModel> getErrorsIterator() { + return (this.errors == null) ? null : this.errors.iterator(); + } + + public void addToErrors(org.apache.airavata.model.commons.ErrorModel elem) { + if (this.errors == null) { + this.errors = new ArrayList<org.apache.airavata.model.commons.ErrorModel>(); + } + this.errors.add(elem); + } + + public List<org.apache.airavata.model.commons.ErrorModel> getErrors() { + return this.errors; + } + + public ExperimentModel setErrors(List<org.apache.airavata.model.commons.ErrorModel> errors) { + this.errors = errors; + return this; + } + + public void unsetErrors() { + this.errors = null; + } + + /** Returns true if field errors is set (has been assigned a value) and false otherwise */ + public boolean isSetErrors() { + return this.errors != null; + } + + public void setErrorsIsSet(boolean value) { + if (!value) { + this.errors = null; + } + } + + public int getProcessesSize() { + return (this.processes == null) ? 0 : this.processes.size(); + } + + public java.util.Iterator<org.apache.airavata.model.process.ProcessModel> getProcessesIterator() { + return (this.processes == null) ? null : this.processes.iterator(); + } + + public void addToProcesses(org.apache.airavata.model.process.ProcessModel elem) { + if (this.processes == null) { + this.processes = new ArrayList<org.apache.airavata.model.process.ProcessModel>(); + } + this.processes.add(elem); + } + + public List<org.apache.airavata.model.process.ProcessModel> getProcesses() { + return this.processes; + } + + public ExperimentModel setProcesses(List<org.apache.airavata.model.process.ProcessModel> processes) { + this.processes = processes; + return this; + } + + public void unsetProcesses() { + this.processes = null; + } + + /** Returns true if field processes is set (has been assigned a value) and false otherwise */ + public boolean isSetProcesses() { + return this.processes != null; + } + + public void setProcessesIsSet(boolean value) { + if (!value) { + this.processes = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case EXPERIMENT_ID: + if (value == null) { + unsetExperimentId(); + } else { + setExperimentId((String)value); + } + break; + + case PROJECT_ID: + if (value == null) { + unsetProjectId(); + } else { + setProjectId((String)value); + } + break; + + case GATEWAY_ID: + if (value == null) { + unsetGatewayId(); + } else { + setGatewayId((String)value); + } + break; + + case EXPERIMENT_TYPE: + if (value == null) { + unsetExperimentType(); + } else { + setExperimentType((ExperimentType)value); + } + break; + + case USER_NAME: + if (value == null) { + unsetUserName(); + } else { + setUserName((String)value); + } + break; + + case EXPERIMENT_NAME: + if (value == null) { + unsetExperimentName(); + } else { + setExperimentName((String)value); + } + break; + + case CREATION_TIME: + if (value == null) { + unsetCreationTime(); + } else { + setCreationTime((Long)value); + } + break; + + case DESCRIPTION: + if (value == null) { + unsetDescription(); + } else { + setDescription((String)value); + } + break; + + case EXECUTION_ID: + if (value == null) { + unsetExecutionId(); + } else { + setExecutionId((String)value); + } + break; + + case GATEWAY_EXECUTION_ID: + if (value == null) { + unsetGatewayExecutionId(); + } else { + setGatewayExecutionId((String)value); + } + break; + + case ENABLE_EMAIL_NOTIFICATION: + if (value == null) { + unsetEnableEmailNotification(); + } else { + setEnableEmailNotification((Boolean)value); + } + break; + + case EMAIL_ADDRESSES: + if (value == null) { + unsetEmailAddresses(); + } else { + setEmailAddresses((List<String>)value); + } + break; + + case USER_CONFIGURATION_DATA: + if (value == null) { + unsetUserConfigurationData(); + } else { + setUserConfigurationData((UserConfigurationDataModel)value); + } + break; + + case EXPERIMENT_INPUTS: + if (value == null) { + unsetExperimentInputs(); + } else { + setExperimentInputs((List<org.apache.airavata.model.application.io.InputDataObjectType>)value); + } + break; + + case EXPERIMENT_OUTPUTS: + if (value == null) { + unsetExperimentOutputs(); + } else { + setExperimentOutputs((List<org.apache.airavata.model.application.io.OutputDataObjectType>)value); + } + break; + + case EXPERIMENT_STATUS: + if (value == null) { + unsetExperimentStatus(); + } else { + setExperimentStatus((org.apache.airavata.model.status.ExperimentStatus)value); + } + break; + + case ERRORS: + if (value == null) { + unsetErrors(); + } else { + setErrors((List<org.apache.airavata.model.commons.ErrorModel>)value); + } + break; + + case PROCESSES: + if (value == null) { + unsetProcesses(); + } else { + setProcesses((List<org.apache.airavata.model.process.ProcessModel>)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case EXPERIMENT_ID: + return getExperimentId(); + + case PROJECT_ID: + return getProjectId(); + + case GATEWAY_ID: + return getGatewayId(); + + case EXPERIMENT_TYPE: + return getExperimentType(); + + case USER_NAME: + return getUserName(); + + case EXPERIMENT_NAME: + return getExperimentName(); + + case CREATION_TIME: + return Long.valueOf(getCreationTime()); + + case DESCRIPTION: + return getDescription(); + + case EXECUTION_ID: + return getExecutionId(); + + case GATEWAY_EXECUTION_ID: + return getGatewayExecutionId(); + + case ENABLE_EMAIL_NOTIFICATION: + return Boolean.valueOf(isEnableEmailNotification()); + + case EMAIL_ADDRESSES: + return getEmailAddresses(); + + case USER_CONFIGURATION_DATA: + return getUserConfigurationData(); + + case EXPERIMENT_INPUTS: + return getExperimentInputs(); + + case EXPERIMENT_OUTPUTS: + return getExperimentOutputs(); + + case EXPERIMENT_STATUS: + return getExperimentStatus(); + + case ERRORS: + return getErrors(); + + case PROCESSES: + return getProcesses(); + + } + 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 EXPERIMENT_ID: + return isSetExperimentId(); + case PROJECT_ID: + return isSetProjectId(); + case GATEWAY_ID: + return isSetGatewayId(); + case EXPERIMENT_TYPE: + return isSetExperimentType(); + case USER_NAME: + return isSetUserName(); + case EXPERIMENT_NAME: + return isSetExperimentName(); + case CREATION_TIME: + return isSetCreationTime(); + case DESCRIPTION: + return isSetDescription(); + case EXECUTION_ID: + return isSetExecutionId(); + case GATEWAY_EXECUTION_ID: + return isSetGatewayExecutionId(); + case ENABLE_EMAIL_NOTIFICATION: + return isSetEnableEmailNotification(); + case EMAIL_ADDRESSES: + return isSetEmailAddresses(); + case USER_CONFIGURATION_DATA: + return isSetUserConfigurationData(); + case EXPERIMENT_INPUTS: + return isSetExperimentInputs(); + case EXPERIMENT_OUTPUTS: + return isSetExperimentOutputs(); + case EXPERIMENT_STATUS: + return isSetExperimentStatus(); + case ERRORS: + return isSetErrors(); + case PROCESSES: + return isSetProcesses(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof ExperimentModel) + return this.equals((ExperimentModel)that); + return false; + } + + public boolean equals(ExperimentModel that) { + if (that == null) + return false; + + boolean this_present_experimentId = true && this.isSetExperimentId(); + boolean that_present_experimentId = true && that.isSetExperimentId(); + if (this_present_experimentId || that_present_experimentId) { + if (!(this_present_experimentId && that_present_experimentId)) + return false; + if (!this.experimentId.equals(that.experimentId)) + return false; + } + + boolean this_present_projectId = true && this.isSetProjectId(); + boolean that_present_projectId = true && that.isSetProjectId(); + if (this_present_projectId || that_present_projectId) { + if (!(this_present_projectId && that_present_projectId)) + return false; + if (!this.projectId.equals(that.projectId)) + 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_experimentType = true && this.isSetExperimentType(); + boolean that_present_experimentType = true && that.isSetExperimentType(); + if (this_present_experimentType || that_present_experimentType) { + if (!(this_present_experimentType && that_present_experimentType)) + return false; + if (!this.experimentType.equals(that.experimentType)) + 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_experimentName = true && this.isSetExperimentName(); + boolean that_present_experimentName = true && that.isSetExperimentName(); + if (this_present_experimentName || that_present_experimentName) { + if (!(this_present_experimentName && that_present_experimentName)) + return false; + if (!this.experimentName.equals(that.experimentName)) + 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_description = true && this.isSetDescription(); + boolean that_present_description = true && that.isSetDescription(); + if (this_present_description || that_present_description) { + if (!(this_present_description && that_present_description)) + return false; + if (!this.description.equals(that.description)) + return false; + } + + boolean this_present_executionId = true && this.isSetExecutionId(); + boolean that_present_executionId = true && that.isSetExecutionId(); + if (this_present_executionId || that_present_executionId) { + if (!(this_present_executionId && that_present_executionId)) + return false; + if (!this.executionId.equals(that.executionId)) + return false; + } + + boolean this_present_gatewayExecutionId = true && this.isSetGatewayExecutionId(); + boolean that_present_gatewayExecutionId = true && that.isSetGatewayExecutionId(); + if (this_present_gatewayExecutionId || that_present_gatewayExecutionId) { + if (!(this_present_gatewayExecutionId && that_present_gatewayExecutionId)) + return false; + if (!this.gatewayExecutionId.equals(that.gatewayExecutionId)) + return false; + } + + boolean this_present_enableEmailNotification = true && this.isSetEnableEmailNotification(); + boolean that_present_enableEmailNotification = true && that.isSetEnableEmailNotification(); + if (this_present_enableEmailNotification || that_present_enableEmailNotification) { + if (!(this_present_enableEmailNotification && that_present_enableEmailNotification)) + return false; + if (this.enableEmailNotification != that.enableEmailNotification) + return false; + } + + boolean this_present_emailAddresses = true && this.isSetEmailAddresses(); + boolean that_present_emailAddresses = true && that.isSetEmailAddresses(); + if (this_present_emailAddresses || that_present_emailAddresses) { + if (!(this_present_emailAddresses && that_present_emailAddresses)) + return false; + if (!this.emailAddresses.equals(that.emailAddresses)) + return false; + } + + boolean this_present_userConfigurationData = true && this.isSetUserConfigurationData(); + boolean that_present_userConfigurationData = true && that.isSetUserConfigurationData(); + if (this_present_userConfigurationData || that_present_userConfigurationData) { + if (!(this_present_userConfigurationData && that_present_userConfigurationData)) + return false; + if (!this.userConfigurationData.equals(that.userConfigurationData)) + return false; + } + + boolean this_present_experimentInputs = true && this.isSetExperimentInputs(); + boolean that_present_experimentInputs = true && that.isSetExperimentInputs(); + if (this_present_experimentInputs || that_present_experimentInputs) { + if (!(this_present_experimentInputs && that_present_experimentInputs)) + return false; + if (!this.experimentInputs.equals(that.experimentInputs)) + return false; + } + + boolean this_present_experimentOutputs = true && this.isSetExperimentOutputs(); + boolean that_present_experimentOutputs = true && that.isSetExperimentOutputs(); + if (this_present_experimentOutputs || that_present_experimentOutputs) { + if (!(this_present_experimentOutputs && that_present_experimentOutputs)) + return false; + if (!this.experimentOutputs.equals(that.experimentOutputs)) + return false; + } + + boolean this_present_experimentStatus = true && this.isSetExperimentStatus(); + boolean that_present_experimentStatus = true && that.isSetExperimentStatus(); + if (this_present_experimentStatus || that_present_experimentStatus) { + if (!(this_present_experimentStatus && that_present_experimentStatus)) + return false; + if (!this.experimentStatus.equals(that.experimentStatus)) + return false; + } + + boolean this_present_errors = true && this.isSetErrors(); + boolean that_present_errors = true && that.isSetErrors(); + if (this_present_errors || that_present_errors) { + if (!(this_present_errors && that_present_errors)) + return false; + if (!this.errors.equals(that.errors)) + return false; + } + + boolean this_present_processes = true && this.isSetProcesses(); + boolean that_present_processes = true && that.isSetProcesses(); + if (this_present_processes || that_present_processes) { + if (!(this_present_processes && that_present_processes)) + return false; + if (!this.processes.equals(that.processes)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List<Object> list = new ArrayList<Object>(); + + boolean present_experimentId = true && (isSetExperimentId()); + list.add(present_experimentId); + if (present_experimentId) + list.add(experimentId); + + boolean present_projectId = true && (isSetProjectId()); + list.add(present_projectId); + if (present_projectId) + list.add(projectId); + + boolean present_gatewayId = true && (isSetGatewayId()); + list.add(present_gatewayId); + if (present_gatewayId) + list.add(gatewayId); + + boolean present_experimentType = true && (isSetExperimentType()); + list.add(present_experimentType); + if (present_experimentType) + list.add(experimentType.getValue()); + + boolean present_userName = true && (isSetUserName()); + list.add(present_userName); + if (present_userName) + list.add(userName); + + boolean present_experimentName = true && (isSetExperimentName()); + list.add(present_experimentName); + if (present_experimentName) + list.add(experimentName); + + boolean present_creationTime = true && (isSetCreationTime()); + list.add(present_creationTime); + if (present_creationTime) + list.add(creationTime); + + boolean present_description = true && (isSetDescription()); + list.add(present_description); + if (present_description) + list.add(description); + + boolean present_executionId = true && (isSetExecutionId()); + list.add(present_executionId); + if (present_executionId) + list.add(executionId); + + boolean present_gatewayExecutionId = true && (isSetGatewayExecutionId()); + list.add(present_gatewayExecutionId); + if (present_gatewayExecutionId) + list.add(gatewayExecutionId); + + boolean present_enableEmailNotification = true && (isSetEnableEmailNotification()); + list.add(present_enableEmailNotification); + if (present_enableEmailNotification) + list.add(enableEmailNotification); + + boolean present_emailAddresses = true && (isSetEmailAddresses()); + list.add(present_emailAddresses); + if (present_emailAddresses) + list.add(emailAddresses); + + boolean present_userConfigurationData = true && (isSetUserConfigurationData()); + list.add(present_userConfigurationData); + if (present_userConfigurationData) + list.add(userConfigurationData); + + boolean present_experimentInputs = true && (isSetExperimentInputs()); + list.add(present_experimentInputs); + if (present_experimentInputs) + list.add(experimentInputs); + + boolean present_experimentOutputs = true && (isSetExperimentOutputs()); + list.add(present_experimentOutputs); + if (present_experimentOutputs) + list.add(experimentOutputs); + + boolean present_experimentStatus = true && (isSetExperimentStatus()); + list.add(present_experimentStatus); + if (present_experimentStatus) + list.add(experimentStatus); + + boolean present_errors = true && (isSetErrors()); + list.add(present_errors); + if (present_errors) + list.add(errors); + + boolean present_processes = true && (isSetProcesses()); + list.add(present_processes); + if (present_processes) + list.add(processes); + + return list.hashCode(); + } + + @Override + public int compareTo(ExperimentModel other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetExperimentId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentId, other.experimentId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetProjectId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectId, other.projectId); + 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(isSetExperimentType()).compareTo(other.isSetExperimentType()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetExperimentType()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentType, other.experimentType); + 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(isSetExperimentName()).compareTo(other.isSetExperimentName()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetExperimentName()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentName, other.experimentName); + 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(isSetDescription()).compareTo(other.isSetDescription()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetDescription()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, other.description); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetExecutionId()).compareTo(other.isSetExecutionId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetExecutionId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executionId, other.executionId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetGatewayExecutionId()).compareTo(other.isSetGatewayExecutionId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetGatewayExecutionId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayExecutionId, other.gatewayExecutionId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetEnableEmailNotification()).compareTo(other.isSetEnableEmailNotification()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetEnableEmailNotification()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.enableEmailNotification, other.enableEmailNotification); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetEmailAddresses()).compareTo(other.isSetEmailAddresses()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetEmailAddresses()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.emailAddresses, other.emailAddresses); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetUserConfigurationData()).compareTo(other.isSetUserConfigurationData()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUserConfigurationData()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userConfigurationData, other.userConfigurationData); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetExperimentInputs()).compareTo(other.isSetExperimentInputs()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetExperimentInputs()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentInputs, other.experimentInputs); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetExperimentOutputs()).compareTo(other.isSetExperimentOutputs()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetExperimentOutputs()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentOutputs, other.experimentOutputs); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetExperimentStatus()).compareTo(other.isSetExperimentStatus()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetExperimentStatus()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentStatus, other.experimentStatus); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetErrors()).compareTo(other.isSetErrors()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetErrors()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errors, other.errors); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetProcesses()).compareTo(other.isSetProcesses()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetProcesses()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.processes, other.processes); + 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("ExperimentModel("); + boolean first = true; + + sb.append("experimentId:"); + if (this.experimentId == null) { + sb.append("null"); + } else { + sb.append(this.experimentId); + } + first = false; + if (!first) sb.append(", "); + sb.append("projectId:"); + if (this.projectId == null) { + sb.append("null"); + } else { + sb.append(this.projectId); + } + first = false; + if (!first) sb.append(", "); + sb.append("gatewayId:"); + if (this.gatewayId == null) { + sb.append("null"); + } else { + sb.append(this.gatewayId); + } + first = false; + if (!first) sb.append(", "); + sb.append("experimentType:"); + if (this.experimentType == null) { + sb.append("null"); + } else { + sb.append(this.experimentType); + } + first = false; + if (!first) sb.append(", "); + sb.append("userName:"); + if (this.userName == null) { + sb.append("null"); + } else { + sb.append(this.userName); + } + first = false; + if (!first) sb.append(", "); + sb.append("experimentName:"); + if (this.experimentName == null) { + sb.append("null"); + } else { + sb.append(this.experimentName); + } + first = false; + if (isSetCreationTime()) { + if (!first) sb.append(", "); + sb.append("creationTime:"); + sb.append(this.creationTime); + first = false; + } + if (isSetDescription()) { + if (!first) sb.append(", "); + sb.append("description:"); + if (this.description == null) { + sb.append("null"); + } else { + sb.append(this.description); + } + first = false; + } + if (isSetExecutionId()) { + if (!first) sb.append(", "); + sb.append("executionId:"); + if (this.executionId == null) { + sb.append("null"); + } else { + sb.append(this.executionId); + } + first = false; + } + if (isSetGatewayExecutionId()) { + if (!first) sb.append(", "); + sb.append("gatewayExecutionId:"); + if (this.gatewayExecutionId == null) { + sb.append("null"); + } else { + sb.append(this.gatewayExecutionId); + } + first = false; + } + if (isSetEnableEmailNotification()) { + if (!first) sb.append(", "); + sb.append("enableEmailNotification:"); + sb.append(this.enableEmailNotification); + first = false; + } + if (isSetEmailAddresses()) { + if (!first) sb.append(", "); + sb.append("emailAddresses:"); + if (this.emailAddresses == null) { + sb.append("null"); + } else { + sb.append(this.emailAddresses); + } + first = false; + } + if (isSetUserConfigurationData()) { + if (!first) sb.append(", "); + sb.append("userConfigurationData:"); + if (this.userConfigurationData == null) { + sb.append("null"); + } else { + sb.append(this.userConfigurationData); + } + first = false; + } + if (isSetExperimentInputs()) { + if (!first) sb.append(", "); + sb.append("experimentInputs:"); + if (this.experimentInputs == null) { + sb.append("null"); + } else { + sb.append(this.experimentInputs); + } + first = false; + } + if (isSetExperimentOutputs()) { + if (!first) sb.append(", "); + sb.append("experimentOutputs:"); + if (this.experimentOutputs == null) { + sb.append("null"); + } else { + sb.append(this.experimentOutputs); + } + first = false; + } + if (isSetExperimentStatus()) { + if (!first) sb.append(", "); + sb.append("experimentStatus:"); + if (this.experimentStatus == null) { + sb.append("null"); + } else { + sb.append(this.experimentStatus); + } + first = false; + } + if (isSetErrors()) { + if (!first) sb.append(", "); + sb.append("errors:"); + if (this.errors == null) { + sb.append("null"); + } else { + sb.append(this.errors); + } + first = false; + } + if (isSetProcesses()) { + if (!first) sb.append(", "); + sb.append("processes:"); + if (this.processes == null) { + sb.append("null"); + } else { + sb.append(this.processes); + } + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (experimentId == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentId' was not present! Struct: " + toString()); + } + if (projectId == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectId' was not present! Struct: " + toString()); + } + if (gatewayId == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString()); + } + if (experimentType == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentType' was not present! Struct: " + toString()); + } + if (userName == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString()); + } + if (experimentName == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentName' was not present! Struct: " + toString()); + } + // check for sub-struct validity + if (userConfigurationData != null) { + userConfigurationData.validate(); + } + if (experimentStatus != null) { + experimentStatus.validate(); + } + } + + 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 ExperimentModelStandardSchemeFactory implements SchemeFactory { + public ExperimentModelStandardScheme getScheme() { + return new ExperimentModelStandardScheme(); + } + } + + private static class ExperimentModelStandardScheme extends StandardScheme<ExperimentModel> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentModel 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: // EXPERIMENT_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.experimentId = iprot.readString(); + struct.setExperimentIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // PROJECT_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.projectId = iprot.readString(); + struct.setProjectIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // 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 4: // EXPERIMENT_TYPE + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.experimentType = org.apache.airavata.model.experiment.ExperimentType.findByValue(iprot.readI32()); + struct.setExperimentTypeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // USER_NAME + 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 6: // EXPERIMENT_NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.experimentName = iprot.readString(); + struct.setExperimentNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 7: // 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 8: // DESCRIPTION + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.description = iprot.readString(); + struct.setDescriptionIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 9: // EXECUTION_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.executionId = iprot.readString(); + struct.setExecutionIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 10: // GATEWAY_EXECUTION_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.gatewayExecutionId = iprot.readString(); + struct.setGatewayExecutionIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 11: // ENABLE_EMAIL_NOTIFICATION + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.enableEmailNotification = iprot.readBool(); + struct.setEnableEmailNotificationIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 12: // EMAIL_ADDRESSES + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list0 = iprot.readListBegin(); + struct.emailAddresses = new ArrayList<String>(_list0.size); + String _elem1; + for (int _i2 = 0; _i2 < _list0.size; ++_i2) + { + _elem1 = iprot.readString(); + struct.emailAddresses.add(_elem1); + } + iprot.readListEnd(); + } + struct.setEmailAddressesIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 13: // USER_CONFIGURATION_DATA + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.userConfigurationData = new UserConfigurationDataModel(); + struct.userConfigurationData.read(iprot); + struct.setUserConfigurationDataIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 14: // EXPERIMENT_INPUTS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list3 = iprot.readListBegin(); + struct.experimentInputs = new ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list3.size); + org.apache.airavata.model.application.io.InputDataObjectType _elem4; + for (int _i5 = 0; _i5 < _list3.size; ++_i5) + { + _elem4 = new org.apache.airavata.model.application.io.InputDataObjectType(); + _elem4.read(iprot); + struct.experimentInputs.add(_elem4); + } + iprot.readListEnd(); + } + struct.setExperimentInputsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 15: // EXPERIMENT_OUTPUTS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list6 = iprot.readListBegin(); + struct.experimentOutputs = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list6.size); + org.apache.airavata.model.application.io.OutputDataObjectType _elem7; + for (int _i8 = 0; _i8 < _list6.size; ++_i8) + { + _elem7 = new org.apache.airavata.model.application.io.OutputDataObjectType(); + _elem7.read(iprot); + struct.experimentOutputs.add(_elem7); + } + iprot.readListEnd(); + } + struct.setExperimentOutputsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 16: // EXPERIMENT_STATUS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.experimentStatus = new org.apache.airavata.model.status.ExperimentStatus(); + struct.experimentStatus.read(iprot); + struct.setExperimentStatusIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 17: // ERRORS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list9 = iprot.readListBegin(); + struct.errors = new ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list9.size); + org.apache.airavata.model.commons.ErrorModel _elem10; + for (int _i11 = 0; _i11 < _list9.size; ++_i11) + { + _elem10 = new org.apache.airavata.model.commons.ErrorModel(); + _elem10.read(iprot); + struct.errors.add(_elem10); + } + iprot.readListEnd(); + } + struct.setErrorsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 18: // PROCESSES + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list12 = iprot.readListBegin(); + struct.processes = new ArrayList<org.apache.airavata.model.process.ProcessModel>(_list12.size); + org.apache.airavata.model.process.ProcessModel _elem13; + for (int _i14 = 0; _i14 < _list12.size; ++_i14) + { + _elem13 = new org.apache.airavata.model.process.ProcessModel(); + _elem13.read(iprot); + struct.processes.add(_elem13); + } + iprot.readListEnd(); + } + struct.setProcessesIsSet(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(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentModel struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.experimentId != null) { + oprot.writeFieldBegin(EXPERIMENT_ID_FIELD_DESC); + oprot.writeString(struct.experimentId); + oprot.writeFieldEnd(); + } + if (struct.projectId != null) { + oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC); + oprot.writeString(struct.projectId); + oprot.writeFieldEnd(); + } + if (struct.gatewayId != null) { + oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC); + oprot.writeString(struct.gatewayId); + oprot.writeFieldEnd(); + } + if (struct.experimentType != null) { + oprot.writeFieldBegin(EXPERIMENT_TYPE_FIELD_DESC); + oprot.writeI32(struct.experimentType.getValue()); + oprot.writeFieldEnd(); + } + if (struct.userName != null) { + oprot.writeFieldBegin(USER_NAME_FIELD_DESC); + oprot.writeString(struct.userName); + oprot.writeFieldEnd(); + } + if (struct.experimentName != null) { + oprot.writeFieldBegin(EXPERIMENT_NAME_FIELD_DESC); + oprot.writeString(struct.experimentName); + oprot.writeFieldEnd(); + } + if (struct.isSetCreationTime()) { + oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC); + oprot.writeI64(struct.creationTime); + oprot.writeFieldEnd(); + } + if (struct.description != null) { + if (struct.isSetDescription()) { + oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC); + oprot.writeString(struct.description); + oprot.writeFieldEnd(); + } + } + if (struct.executionId != null) { + if (struct.isSetExecutionId()) { + oprot.writeFieldBegin(EXECUTION_ID_FIELD_DESC); + oprot.writeString(struct.executionId); + oprot.writeFieldEnd(); + } + } + if (struct.gatewayExecutionId != null) { + if (struct.isSetGatewayExecutionId()) { + oprot.writeFieldBegin(GATEWAY_EXECUTION_ID_FIELD_DESC); + oprot.writeString(struct.gatewayExecutionId); + oprot.writeFieldEnd(); + } + } + if (struct.isSetEnableEmailNotification()) { + oprot.writeFieldBegin(ENABLE_EMAIL_NOTIFICATION_FIELD_DESC); + oprot.writeBool(struct.enableEmailNotification); + oprot.writeFieldEnd(); + } + if (struct.emailAddresses != null) { + if (struct.isSetEmailAddresses()) { + oprot.writeFieldBegin(EMAIL_ADDRESSES_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.emailAddresses.size())); + for (String _iter15 : struct.emailAddresses) + { + oprot.writeString(_iter15); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + if (struct.userConfigurationData != null) { + if (struct.isSetUserConfigurationData()) { + oprot.writeFieldBegin(USER_CONFIGURATION_DATA_FIELD_DESC); + struct.userConfigurationData.write(oprot); + oprot.writeFieldEnd(); + } + } + if (struct.experimentInputs != null) { + if (struct.isSetExperimentInputs()) { + oprot.writeFieldBegin(EXPERIMENT_INPUTS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.experimentInputs.size())); + for (org.apache.airavata.model.application.io.InputDataObjectType _iter16 : struct.experimentInputs) + { + _iter16.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + if (struct.experimentOutputs != null) { + if (struct.isSetExperimentOutputs()) { + oprot.writeFieldBegin(EXPERIMENT_OUTPUTS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.experimentOutputs.size())); + for (org.apache.airavata.model.application.io.OutputDataObjectType _iter17 : struct.experimentOutputs) + { + _iter17.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + if (struct.experimentStatus != null) { + if (struct.isSetExperimentStatus()) { + oprot.writeFieldBegin(EXPERIMENT_STATUS_FIELD_DESC); + struct.experimentStatus.write(oprot); + oprot.writeFieldEnd(); + } + } + if (struct.errors != null) { + if (struct.isSetErrors()) { + oprot.writeFieldBegin(ERRORS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.errors.size())); + for (org.apache.airavata.model.commons.ErrorModel _iter18 : struct.errors) + { + _iter18.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + if (struct.processes != null) { + if (struct.isSetProcesses()) { + oprot.writeFieldBegin(PROCESSES_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.processes.size())); + for (org.apache.airavata.model.process.ProcessModel _iter19 : struct.processes) + { + _iter19.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ExperimentModelTupleSchemeFactory implements SchemeFactory { + public ExperimentModelTupleScheme getScheme() { + return new ExperimentModelTupleScheme(); + } + } + + private static class ExperimentModelTupleScheme extends TupleScheme<ExperimentModel> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, ExperimentModel struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.experimentId); + oprot.writeString(struct.projectId); + oprot.writeString(struct.gatewayId); + oprot.writeI32(struct.experimentType.getValue()); + oprot.writeString(struct.userName); + oprot.writeString(struct.experimentName); + BitSet optionals = new BitSet(); + if (struct.isSetCreationTime()) { + optionals.set(0); + } + if (struct.isSetDescription()) { + optionals.set(1); + } + if (struct.isSetExecutionId()) { + optionals.set(2); + } + if (struct.isSetGatewayExecutionId()) { + optionals.set(3); + } + if (struct.isSetEnableEmailNotification()) { + optionals.set(4); + } + if (struct.isSetEmailAddresses()) { + optionals.set(5); + } + if (struct.isSetUserConfigurationData()) { + optionals.set(6); + } + if (struct.isSetExperimentInputs()) { + optionals.set(7); + } + if (struct.isSetExperimentOutputs()) { + optionals.set(8); + } + if (struct.isSetExperimentStatus()) { + optionals.set(9); + } + if (struct.isSetErrors()) { + optionals.set(10); + } + if (struct.isSetProcesses()) { + optionals.set(11); + } + oprot.writeBitSet(optionals, 12); + if (struct.isSetCreationTime()) { + oprot.writeI64(struct.creationTime); + } + if (struct.isSetDescription()) { + oprot.writeString(struct.description); + } + if (struct.isSetExecutionId()) { + oprot.writeString(struct.executionId); + } + if (struct.isSetGatewayExecutionId()) { + oprot.writeString(struct.gatewayExecutionId); + } + if (struct.isSetEnableEmailNotification()) { + oprot.writeBool(struct.enableEmailNotification); + } + if (struct.isSetEmailAddresses()) { + { + oprot.writeI32(struct.emailAddresses.size()); + for (String _iter20 : struct.emailAddresses) + { + oprot.writeString(_iter20); + } + } + } +
<TRUNCATED>
