Return-Path: X-Original-To: apmail-airavata-commits-archive@www.apache.org Delivered-To: apmail-airavata-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CEC1518535 for ; Wed, 2 Dec 2015 22:55:02 +0000 (UTC) Received: (qmail 17032 invoked by uid 500); 2 Dec 2015 22:55:02 -0000 Delivered-To: apmail-airavata-commits-archive@airavata.apache.org Received: (qmail 16799 invoked by uid 500); 2 Dec 2015 22:55:01 -0000 Mailing-List: contact commits-help@airavata.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@airavata.apache.org Delivered-To: mailing list commits@airavata.apache.org Received: (qmail 15143 invoked by uid 99); 2 Dec 2015 22:54:59 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Dec 2015 22:54:59 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id DEFC8E67D5; Wed, 2 Dec 2015 22:54:59 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: scnakandala@apache.org To: commits@airavata.apache.org Date: Wed, 02 Dec 2015 22:55:29 -0000 Message-Id: <355d139f2aac4d168695ad59272ec3e5@git.apache.org> In-Reply-To: <3eb769b4c0484f6dac6791f8235be1e2@git.apache.org> References: <3eb769b4c0484f6dac6791f8235be1e2@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [32/44] airavata git commit: adding thrift generated files http://git-wip-us.apache.org/repos/asf/airavata/blob/6bec5e46/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java new file mode 100644 index 0000000..f1a0080 --- /dev/null +++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java @@ -0,0 +1,933 @@ +/** + * 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.appcatalog.computeresource; + +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"}) +/** + * Resource Job Manager Information + * + * resourceJobManagerType: + * A typical HPC cluster has a single Job Manager to manage the resources. + * + * pushMonitoringEndpoint: + * If the job manager pushes out state changes to a database or bus, specify the service endpoint. + * Ex: Moab Web Service, Moab MongoDB URL, AMQP (GLUE2) Broker + * + * jobManagerBinPath: + * Path to the Job Manager Installation Binary directory. + * + * jobManagerCommands: + * An enumeration of commonly used manager commands. + * + */ +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-2") +public class ResourceJobManager implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ResourceJobManager"); + + private static final org.apache.thrift.protocol.TField RESOURCE_JOB_MANAGER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceJobManagerId", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField RESOURCE_JOB_MANAGER_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceJobManagerType", org.apache.thrift.protocol.TType.I32, (short)2); + private static final org.apache.thrift.protocol.TField PUSH_MONITORING_ENDPOINT_FIELD_DESC = new org.apache.thrift.protocol.TField("pushMonitoringEndpoint", org.apache.thrift.protocol.TType.STRING, (short)3); + private static final org.apache.thrift.protocol.TField JOB_MANAGER_BIN_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("jobManagerBinPath", org.apache.thrift.protocol.TType.STRING, (short)4); + private static final org.apache.thrift.protocol.TField JOB_MANAGER_COMMANDS_FIELD_DESC = new org.apache.thrift.protocol.TField("jobManagerCommands", org.apache.thrift.protocol.TType.MAP, (short)5); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ResourceJobManagerStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ResourceJobManagerTupleSchemeFactory()); + } + + public String resourceJobManagerId; // required + /** + * + * @see ResourceJobManagerType + */ + public ResourceJobManagerType resourceJobManagerType; // required + public String pushMonitoringEndpoint; // optional + public String jobManagerBinPath; // optional + public Map jobManagerCommands; // 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 { + RESOURCE_JOB_MANAGER_ID((short)1, "resourceJobManagerId"), + /** + * + * @see ResourceJobManagerType + */ + RESOURCE_JOB_MANAGER_TYPE((short)2, "resourceJobManagerType"), + PUSH_MONITORING_ENDPOINT((short)3, "pushMonitoringEndpoint"), + JOB_MANAGER_BIN_PATH((short)4, "jobManagerBinPath"), + JOB_MANAGER_COMMANDS((short)5, "jobManagerCommands"); + + private static final Map byName = new HashMap(); + + 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: // RESOURCE_JOB_MANAGER_ID + return RESOURCE_JOB_MANAGER_ID; + case 2: // RESOURCE_JOB_MANAGER_TYPE + return RESOURCE_JOB_MANAGER_TYPE; + case 3: // PUSH_MONITORING_ENDPOINT + return PUSH_MONITORING_ENDPOINT; + case 4: // JOB_MANAGER_BIN_PATH + return JOB_MANAGER_BIN_PATH; + case 5: // JOB_MANAGER_COMMANDS + return JOB_MANAGER_COMMANDS; + 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 _Fields optionals[] = {_Fields.PUSH_MONITORING_ENDPOINT,_Fields.JOB_MANAGER_BIN_PATH,_Fields.JOB_MANAGER_COMMANDS}; + 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.RESOURCE_JOB_MANAGER_ID, new org.apache.thrift.meta_data.FieldMetaData("resourceJobManagerId", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.RESOURCE_JOB_MANAGER_TYPE, new org.apache.thrift.meta_data.FieldMetaData("resourceJobManagerType", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ResourceJobManagerType.class))); + tmpMap.put(_Fields.PUSH_MONITORING_ENDPOINT, new org.apache.thrift.meta_data.FieldMetaData("pushMonitoringEndpoint", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.JOB_MANAGER_BIN_PATH, new org.apache.thrift.meta_data.FieldMetaData("jobManagerBinPath", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.JOB_MANAGER_COMMANDS, new org.apache.thrift.meta_data.FieldMetaData("jobManagerCommands", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, + new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, JobManagerCommand.class), + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ResourceJobManager.class, metaDataMap); + } + + public ResourceJobManager() { + this.resourceJobManagerId = "DO_NOT_SET_AT_CLIENTS"; + + } + + public ResourceJobManager( + String resourceJobManagerId, + ResourceJobManagerType resourceJobManagerType) + { + this(); + this.resourceJobManagerId = resourceJobManagerId; + this.resourceJobManagerType = resourceJobManagerType; + } + + /** + * Performs a deep copy on other. + */ + public ResourceJobManager(ResourceJobManager other) { + if (other.isSetResourceJobManagerId()) { + this.resourceJobManagerId = other.resourceJobManagerId; + } + if (other.isSetResourceJobManagerType()) { + this.resourceJobManagerType = other.resourceJobManagerType; + } + if (other.isSetPushMonitoringEndpoint()) { + this.pushMonitoringEndpoint = other.pushMonitoringEndpoint; + } + if (other.isSetJobManagerBinPath()) { + this.jobManagerBinPath = other.jobManagerBinPath; + } + if (other.isSetJobManagerCommands()) { + Map __this__jobManagerCommands = new HashMap(other.jobManagerCommands.size()); + for (Map.Entry other_element : other.jobManagerCommands.entrySet()) { + + JobManagerCommand other_element_key = other_element.getKey(); + String other_element_value = other_element.getValue(); + + JobManagerCommand __this__jobManagerCommands_copy_key = other_element_key; + + String __this__jobManagerCommands_copy_value = other_element_value; + + __this__jobManagerCommands.put(__this__jobManagerCommands_copy_key, __this__jobManagerCommands_copy_value); + } + this.jobManagerCommands = __this__jobManagerCommands; + } + } + + public ResourceJobManager deepCopy() { + return new ResourceJobManager(this); + } + + @Override + public void clear() { + this.resourceJobManagerId = "DO_NOT_SET_AT_CLIENTS"; + + this.resourceJobManagerType = null; + this.pushMonitoringEndpoint = null; + this.jobManagerBinPath = null; + this.jobManagerCommands = null; + } + + public String getResourceJobManagerId() { + return this.resourceJobManagerId; + } + + public ResourceJobManager setResourceJobManagerId(String resourceJobManagerId) { + this.resourceJobManagerId = resourceJobManagerId; + return this; + } + + public void unsetResourceJobManagerId() { + this.resourceJobManagerId = null; + } + + /** Returns true if field resourceJobManagerId is set (has been assigned a value) and false otherwise */ + public boolean isSetResourceJobManagerId() { + return this.resourceJobManagerId != null; + } + + public void setResourceJobManagerIdIsSet(boolean value) { + if (!value) { + this.resourceJobManagerId = null; + } + } + + /** + * + * @see ResourceJobManagerType + */ + public ResourceJobManagerType getResourceJobManagerType() { + return this.resourceJobManagerType; + } + + /** + * + * @see ResourceJobManagerType + */ + public ResourceJobManager setResourceJobManagerType(ResourceJobManagerType resourceJobManagerType) { + this.resourceJobManagerType = resourceJobManagerType; + return this; + } + + public void unsetResourceJobManagerType() { + this.resourceJobManagerType = null; + } + + /** Returns true if field resourceJobManagerType is set (has been assigned a value) and false otherwise */ + public boolean isSetResourceJobManagerType() { + return this.resourceJobManagerType != null; + } + + public void setResourceJobManagerTypeIsSet(boolean value) { + if (!value) { + this.resourceJobManagerType = null; + } + } + + public String getPushMonitoringEndpoint() { + return this.pushMonitoringEndpoint; + } + + public ResourceJobManager setPushMonitoringEndpoint(String pushMonitoringEndpoint) { + this.pushMonitoringEndpoint = pushMonitoringEndpoint; + return this; + } + + public void unsetPushMonitoringEndpoint() { + this.pushMonitoringEndpoint = null; + } + + /** Returns true if field pushMonitoringEndpoint is set (has been assigned a value) and false otherwise */ + public boolean isSetPushMonitoringEndpoint() { + return this.pushMonitoringEndpoint != null; + } + + public void setPushMonitoringEndpointIsSet(boolean value) { + if (!value) { + this.pushMonitoringEndpoint = null; + } + } + + public String getJobManagerBinPath() { + return this.jobManagerBinPath; + } + + public ResourceJobManager setJobManagerBinPath(String jobManagerBinPath) { + this.jobManagerBinPath = jobManagerBinPath; + return this; + } + + public void unsetJobManagerBinPath() { + this.jobManagerBinPath = null; + } + + /** Returns true if field jobManagerBinPath is set (has been assigned a value) and false otherwise */ + public boolean isSetJobManagerBinPath() { + return this.jobManagerBinPath != null; + } + + public void setJobManagerBinPathIsSet(boolean value) { + if (!value) { + this.jobManagerBinPath = null; + } + } + + public int getJobManagerCommandsSize() { + return (this.jobManagerCommands == null) ? 0 : this.jobManagerCommands.size(); + } + + public void putToJobManagerCommands(JobManagerCommand key, String val) { + if (this.jobManagerCommands == null) { + this.jobManagerCommands = new HashMap(); + } + this.jobManagerCommands.put(key, val); + } + + public Map getJobManagerCommands() { + return this.jobManagerCommands; + } + + public ResourceJobManager setJobManagerCommands(Map jobManagerCommands) { + this.jobManagerCommands = jobManagerCommands; + return this; + } + + public void unsetJobManagerCommands() { + this.jobManagerCommands = null; + } + + /** Returns true if field jobManagerCommands is set (has been assigned a value) and false otherwise */ + public boolean isSetJobManagerCommands() { + return this.jobManagerCommands != null; + } + + public void setJobManagerCommandsIsSet(boolean value) { + if (!value) { + this.jobManagerCommands = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case RESOURCE_JOB_MANAGER_ID: + if (value == null) { + unsetResourceJobManagerId(); + } else { + setResourceJobManagerId((String)value); + } + break; + + case RESOURCE_JOB_MANAGER_TYPE: + if (value == null) { + unsetResourceJobManagerType(); + } else { + setResourceJobManagerType((ResourceJobManagerType)value); + } + break; + + case PUSH_MONITORING_ENDPOINT: + if (value == null) { + unsetPushMonitoringEndpoint(); + } else { + setPushMonitoringEndpoint((String)value); + } + break; + + case JOB_MANAGER_BIN_PATH: + if (value == null) { + unsetJobManagerBinPath(); + } else { + setJobManagerBinPath((String)value); + } + break; + + case JOB_MANAGER_COMMANDS: + if (value == null) { + unsetJobManagerCommands(); + } else { + setJobManagerCommands((Map)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case RESOURCE_JOB_MANAGER_ID: + return getResourceJobManagerId(); + + case RESOURCE_JOB_MANAGER_TYPE: + return getResourceJobManagerType(); + + case PUSH_MONITORING_ENDPOINT: + return getPushMonitoringEndpoint(); + + case JOB_MANAGER_BIN_PATH: + return getJobManagerBinPath(); + + case JOB_MANAGER_COMMANDS: + return getJobManagerCommands(); + + } + 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 RESOURCE_JOB_MANAGER_ID: + return isSetResourceJobManagerId(); + case RESOURCE_JOB_MANAGER_TYPE: + return isSetResourceJobManagerType(); + case PUSH_MONITORING_ENDPOINT: + return isSetPushMonitoringEndpoint(); + case JOB_MANAGER_BIN_PATH: + return isSetJobManagerBinPath(); + case JOB_MANAGER_COMMANDS: + return isSetJobManagerCommands(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof ResourceJobManager) + return this.equals((ResourceJobManager)that); + return false; + } + + public boolean equals(ResourceJobManager that) { + if (that == null) + return false; + + boolean this_present_resourceJobManagerId = true && this.isSetResourceJobManagerId(); + boolean that_present_resourceJobManagerId = true && that.isSetResourceJobManagerId(); + if (this_present_resourceJobManagerId || that_present_resourceJobManagerId) { + if (!(this_present_resourceJobManagerId && that_present_resourceJobManagerId)) + return false; + if (!this.resourceJobManagerId.equals(that.resourceJobManagerId)) + return false; + } + + boolean this_present_resourceJobManagerType = true && this.isSetResourceJobManagerType(); + boolean that_present_resourceJobManagerType = true && that.isSetResourceJobManagerType(); + if (this_present_resourceJobManagerType || that_present_resourceJobManagerType) { + if (!(this_present_resourceJobManagerType && that_present_resourceJobManagerType)) + return false; + if (!this.resourceJobManagerType.equals(that.resourceJobManagerType)) + return false; + } + + boolean this_present_pushMonitoringEndpoint = true && this.isSetPushMonitoringEndpoint(); + boolean that_present_pushMonitoringEndpoint = true && that.isSetPushMonitoringEndpoint(); + if (this_present_pushMonitoringEndpoint || that_present_pushMonitoringEndpoint) { + if (!(this_present_pushMonitoringEndpoint && that_present_pushMonitoringEndpoint)) + return false; + if (!this.pushMonitoringEndpoint.equals(that.pushMonitoringEndpoint)) + return false; + } + + boolean this_present_jobManagerBinPath = true && this.isSetJobManagerBinPath(); + boolean that_present_jobManagerBinPath = true && that.isSetJobManagerBinPath(); + if (this_present_jobManagerBinPath || that_present_jobManagerBinPath) { + if (!(this_present_jobManagerBinPath && that_present_jobManagerBinPath)) + return false; + if (!this.jobManagerBinPath.equals(that.jobManagerBinPath)) + return false; + } + + boolean this_present_jobManagerCommands = true && this.isSetJobManagerCommands(); + boolean that_present_jobManagerCommands = true && that.isSetJobManagerCommands(); + if (this_present_jobManagerCommands || that_present_jobManagerCommands) { + if (!(this_present_jobManagerCommands && that_present_jobManagerCommands)) + return false; + if (!this.jobManagerCommands.equals(that.jobManagerCommands)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_resourceJobManagerId = true && (isSetResourceJobManagerId()); + list.add(present_resourceJobManagerId); + if (present_resourceJobManagerId) + list.add(resourceJobManagerId); + + boolean present_resourceJobManagerType = true && (isSetResourceJobManagerType()); + list.add(present_resourceJobManagerType); + if (present_resourceJobManagerType) + list.add(resourceJobManagerType.getValue()); + + boolean present_pushMonitoringEndpoint = true && (isSetPushMonitoringEndpoint()); + list.add(present_pushMonitoringEndpoint); + if (present_pushMonitoringEndpoint) + list.add(pushMonitoringEndpoint); + + boolean present_jobManagerBinPath = true && (isSetJobManagerBinPath()); + list.add(present_jobManagerBinPath); + if (present_jobManagerBinPath) + list.add(jobManagerBinPath); + + boolean present_jobManagerCommands = true && (isSetJobManagerCommands()); + list.add(present_jobManagerCommands); + if (present_jobManagerCommands) + list.add(jobManagerCommands); + + return list.hashCode(); + } + + @Override + public int compareTo(ResourceJobManager other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetResourceJobManagerId()).compareTo(other.isSetResourceJobManagerId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetResourceJobManagerId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceJobManagerId, other.resourceJobManagerId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetResourceJobManagerType()).compareTo(other.isSetResourceJobManagerType()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetResourceJobManagerType()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceJobManagerType, other.resourceJobManagerType); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetPushMonitoringEndpoint()).compareTo(other.isSetPushMonitoringEndpoint()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetPushMonitoringEndpoint()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pushMonitoringEndpoint, other.pushMonitoringEndpoint); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetJobManagerBinPath()).compareTo(other.isSetJobManagerBinPath()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetJobManagerBinPath()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobManagerBinPath, other.jobManagerBinPath); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetJobManagerCommands()).compareTo(other.isSetJobManagerCommands()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetJobManagerCommands()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobManagerCommands, other.jobManagerCommands); + 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("ResourceJobManager("); + boolean first = true; + + sb.append("resourceJobManagerId:"); + if (this.resourceJobManagerId == null) { + sb.append("null"); + } else { + sb.append(this.resourceJobManagerId); + } + first = false; + if (!first) sb.append(", "); + sb.append("resourceJobManagerType:"); + if (this.resourceJobManagerType == null) { + sb.append("null"); + } else { + sb.append(this.resourceJobManagerType); + } + first = false; + if (isSetPushMonitoringEndpoint()) { + if (!first) sb.append(", "); + sb.append("pushMonitoringEndpoint:"); + if (this.pushMonitoringEndpoint == null) { + sb.append("null"); + } else { + sb.append(this.pushMonitoringEndpoint); + } + first = false; + } + if (isSetJobManagerBinPath()) { + if (!first) sb.append(", "); + sb.append("jobManagerBinPath:"); + if (this.jobManagerBinPath == null) { + sb.append("null"); + } else { + sb.append(this.jobManagerBinPath); + } + first = false; + } + if (isSetJobManagerCommands()) { + if (!first) sb.append(", "); + sb.append("jobManagerCommands:"); + if (this.jobManagerCommands == null) { + sb.append("null"); + } else { + sb.append(this.jobManagerCommands); + } + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (resourceJobManagerId == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'resourceJobManagerId' was not present! Struct: " + toString()); + } + if (resourceJobManagerType == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'resourceJobManagerType' was not present! 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 { + 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 ResourceJobManagerStandardSchemeFactory implements SchemeFactory { + public ResourceJobManagerStandardScheme getScheme() { + return new ResourceJobManagerStandardScheme(); + } + } + + private static class ResourceJobManagerStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, ResourceJobManager 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: // RESOURCE_JOB_MANAGER_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.resourceJobManagerId = iprot.readString(); + struct.setResourceJobManagerIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // RESOURCE_JOB_MANAGER_TYPE + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.resourceJobManagerType = org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType.findByValue(iprot.readI32()); + struct.setResourceJobManagerTypeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // PUSH_MONITORING_ENDPOINT + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.pushMonitoringEndpoint = iprot.readString(); + struct.setPushMonitoringEndpointIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // JOB_MANAGER_BIN_PATH + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.jobManagerBinPath = iprot.readString(); + struct.setJobManagerBinPathIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // JOB_MANAGER_COMMANDS + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin(); + struct.jobManagerCommands = new HashMap(2*_map0.size); + JobManagerCommand _key1; + String _val2; + for (int _i3 = 0; _i3 < _map0.size; ++_i3) + { + _key1 = org.apache.airavata.model.appcatalog.computeresource.JobManagerCommand.findByValue(iprot.readI32()); + _val2 = iprot.readString(); + struct.jobManagerCommands.put(_key1, _val2); + } + iprot.readMapEnd(); + } + struct.setJobManagerCommandsIsSet(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, ResourceJobManager struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.resourceJobManagerId != null) { + oprot.writeFieldBegin(RESOURCE_JOB_MANAGER_ID_FIELD_DESC); + oprot.writeString(struct.resourceJobManagerId); + oprot.writeFieldEnd(); + } + if (struct.resourceJobManagerType != null) { + oprot.writeFieldBegin(RESOURCE_JOB_MANAGER_TYPE_FIELD_DESC); + oprot.writeI32(struct.resourceJobManagerType.getValue()); + oprot.writeFieldEnd(); + } + if (struct.pushMonitoringEndpoint != null) { + if (struct.isSetPushMonitoringEndpoint()) { + oprot.writeFieldBegin(PUSH_MONITORING_ENDPOINT_FIELD_DESC); + oprot.writeString(struct.pushMonitoringEndpoint); + oprot.writeFieldEnd(); + } + } + if (struct.jobManagerBinPath != null) { + if (struct.isSetJobManagerBinPath()) { + oprot.writeFieldBegin(JOB_MANAGER_BIN_PATH_FIELD_DESC); + oprot.writeString(struct.jobManagerBinPath); + oprot.writeFieldEnd(); + } + } + if (struct.jobManagerCommands != null) { + if (struct.isSetJobManagerCommands()) { + oprot.writeFieldBegin(JOB_MANAGER_COMMANDS_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, struct.jobManagerCommands.size())); + for (Map.Entry _iter4 : struct.jobManagerCommands.entrySet()) + { + oprot.writeI32(_iter4.getKey().getValue()); + oprot.writeString(_iter4.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ResourceJobManagerTupleSchemeFactory implements SchemeFactory { + public ResourceJobManagerTupleScheme getScheme() { + return new ResourceJobManagerTupleScheme(); + } + } + + private static class ResourceJobManagerTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, ResourceJobManager struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.resourceJobManagerId); + oprot.writeI32(struct.resourceJobManagerType.getValue()); + BitSet optionals = new BitSet(); + if (struct.isSetPushMonitoringEndpoint()) { + optionals.set(0); + } + if (struct.isSetJobManagerBinPath()) { + optionals.set(1); + } + if (struct.isSetJobManagerCommands()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetPushMonitoringEndpoint()) { + oprot.writeString(struct.pushMonitoringEndpoint); + } + if (struct.isSetJobManagerBinPath()) { + oprot.writeString(struct.jobManagerBinPath); + } + if (struct.isSetJobManagerCommands()) { + { + oprot.writeI32(struct.jobManagerCommands.size()); + for (Map.Entry _iter5 : struct.jobManagerCommands.entrySet()) + { + oprot.writeI32(_iter5.getKey().getValue()); + oprot.writeString(_iter5.getValue()); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, ResourceJobManager struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.resourceJobManagerId = iprot.readString(); + struct.setResourceJobManagerIdIsSet(true); + struct.resourceJobManagerType = org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType.findByValue(iprot.readI32()); + struct.setResourceJobManagerTypeIsSet(true); + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.pushMonitoringEndpoint = iprot.readString(); + struct.setPushMonitoringEndpointIsSet(true); + } + if (incoming.get(1)) { + struct.jobManagerBinPath = iprot.readString(); + struct.setJobManagerBinPathIsSet(true); + } + if (incoming.get(2)) { + { + org.apache.thrift.protocol.TMap _map6 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.jobManagerCommands = new HashMap(2*_map6.size); + JobManagerCommand _key7; + String _val8; + for (int _i9 = 0; _i9 < _map6.size; ++_i9) + { + _key7 = org.apache.airavata.model.appcatalog.computeresource.JobManagerCommand.findByValue(iprot.readI32()); + _val8 = iprot.readString(); + struct.jobManagerCommands.put(_key7, _val8); + } + } + struct.setJobManagerCommandsIsSet(true); + } + } + } + +} + http://git-wip-us.apache.org/repos/asf/airavata/blob/6bec5e46/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java new file mode 100644 index 0000000..83228d2 --- /dev/null +++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java @@ -0,0 +1,90 @@ +/** + * 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.appcatalog.computeresource; + + +import java.util.Map; +import java.util.HashMap; +import org.apache.thrift.TEnum; + +/** + * * Enumeration of local resource job manager types supported by Airavata + * * + * * FORK: + * * Forking of commands without any job manager + * * + * * PBS: + * * Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine. + * * + * * SLURM: + * * The Simple Linux Utility for Resource Management is a open source workload manager. + * * + * * UGE: + * * Univa Grid Engine, a variation of PBS implementation. + * * + * * LSF: + * * IBM Platform Load Sharing Facility is dominantly installed on IBM clusters. + * * + */ +public enum ResourceJobManagerType implements org.apache.thrift.TEnum { + FORK(0), + PBS(1), + SLURM(2), + LSF(3), + UGE(4); + + private final int value; + + private ResourceJobManagerType(int value) { + this.value = value; + } + + /** + * Get the integer value of this enum value, as defined in the Thrift IDL. + */ + public int getValue() { + return value; + } + + /** + * Find a the enum type by its integer value, as defined in the Thrift IDL. + * @return null if the value is not found. + */ + public static ResourceJobManagerType findByValue(int value) { + switch (value) { + case 0: + return FORK; + case 1: + return PBS; + case 2: + return SLURM; + case 3: + return LSF; + case 4: + return UGE; + default: + return null; + } + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/6bec5e46/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java new file mode 100644 index 0000000..8e56d82 --- /dev/null +++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java @@ -0,0 +1,1146 @@ +/** + * 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.appcatalog.computeresource; + +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"}) +/** + * Authenticate using Secured Shell + * + * alternativeSSHHostName: + * If the login to ssh is different than the hostname itself, specify it here + * + * sshPort: + * If a non-default port needs to used, specify it. + * + * batchQueueEmailSenders: + * If a resource always sends the monitoring from a specific address, specify the + * full email address. If a resource sends emails from multiple addresses ( + * example: based on the submitted login node) then use the wildchar * to indicate + * the same. Example: *@*.example.com or *@example.com + * + */ +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-2") +public class SSHJobSubmission implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHJobSubmission"); + + private static final org.apache.thrift.protocol.TField JOB_SUBMISSION_INTERFACE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("jobSubmissionInterfaceId", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField SECURITY_PROTOCOL_FIELD_DESC = new org.apache.thrift.protocol.TField("securityProtocol", org.apache.thrift.protocol.TType.I32, (short)2); + private static final org.apache.thrift.protocol.TField RESOURCE_JOB_MANAGER_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceJobManager", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final org.apache.thrift.protocol.TField ALTERNATIVE_SSHHOST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("alternativeSSHHostName", org.apache.thrift.protocol.TType.STRING, (short)4); + private static final org.apache.thrift.protocol.TField SSH_PORT_FIELD_DESC = new org.apache.thrift.protocol.TField("sshPort", org.apache.thrift.protocol.TType.I32, (short)5); + private static final org.apache.thrift.protocol.TField MONITOR_MODE_FIELD_DESC = new org.apache.thrift.protocol.TField("monitorMode", org.apache.thrift.protocol.TType.I32, (short)6); + private static final org.apache.thrift.protocol.TField BATCH_QUEUE_EMAIL_SENDERS_FIELD_DESC = new org.apache.thrift.protocol.TField("batchQueueEmailSenders", org.apache.thrift.protocol.TType.LIST, (short)7); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new SSHJobSubmissionStandardSchemeFactory()); + schemes.put(TupleScheme.class, new SSHJobSubmissionTupleSchemeFactory()); + } + + public String jobSubmissionInterfaceId; // required + /** + * + * @see org.apache.airavata.model.data.movement.SecurityProtocol + */ + public org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol; // required + public ResourceJobManager resourceJobManager; // required + public String alternativeSSHHostName; // optional + public int sshPort; // optional + /** + * + * @see MonitorMode + */ + public MonitorMode monitorMode; // optional + public List batchQueueEmailSenders; // 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 { + JOB_SUBMISSION_INTERFACE_ID((short)1, "jobSubmissionInterfaceId"), + /** + * + * @see org.apache.airavata.model.data.movement.SecurityProtocol + */ + SECURITY_PROTOCOL((short)2, "securityProtocol"), + RESOURCE_JOB_MANAGER((short)3, "resourceJobManager"), + ALTERNATIVE_SSHHOST_NAME((short)4, "alternativeSSHHostName"), + SSH_PORT((short)5, "sshPort"), + /** + * + * @see MonitorMode + */ + MONITOR_MODE((short)6, "monitorMode"), + BATCH_QUEUE_EMAIL_SENDERS((short)7, "batchQueueEmailSenders"); + + private static final Map byName = new HashMap(); + + 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: // JOB_SUBMISSION_INTERFACE_ID + return JOB_SUBMISSION_INTERFACE_ID; + case 2: // SECURITY_PROTOCOL + return SECURITY_PROTOCOL; + case 3: // RESOURCE_JOB_MANAGER + return RESOURCE_JOB_MANAGER; + case 4: // ALTERNATIVE_SSHHOST_NAME + return ALTERNATIVE_SSHHOST_NAME; + case 5: // SSH_PORT + return SSH_PORT; + case 6: // MONITOR_MODE + return MONITOR_MODE; + case 7: // BATCH_QUEUE_EMAIL_SENDERS + return BATCH_QUEUE_EMAIL_SENDERS; + 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 __SSHPORT_ISSET_ID = 0; + private byte __isset_bitfield = 0; + private static final _Fields optionals[] = {_Fields.ALTERNATIVE_SSHHOST_NAME,_Fields.SSH_PORT,_Fields.MONITOR_MODE,_Fields.BATCH_QUEUE_EMAIL_SENDERS}; + 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.JOB_SUBMISSION_INTERFACE_ID, new org.apache.thrift.meta_data.FieldMetaData("jobSubmissionInterfaceId", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.SECURITY_PROTOCOL, new org.apache.thrift.meta_data.FieldMetaData("securityProtocol", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.data.movement.SecurityProtocol.class))); + tmpMap.put(_Fields.RESOURCE_JOB_MANAGER, new org.apache.thrift.meta_data.FieldMetaData("resourceJobManager", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ResourceJobManager.class))); + tmpMap.put(_Fields.ALTERNATIVE_SSHHOST_NAME, new org.apache.thrift.meta_data.FieldMetaData("alternativeSSHHostName", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.SSH_PORT, new org.apache.thrift.meta_data.FieldMetaData("sshPort", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + tmpMap.put(_Fields.MONITOR_MODE, new org.apache.thrift.meta_data.FieldMetaData("monitorMode", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, MonitorMode.class))); + tmpMap.put(_Fields.BATCH_QUEUE_EMAIL_SENDERS, new org.apache.thrift.meta_data.FieldMetaData("batchQueueEmailSenders", 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)))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(SSHJobSubmission.class, metaDataMap); + } + + public SSHJobSubmission() { + this.jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + + this.sshPort = 22; + + } + + public SSHJobSubmission( + String jobSubmissionInterfaceId, + org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol, + ResourceJobManager resourceJobManager) + { + this(); + this.jobSubmissionInterfaceId = jobSubmissionInterfaceId; + this.securityProtocol = securityProtocol; + this.resourceJobManager = resourceJobManager; + } + + /** + * Performs a deep copy on other. + */ + public SSHJobSubmission(SSHJobSubmission other) { + __isset_bitfield = other.__isset_bitfield; + if (other.isSetJobSubmissionInterfaceId()) { + this.jobSubmissionInterfaceId = other.jobSubmissionInterfaceId; + } + if (other.isSetSecurityProtocol()) { + this.securityProtocol = other.securityProtocol; + } + if (other.isSetResourceJobManager()) { + this.resourceJobManager = new ResourceJobManager(other.resourceJobManager); + } + if (other.isSetAlternativeSSHHostName()) { + this.alternativeSSHHostName = other.alternativeSSHHostName; + } + this.sshPort = other.sshPort; + if (other.isSetMonitorMode()) { + this.monitorMode = other.monitorMode; + } + if (other.isSetBatchQueueEmailSenders()) { + List __this__batchQueueEmailSenders = new ArrayList(other.batchQueueEmailSenders); + this.batchQueueEmailSenders = __this__batchQueueEmailSenders; + } + } + + public SSHJobSubmission deepCopy() { + return new SSHJobSubmission(this); + } + + @Override + public void clear() { + this.jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + + this.securityProtocol = null; + this.resourceJobManager = null; + this.alternativeSSHHostName = null; + this.sshPort = 22; + + this.monitorMode = null; + this.batchQueueEmailSenders = null; + } + + public String getJobSubmissionInterfaceId() { + return this.jobSubmissionInterfaceId; + } + + public SSHJobSubmission setJobSubmissionInterfaceId(String jobSubmissionInterfaceId) { + this.jobSubmissionInterfaceId = jobSubmissionInterfaceId; + return this; + } + + public void unsetJobSubmissionInterfaceId() { + this.jobSubmissionInterfaceId = null; + } + + /** Returns true if field jobSubmissionInterfaceId is set (has been assigned a value) and false otherwise */ + public boolean isSetJobSubmissionInterfaceId() { + return this.jobSubmissionInterfaceId != null; + } + + public void setJobSubmissionInterfaceIdIsSet(boolean value) { + if (!value) { + this.jobSubmissionInterfaceId = null; + } + } + + /** + * + * @see org.apache.airavata.model.data.movement.SecurityProtocol + */ + public org.apache.airavata.model.data.movement.SecurityProtocol getSecurityProtocol() { + return this.securityProtocol; + } + + /** + * + * @see org.apache.airavata.model.data.movement.SecurityProtocol + */ + public SSHJobSubmission setSecurityProtocol(org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol) { + this.securityProtocol = securityProtocol; + return this; + } + + public void unsetSecurityProtocol() { + this.securityProtocol = null; + } + + /** Returns true if field securityProtocol is set (has been assigned a value) and false otherwise */ + public boolean isSetSecurityProtocol() { + return this.securityProtocol != null; + } + + public void setSecurityProtocolIsSet(boolean value) { + if (!value) { + this.securityProtocol = null; + } + } + + public ResourceJobManager getResourceJobManager() { + return this.resourceJobManager; + } + + public SSHJobSubmission setResourceJobManager(ResourceJobManager resourceJobManager) { + this.resourceJobManager = resourceJobManager; + return this; + } + + public void unsetResourceJobManager() { + this.resourceJobManager = null; + } + + /** Returns true if field resourceJobManager is set (has been assigned a value) and false otherwise */ + public boolean isSetResourceJobManager() { + return this.resourceJobManager != null; + } + + public void setResourceJobManagerIsSet(boolean value) { + if (!value) { + this.resourceJobManager = null; + } + } + + public String getAlternativeSSHHostName() { + return this.alternativeSSHHostName; + } + + public SSHJobSubmission setAlternativeSSHHostName(String alternativeSSHHostName) { + this.alternativeSSHHostName = alternativeSSHHostName; + return this; + } + + public void unsetAlternativeSSHHostName() { + this.alternativeSSHHostName = null; + } + + /** Returns true if field alternativeSSHHostName is set (has been assigned a value) and false otherwise */ + public boolean isSetAlternativeSSHHostName() { + return this.alternativeSSHHostName != null; + } + + public void setAlternativeSSHHostNameIsSet(boolean value) { + if (!value) { + this.alternativeSSHHostName = null; + } + } + + public int getSshPort() { + return this.sshPort; + } + + public SSHJobSubmission setSshPort(int sshPort) { + this.sshPort = sshPort; + setSshPortIsSet(true); + return this; + } + + public void unsetSshPort() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SSHPORT_ISSET_ID); + } + + /** Returns true if field sshPort is set (has been assigned a value) and false otherwise */ + public boolean isSetSshPort() { + return EncodingUtils.testBit(__isset_bitfield, __SSHPORT_ISSET_ID); + } + + public void setSshPortIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SSHPORT_ISSET_ID, value); + } + + /** + * + * @see MonitorMode + */ + public MonitorMode getMonitorMode() { + return this.monitorMode; + } + + /** + * + * @see MonitorMode + */ + public SSHJobSubmission setMonitorMode(MonitorMode monitorMode) { + this.monitorMode = monitorMode; + return this; + } + + public void unsetMonitorMode() { + this.monitorMode = null; + } + + /** Returns true if field monitorMode is set (has been assigned a value) and false otherwise */ + public boolean isSetMonitorMode() { + return this.monitorMode != null; + } + + public void setMonitorModeIsSet(boolean value) { + if (!value) { + this.monitorMode = null; + } + } + + public int getBatchQueueEmailSendersSize() { + return (this.batchQueueEmailSenders == null) ? 0 : this.batchQueueEmailSenders.size(); + } + + public java.util.Iterator getBatchQueueEmailSendersIterator() { + return (this.batchQueueEmailSenders == null) ? null : this.batchQueueEmailSenders.iterator(); + } + + public void addToBatchQueueEmailSenders(String elem) { + if (this.batchQueueEmailSenders == null) { + this.batchQueueEmailSenders = new ArrayList(); + } + this.batchQueueEmailSenders.add(elem); + } + + public List getBatchQueueEmailSenders() { + return this.batchQueueEmailSenders; + } + + public SSHJobSubmission setBatchQueueEmailSenders(List batchQueueEmailSenders) { + this.batchQueueEmailSenders = batchQueueEmailSenders; + return this; + } + + public void unsetBatchQueueEmailSenders() { + this.batchQueueEmailSenders = null; + } + + /** Returns true if field batchQueueEmailSenders is set (has been assigned a value) and false otherwise */ + public boolean isSetBatchQueueEmailSenders() { + return this.batchQueueEmailSenders != null; + } + + public void setBatchQueueEmailSendersIsSet(boolean value) { + if (!value) { + this.batchQueueEmailSenders = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case JOB_SUBMISSION_INTERFACE_ID: + if (value == null) { + unsetJobSubmissionInterfaceId(); + } else { + setJobSubmissionInterfaceId((String)value); + } + break; + + case SECURITY_PROTOCOL: + if (value == null) { + unsetSecurityProtocol(); + } else { + setSecurityProtocol((org.apache.airavata.model.data.movement.SecurityProtocol)value); + } + break; + + case RESOURCE_JOB_MANAGER: + if (value == null) { + unsetResourceJobManager(); + } else { + setResourceJobManager((ResourceJobManager)value); + } + break; + + case ALTERNATIVE_SSHHOST_NAME: + if (value == null) { + unsetAlternativeSSHHostName(); + } else { + setAlternativeSSHHostName((String)value); + } + break; + + case SSH_PORT: + if (value == null) { + unsetSshPort(); + } else { + setSshPort((Integer)value); + } + break; + + case MONITOR_MODE: + if (value == null) { + unsetMonitorMode(); + } else { + setMonitorMode((MonitorMode)value); + } + break; + + case BATCH_QUEUE_EMAIL_SENDERS: + if (value == null) { + unsetBatchQueueEmailSenders(); + } else { + setBatchQueueEmailSenders((List)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case JOB_SUBMISSION_INTERFACE_ID: + return getJobSubmissionInterfaceId(); + + case SECURITY_PROTOCOL: + return getSecurityProtocol(); + + case RESOURCE_JOB_MANAGER: + return getResourceJobManager(); + + case ALTERNATIVE_SSHHOST_NAME: + return getAlternativeSSHHostName(); + + case SSH_PORT: + return Integer.valueOf(getSshPort()); + + case MONITOR_MODE: + return getMonitorMode(); + + case BATCH_QUEUE_EMAIL_SENDERS: + return getBatchQueueEmailSenders(); + + } + 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 JOB_SUBMISSION_INTERFACE_ID: + return isSetJobSubmissionInterfaceId(); + case SECURITY_PROTOCOL: + return isSetSecurityProtocol(); + case RESOURCE_JOB_MANAGER: + return isSetResourceJobManager(); + case ALTERNATIVE_SSHHOST_NAME: + return isSetAlternativeSSHHostName(); + case SSH_PORT: + return isSetSshPort(); + case MONITOR_MODE: + return isSetMonitorMode(); + case BATCH_QUEUE_EMAIL_SENDERS: + return isSetBatchQueueEmailSenders(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof SSHJobSubmission) + return this.equals((SSHJobSubmission)that); + return false; + } + + public boolean equals(SSHJobSubmission that) { + if (that == null) + return false; + + boolean this_present_jobSubmissionInterfaceId = true && this.isSetJobSubmissionInterfaceId(); + boolean that_present_jobSubmissionInterfaceId = true && that.isSetJobSubmissionInterfaceId(); + if (this_present_jobSubmissionInterfaceId || that_present_jobSubmissionInterfaceId) { + if (!(this_present_jobSubmissionInterfaceId && that_present_jobSubmissionInterfaceId)) + return false; + if (!this.jobSubmissionInterfaceId.equals(that.jobSubmissionInterfaceId)) + return false; + } + + boolean this_present_securityProtocol = true && this.isSetSecurityProtocol(); + boolean that_present_securityProtocol = true && that.isSetSecurityProtocol(); + if (this_present_securityProtocol || that_present_securityProtocol) { + if (!(this_present_securityProtocol && that_present_securityProtocol)) + return false; + if (!this.securityProtocol.equals(that.securityProtocol)) + return false; + } + + boolean this_present_resourceJobManager = true && this.isSetResourceJobManager(); + boolean that_present_resourceJobManager = true && that.isSetResourceJobManager(); + if (this_present_resourceJobManager || that_present_resourceJobManager) { + if (!(this_present_resourceJobManager && that_present_resourceJobManager)) + return false; + if (!this.resourceJobManager.equals(that.resourceJobManager)) + return false; + } + + boolean this_present_alternativeSSHHostName = true && this.isSetAlternativeSSHHostName(); + boolean that_present_alternativeSSHHostName = true && that.isSetAlternativeSSHHostName(); + if (this_present_alternativeSSHHostName || that_present_alternativeSSHHostName) { + if (!(this_present_alternativeSSHHostName && that_present_alternativeSSHHostName)) + return false; + if (!this.alternativeSSHHostName.equals(that.alternativeSSHHostName)) + return false; + } + + boolean this_present_sshPort = true && this.isSetSshPort(); + boolean that_present_sshPort = true && that.isSetSshPort(); + if (this_present_sshPort || that_present_sshPort) { + if (!(this_present_sshPort && that_present_sshPort)) + return false; + if (this.sshPort != that.sshPort) + return false; + } + + boolean this_present_monitorMode = true && this.isSetMonitorMode(); + boolean that_present_monitorMode = true && that.isSetMonitorMode(); + if (this_present_monitorMode || that_present_monitorMode) { + if (!(this_present_monitorMode && that_present_monitorMode)) + return false; + if (!this.monitorMode.equals(that.monitorMode)) + return false; + } + + boolean this_present_batchQueueEmailSenders = true && this.isSetBatchQueueEmailSenders(); + boolean that_present_batchQueueEmailSenders = true && that.isSetBatchQueueEmailSenders(); + if (this_present_batchQueueEmailSenders || that_present_batchQueueEmailSenders) { + if (!(this_present_batchQueueEmailSenders && that_present_batchQueueEmailSenders)) + return false; + if (!this.batchQueueEmailSenders.equals(that.batchQueueEmailSenders)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_jobSubmissionInterfaceId = true && (isSetJobSubmissionInterfaceId()); + list.add(present_jobSubmissionInterfaceId); + if (present_jobSubmissionInterfaceId) + list.add(jobSubmissionInterfaceId); + + boolean present_securityProtocol = true && (isSetSecurityProtocol()); + list.add(present_securityProtocol); + if (present_securityProtocol) + list.add(securityProtocol.getValue()); + + boolean present_resourceJobManager = true && (isSetResourceJobManager()); + list.add(present_resourceJobManager); + if (present_resourceJobManager) + list.add(resourceJobManager); + + boolean present_alternativeSSHHostName = true && (isSetAlternativeSSHHostName()); + list.add(present_alternativeSSHHostName); + if (present_alternativeSSHHostName) + list.add(alternativeSSHHostName); + + boolean present_sshPort = true && (isSetSshPort()); + list.add(present_sshPort); + if (present_sshPort) + list.add(sshPort); + + boolean present_monitorMode = true && (isSetMonitorMode()); + list.add(present_monitorMode); + if (present_monitorMode) + list.add(monitorMode.getValue()); + + boolean present_batchQueueEmailSenders = true && (isSetBatchQueueEmailSenders()); + list.add(present_batchQueueEmailSenders); + if (present_batchQueueEmailSenders) + list.add(batchQueueEmailSenders); + + return list.hashCode(); + } + + @Override + public int compareTo(SSHJobSubmission other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetJobSubmissionInterfaceId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobSubmissionInterfaceId, other.jobSubmissionInterfaceId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetSecurityProtocol()).compareTo(other.isSetSecurityProtocol()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSecurityProtocol()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.securityProtocol, other.securityProtocol); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetResourceJobManager()).compareTo(other.isSetResourceJobManager()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetResourceJobManager()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceJobManager, other.resourceJobManager); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetAlternativeSSHHostName()).compareTo(other.isSetAlternativeSSHHostName()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetAlternativeSSHHostName()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.alternativeSSHHostName, other.alternativeSSHHostName); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetSshPort()).compareTo(other.isSetSshPort()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSshPort()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sshPort, other.sshPort); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetMonitorMode()).compareTo(other.isSetMonitorMode()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetMonitorMode()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.monitorMode, other.monitorMode); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetBatchQueueEmailSenders()).compareTo(other.isSetBatchQueueEmailSenders()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetBatchQueueEmailSenders()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.batchQueueEmailSenders, other.batchQueueEmailSenders); + 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("SSHJobSubmission("); + boolean first = true; + + sb.append("jobSubmissionInterfaceId:"); + if (this.jobSubmissionInterfaceId == null) { + sb.append("null"); + } else { + sb.append(this.jobSubmissionInterfaceId); + } + first = false; + if (!first) sb.append(", "); + sb.append("securityProtocol:"); + if (this.securityProtocol == null) { + sb.append("null"); + } else { + sb.append(this.securityProtocol); + } + first = false; + if (!first) sb.append(", "); + sb.append("resourceJobManager:"); + if (this.resourceJobManager == null) { + sb.append("null"); + } else { + sb.append(this.resourceJobManager); + } + first = false; + if (isSetAlternativeSSHHostName()) { + if (!first) sb.append(", "); + sb.append("alternativeSSHHostName:"); + if (this.alternativeSSHHostName == null) { + sb.append("null"); + } else { + sb.append(this.alternativeSSHHostName); + } + first = false; + } + if (isSetSshPort()) { + if (!first) sb.append(", "); + sb.append("sshPort:"); + sb.append(this.sshPort); + first = false; + } + if (isSetMonitorMode()) { + if (!first) sb.append(", "); + sb.append("monitorMode:"); + if (this.monitorMode == null) { + sb.append("null"); + } else { + sb.append(this.monitorMode); + } + first = false; + } + if (isSetBatchQueueEmailSenders()) { + if (!first) sb.append(", "); + sb.append("batchQueueEmailSenders:"); + if (this.batchQueueEmailSenders == null) { + sb.append("null"); + } else { + sb.append(this.batchQueueEmailSenders); + } + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (jobSubmissionInterfaceId == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobSubmissionInterfaceId' was not present! Struct: " + toString()); + } + if (securityProtocol == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'securityProtocol' was not present! Struct: " + toString()); + } + if (resourceJobManager == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'resourceJobManager' was not present! Struct: " + toString()); + } + // check for sub-struct validity + if (resourceJobManager != null) { + resourceJobManager.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 SSHJobSubmissionStandardSchemeFactory implements SchemeFactory { + public SSHJobSubmissionStandardScheme getScheme() { + return new SSHJobSubmissionStandardScheme(); + } + } + + private static class SSHJobSubmissionStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, SSHJobSubmission 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: // JOB_SUBMISSION_INTERFACE_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.jobSubmissionInterfaceId = iprot.readString(); + struct.setJobSubmissionInterfaceIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // SECURITY_PROTOCOL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.securityProtocol = org.apache.airavata.model.data.movement.SecurityProtocol.findByValue(iprot.readI32()); + struct.setSecurityProtocolIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // RESOURCE_JOB_MANAGER + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.resourceJobManager = new ResourceJobManager(); + struct.resourceJobManager.read(iprot); + struct.setResourceJobManagerIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // ALTERNATIVE_SSHHOST_NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.alternativeSSHHostName = iprot.readString(); + struct.setAlternativeSSHHostNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // SSH_PORT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.sshPort = iprot.readI32(); + struct.setSshPortIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 6: // MONITOR_MODE + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.monitorMode = org.apache.airavata.model.appcatalog.computeresource.MonitorMode.findByValue(iprot.readI32()); + struct.setMonitorModeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 7: // BATCH_QUEUE_EMAIL_SENDERS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list10 = iprot.readListBegin(); + struct.batchQueueEmailSenders = new ArrayList(_list10.size); + String _elem11; + for (int _i12 = 0; _i12 < _list10.size; ++_i12) + { + _elem11 = iprot.readString(); + struct.batchQueueEmailSenders.add(_elem11); + } + iprot.readListEnd(); + } + struct.setBatchQueueEmailSendersIsSet(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, SSHJobSubmission struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.jobSubmissionInterfaceId != null) { + oprot.writeFieldBegin(JOB_SUBMISSION_INTERFACE_ID_FIELD_DESC); + oprot.writeString(struct.jobSubmissionInterfaceId); + oprot.writeFieldEnd(); + } + if (struct.securityProtocol != null) { + oprot.writeFieldBegin(SECURITY_PROTOCOL_FIELD_DESC); + oprot.writeI32(struct.securityProtocol.getValue()); + oprot.writeFieldEnd(); + } + if (struct.resourceJobManager != null) { + oprot.writeFieldBegin(RESOURCE_JOB_MANAGER_FIELD_DESC); + struct.resourceJobManager.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.alternativeSSHHostName != null) { + if (struct.isSetAlternativeSSHHostName()) { + oprot.writeFieldBegin(ALTERNATIVE_SSHHOST_NAME_FIELD_DESC); + oprot.writeString(struct.alternativeSSHHostName); + oprot.writeFieldEnd(); + } + } + if (struct.isSetSshPort()) { + oprot.writeFieldBegin(SSH_PORT_FIELD_DESC); + oprot.writeI32(struct.sshPort); + oprot.writeFieldEnd(); + } + if (struct.monitorMode != null) { + if (struct.isSetMonitorMode()) { + oprot.writeFieldBegin(MONITOR_MODE_FIELD_DESC); + oprot.writeI32(struct.monitorMode.getValue()); + oprot.writeFieldEnd(); + } + } + if (struct.batchQueueEmailSenders != null) { + if (struct.isSetBatchQueueEmailSenders()) { + oprot.writeFieldBegin(BATCH_QUEUE_EMAIL_SENDERS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.batchQueueEmailSenders.size())); + for (String _iter13 : struct.batchQueueEmailSenders) + { + oprot.writeString(_iter13); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class SSHJobSubmissionTupleSchemeFactory implements SchemeFactory { + public SSHJobSubmissionTupleScheme getScheme() { + return new SSHJobSubmissionTupleScheme(); + } + } + + private static class SSHJobSubmissionTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, SSHJobSubmission struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.jobSubmissionInterfaceId); + oprot.writeI32(struct.securityProtocol.getValue()); + struct.resourceJobManager.write(oprot); + BitSet optionals = new BitSet(); + if (struct.isSetAlternativeSSHHostName()) { + optionals.set(0); + } + if (struct.isSetSshPort()) { + optionals.set(1); + } + if (struct.isSetMonitorMode()) { + optionals.set(2); + } + if (struct.isSetBatchQueueEmailSenders()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetAlternativeSSHHostName()) { + oprot.writeString(struct.alternativeSSHHostName); + } + if (struct.isSetSshPort()) { + oprot.writeI32(struct.sshPort); + } + if (struct.isSetMonitorMode()) { + oprot.writeI32(struct.monitorMode.getValue()); + } + if (struct.isSetBatchQueueEmailSenders()) { + { + oprot.writeI32(struct.batchQueueEmailSenders.size()); + for (String _iter14 : struct.batchQueueEmailSenders) + { + oprot.writeString(_iter14); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, SSHJobSubmission struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.jobSubmissionInterfaceId = iprot.readString(); + struct.setJobSubmissionInterfaceIdIsSet(true); + struct.securityProtocol = org.apache.airavata.model.data.movement.SecurityProtocol.findByValue(iprot.readI32()); + struct.setSecurityProtocolIsSet(true); + struct.resourceJobManager = new ResourceJobManager(); + struct.resourceJobManager.read(iprot); + struct.setResourceJobManagerIsSet(true); + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + struct.alternativeSSHHostName = iprot.readString(); + struct.setAlternativeSSHHostNameIsSet(true); + } + if (incoming.get(1)) { + struct.sshPort = iprot.readI32(); + struct.setSshPortIsSet(true); + } + if (incoming.get(2)) { + struct.monitorMode = org.apache.airavata.model.appcatalog.computeresource.MonitorMode.findByValue(iprot.readI32()); + struct.setMonitorModeIsSet(true); + } + if (incoming.get(3)) { + { + org.apache.thrift.protocol.TList _list15 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.batchQueueEmailSenders = new ArrayList(_list15.size); + String _elem16; + for (int _i17 = 0; _i17 < _list15.size; ++_i17) + { + _elem16 = iprot.readString(); + struct.batchQueueEmailSenders.add(_elem16); + } + } + struct.setBatchQueueEmailSendersIsSet(true); + } + } + } + +} +