http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java new file mode 100644 index 0000000..66ebba8 --- /dev/null +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java @@ -0,0 +1,746 @@ +/** + * 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.data.movement; + +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"}) +/** + * Data Movement through Secured Copy + * + * alternativeSCPHostName: + * If the login to scp is different than the hostname itself, specify it here + * + * sshPort: + * If a non-default port needs to used, specify it. + */ +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-11-23") +public class SCPDataMovement implements org.apache.thrift.TBase<SCPDataMovement, SCPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<SCPDataMovement> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SCPDataMovement"); + + private static final org.apache.thrift.protocol.TField DATA_MOVEMENT_INTERFACE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMovementInterfaceId", 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 ALTERNATIVE_SCPHOST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("alternativeSCPHostName", org.apache.thrift.protocol.TType.STRING, (short)3); + 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)4); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new SCPDataMovementStandardSchemeFactory()); + schemes.put(TupleScheme.class, new SCPDataMovementTupleSchemeFactory()); + } + + private String dataMovementInterfaceId; // required + private SecurityProtocol securityProtocol; // required + private String alternativeSCPHostName; // optional + private int sshPort; // 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 { + DATA_MOVEMENT_INTERFACE_ID((short)1, "dataMovementInterfaceId"), + /** + * + * @see SecurityProtocol + */ + SECURITY_PROTOCOL((short)2, "securityProtocol"), + ALTERNATIVE_SCPHOST_NAME((short)3, "alternativeSCPHostName"), + SSH_PORT((short)4, "sshPort"); + + 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: // DATA_MOVEMENT_INTERFACE_ID + return DATA_MOVEMENT_INTERFACE_ID; + case 2: // SECURITY_PROTOCOL + return SECURITY_PROTOCOL; + case 3: // ALTERNATIVE_SCPHOST_NAME + return ALTERNATIVE_SCPHOST_NAME; + case 4: // SSH_PORT + return SSH_PORT; + 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_SCPHOST_NAME,_Fields.SSH_PORT}; + 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.DATA_MOVEMENT_INTERFACE_ID, new org.apache.thrift.meta_data.FieldMetaData("dataMovementInterfaceId", 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, SecurityProtocol.class))); + tmpMap.put(_Fields.ALTERNATIVE_SCPHOST_NAME, new org.apache.thrift.meta_data.FieldMetaData("alternativeSCPHostName", 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))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(SCPDataMovement.class, metaDataMap); + } + + public SCPDataMovement() { + this.dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + + this.sshPort = 22; + + } + + public SCPDataMovement( + String dataMovementInterfaceId, + SecurityProtocol securityProtocol) + { + this(); + this.dataMovementInterfaceId = dataMovementInterfaceId; + this.securityProtocol = securityProtocol; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public SCPDataMovement(SCPDataMovement other) { + __isset_bitfield = other.__isset_bitfield; + if (other.isSetDataMovementInterfaceId()) { + this.dataMovementInterfaceId = other.dataMovementInterfaceId; + } + if (other.isSetSecurityProtocol()) { + this.securityProtocol = other.securityProtocol; + } + if (other.isSetAlternativeSCPHostName()) { + this.alternativeSCPHostName = other.alternativeSCPHostName; + } + this.sshPort = other.sshPort; + } + + public SCPDataMovement deepCopy() { + return new SCPDataMovement(this); + } + + @Override + public void clear() { + this.dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + + this.securityProtocol = null; + this.alternativeSCPHostName = null; + this.sshPort = 22; + + } + + public String getDataMovementInterfaceId() { + return this.dataMovementInterfaceId; + } + + public void setDataMovementInterfaceId(String dataMovementInterfaceId) { + this.dataMovementInterfaceId = dataMovementInterfaceId; + } + + public void unsetDataMovementInterfaceId() { + this.dataMovementInterfaceId = null; + } + + /** Returns true if field dataMovementInterfaceId is set (has been assigned a value) and false otherwise */ + public boolean isSetDataMovementInterfaceId() { + return this.dataMovementInterfaceId != null; + } + + public void setDataMovementInterfaceIdIsSet(boolean value) { + if (!value) { + this.dataMovementInterfaceId = null; + } + } + + /** + * + * @see SecurityProtocol + */ + public SecurityProtocol getSecurityProtocol() { + return this.securityProtocol; + } + + /** + * + * @see SecurityProtocol + */ + public void setSecurityProtocol(SecurityProtocol securityProtocol) { + this.securityProtocol = securityProtocol; + } + + 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 String getAlternativeSCPHostName() { + return this.alternativeSCPHostName; + } + + public void setAlternativeSCPHostName(String alternativeSCPHostName) { + this.alternativeSCPHostName = alternativeSCPHostName; + } + + public void unsetAlternativeSCPHostName() { + this.alternativeSCPHostName = null; + } + + /** Returns true if field alternativeSCPHostName is set (has been assigned a value) and false otherwise */ + public boolean isSetAlternativeSCPHostName() { + return this.alternativeSCPHostName != null; + } + + public void setAlternativeSCPHostNameIsSet(boolean value) { + if (!value) { + this.alternativeSCPHostName = null; + } + } + + public int getSshPort() { + return this.sshPort; + } + + public void setSshPort(int sshPort) { + this.sshPort = sshPort; + setSshPortIsSet(true); + } + + 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); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case DATA_MOVEMENT_INTERFACE_ID: + if (value == null) { + unsetDataMovementInterfaceId(); + } else { + setDataMovementInterfaceId((String)value); + } + break; + + case SECURITY_PROTOCOL: + if (value == null) { + unsetSecurityProtocol(); + } else { + setSecurityProtocol((SecurityProtocol)value); + } + break; + + case ALTERNATIVE_SCPHOST_NAME: + if (value == null) { + unsetAlternativeSCPHostName(); + } else { + setAlternativeSCPHostName((String)value); + } + break; + + case SSH_PORT: + if (value == null) { + unsetSshPort(); + } else { + setSshPort((Integer)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case DATA_MOVEMENT_INTERFACE_ID: + return getDataMovementInterfaceId(); + + case SECURITY_PROTOCOL: + return getSecurityProtocol(); + + case ALTERNATIVE_SCPHOST_NAME: + return getAlternativeSCPHostName(); + + case SSH_PORT: + return Integer.valueOf(getSshPort()); + + } + 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 DATA_MOVEMENT_INTERFACE_ID: + return isSetDataMovementInterfaceId(); + case SECURITY_PROTOCOL: + return isSetSecurityProtocol(); + case ALTERNATIVE_SCPHOST_NAME: + return isSetAlternativeSCPHostName(); + case SSH_PORT: + return isSetSshPort(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof SCPDataMovement) + return this.equals((SCPDataMovement)that); + return false; + } + + public boolean equals(SCPDataMovement that) { + if (that == null) + return false; + + boolean this_present_dataMovementInterfaceId = true && this.isSetDataMovementInterfaceId(); + boolean that_present_dataMovementInterfaceId = true && that.isSetDataMovementInterfaceId(); + if (this_present_dataMovementInterfaceId || that_present_dataMovementInterfaceId) { + if (!(this_present_dataMovementInterfaceId && that_present_dataMovementInterfaceId)) + return false; + if (!this.dataMovementInterfaceId.equals(that.dataMovementInterfaceId)) + 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_alternativeSCPHostName = true && this.isSetAlternativeSCPHostName(); + boolean that_present_alternativeSCPHostName = true && that.isSetAlternativeSCPHostName(); + if (this_present_alternativeSCPHostName || that_present_alternativeSCPHostName) { + if (!(this_present_alternativeSCPHostName && that_present_alternativeSCPHostName)) + return false; + if (!this.alternativeSCPHostName.equals(that.alternativeSCPHostName)) + 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; + } + + return true; + } + + @Override + public int hashCode() { + List<Object> list = new ArrayList<Object>(); + + boolean present_dataMovementInterfaceId = true && (isSetDataMovementInterfaceId()); + list.add(present_dataMovementInterfaceId); + if (present_dataMovementInterfaceId) + list.add(dataMovementInterfaceId); + + boolean present_securityProtocol = true && (isSetSecurityProtocol()); + list.add(present_securityProtocol); + if (present_securityProtocol) + list.add(securityProtocol.getValue()); + + boolean present_alternativeSCPHostName = true && (isSetAlternativeSCPHostName()); + list.add(present_alternativeSCPHostName); + if (present_alternativeSCPHostName) + list.add(alternativeSCPHostName); + + boolean present_sshPort = true && (isSetSshPort()); + list.add(present_sshPort); + if (present_sshPort) + list.add(sshPort); + + return list.hashCode(); + } + + @Override + public int compareTo(SCPDataMovement other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetDataMovementInterfaceId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataMovementInterfaceId, other.dataMovementInterfaceId); + 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(isSetAlternativeSCPHostName()).compareTo(other.isSetAlternativeSCPHostName()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetAlternativeSCPHostName()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.alternativeSCPHostName, other.alternativeSCPHostName); + 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; + } + } + 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("SCPDataMovement("); + boolean first = true; + + sb.append("dataMovementInterfaceId:"); + if (this.dataMovementInterfaceId == null) { + sb.append("null"); + } else { + sb.append(this.dataMovementInterfaceId); + } + first = false; + if (!first) sb.append(", "); + sb.append("securityProtocol:"); + if (this.securityProtocol == null) { + sb.append("null"); + } else { + sb.append(this.securityProtocol); + } + first = false; + if (isSetAlternativeSCPHostName()) { + if (!first) sb.append(", "); + sb.append("alternativeSCPHostName:"); + if (this.alternativeSCPHostName == null) { + sb.append("null"); + } else { + sb.append(this.alternativeSCPHostName); + } + first = false; + } + if (isSetSshPort()) { + if (!first) sb.append(", "); + sb.append("sshPort:"); + sb.append(this.sshPort); + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (!isSetDataMovementInterfaceId()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'dataMovementInterfaceId' is unset! Struct:" + toString()); + } + + if (!isSetSecurityProtocol()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'securityProtocol' is unset! Struct:" + toString()); + } + + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class SCPDataMovementStandardSchemeFactory implements SchemeFactory { + public SCPDataMovementStandardScheme getScheme() { + return new SCPDataMovementStandardScheme(); + } + } + + private static class SCPDataMovementStandardScheme extends StandardScheme<SCPDataMovement> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, SCPDataMovement 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: // DATA_MOVEMENT_INTERFACE_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.dataMovementInterfaceId = iprot.readString(); + struct.setDataMovementInterfaceIdIsSet(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: // ALTERNATIVE_SCPHOST_NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.alternativeSCPHostName = iprot.readString(); + struct.setAlternativeSCPHostNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // 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; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, SCPDataMovement struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.dataMovementInterfaceId != null) { + oprot.writeFieldBegin(DATA_MOVEMENT_INTERFACE_ID_FIELD_DESC); + oprot.writeString(struct.dataMovementInterfaceId); + oprot.writeFieldEnd(); + } + if (struct.securityProtocol != null) { + oprot.writeFieldBegin(SECURITY_PROTOCOL_FIELD_DESC); + oprot.writeI32(struct.securityProtocol.getValue()); + oprot.writeFieldEnd(); + } + if (struct.alternativeSCPHostName != null) { + if (struct.isSetAlternativeSCPHostName()) { + oprot.writeFieldBegin(ALTERNATIVE_SCPHOST_NAME_FIELD_DESC); + oprot.writeString(struct.alternativeSCPHostName); + oprot.writeFieldEnd(); + } + } + if (struct.isSetSshPort()) { + oprot.writeFieldBegin(SSH_PORT_FIELD_DESC); + oprot.writeI32(struct.sshPort); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class SCPDataMovementTupleSchemeFactory implements SchemeFactory { + public SCPDataMovementTupleScheme getScheme() { + return new SCPDataMovementTupleScheme(); + } + } + + private static class SCPDataMovementTupleScheme extends TupleScheme<SCPDataMovement> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, SCPDataMovement struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.dataMovementInterfaceId); + oprot.writeI32(struct.securityProtocol.getValue()); + BitSet optionals = new BitSet(); + if (struct.isSetAlternativeSCPHostName()) { + optionals.set(0); + } + if (struct.isSetSshPort()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetAlternativeSCPHostName()) { + oprot.writeString(struct.alternativeSCPHostName); + } + if (struct.isSetSshPort()) { + oprot.writeI32(struct.sshPort); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, SCPDataMovement struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.dataMovementInterfaceId = iprot.readString(); + struct.setDataMovementInterfaceIdIsSet(true); + struct.securityProtocol = org.apache.airavata.model.data.movement.SecurityProtocol.findByValue(iprot.readI32()); + struct.setSecurityProtocolIsSet(true); + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.alternativeSCPHostName = iprot.readString(); + struct.setAlternativeSCPHostNameIsSet(true); + } + if (incoming.get(1)) { + struct.sshPort = iprot.readI32(); + struct.setSshPortIsSet(true); + } + } + } + +} +
http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java new file mode 100644 index 0000000..c1f5469 --- /dev/null +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java @@ -0,0 +1,88 @@ +/** + * 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.data.movement; + + +import java.util.Map; +import java.util.HashMap; +import org.apache.thrift.TEnum; + +/** + * Enumeration of security authentication and authorization mechanisms supported by Airavata. This enumeration just + * describes the supported mechanism. The corresponding security credentials are registered with Airavata Credential + * store. + * + * USERNAME_PASSWORD: + * A User Name. + * + * SSH_KEYS: + * SSH Keys + * + * FIXME: Change GSI to a more precise generic security protocol - X509 + * + */ +public enum SecurityProtocol implements org.apache.thrift.TEnum { + USERNAME_PASSWORD(0), + SSH_KEYS(1), + GSI(2), + KERBEROS(3), + OAUTH(4), + LOCAL(5); + + private final int value; + + private SecurityProtocol(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 SecurityProtocol findByValue(int value) { + switch (value) { + case 0: + return USERNAME_PASSWORD; + case 1: + return SSH_KEYS; + case 2: + return GSI; + case 3: + return KERBEROS; + case 4: + return OAUTH; + case 5: + return LOCAL; + default: + return null; + } + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java new file mode 100644 index 0000000..32a5f7a --- /dev/null +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java @@ -0,0 +1,629 @@ +/** + * 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.data.movement; + +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"}) +/** + * Data Movement through UnicoreStorage + * + * unicoreEndPointURL: + * unicoreGateway End Point. The provider will query this service to fetch required service end points. + */ +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-11-23") +public class UnicoreDataMovement implements org.apache.thrift.TBase<UnicoreDataMovement, UnicoreDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreDataMovement> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreDataMovement"); + + private static final org.apache.thrift.protocol.TField DATA_MOVEMENT_INTERFACE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMovementInterfaceId", 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 UNICORE_END_POINT_URL_FIELD_DESC = new org.apache.thrift.protocol.TField("unicoreEndPointURL", org.apache.thrift.protocol.TType.STRING, (short)3); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new UnicoreDataMovementStandardSchemeFactory()); + schemes.put(TupleScheme.class, new UnicoreDataMovementTupleSchemeFactory()); + } + + private String dataMovementInterfaceId; // required + private SecurityProtocol securityProtocol; // required + private String unicoreEndPointURL; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + DATA_MOVEMENT_INTERFACE_ID((short)1, "dataMovementInterfaceId"), + /** + * + * @see SecurityProtocol + */ + SECURITY_PROTOCOL((short)2, "securityProtocol"), + UNICORE_END_POINT_URL((short)3, "unicoreEndPointURL"); + + 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: // DATA_MOVEMENT_INTERFACE_ID + return DATA_MOVEMENT_INTERFACE_ID; + case 2: // SECURITY_PROTOCOL + return SECURITY_PROTOCOL; + case 3: // UNICORE_END_POINT_URL + return UNICORE_END_POINT_URL; + 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 + 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.DATA_MOVEMENT_INTERFACE_ID, new org.apache.thrift.meta_data.FieldMetaData("dataMovementInterfaceId", 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, SecurityProtocol.class))); + tmpMap.put(_Fields.UNICORE_END_POINT_URL, new org.apache.thrift.meta_data.FieldMetaData("unicoreEndPointURL", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(UnicoreDataMovement.class, metaDataMap); + } + + public UnicoreDataMovement() { + this.dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + + } + + public UnicoreDataMovement( + String dataMovementInterfaceId, + SecurityProtocol securityProtocol, + String unicoreEndPointURL) + { + this(); + this.dataMovementInterfaceId = dataMovementInterfaceId; + this.securityProtocol = securityProtocol; + this.unicoreEndPointURL = unicoreEndPointURL; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public UnicoreDataMovement(UnicoreDataMovement other) { + if (other.isSetDataMovementInterfaceId()) { + this.dataMovementInterfaceId = other.dataMovementInterfaceId; + } + if (other.isSetSecurityProtocol()) { + this.securityProtocol = other.securityProtocol; + } + if (other.isSetUnicoreEndPointURL()) { + this.unicoreEndPointURL = other.unicoreEndPointURL; + } + } + + public UnicoreDataMovement deepCopy() { + return new UnicoreDataMovement(this); + } + + @Override + public void clear() { + this.dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + + this.securityProtocol = null; + this.unicoreEndPointURL = null; + } + + public String getDataMovementInterfaceId() { + return this.dataMovementInterfaceId; + } + + public void setDataMovementInterfaceId(String dataMovementInterfaceId) { + this.dataMovementInterfaceId = dataMovementInterfaceId; + } + + public void unsetDataMovementInterfaceId() { + this.dataMovementInterfaceId = null; + } + + /** Returns true if field dataMovementInterfaceId is set (has been assigned a value) and false otherwise */ + public boolean isSetDataMovementInterfaceId() { + return this.dataMovementInterfaceId != null; + } + + public void setDataMovementInterfaceIdIsSet(boolean value) { + if (!value) { + this.dataMovementInterfaceId = null; + } + } + + /** + * + * @see SecurityProtocol + */ + public SecurityProtocol getSecurityProtocol() { + return this.securityProtocol; + } + + /** + * + * @see SecurityProtocol + */ + public void setSecurityProtocol(SecurityProtocol securityProtocol) { + this.securityProtocol = securityProtocol; + } + + 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 String getUnicoreEndPointURL() { + return this.unicoreEndPointURL; + } + + public void setUnicoreEndPointURL(String unicoreEndPointURL) { + this.unicoreEndPointURL = unicoreEndPointURL; + } + + public void unsetUnicoreEndPointURL() { + this.unicoreEndPointURL = null; + } + + /** Returns true if field unicoreEndPointURL is set (has been assigned a value) and false otherwise */ + public boolean isSetUnicoreEndPointURL() { + return this.unicoreEndPointURL != null; + } + + public void setUnicoreEndPointURLIsSet(boolean value) { + if (!value) { + this.unicoreEndPointURL = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case DATA_MOVEMENT_INTERFACE_ID: + if (value == null) { + unsetDataMovementInterfaceId(); + } else { + setDataMovementInterfaceId((String)value); + } + break; + + case SECURITY_PROTOCOL: + if (value == null) { + unsetSecurityProtocol(); + } else { + setSecurityProtocol((SecurityProtocol)value); + } + break; + + case UNICORE_END_POINT_URL: + if (value == null) { + unsetUnicoreEndPointURL(); + } else { + setUnicoreEndPointURL((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case DATA_MOVEMENT_INTERFACE_ID: + return getDataMovementInterfaceId(); + + case SECURITY_PROTOCOL: + return getSecurityProtocol(); + + case UNICORE_END_POINT_URL: + return getUnicoreEndPointURL(); + + } + 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 DATA_MOVEMENT_INTERFACE_ID: + return isSetDataMovementInterfaceId(); + case SECURITY_PROTOCOL: + return isSetSecurityProtocol(); + case UNICORE_END_POINT_URL: + return isSetUnicoreEndPointURL(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof UnicoreDataMovement) + return this.equals((UnicoreDataMovement)that); + return false; + } + + public boolean equals(UnicoreDataMovement that) { + if (that == null) + return false; + + boolean this_present_dataMovementInterfaceId = true && this.isSetDataMovementInterfaceId(); + boolean that_present_dataMovementInterfaceId = true && that.isSetDataMovementInterfaceId(); + if (this_present_dataMovementInterfaceId || that_present_dataMovementInterfaceId) { + if (!(this_present_dataMovementInterfaceId && that_present_dataMovementInterfaceId)) + return false; + if (!this.dataMovementInterfaceId.equals(that.dataMovementInterfaceId)) + 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_unicoreEndPointURL = true && this.isSetUnicoreEndPointURL(); + boolean that_present_unicoreEndPointURL = true && that.isSetUnicoreEndPointURL(); + if (this_present_unicoreEndPointURL || that_present_unicoreEndPointURL) { + if (!(this_present_unicoreEndPointURL && that_present_unicoreEndPointURL)) + return false; + if (!this.unicoreEndPointURL.equals(that.unicoreEndPointURL)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List<Object> list = new ArrayList<Object>(); + + boolean present_dataMovementInterfaceId = true && (isSetDataMovementInterfaceId()); + list.add(present_dataMovementInterfaceId); + if (present_dataMovementInterfaceId) + list.add(dataMovementInterfaceId); + + boolean present_securityProtocol = true && (isSetSecurityProtocol()); + list.add(present_securityProtocol); + if (present_securityProtocol) + list.add(securityProtocol.getValue()); + + boolean present_unicoreEndPointURL = true && (isSetUnicoreEndPointURL()); + list.add(present_unicoreEndPointURL); + if (present_unicoreEndPointURL) + list.add(unicoreEndPointURL); + + return list.hashCode(); + } + + @Override + public int compareTo(UnicoreDataMovement other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetDataMovementInterfaceId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataMovementInterfaceId, other.dataMovementInterfaceId); + 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(isSetUnicoreEndPointURL()).compareTo(other.isSetUnicoreEndPointURL()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUnicoreEndPointURL()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.unicoreEndPointURL, other.unicoreEndPointURL); + 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("UnicoreDataMovement("); + boolean first = true; + + sb.append("dataMovementInterfaceId:"); + if (this.dataMovementInterfaceId == null) { + sb.append("null"); + } else { + sb.append(this.dataMovementInterfaceId); + } + 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("unicoreEndPointURL:"); + if (this.unicoreEndPointURL == null) { + sb.append("null"); + } else { + sb.append(this.unicoreEndPointURL); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (!isSetDataMovementInterfaceId()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'dataMovementInterfaceId' is unset! Struct:" + toString()); + } + + if (!isSetSecurityProtocol()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'securityProtocol' is unset! Struct:" + toString()); + } + + if (!isSetUnicoreEndPointURL()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'unicoreEndPointURL' is unset! Struct:" + toString()); + } + + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + 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 UnicoreDataMovementStandardSchemeFactory implements SchemeFactory { + public UnicoreDataMovementStandardScheme getScheme() { + return new UnicoreDataMovementStandardScheme(); + } + } + + private static class UnicoreDataMovementStandardScheme extends StandardScheme<UnicoreDataMovement> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, UnicoreDataMovement 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: // DATA_MOVEMENT_INTERFACE_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.dataMovementInterfaceId = iprot.readString(); + struct.setDataMovementInterfaceIdIsSet(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: // UNICORE_END_POINT_URL + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.unicoreEndPointURL = iprot.readString(); + struct.setUnicoreEndPointURLIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, UnicoreDataMovement struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.dataMovementInterfaceId != null) { + oprot.writeFieldBegin(DATA_MOVEMENT_INTERFACE_ID_FIELD_DESC); + oprot.writeString(struct.dataMovementInterfaceId); + oprot.writeFieldEnd(); + } + if (struct.securityProtocol != null) { + oprot.writeFieldBegin(SECURITY_PROTOCOL_FIELD_DESC); + oprot.writeI32(struct.securityProtocol.getValue()); + oprot.writeFieldEnd(); + } + if (struct.unicoreEndPointURL != null) { + oprot.writeFieldBegin(UNICORE_END_POINT_URL_FIELD_DESC); + oprot.writeString(struct.unicoreEndPointURL); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class UnicoreDataMovementTupleSchemeFactory implements SchemeFactory { + public UnicoreDataMovementTupleScheme getScheme() { + return new UnicoreDataMovementTupleScheme(); + } + } + + private static class UnicoreDataMovementTupleScheme extends TupleScheme<UnicoreDataMovement> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, UnicoreDataMovement struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.dataMovementInterfaceId); + oprot.writeI32(struct.securityProtocol.getValue()); + oprot.writeString(struct.unicoreEndPointURL); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, UnicoreDataMovement struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.dataMovementInterfaceId = iprot.readString(); + struct.setDataMovementInterfaceIdIsSet(true); + struct.securityProtocol = org.apache.airavata.model.data.movement.SecurityProtocol.findByValue(iprot.readI32()); + struct.setSecurityProtocolIsSet(true); + struct.unicoreEndPointURL = iprot.readString(); + struct.setUnicoreEndPointURLIsSet(true); + } + } + +} + http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java index f5d0f0f..0daa5ce 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java @@ -67,6 +67,7 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC private static final org.apache.thrift.protocol.TField THROTTLE_RESOURCES_FIELD_DESC = new org.apache.thrift.protocol.TField("throttleResources", org.apache.thrift.protocol.TType.BOOL, (short)5); private static final org.apache.thrift.protocol.TField USER_DN_FIELD_DESC = new org.apache.thrift.protocol.TField("userDN", org.apache.thrift.protocol.TType.STRING, (short)6); private static final org.apache.thrift.protocol.TField GENERATE_CERT_FIELD_DESC = new org.apache.thrift.protocol.TField("generateCert", org.apache.thrift.protocol.TType.BOOL, (short)7); + private static final org.apache.thrift.protocol.TField STORAGE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storageId", org.apache.thrift.protocol.TType.STRING, (short)8); private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); static { @@ -81,6 +82,7 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC private boolean throttleResources; // optional private String userDN; // optional private boolean generateCert; // optional + private String storageId; // 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 { @@ -90,7 +92,8 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC COMPUTATIONAL_RESOURCE_SCHEDULING((short)4, "computationalResourceScheduling"), THROTTLE_RESOURCES((short)5, "throttleResources"), USER_DN((short)6, "userDN"), - GENERATE_CERT((short)7, "generateCert"); + GENERATE_CERT((short)7, "generateCert"), + STORAGE_ID((short)8, "storageId"); private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); @@ -119,6 +122,8 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC return USER_DN; case 7: // GENERATE_CERT return GENERATE_CERT; + case 8: // STORAGE_ID + return STORAGE_ID; default: return null; } @@ -165,7 +170,7 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC private static final int __THROTTLERESOURCES_ISSET_ID = 3; private static final int __GENERATECERT_ISSET_ID = 4; private byte __isset_bitfield = 0; - private static final _Fields optionals[] = {_Fields.SHARE_EXPERIMENT_PUBLICLY,_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING,_Fields.THROTTLE_RESOURCES,_Fields.USER_DN,_Fields.GENERATE_CERT}; + private static final _Fields optionals[] = {_Fields.SHARE_EXPERIMENT_PUBLICLY,_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING,_Fields.THROTTLE_RESOURCES,_Fields.USER_DN,_Fields.GENERATE_CERT,_Fields.STORAGE_ID}; 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); @@ -183,6 +188,8 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); tmpMap.put(_Fields.GENERATE_CERT, new org.apache.thrift.meta_data.FieldMetaData("generateCert", org.apache.thrift.TFieldRequirementType.OPTIONAL, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.STORAGE_ID, new org.apache.thrift.meta_data.FieldMetaData("storageId", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); metaDataMap = Collections.unmodifiableMap(tmpMap); org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(UserConfigurationDataModel.class, metaDataMap); } @@ -227,6 +234,9 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC this.userDN = other.userDN; } this.generateCert = other.generateCert; + if (other.isSetStorageId()) { + this.storageId = other.storageId; + } } public UserConfigurationDataModel deepCopy() { @@ -247,6 +257,7 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC this.userDN = null; this.generateCert = false; + this.storageId = null; } public boolean isAiravataAutoSchedule() { @@ -405,6 +416,29 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __GENERATECERT_ISSET_ID, value); } + public String getStorageId() { + return this.storageId; + } + + public void setStorageId(String storageId) { + this.storageId = storageId; + } + + public void unsetStorageId() { + this.storageId = null; + } + + /** Returns true if field storageId is set (has been assigned a value) and false otherwise */ + public boolean isSetStorageId() { + return this.storageId != null; + } + + public void setStorageIdIsSet(boolean value) { + if (!value) { + this.storageId = null; + } + } + public void setFieldValue(_Fields field, Object value) { switch (field) { case AIRAVATA_AUTO_SCHEDULE: @@ -463,6 +497,14 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC } break; + case STORAGE_ID: + if (value == null) { + unsetStorageId(); + } else { + setStorageId((String)value); + } + break; + } } @@ -489,6 +531,9 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC case GENERATE_CERT: return Boolean.valueOf(isGenerateCert()); + case STORAGE_ID: + return getStorageId(); + } throw new IllegalStateException(); } @@ -514,6 +559,8 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC return isSetUserDN(); case GENERATE_CERT: return isSetGenerateCert(); + case STORAGE_ID: + return isSetStorageId(); } throw new IllegalStateException(); } @@ -594,6 +641,15 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC return false; } + boolean this_present_storageId = true && this.isSetStorageId(); + boolean that_present_storageId = true && that.isSetStorageId(); + if (this_present_storageId || that_present_storageId) { + if (!(this_present_storageId && that_present_storageId)) + return false; + if (!this.storageId.equals(that.storageId)) + return false; + } + return true; } @@ -636,6 +692,11 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC if (present_generateCert) list.add(generateCert); + boolean present_storageId = true && (isSetStorageId()); + list.add(present_storageId); + if (present_storageId) + list.add(storageId); + return list.hashCode(); } @@ -717,6 +778,16 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC return lastComparison; } } + lastComparison = Boolean.valueOf(isSetStorageId()).compareTo(other.isSetStorageId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetStorageId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageId, other.storageId); + if (lastComparison != 0) { + return lastComparison; + } + } return 0; } @@ -782,6 +853,16 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC sb.append(this.generateCert); first = false; } + if (isSetStorageId()) { + if (!first) sb.append(", "); + sb.append("storageId:"); + if (this.storageId == null) { + sb.append("null"); + } else { + sb.append(this.storageId); + } + first = false; + } sb.append(")"); return sb.toString(); } @@ -895,6 +976,14 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; + case 8: // STORAGE_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.storageId = iprot.readString(); + struct.setStorageIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } @@ -943,6 +1032,13 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC oprot.writeBool(struct.generateCert); oprot.writeFieldEnd(); } + if (struct.storageId != null) { + if (struct.isSetStorageId()) { + oprot.writeFieldBegin(STORAGE_ID_FIELD_DESC); + oprot.writeString(struct.storageId); + oprot.writeFieldEnd(); + } + } oprot.writeFieldStop(); oprot.writeStructEnd(); } @@ -978,7 +1074,10 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC if (struct.isSetGenerateCert()) { optionals.set(4); } - oprot.writeBitSet(optionals, 5); + if (struct.isSetStorageId()) { + optionals.set(5); + } + oprot.writeBitSet(optionals, 6); if (struct.isSetShareExperimentPublicly()) { oprot.writeBool(struct.shareExperimentPublicly); } @@ -994,6 +1093,9 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC if (struct.isSetGenerateCert()) { oprot.writeBool(struct.generateCert); } + if (struct.isSetStorageId()) { + oprot.writeString(struct.storageId); + } } @Override @@ -1003,7 +1105,7 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC struct.setAiravataAutoScheduleIsSet(true); struct.overrideManualScheduledParams = iprot.readBool(); struct.setOverrideManualScheduledParamsIsSet(true); - BitSet incoming = iprot.readBitSet(5); + BitSet incoming = iprot.readBitSet(6); if (incoming.get(0)) { struct.shareExperimentPublicly = iprot.readBool(); struct.setShareExperimentPubliclyIsSet(true); @@ -1025,6 +1127,10 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC struct.generateCert = iprot.readBool(); struct.setGenerateCertIsSet(true); } + if (incoming.get(5)) { + struct.storageId = iprot.readString(); + struct.setStorageIdIsSet(true); + } } } http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java index 597124d..cecd6f5 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java @@ -82,6 +82,7 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce 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)16); 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)17); 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)18); + private static final org.apache.thrift.protocol.TField STORAGE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storageResourceId", org.apache.thrift.protocol.TType.STRING, (short)19); private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); static { @@ -107,6 +108,7 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce private String gatewayExecutionId; // optional private boolean enableEmailNotification; // optional private List<String> emailAddresses; // optional + private String storageResourceId; // 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 { @@ -127,7 +129,8 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce PROCESS_ERROR((short)15, "processError"), GATEWAY_EXECUTION_ID((short)16, "gatewayExecutionId"), ENABLE_EMAIL_NOTIFICATION((short)17, "enableEmailNotification"), - EMAIL_ADDRESSES((short)18, "emailAddresses"); + EMAIL_ADDRESSES((short)18, "emailAddresses"), + STORAGE_RESOURCE_ID((short)19, "storageResourceId"); private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); @@ -178,6 +181,8 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce return ENABLE_EMAIL_NOTIFICATION; case 18: // EMAIL_ADDRESSES return EMAIL_ADDRESSES; + case 19: // STORAGE_RESOURCE_ID + return STORAGE_RESOURCE_ID; default: return null; } @@ -222,7 +227,7 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce private static final int __LASTUPDATETIME_ISSET_ID = 1; private static final int __ENABLEEMAILNOTIFICATION_ISSET_ID = 2; private byte __isset_bitfield = 0; - private static final _Fields optionals[] = {_Fields.CREATION_TIME,_Fields.LAST_UPDATE_TIME,_Fields.PROCESS_STATUS,_Fields.PROCESS_DETAIL,_Fields.APPLICATION_INTERFACE_ID,_Fields.APPLICATION_DEPLOYMENT_ID,_Fields.COMPUTE_RESOURCE_ID,_Fields.PROCESS_INPUTS,_Fields.PROCESS_OUTPUTS,_Fields.RESOURCE_SCHEDULE,_Fields.TASKS,_Fields.TASK_DAG,_Fields.PROCESS_ERROR,_Fields.GATEWAY_EXECUTION_ID,_Fields.ENABLE_EMAIL_NOTIFICATION,_Fields.EMAIL_ADDRESSES}; + private static final _Fields optionals[] = {_Fields.CREATION_TIME,_Fields.LAST_UPDATE_TIME,_Fields.PROCESS_STATUS,_Fields.PROCESS_DETAIL,_Fields.APPLICATION_INTERFACE_ID,_Fields.APPLICATION_DEPLOYMENT_ID,_Fields.COMPUTE_RESOURCE_ID,_Fields.PROCESS_INPUTS,_Fields.PROCESS_OUTPUTS,_Fields.RESOURCE_SCHEDULE,_Fields.TASKS,_Fields.TASK_DAG,_Fields.PROCESS_ERROR,_Fields.GATEWAY_EXECUTION_ID,_Fields.ENABLE_EMAIL_NOTIFICATION,_Fields.EMAIL_ADDRESSES,_Fields.STORAGE_RESOURCE_ID}; 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); @@ -266,6 +271,8 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce 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.STORAGE_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("storageResourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); metaDataMap = Collections.unmodifiableMap(tmpMap); org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ProcessModel.class, metaDataMap); } @@ -350,6 +357,9 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce List<String> __this__emailAddresses = new ArrayList<String>(other.emailAddresses); this.emailAddresses = __this__emailAddresses; } + if (other.isSetStorageResourceId()) { + this.storageResourceId = other.storageResourceId; + } } public ProcessModel deepCopy() { @@ -380,6 +390,7 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce setEnableEmailNotificationIsSet(false); this.enableEmailNotification = false; this.emailAddresses = null; + this.storageResourceId = null; } public String getProcessId() { @@ -853,6 +864,29 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce } } + public String getStorageResourceId() { + return this.storageResourceId; + } + + public void setStorageResourceId(String storageResourceId) { + this.storageResourceId = storageResourceId; + } + + public void unsetStorageResourceId() { + this.storageResourceId = null; + } + + /** Returns true if field storageResourceId is set (has been assigned a value) and false otherwise */ + public boolean isSetStorageResourceId() { + return this.storageResourceId != null; + } + + public void setStorageResourceIdIsSet(boolean value) { + if (!value) { + this.storageResourceId = null; + } + } + public void setFieldValue(_Fields field, Object value) { switch (field) { case PROCESS_ID: @@ -999,6 +1033,14 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce } break; + case STORAGE_RESOURCE_ID: + if (value == null) { + unsetStorageResourceId(); + } else { + setStorageResourceId((String)value); + } + break; + } } @@ -1058,6 +1100,9 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce case EMAIL_ADDRESSES: return getEmailAddresses(); + case STORAGE_RESOURCE_ID: + return getStorageResourceId(); + } throw new IllegalStateException(); } @@ -1105,6 +1150,8 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce return isSetEnableEmailNotification(); case EMAIL_ADDRESSES: return isSetEmailAddresses(); + case STORAGE_RESOURCE_ID: + return isSetStorageResourceId(); } throw new IllegalStateException(); } @@ -1284,6 +1331,15 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce return false; } + boolean this_present_storageResourceId = true && this.isSetStorageResourceId(); + boolean that_present_storageResourceId = true && that.isSetStorageResourceId(); + if (this_present_storageResourceId || that_present_storageResourceId) { + if (!(this_present_storageResourceId && that_present_storageResourceId)) + return false; + if (!this.storageResourceId.equals(that.storageResourceId)) + return false; + } + return true; } @@ -1381,6 +1437,11 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce if (present_emailAddresses) list.add(emailAddresses); + boolean present_storageResourceId = true && (isSetStorageResourceId()); + list.add(present_storageResourceId); + if (present_storageResourceId) + list.add(storageResourceId); + return list.hashCode(); } @@ -1572,6 +1633,16 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce return lastComparison; } } + lastComparison = Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetStorageResourceId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageResourceId, other.storageResourceId); + if (lastComparison != 0) { + return lastComparison; + } + } return 0; } @@ -1755,6 +1826,16 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce } first = false; } + if (isSetStorageResourceId()) { + if (!first) sb.append(", "); + sb.append("storageResourceId:"); + if (this.storageResourceId == null) { + sb.append("null"); + } else { + sb.append(this.storageResourceId); + } + first = false; + } sb.append(")"); return sb.toString(); } @@ -2007,6 +2088,14 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; + case 19: // STORAGE_RESOURCE_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.storageResourceId = iprot.readString(); + struct.setStorageResourceIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } @@ -2164,6 +2253,13 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce oprot.writeFieldEnd(); } } + if (struct.storageResourceId != null) { + if (struct.isSetStorageResourceId()) { + oprot.writeFieldBegin(STORAGE_RESOURCE_ID_FIELD_DESC); + oprot.writeString(struct.storageResourceId); + oprot.writeFieldEnd(); + } + } oprot.writeFieldStop(); oprot.writeStructEnd(); } @@ -2232,7 +2328,10 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce if (struct.isSetEmailAddresses()) { optionals.set(15); } - oprot.writeBitSet(optionals, 16); + if (struct.isSetStorageResourceId()) { + optionals.set(16); + } + oprot.writeBitSet(optionals, 17); if (struct.isSetCreationTime()) { oprot.writeI64(struct.creationTime); } @@ -2305,6 +2404,9 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce } } } + if (struct.isSetStorageResourceId()) { + oprot.writeString(struct.storageResourceId); + } } @Override @@ -2314,7 +2416,7 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce struct.setProcessIdIsSet(true); struct.experimentId = iprot.readString(); struct.setExperimentIdIsSet(true); - BitSet incoming = iprot.readBitSet(16); + BitSet incoming = iprot.readBitSet(17); if (incoming.get(0)) { struct.creationTime = iprot.readI64(); struct.setCreationTimeIsSet(true); @@ -2421,6 +2523,10 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce } struct.setEmailAddressesIsSet(true); } + if (incoming.get(16)) { + struct.storageResourceId = iprot.readString(); + struct.setStorageResourceIdIsSet(true); + } } } http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java index 90b7242..72442f9 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java @@ -69,14 +69,14 @@ public class EnvironmentSetupTaskModel implements org.apache.thrift.TBase<Enviro } private String location; // required - private org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol protocol; // required + private org.apache.airavata.model.data.movement.SecurityProtocol protocol; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { LOCATION((short)1, "location"), /** * - * @see org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol + * @see org.apache.airavata.model.data.movement.SecurityProtocol */ PROTOCOL((short)2, "protocol"); @@ -143,7 +143,7 @@ public class EnvironmentSetupTaskModel implements org.apache.thrift.TBase<Enviro tmpMap.put(_Fields.LOCATION, new org.apache.thrift.meta_data.FieldMetaData("location", org.apache.thrift.TFieldRequirementType.REQUIRED, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); tmpMap.put(_Fields.PROTOCOL, new org.apache.thrift.meta_data.FieldMetaData("protocol", org.apache.thrift.TFieldRequirementType.REQUIRED, - new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol.class))); + new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.data.movement.SecurityProtocol.class))); metaDataMap = Collections.unmodifiableMap(tmpMap); org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(EnvironmentSetupTaskModel.class, metaDataMap); } @@ -153,7 +153,7 @@ public class EnvironmentSetupTaskModel implements org.apache.thrift.TBase<Enviro public EnvironmentSetupTaskModel( String location, - org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol protocol) + org.apache.airavata.model.data.movement.SecurityProtocol protocol) { this(); this.location = location; @@ -207,17 +207,17 @@ public class EnvironmentSetupTaskModel implements org.apache.thrift.TBase<Enviro /** * - * @see org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol + * @see org.apache.airavata.model.data.movement.SecurityProtocol */ - public org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol getProtocol() { + public org.apache.airavata.model.data.movement.SecurityProtocol getProtocol() { return this.protocol; } /** * - * @see org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol + * @see org.apache.airavata.model.data.movement.SecurityProtocol */ - public void setProtocol(org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol protocol) { + public void setProtocol(org.apache.airavata.model.data.movement.SecurityProtocol protocol) { this.protocol = protocol; } @@ -250,7 +250,7 @@ public class EnvironmentSetupTaskModel implements org.apache.thrift.TBase<Enviro if (value == null) { unsetProtocol(); } else { - setProtocol((org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol)value); + setProtocol((org.apache.airavata.model.data.movement.SecurityProtocol)value); } break; @@ -459,7 +459,7 @@ public class EnvironmentSetupTaskModel implements org.apache.thrift.TBase<Enviro break; case 2: // PROTOCOL if (schemeField.type == org.apache.thrift.protocol.TType.I32) { - struct.protocol = org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol.findByValue(iprot.readI32()); + struct.protocol = org.apache.airavata.model.data.movement.SecurityProtocol.findByValue(iprot.readI32()); struct.setProtocolIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); @@ -514,7 +514,7 @@ public class EnvironmentSetupTaskModel implements org.apache.thrift.TBase<Enviro TTupleProtocol iprot = (TTupleProtocol) prot; struct.location = iprot.readString(); struct.setLocationIsSet(true); - struct.protocol = org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol.findByValue(iprot.readI32()); + struct.protocol = org.apache.airavata.model.data.movement.SecurityProtocol.findByValue(iprot.readI32()); struct.setProtocolIsSet(true); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/DataTransferTaskConfig.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/DataTransferTaskConfig.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/DataTransferTaskConfig.java index 76728f0..532a75d 100644 --- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/DataTransferTaskConfig.java +++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/DataTransferTaskConfig.java @@ -20,7 +20,7 @@ */ package org.apache.airavata.gfac.core.config; -import org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol; +import org.apache.airavata.model.data.movement.DataMovementProtocol; import java.util.HashMap; import java.util.Map; http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/GFacYamlConfigruation.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/GFacYamlConfigruation.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/GFacYamlConfigruation.java index dfd396a..12d969e 100644 --- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/GFacYamlConfigruation.java +++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/GFacYamlConfigruation.java @@ -21,9 +21,9 @@ package org.apache.airavata.gfac.core.config; import org.apache.airavata.gfac.core.GFacException; -import org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol; import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol; import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType; +import org.apache.airavata.model.data.movement.DataMovementProtocol; import org.yaml.snakeyaml.Yaml; import java.io.InputStream; http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java index f470461..88bd178 100644 --- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java +++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java @@ -28,12 +28,14 @@ import org.apache.airavata.messaging.core.Publisher; import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription; import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription; import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription; -import org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol; import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol; import org.apache.airavata.model.appcatalog.computeresource.MonitorMode; import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager; import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference; import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile; +import org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference; +import org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription; +import org.apache.airavata.model.data.movement.DataMovementProtocol; import org.apache.airavata.model.job.JobModel; import org.apache.airavata.model.process.ProcessModel; import org.apache.airavata.model.status.ProcessState; @@ -78,6 +80,8 @@ public class ProcessContext { private DataMovementProtocol dataMovementProtocol; private JobModel jobModel; private ComputeResourcePreference computeResourcePreference; + private StoragePreference storagePreference; + private StorageResourceDescription storageResource; private MonitorMode monitorMode; private ResourceJobManager resourceJobManager; private boolean handOver; @@ -462,4 +466,20 @@ public class ProcessContext { public void setCurrentExecutingTaskModel(TaskModel currentExecutingTaskModel) { this.currentExecutingTaskModel = currentExecutingTaskModel; } + + public StoragePreference getStoragePreference() { + return storagePreference; + } + + public void setStoragePreference(StoragePreference storagePreference) { + this.storagePreference = storagePreference; + } + + public StorageResourceDescription getStorageResource() { + return storageResource; + } + + public void setStorageResource(StorageResourceDescription storageResource) { + this.storageResource = storageResource; + } }
