You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2016/10/27 21:32:08 UTC
[15/53] airavata git commit: Adding aurora-client project
http://git-wip-us.apache.org/repos/asf/airavata/blob/0f781b2e/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/ValueConstraint.java
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/ValueConstraint.java b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/ValueConstraint.java
new file mode 100644
index 0000000..7918fec
--- /dev/null
+++ b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/ValueConstraint.java
@@ -0,0 +1,566 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.cloud.aurora.client.sdk;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+/**
+ * A constraint that specifies an explicit set of values, at least one of which must be present
+ * on a host for a task to be scheduled there.
+ */
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-21")
+public class ValueConstraint implements org.apache.thrift.TBase<ValueConstraint, ValueConstraint._Fields>, java.io.Serializable, Cloneable, Comparable<ValueConstraint> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValueConstraint");
+
+ private static final org.apache.thrift.protocol.TField NEGATED_FIELD_DESC = new org.apache.thrift.protocol.TField("negated", org.apache.thrift.protocol.TType.BOOL, (short)1);
+ private static final org.apache.thrift.protocol.TField VALUES_FIELD_DESC = new org.apache.thrift.protocol.TField("values", org.apache.thrift.protocol.TType.SET, (short)2);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new ValueConstraintStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new ValueConstraintTupleSchemeFactory());
+ }
+
+ /**
+ * If true, treat this as a 'not' - to avoid specific values.
+ */
+ public boolean negated; // required
+ public Set<String> values; // 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 {
+ /**
+ * If true, treat this as a 'not' - to avoid specific values.
+ */
+ NEGATED((short)1, "negated"),
+ VALUES((short)2, "values");
+
+ 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: // NEGATED
+ return NEGATED;
+ case 2: // VALUES
+ return VALUES;
+ 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 __NEGATED_ISSET_ID = 0;
+ private byte __isset_bitfield = 0;
+ 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.NEGATED, new org.apache.thrift.meta_data.FieldMetaData("negated", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+ tmpMap.put(_Fields.VALUES, new org.apache.thrift.meta_data.FieldMetaData("values", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.SetMetaData(org.apache.thrift.protocol.TType.SET,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ValueConstraint.class, metaDataMap);
+ }
+
+ public ValueConstraint() {
+ }
+
+ public ValueConstraint(
+ boolean negated,
+ Set<String> values)
+ {
+ this();
+ this.negated = negated;
+ setNegatedIsSet(true);
+ this.values = values;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public ValueConstraint(ValueConstraint other) {
+ __isset_bitfield = other.__isset_bitfield;
+ this.negated = other.negated;
+ if (other.isSetValues()) {
+ Set<String> __this__values = new HashSet<String>(other.values);
+ this.values = __this__values;
+ }
+ }
+
+ public ValueConstraint deepCopy() {
+ return new ValueConstraint(this);
+ }
+
+ @Override
+ public void clear() {
+ setNegatedIsSet(false);
+ this.negated = false;
+ this.values = null;
+ }
+
+ /**
+ * If true, treat this as a 'not' - to avoid specific values.
+ */
+ public boolean isNegated() {
+ return this.negated;
+ }
+
+ /**
+ * If true, treat this as a 'not' - to avoid specific values.
+ */
+ public ValueConstraint setNegated(boolean negated) {
+ this.negated = negated;
+ setNegatedIsSet(true);
+ return this;
+ }
+
+ public void unsetNegated() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NEGATED_ISSET_ID);
+ }
+
+ /** Returns true if field negated is set (has been assigned a value) and false otherwise */
+ public boolean isSetNegated() {
+ return EncodingUtils.testBit(__isset_bitfield, __NEGATED_ISSET_ID);
+ }
+
+ public void setNegatedIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NEGATED_ISSET_ID, value);
+ }
+
+ public int getValuesSize() {
+ return (this.values == null) ? 0 : this.values.size();
+ }
+
+ public java.util.Iterator<String> getValuesIterator() {
+ return (this.values == null) ? null : this.values.iterator();
+ }
+
+ public void addToValues(String elem) {
+ if (this.values == null) {
+ this.values = new HashSet<String>();
+ }
+ this.values.add(elem);
+ }
+
+ public Set<String> getValues() {
+ return this.values;
+ }
+
+ public ValueConstraint setValues(Set<String> values) {
+ this.values = values;
+ return this;
+ }
+
+ public void unsetValues() {
+ this.values = null;
+ }
+
+ /** Returns true if field values is set (has been assigned a value) and false otherwise */
+ public boolean isSetValues() {
+ return this.values != null;
+ }
+
+ public void setValuesIsSet(boolean value) {
+ if (!value) {
+ this.values = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case NEGATED:
+ if (value == null) {
+ unsetNegated();
+ } else {
+ setNegated((Boolean)value);
+ }
+ break;
+
+ case VALUES:
+ if (value == null) {
+ unsetValues();
+ } else {
+ setValues((Set<String>)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case NEGATED:
+ return isNegated();
+
+ case VALUES:
+ return getValues();
+
+ }
+ 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 NEGATED:
+ return isSetNegated();
+ case VALUES:
+ return isSetValues();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof ValueConstraint)
+ return this.equals((ValueConstraint)that);
+ return false;
+ }
+
+ public boolean equals(ValueConstraint that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_negated = true;
+ boolean that_present_negated = true;
+ if (this_present_negated || that_present_negated) {
+ if (!(this_present_negated && that_present_negated))
+ return false;
+ if (this.negated != that.negated)
+ return false;
+ }
+
+ boolean this_present_values = true && this.isSetValues();
+ boolean that_present_values = true && that.isSetValues();
+ if (this_present_values || that_present_values) {
+ if (!(this_present_values && that_present_values))
+ return false;
+ if (!this.values.equals(that.values))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ List<Object> list = new ArrayList<Object>();
+
+ boolean present_negated = true;
+ list.add(present_negated);
+ if (present_negated)
+ list.add(negated);
+
+ boolean present_values = true && (isSetValues());
+ list.add(present_values);
+ if (present_values)
+ list.add(values);
+
+ return list.hashCode();
+ }
+
+ @Override
+ public int compareTo(ValueConstraint other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetNegated()).compareTo(other.isSetNegated());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetNegated()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.negated, other.negated);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetValues()).compareTo(other.isSetValues());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetValues()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.values, other.values);
+ 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("ValueConstraint(");
+ boolean first = true;
+
+ sb.append("negated:");
+ sb.append(this.negated);
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("values:");
+ if (this.values == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.values);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+ __isset_bitfield = 0;
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class ValueConstraintStandardSchemeFactory implements SchemeFactory {
+ public ValueConstraintStandardScheme getScheme() {
+ return new ValueConstraintStandardScheme();
+ }
+ }
+
+ private static class ValueConstraintStandardScheme extends StandardScheme<ValueConstraint> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, ValueConstraint 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: // NEGATED
+ if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+ struct.negated = iprot.readBool();
+ struct.setNegatedIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // VALUES
+ if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
+ {
+ org.apache.thrift.protocol.TSet _set16 = iprot.readSetBegin();
+ struct.values = new HashSet<String>(2*_set16.size);
+ String _elem17;
+ for (int _i18 = 0; _i18 < _set16.size; ++_i18)
+ {
+ _elem17 = iprot.readString();
+ struct.values.add(_elem17);
+ }
+ iprot.readSetEnd();
+ }
+ struct.setValuesIsSet(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, ValueConstraint struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ oprot.writeFieldBegin(NEGATED_FIELD_DESC);
+ oprot.writeBool(struct.negated);
+ oprot.writeFieldEnd();
+ if (struct.values != null) {
+ oprot.writeFieldBegin(VALUES_FIELD_DESC);
+ {
+ oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, struct.values.size()));
+ for (String _iter19 : struct.values)
+ {
+ oprot.writeString(_iter19);
+ }
+ oprot.writeSetEnd();
+ }
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class ValueConstraintTupleSchemeFactory implements SchemeFactory {
+ public ValueConstraintTupleScheme getScheme() {
+ return new ValueConstraintTupleScheme();
+ }
+ }
+
+ private static class ValueConstraintTupleScheme extends TupleScheme<ValueConstraint> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, ValueConstraint struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ BitSet optionals = new BitSet();
+ if (struct.isSetNegated()) {
+ optionals.set(0);
+ }
+ if (struct.isSetValues()) {
+ optionals.set(1);
+ }
+ oprot.writeBitSet(optionals, 2);
+ if (struct.isSetNegated()) {
+ oprot.writeBool(struct.negated);
+ }
+ if (struct.isSetValues()) {
+ {
+ oprot.writeI32(struct.values.size());
+ for (String _iter20 : struct.values)
+ {
+ oprot.writeString(_iter20);
+ }
+ }
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, ValueConstraint struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ BitSet incoming = iprot.readBitSet(2);
+ if (incoming.get(0)) {
+ struct.negated = iprot.readBool();
+ struct.setNegatedIsSet(true);
+ }
+ if (incoming.get(1)) {
+ {
+ org.apache.thrift.protocol.TSet _set21 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+ struct.values = new HashSet<String>(2*_set21.size);
+ String _elem22;
+ for (int _i23 = 0; _i23 < _set21.size; ++_i23)
+ {
+ _elem22 = iprot.readString();
+ struct.values.add(_elem22);
+ }
+ }
+ struct.setValuesIsSet(true);
+ }
+ }
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/0f781b2e/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/Volume.java
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/Volume.java b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/Volume.java
new file mode 100644
index 0000000..4286404
--- /dev/null
+++ b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/Volume.java
@@ -0,0 +1,655 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.cloud.aurora.client.sdk;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+/**
+ * A volume mount point within a container
+ */
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-21")
+public class Volume implements org.apache.thrift.TBase<Volume, Volume._Fields>, java.io.Serializable, Cloneable, Comparable<Volume> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Volume");
+
+ private static final org.apache.thrift.protocol.TField CONTAINER_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("containerPath", org.apache.thrift.protocol.TType.STRING, (short)1);
+ private static final org.apache.thrift.protocol.TField HOST_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("hostPath", org.apache.thrift.protocol.TType.STRING, (short)2);
+ private static final org.apache.thrift.protocol.TField MODE_FIELD_DESC = new org.apache.thrift.protocol.TField("mode", org.apache.thrift.protocol.TType.I32, (short)3);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new VolumeStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new VolumeTupleSchemeFactory());
+ }
+
+ /**
+ * The path inside the container where the mount will be created.
+ */
+ public String containerPath; // required
+ /**
+ * The path on the host that will serve as the source for the mount.
+ */
+ public String hostPath; // required
+ /**
+ * The access mode
+ *
+ * @see Mode
+ */
+ public Mode mode; // 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 {
+ /**
+ * The path inside the container where the mount will be created.
+ */
+ CONTAINER_PATH((short)1, "containerPath"),
+ /**
+ * The path on the host that will serve as the source for the mount.
+ */
+ HOST_PATH((short)2, "hostPath"),
+ /**
+ * The access mode
+ *
+ * @see Mode
+ */
+ MODE((short)3, "mode");
+
+ 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: // CONTAINER_PATH
+ return CONTAINER_PATH;
+ case 2: // HOST_PATH
+ return HOST_PATH;
+ case 3: // MODE
+ return MODE;
+ 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.CONTAINER_PATH, new org.apache.thrift.meta_data.FieldMetaData("containerPath", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.HOST_PATH, new org.apache.thrift.meta_data.FieldMetaData("hostPath", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.MODE, new org.apache.thrift.meta_data.FieldMetaData("mode", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, Mode.class)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Volume.class, metaDataMap);
+ }
+
+ public Volume() {
+ }
+
+ public Volume(
+ String containerPath,
+ String hostPath,
+ Mode mode)
+ {
+ this();
+ this.containerPath = containerPath;
+ this.hostPath = hostPath;
+ this.mode = mode;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public Volume(Volume other) {
+ if (other.isSetContainerPath()) {
+ this.containerPath = other.containerPath;
+ }
+ if (other.isSetHostPath()) {
+ this.hostPath = other.hostPath;
+ }
+ if (other.isSetMode()) {
+ this.mode = other.mode;
+ }
+ }
+
+ public Volume deepCopy() {
+ return new Volume(this);
+ }
+
+ @Override
+ public void clear() {
+ this.containerPath = null;
+ this.hostPath = null;
+ this.mode = null;
+ }
+
+ /**
+ * The path inside the container where the mount will be created.
+ */
+ public String getContainerPath() {
+ return this.containerPath;
+ }
+
+ /**
+ * The path inside the container where the mount will be created.
+ */
+ public Volume setContainerPath(String containerPath) {
+ this.containerPath = containerPath;
+ return this;
+ }
+
+ public void unsetContainerPath() {
+ this.containerPath = null;
+ }
+
+ /** Returns true if field containerPath is set (has been assigned a value) and false otherwise */
+ public boolean isSetContainerPath() {
+ return this.containerPath != null;
+ }
+
+ public void setContainerPathIsSet(boolean value) {
+ if (!value) {
+ this.containerPath = null;
+ }
+ }
+
+ /**
+ * The path on the host that will serve as the source for the mount.
+ */
+ public String getHostPath() {
+ return this.hostPath;
+ }
+
+ /**
+ * The path on the host that will serve as the source for the mount.
+ */
+ public Volume setHostPath(String hostPath) {
+ this.hostPath = hostPath;
+ return this;
+ }
+
+ public void unsetHostPath() {
+ this.hostPath = null;
+ }
+
+ /** Returns true if field hostPath is set (has been assigned a value) and false otherwise */
+ public boolean isSetHostPath() {
+ return this.hostPath != null;
+ }
+
+ public void setHostPathIsSet(boolean value) {
+ if (!value) {
+ this.hostPath = null;
+ }
+ }
+
+ /**
+ * The access mode
+ *
+ * @see Mode
+ */
+ public Mode getMode() {
+ return this.mode;
+ }
+
+ /**
+ * The access mode
+ *
+ * @see Mode
+ */
+ public Volume setMode(Mode mode) {
+ this.mode = mode;
+ return this;
+ }
+
+ public void unsetMode() {
+ this.mode = null;
+ }
+
+ /** Returns true if field mode is set (has been assigned a value) and false otherwise */
+ public boolean isSetMode() {
+ return this.mode != null;
+ }
+
+ public void setModeIsSet(boolean value) {
+ if (!value) {
+ this.mode = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case CONTAINER_PATH:
+ if (value == null) {
+ unsetContainerPath();
+ } else {
+ setContainerPath((String)value);
+ }
+ break;
+
+ case HOST_PATH:
+ if (value == null) {
+ unsetHostPath();
+ } else {
+ setHostPath((String)value);
+ }
+ break;
+
+ case MODE:
+ if (value == null) {
+ unsetMode();
+ } else {
+ setMode((Mode)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case CONTAINER_PATH:
+ return getContainerPath();
+
+ case HOST_PATH:
+ return getHostPath();
+
+ case MODE:
+ return getMode();
+
+ }
+ 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 CONTAINER_PATH:
+ return isSetContainerPath();
+ case HOST_PATH:
+ return isSetHostPath();
+ case MODE:
+ return isSetMode();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof Volume)
+ return this.equals((Volume)that);
+ return false;
+ }
+
+ public boolean equals(Volume that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_containerPath = true && this.isSetContainerPath();
+ boolean that_present_containerPath = true && that.isSetContainerPath();
+ if (this_present_containerPath || that_present_containerPath) {
+ if (!(this_present_containerPath && that_present_containerPath))
+ return false;
+ if (!this.containerPath.equals(that.containerPath))
+ return false;
+ }
+
+ boolean this_present_hostPath = true && this.isSetHostPath();
+ boolean that_present_hostPath = true && that.isSetHostPath();
+ if (this_present_hostPath || that_present_hostPath) {
+ if (!(this_present_hostPath && that_present_hostPath))
+ return false;
+ if (!this.hostPath.equals(that.hostPath))
+ return false;
+ }
+
+ boolean this_present_mode = true && this.isSetMode();
+ boolean that_present_mode = true && that.isSetMode();
+ if (this_present_mode || that_present_mode) {
+ if (!(this_present_mode && that_present_mode))
+ return false;
+ if (!this.mode.equals(that.mode))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ List<Object> list = new ArrayList<Object>();
+
+ boolean present_containerPath = true && (isSetContainerPath());
+ list.add(present_containerPath);
+ if (present_containerPath)
+ list.add(containerPath);
+
+ boolean present_hostPath = true && (isSetHostPath());
+ list.add(present_hostPath);
+ if (present_hostPath)
+ list.add(hostPath);
+
+ boolean present_mode = true && (isSetMode());
+ list.add(present_mode);
+ if (present_mode)
+ list.add(mode.getValue());
+
+ return list.hashCode();
+ }
+
+ @Override
+ public int compareTo(Volume other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetContainerPath()).compareTo(other.isSetContainerPath());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetContainerPath()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.containerPath, other.containerPath);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetHostPath()).compareTo(other.isSetHostPath());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetHostPath()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hostPath, other.hostPath);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetMode()).compareTo(other.isSetMode());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetMode()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.mode, other.mode);
+ 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("Volume(");
+ boolean first = true;
+
+ sb.append("containerPath:");
+ if (this.containerPath == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.containerPath);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("hostPath:");
+ if (this.hostPath == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.hostPath);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("mode:");
+ if (this.mode == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.mode);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ 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 VolumeStandardSchemeFactory implements SchemeFactory {
+ public VolumeStandardScheme getScheme() {
+ return new VolumeStandardScheme();
+ }
+ }
+
+ private static class VolumeStandardScheme extends StandardScheme<Volume> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, Volume 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: // CONTAINER_PATH
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.containerPath = iprot.readString();
+ struct.setContainerPathIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // HOST_PATH
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.hostPath = iprot.readString();
+ struct.setHostPathIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // MODE
+ if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+ struct.mode = org.apache.airavata.cloud.aurora.client.sdk.Mode.findByValue(iprot.readI32());
+ struct.setModeIsSet(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, Volume struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.containerPath != null) {
+ oprot.writeFieldBegin(CONTAINER_PATH_FIELD_DESC);
+ oprot.writeString(struct.containerPath);
+ oprot.writeFieldEnd();
+ }
+ if (struct.hostPath != null) {
+ oprot.writeFieldBegin(HOST_PATH_FIELD_DESC);
+ oprot.writeString(struct.hostPath);
+ oprot.writeFieldEnd();
+ }
+ if (struct.mode != null) {
+ oprot.writeFieldBegin(MODE_FIELD_DESC);
+ oprot.writeI32(struct.mode.getValue());
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class VolumeTupleSchemeFactory implements SchemeFactory {
+ public VolumeTupleScheme getScheme() {
+ return new VolumeTupleScheme();
+ }
+ }
+
+ private static class VolumeTupleScheme extends TupleScheme<Volume> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, Volume struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ BitSet optionals = new BitSet();
+ if (struct.isSetContainerPath()) {
+ optionals.set(0);
+ }
+ if (struct.isSetHostPath()) {
+ optionals.set(1);
+ }
+ if (struct.isSetMode()) {
+ optionals.set(2);
+ }
+ oprot.writeBitSet(optionals, 3);
+ if (struct.isSetContainerPath()) {
+ oprot.writeString(struct.containerPath);
+ }
+ if (struct.isSetHostPath()) {
+ oprot.writeString(struct.hostPath);
+ }
+ if (struct.isSetMode()) {
+ oprot.writeI32(struct.mode.getValue());
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, Volume struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ BitSet incoming = iprot.readBitSet(3);
+ if (incoming.get(0)) {
+ struct.containerPath = iprot.readString();
+ struct.setContainerPathIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.hostPath = iprot.readString();
+ struct.setHostPathIsSet(true);
+ }
+ if (incoming.get(2)) {
+ struct.mode = org.apache.airavata.cloud.aurora.client.sdk.Mode.findByValue(iprot.readI32());
+ struct.setModeIsSet(true);
+ }
+ }
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/0f781b2e/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/aurora_apiConstants.java
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/aurora_apiConstants.java b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/aurora_apiConstants.java
new file mode 100644
index 0000000..cec1306
--- /dev/null
+++ b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/client/sdk/aurora_apiConstants.java
@@ -0,0 +1,105 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.cloud.aurora.client.sdk;
+
+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"})
+public class aurora_apiConstants {
+
+ public static final String AURORA_EXECUTOR_NAME = "AuroraExecutor";
+
+ public static final Set<ScheduleStatus> ACTIVE_STATES = new HashSet<ScheduleStatus>();
+ static {
+ ACTIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.ASSIGNED);
+ ACTIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.DRAINING);
+ ACTIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.KILLING);
+ ACTIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.PENDING);
+ ACTIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.PREEMPTING);
+ ACTIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.RESTARTING);
+ ACTIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.RUNNING);
+ ACTIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.STARTING);
+ ACTIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.THROTTLED);
+ }
+
+ public static final Set<ScheduleStatus> SLAVE_ASSIGNED_STATES = new HashSet<ScheduleStatus>();
+ static {
+ SLAVE_ASSIGNED_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.ASSIGNED);
+ SLAVE_ASSIGNED_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.DRAINING);
+ SLAVE_ASSIGNED_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.KILLING);
+ SLAVE_ASSIGNED_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.PREEMPTING);
+ SLAVE_ASSIGNED_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.RESTARTING);
+ SLAVE_ASSIGNED_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.RUNNING);
+ SLAVE_ASSIGNED_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.STARTING);
+ }
+
+ public static final Set<ScheduleStatus> LIVE_STATES = new HashSet<ScheduleStatus>();
+ static {
+ LIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.KILLING);
+ LIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.PREEMPTING);
+ LIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.RESTARTING);
+ LIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.DRAINING);
+ LIVE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.RUNNING);
+ }
+
+ public static final Set<ScheduleStatus> TERMINAL_STATES = new HashSet<ScheduleStatus>();
+ static {
+ TERMINAL_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.FAILED);
+ TERMINAL_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.FINISHED);
+ TERMINAL_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.KILLED);
+ TERMINAL_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.ScheduleStatus.LOST);
+ }
+
+ public static final String GOOD_IDENTIFIER_PATTERN = "^[\\w\\-\\.]+$";
+
+ public static final String GOOD_IDENTIFIER_PATTERN_JVM = "^[\\w\\-\\.]+$";
+
+ public static final String GOOD_IDENTIFIER_PATTERN_PYTHON = "^[\\w\\-\\.]+$";
+
+ /**
+ * States the job update can be in while still considered active.
+ */
+ public static final Set<JobUpdateStatus> ACTIVE_JOB_UPDATE_STATES = new HashSet<JobUpdateStatus>();
+ static {
+ ACTIVE_JOB_UPDATE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.JobUpdateStatus.ROLLING_FORWARD);
+ ACTIVE_JOB_UPDATE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.JobUpdateStatus.ROLLING_BACK);
+ ACTIVE_JOB_UPDATE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.JobUpdateStatus.ROLL_FORWARD_PAUSED);
+ ACTIVE_JOB_UPDATE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.JobUpdateStatus.ROLL_BACK_PAUSED);
+ ACTIVE_JOB_UPDATE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.JobUpdateStatus.ROLL_FORWARD_AWAITING_PULSE);
+ ACTIVE_JOB_UPDATE_STATES.add(org.apache.airavata.cloud.aurora.client.sdk.JobUpdateStatus.ROLL_BACK_AWAITING_PULSE);
+ }
+
+ public static final String BYPASS_LEADER_REDIRECT_HEADER_NAME = "Bypass-Leader-Redirect";
+
+ public static final String TASK_FILESYSTEM_MOUNT_POINT = "taskfs";
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/0f781b2e/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/sample/AuroraClientSample.java
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/sample/AuroraClientSample.java b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/sample/AuroraClientSample.java
new file mode 100644
index 0000000..19455f7
--- /dev/null
+++ b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/sample/AuroraClientSample.java
@@ -0,0 +1,138 @@
+package org.apache.airavata.cloud.aurora.sample;
+
+import java.text.MessageFormat;
+import java.util.HashSet;
+import java.util.Properties;
+import java.util.Set;
+
+import org.apache.airavata.cloud.aurora.client.AuroraSchedulerClientFactory;
+import org.apache.airavata.cloud.aurora.client.AuroraThriftClient;
+import org.apache.airavata.cloud.aurora.client.bean.IdentityBean;
+import org.apache.airavata.cloud.aurora.client.bean.JobConfigBean;
+import org.apache.airavata.cloud.aurora.client.bean.JobKeyBean;
+import org.apache.airavata.cloud.aurora.client.bean.ProcessBean;
+import org.apache.airavata.cloud.aurora.client.bean.ResourceBean;
+import org.apache.airavata.cloud.aurora.client.bean.ResponseBean;
+import org.apache.airavata.cloud.aurora.client.bean.TaskConfigBean;
+import org.apache.airavata.cloud.aurora.client.sdk.ExecutorConfig;
+import org.apache.airavata.cloud.aurora.client.sdk.GetJobsResult;
+import org.apache.airavata.cloud.aurora.client.sdk.Identity;
+import org.apache.airavata.cloud.aurora.client.sdk.JobConfiguration;
+import org.apache.airavata.cloud.aurora.client.sdk.JobKey;
+import org.apache.airavata.cloud.aurora.client.sdk.ReadOnlyScheduler;
+import org.apache.airavata.cloud.aurora.client.sdk.Response;
+import org.apache.airavata.cloud.aurora.client.sdk.TaskConfig;
+import org.apache.airavata.cloud.aurora.util.AuroraThriftClientUtil;
+import org.apache.airavata.cloud.aurora.util.Constants;
+import org.apache.thrift.TException;
+
+/**
+ * The Class AuroraClientSample.
+ */
+public class AuroraClientSample {
+
+ /** The aurora scheduler client. */
+ private static ReadOnlyScheduler.Client auroraSchedulerClient;
+
+ /** The properties. */
+ private static Properties properties = new Properties();
+
+ /**
+ * Gets the job summary.
+ *
+ * @param client the client
+ * @return the job summary
+ */
+ public static void getJobSummary(ReadOnlyScheduler.Client client) {
+ try {
+ Response response = client.getJobs("centos");
+ System.out.println("Response status: " + response.getResponseCode().name());
+ if(response.getResult().isSetGetJobsResult()) {
+ GetJobsResult result = response.getResult().getGetJobsResult();
+ System.out.println(result);
+ Set<JobConfiguration> jobConfigs = result.getConfigs();
+ for(JobConfiguration jobConfig : jobConfigs) {
+ System.out.println(jobConfig);
+ JobKey jobKey = jobConfig.getKey();
+ Identity owner = jobConfig.getOwner();
+ TaskConfig taskConfig = jobConfig.getTaskConfig();
+ ExecutorConfig exeConfig = taskConfig.getExecutorConfig();
+
+ System.out.println("\n**** JOB CONFIG ****");
+ System.out.println("\t # instanceCount: " + jobConfig.getInstanceCount());
+
+ System.out.println("\t >> Job Key <<");
+ System.out.println("\t\t # name: " + jobKey.getName());
+ System.out.println("\t\t # role: " + jobKey.getRole());
+ System.out.println("\t\t # environment: " + jobKey.getEnvironment());
+
+ System.out.println("\t >> Identity <<");
+ System.out.println("\t\t # owner: " + owner.getUser());
+
+ System.out.println("\t >> Task Config <<");
+ System.out.println("\t\t # numCPUs: " + taskConfig.getNumCpus());
+ System.out.println("\t\t # diskMb: " + taskConfig.getDiskMb());
+ System.out.println("\t\t # ramMb: " + taskConfig.getRamMb());
+ System.out.println("\t\t # priority: " + taskConfig.getPriority());
+
+
+ System.out.println("\t >> Executor Config <<");
+ System.out.println("\t\t # name: " + exeConfig.getName());
+ System.out.println("\t\t # data: " + exeConfig.getData());
+ }
+
+ }
+ } catch (TException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void createJob() throws Exception {
+ JobKeyBean jobKey = new JobKeyBean("devel", "centos", "test_job");
+ IdentityBean owner = new IdentityBean("centos");
+
+ ProcessBean proc1 = new ProcessBean("process_1", "echo 'hello_world_1'", false);
+ ProcessBean proc2 = new ProcessBean("process_2", "echo 'hello_world_2'", false);
+ Set<ProcessBean> processes = new HashSet<>();
+ processes.add(proc1);
+ processes.add(proc2);
+
+ ResourceBean resources = new ResourceBean(0.1, 8, 1);
+
+ TaskConfigBean taskConfig = new TaskConfigBean("task_hello_world", processes, resources);
+ JobConfigBean jobConfig = new JobConfigBean(jobKey, owner, taskConfig, "example");
+
+ String executorConfigJson = AuroraThriftClientUtil.getExecutorConfigJson(jobConfig);
+ System.out.println(executorConfigJson);
+
+ AuroraThriftClient client = AuroraThriftClient.getAuroraThriftClient(Constants.AURORA_SCHEDULER_PROP_FILE);
+ ResponseBean response = client.createJob(jobConfig);
+ System.out.println(response);
+ }
+
+ /**
+ * The main method.
+ *
+ * @param args the arguments
+ */
+ public static void main(String[] args) {
+ try {
+ properties.load(AuroraClientSample.class.getClassLoader().getResourceAsStream(Constants.AURORA_SCHEDULER_PROP_FILE));
+ String auroraHost = properties.getProperty(Constants.AURORA_SCHEDULER_HOST);
+ String auroraPort = properties.getProperty(Constants.AURORA_SCHEDULER_PORT);
+ auroraSchedulerClient = AuroraSchedulerClientFactory.createReadOnlySchedulerClient(MessageFormat.format(Constants.AURORA_SCHEDULER_CONNECTION_URL, auroraHost, auroraPort));
+
+ // get jobs summary
+// AuroraClientSample.getJobSummary(auroraSchedulerClient);
+
+ // create sample job
+// AuroraClientSample.createJob();
+ AuroraThriftClient client = AuroraThriftClient.getAuroraThriftClient(Constants.AURORA_SCHEDULER_PROP_FILE);
+ ResponseBean response = client.getPendingReasonForJob(new JobKeyBean("devel", "centos", "hello_pending"));
+ System.out.println(response);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/0f781b2e/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/AuroraThriftClientUtil.java
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/AuroraThriftClientUtil.java b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/AuroraThriftClientUtil.java
new file mode 100644
index 0000000..c64576b
--- /dev/null
+++ b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/AuroraThriftClientUtil.java
@@ -0,0 +1,364 @@
+package org.apache.airavata.cloud.aurora.util;
+
+import java.nio.charset.Charset;
+import java.util.HashSet;
+import java.util.Properties;
+import java.util.Set;
+
+import org.apache.airavata.cloud.aurora.client.bean.IdentityBean;
+import org.apache.airavata.cloud.aurora.client.bean.JobConfigBean;
+import org.apache.airavata.cloud.aurora.client.bean.JobDetailsResponseBean;
+import org.apache.airavata.cloud.aurora.client.bean.JobKeyBean;
+import org.apache.airavata.cloud.aurora.client.bean.PendingJobReasonBean;
+import org.apache.airavata.cloud.aurora.client.bean.ProcessBean;
+import org.apache.airavata.cloud.aurora.client.bean.ResourceBean;
+import org.apache.airavata.cloud.aurora.client.bean.ResponseBean;
+import org.apache.airavata.cloud.aurora.client.bean.ServerInfoBean;
+import org.apache.airavata.cloud.aurora.client.sdk.ExecutorConfig;
+import org.apache.airavata.cloud.aurora.client.sdk.Identity;
+import org.apache.airavata.cloud.aurora.client.sdk.JobConfiguration;
+import org.apache.airavata.cloud.aurora.client.sdk.JobKey;
+import org.apache.airavata.cloud.aurora.client.sdk.Resource;
+import org.apache.airavata.cloud.aurora.client.sdk.Response;
+import org.apache.airavata.cloud.aurora.client.sdk.TaskConfig;
+import org.apache.airavata.cloud.aurora.sample.AuroraClientSample;
+import org.apache.commons.io.IOUtils;
+import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The Class AuroraThriftClientUtil.
+ */
+public class AuroraThriftClientUtil {
+
+ /** The Constant logger. */
+ private final static Logger logger = LoggerFactory.getLogger(AuroraThriftClientUtil.class);
+
+ /** The properties. */
+ private static Properties properties = new Properties();
+
+ /**
+ * Gets the executor config json.
+ *
+ * @param jobConfig the job config
+ * @return the executor config json
+ * @throws Exception the exception
+ */
+ public static String getExecutorConfigJson(JobConfigBean jobConfig) throws Exception {
+ String exeConfigJson = null;
+ try {
+ String template = IOUtils.toString(AuroraThriftClientUtil.class.getClassLoader()
+ .getResourceAsStream("executor-config-template.json"), Charset.defaultCharset());
+
+ JSONObject exeConfig = new JSONObject(template);
+ if(exeConfig != null) {
+ exeConfig.put("environment", jobConfig.getJob().getEnvironment());
+ exeConfig.put("name", jobConfig.getJob().getName());
+ exeConfig.put("role", jobConfig.getJob().getRole());
+ exeConfig.put("cluster", jobConfig.getCluster());
+ exeConfig.put("max_task_failures", jobConfig.getMaxTaskFailures());
+ exeConfig.put("service", jobConfig.isService());
+
+ exeConfig.getJSONObject("task").put("name", jobConfig.getTaskConfig().getTaskName());
+
+ // add task resources
+ exeConfig.getJSONObject("task").getJSONObject("resources")
+ .put("cpu", jobConfig.getTaskConfig().getResources().getNumCpus());
+
+ exeConfig.getJSONObject("task").getJSONObject("resources")
+ .put("disk", jobConfig.getTaskConfig().getResources().getDiskMb() * 1024 * 1024);
+
+ exeConfig.getJSONObject("task").getJSONObject("resources")
+ .put("ram", jobConfig.getTaskConfig().getResources().getRamMb() * 1024 * 1024);
+
+ // iterate over all processes
+ for(ProcessBean process : jobConfig.getTaskConfig().getProcesses()) {
+ // add process to constraints
+ exeConfig.getJSONObject("task")
+ .getJSONArray("constraints")
+ .getJSONObject(0)
+ .getJSONArray("order").put(process.getName());
+
+ // define the process json
+ JSONObject processJson = new JSONObject();
+ processJson.put("final", process.isFinal())
+ .put("daemon", process.isDaemon())
+ .put("name", process.getName())
+ .put("ephemeral", process.isEphemeral())
+ .put("max_failures", process.getMax_failures())
+ .put("min_duration", process.getMin_duration())
+ .put("cmdline", process.getCmdLine());
+
+ // add process json to list
+ exeConfig.getJSONObject("task")
+ .getJSONArray("processes").put(processJson);
+ }
+
+ // convert json object to string
+ exeConfigJson = exeConfig.toString();
+ }
+ } catch(Exception ex) {
+ logger.error(ex.getMessage(), ex);
+ throw ex;
+ }
+ return exeConfigJson;
+ }
+
+ /**
+ * Gets the resource set.
+ *
+ * @param resources the resources
+ * @return the resource set
+ * @throws Exception the exception
+ */
+ public static Set<Resource> getResourceSet(ResourceBean resources) throws Exception {
+ Set<Resource> resourceSet = new HashSet<>();
+
+ try {
+ if(resources != null) {
+ // add numCpus
+ Resource resource = new Resource();
+ resource.setNumCpus(resources.getNumCpus());
+ resourceSet.add(resource);
+
+ // add diskMb
+ resource = new Resource();
+ resource.setDiskMb(resources.getDiskMb());
+ resourceSet.add(resource);
+
+ // add ramMb
+ resource = new Resource();
+ resource.setRamMb(resources.getRamMb());
+ resourceSet.add(resource);
+ } else {
+ throw new Exception("Resource Bean is NULL!");
+ }
+ } catch(Exception ex) {
+ logger.error(ex.getMessage(), ex);
+ throw ex;
+ }
+
+ return resourceSet;
+ }
+
+ /**
+ * Gets the executor config.
+ *
+ * @param exeConfigJson the exe config json
+ * @return the executor config
+ * @throws Exception the exception
+ */
+ public static ExecutorConfig getExecutorConfig(String exeConfigJson) throws Exception {
+ ExecutorConfig exeConfig = null;
+
+ try {
+ properties.load(AuroraClientSample.class.getClassLoader().getResourceAsStream(Constants.AURORA_SCHEDULER_PROP_FILE));
+ String executorName = properties.getProperty(Constants.AURORA_EXECUTOR_NAME);
+
+ // create the executor config
+ if(exeConfigJson != null) {
+ exeConfig = new ExecutorConfig(executorName, exeConfigJson);
+ } else {
+ throw new Exception("Aurora Executor Config Data is NULL!");
+ }
+ } catch(Exception ex) {
+ logger.error(ex.getMessage(), ex);
+ throw ex;
+ }
+
+ return exeConfig;
+ }
+
+ /**
+ * Gets the aurora job key.
+ *
+ * @param jobKeyBean the job key bean
+ * @return the aurora job key
+ * @throws Exception the exception
+ */
+ public static JobKey getAuroraJobKey(JobKeyBean jobKeyBean) throws Exception {
+ JobKey jobKey = null;
+
+ try {
+ if(jobKeyBean != null) {
+ jobKey = new JobKey(jobKeyBean.getRole(),
+ jobKeyBean.getEnvironment(),
+ jobKeyBean.getName());
+ } else {
+ throw new Exception("JobKey Bean is NULL!");
+ }
+ } catch(Exception ex) {
+ logger.error(ex.getMessage(), ex);
+ throw ex;
+ }
+
+ return jobKey;
+ }
+
+ /**
+ * Gets the aurora identity.
+ *
+ * @param identityBean the identity bean
+ * @return the aurora identity
+ * @throws Exception the exception
+ */
+ public static Identity getAuroraIdentity(IdentityBean identityBean) throws Exception {
+ Identity owner = null;
+
+ try {
+ if(identityBean != null) {
+ owner = new Identity(identityBean.getUser());
+ } else {
+ throw new Exception("Identity Bean is NULL!");
+ }
+ } catch(Exception ex) {
+ logger.error(ex.getMessage(), ex);
+ throw ex;
+ }
+
+ return owner;
+ }
+
+ /**
+ * Gets the aurora job config.
+ *
+ * @param jobConfigBean the job config bean
+ * @return the aurora job config
+ * @throws Exception the exception
+ */
+ public static JobConfiguration getAuroraJobConfig(JobConfigBean jobConfigBean) throws Exception {
+ JobConfiguration jobConfig = null;
+
+ try {
+ if(jobConfigBean != null &&
+ jobConfigBean.getTaskConfig() != null) {
+
+ JobKey jobKey = getAuroraJobKey(jobConfigBean.getJob());
+ Identity owner = getAuroraIdentity(jobConfigBean.getOwner());
+ // Construct the task config
+ TaskConfig taskConfig = new TaskConfig();
+ taskConfig.setJob(jobKey);
+ taskConfig.setOwner(owner);
+ taskConfig.setIsService(jobConfigBean.isService());
+ taskConfig.setNumCpus(jobConfigBean.getTaskConfig().getResources().getNumCpus());
+ taskConfig.setRamMb(jobConfigBean.getTaskConfig().getResources().getRamMb());
+ taskConfig.setDiskMb(jobConfigBean.getTaskConfig().getResources().getDiskMb());
+ taskConfig.setPriority(jobConfigBean.getPriority());
+ taskConfig.setMaxTaskFailures(jobConfigBean.getMaxTaskFailures());
+ taskConfig.setResources(getResourceSet(jobConfigBean.getTaskConfig().getResources()));
+
+ // construct the executor config for this job
+ taskConfig.setExecutorConfig(getExecutorConfig(getExecutorConfigJson(jobConfigBean)));
+
+ // construct the job configuration
+ jobConfig = new JobConfiguration(jobKey,
+ owner, null, taskConfig, jobConfigBean.getInstances());
+
+ } else {
+ throw new Exception("JobConfig, TaskConfig Bean is/are NULL!");
+ }
+ } catch(Exception ex) {
+ logger.error(ex.getMessage(), ex);
+ throw ex;
+ }
+
+ return jobConfig;
+ }
+
+ /**
+ * Gets the response bean.
+ *
+ * @param response the response
+ * @param resultType the result type
+ * @return the response bean
+ */
+ public static ResponseBean getResponseBean(Response response, ResponseResultType resultType) {
+ switch (resultType) {
+ case GET_JOB_DETAILS:
+ return getJobDetailsResponseBean(response);
+ case GET_PENDING_JOB_REASON:
+ return getPendingJobReasonBean(response);
+ default:
+ return getJobResponse(response);
+ }
+ }
+
+ /**
+ * Gets the job details response bean.
+ *
+ * @param response the response
+ * @return the job details response bean
+ */
+ private static JobDetailsResponseBean getJobDetailsResponseBean(Response response) {
+ JobDetailsResponseBean responseBean = null;
+ if(response != null) {
+ responseBean = new JobDetailsResponseBean(getJobResponse(response));
+ responseBean.setTasks(response.getResult().getScheduleStatusResult().getTasks());
+ }
+
+ return responseBean;
+ }
+
+ /**
+ * Gets the pending job reason bean.
+ *
+ * @param response the response
+ * @return the pending job reason bean
+ */
+ private static PendingJobReasonBean getPendingJobReasonBean(Response response) {
+ PendingJobReasonBean responseBean = null;
+ if(response != null) {
+ responseBean = new PendingJobReasonBean(getJobResponse(response));
+ responseBean.setReasons(response.getResult().getGetPendingReasonResult().getReasons());
+ }
+
+ return responseBean;
+ }
+
+ /**
+ * Gets the job response.
+ *
+ * @param response the response
+ * @return the job response
+ */
+ private static ResponseBean getJobResponse(Response response) {
+ ResponseBean responseBean = null;
+ if(response != null) {
+ responseBean = new ResponseBean();
+ responseBean.setResponseCode(ResponseCodeEnum
+ .findByValue(response.getResponseCode().getValue()));
+
+ ServerInfoBean serverInfo = new ServerInfoBean(response.getServerInfo().getClusterName(),
+ response.getServerInfo().getStatsUrlPrefix());
+ responseBean.setServerInfo(serverInfo);
+ }
+
+ return responseBean;
+ }
+
+ /**
+ * The main method.
+ *
+ * @param args the arguments
+ * @throws Exception the exception
+ */
+// public static void main(String[] args) throws Exception {
+// JobKeyBean jobKey = new JobKeyBean("devel", "centos", "test_job");
+// IdentityBean owner = new IdentityBean("centos");
+//
+// ProcessBean proc1 = new ProcessBean("process_1", "echo 'hello_world_1'", false);
+// ProcessBean proc2 = new ProcessBean("process_2", "echo 'hello_world_2'", false);
+// Set<ProcessBean> processes = new HashSet<>();
+// processes.add(proc1);
+// processes.add(proc2);
+//
+// ResourceBean resources = new ResourceBean(0.1, 8, 1);
+//
+// TaskConfigBean taskConfig = new TaskConfigBean("task_hello_world", processes, resources);
+// JobConfigBean jobConfig = new JobConfigBean(jobKey, owner, taskConfig, "example");
+//
+// String executorConfigJson = getExecutorConfigJson(jobConfig);
+// System.out.println(executorConfigJson);
+// }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/0f781b2e/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/Constants.java
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/Constants.java b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/Constants.java
new file mode 100644
index 0000000..b1227f4
--- /dev/null
+++ b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/Constants.java
@@ -0,0 +1,25 @@
+package org.apache.airavata.cloud.aurora.util;
+
+/**
+ * The Class Constants.
+ */
+public class Constants {
+
+ /** The Constant AURORA_SCHEDULER_PROP_FILE. */
+ public static final String AURORA_SCHEDULER_PROP_FILE = "aurora-scheduler.properties";
+
+ /** The Constant AURORA_SCHEDULER_HOST. */
+ public static final String AURORA_SCHEDULER_HOST = "aurora.scheduler.host";
+
+ /** The Constant AURORA_SCHEDULER_PORT. */
+ public static final String AURORA_SCHEDULER_PORT = "aurora.scheduler.port";
+
+ /** The Constant AURORA_EXECUTOR_NAME. */
+ public static final String AURORA_EXECUTOR_NAME = "aurora.executor.name";
+
+ /** The Constant MESOS_CLUSTER_NAME. */
+ public static final String MESOS_CLUSTER_NAME = "mesos.cluster.name";
+
+ /** The Constant AURORA_SCHEDULER_CONNECTION_URL. */
+ public static final String AURORA_SCHEDULER_CONNECTION_URL = "http://{0}:{1}/api";
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/0f781b2e/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/ResponseCodeEnum.java
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/ResponseCodeEnum.java b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/ResponseCodeEnum.java
new file mode 100644
index 0000000..822829b
--- /dev/null
+++ b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/ResponseCodeEnum.java
@@ -0,0 +1,76 @@
+package org.apache.airavata.cloud.aurora.util;
+
+/**
+ * The Enum ResponseCodeEnum.
+ */
+public enum ResponseCodeEnum {
+
+ /** The invalid request. */
+ INVALID_REQUEST(0),
+
+ /** The ok. */
+ OK(1),
+
+ /** The error. */
+ ERROR(2),
+
+ /** The warning. */
+ WARNING(3),
+
+ /** The auth failed. */
+ AUTH_FAILED(4),
+
+ /** The lock error. */
+ LOCK_ERROR(5),
+
+ /** The error transient. */
+ ERROR_TRANSIENT(6);
+
+ /** The value. */
+ private final int value;
+
+ /**
+ * Instantiates a new response code enum.
+ *
+ * @param value the value
+ */
+ private ResponseCodeEnum(int value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value.
+ *
+ * @return the value
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * Find by value.
+ *
+ * @param value the value
+ * @return the response code enum
+ */
+ public static ResponseCodeEnum findByValue(int value) {
+ switch (value) {
+ case 0:
+ return INVALID_REQUEST;
+ case 1:
+ return OK;
+ case 2:
+ return ERROR;
+ case 3:
+ return WARNING;
+ case 4:
+ return AUTH_FAILED;
+ case 5:
+ return LOCK_ERROR;
+ case 6:
+ return ERROR_TRANSIENT;
+ default:
+ return null;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/0f781b2e/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/ResponseResultType.java
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/ResponseResultType.java b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/ResponseResultType.java
new file mode 100644
index 0000000..333c160
--- /dev/null
+++ b/modules/cloud/aurora-client/src/main/java/org/apache/airavata/cloud/aurora/util/ResponseResultType.java
@@ -0,0 +1,28 @@
+package org.apache.airavata.cloud.aurora.util;
+
+/**
+ * The Enum ResponseResultType.
+ */
+public enum ResponseResultType {
+
+ /** The create job. */
+ CREATE_JOB,
+
+ /** The get jobs. */
+ GET_JOBS,
+
+ /** The get job summary. */
+ GET_JOB_SUMMARY,
+
+ /** The get pending reason. */
+ GET_PENDING_REASON,
+
+ /** The get job details. */
+ GET_JOB_DETAILS,
+
+ /** The get pending job reason. */
+ GET_PENDING_JOB_REASON,
+
+ /** The kill task. */
+ KILL_TASKS
+}