Merge branch 'vicmosin-master'
This commit is contained in:
		
						commit
						1a10caefda
					
				| @ -0,0 +1,579 @@ | ||||
| /** | ||||
|  * Autogenerated by Thrift Compiler (0.10.0) | ||||
|  * | ||||
|  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||
|  *  @generated | ||||
|  */ | ||||
| package com.baeldung.thrift.impl; | ||||
| 
 | ||||
| @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"}) | ||||
| @javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)", date = "2017-02-01") | ||||
| public class CrossPlatformResource implements org.apache.thrift.TBase<CrossPlatformResource, CrossPlatformResource._Fields>, java.io.Serializable, Cloneable, Comparable<CrossPlatformResource> { | ||||
|   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CrossPlatformResource"); | ||||
| 
 | ||||
|   private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I32, (short)1); | ||||
|   private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2); | ||||
|   private static final org.apache.thrift.protocol.TField SALUTATION_FIELD_DESC = new org.apache.thrift.protocol.TField("salutation", org.apache.thrift.protocol.TType.STRING, (short)3); | ||||
| 
 | ||||
|   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new CrossPlatformResourceStandardSchemeFactory(); | ||||
|   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new CrossPlatformResourceTupleSchemeFactory(); | ||||
| 
 | ||||
|   public int id; // required | ||||
|   public java.lang.String name; // required | ||||
|   public java.lang.String salutation; // 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 { | ||||
|     ID((short)1, "id"), | ||||
|     NAME((short)2, "name"), | ||||
|     SALUTATION((short)3, "salutation"); | ||||
| 
 | ||||
|     private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>(); | ||||
| 
 | ||||
|     static { | ||||
|       for (_Fields field : java.util.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: // ID | ||||
|           return ID; | ||||
|         case 2: // NAME | ||||
|           return NAME; | ||||
|         case 3: // SALUTATION | ||||
|           return SALUTATION; | ||||
|         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 java.lang.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(java.lang.String name) { | ||||
|       return byName.get(name); | ||||
|     } | ||||
| 
 | ||||
|     private final short _thriftId; | ||||
|     private final java.lang.String _fieldName; | ||||
| 
 | ||||
|     _Fields(short thriftId, java.lang.String fieldName) { | ||||
|       _thriftId = thriftId; | ||||
|       _fieldName = fieldName; | ||||
|     } | ||||
| 
 | ||||
|     public short getThriftFieldId() { | ||||
|       return _thriftId; | ||||
|     } | ||||
| 
 | ||||
|     public java.lang.String getFieldName() { | ||||
|       return _fieldName; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   // isset id assignments | ||||
|   private static final int __ID_ISSET_ID = 0; | ||||
|   private byte __isset_bitfield = 0; | ||||
|   private static final _Fields optionals[] = {_Fields.SALUTATION}; | ||||
|   public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; | ||||
|   static { | ||||
|     java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); | ||||
|     tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT,  | ||||
|         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); | ||||
|     tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT,  | ||||
|         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); | ||||
|     tmpMap.put(_Fields.SALUTATION, new org.apache.thrift.meta_data.FieldMetaData("salutation", org.apache.thrift.TFieldRequirementType.OPTIONAL,  | ||||
|         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); | ||||
|     metaDataMap = java.util.Collections.unmodifiableMap(tmpMap); | ||||
|     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CrossPlatformResource.class, metaDataMap); | ||||
|   } | ||||
| 
 | ||||
|   public CrossPlatformResource() { | ||||
|   } | ||||
| 
 | ||||
|   public CrossPlatformResource( | ||||
|     int id, | ||||
|     java.lang.String name) | ||||
|   { | ||||
|     this(); | ||||
|     this.id = id; | ||||
|     setIdIsSet(true); | ||||
|     this.name = name; | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * Performs a deep copy on <i>other</i>. | ||||
|    */ | ||||
|   public CrossPlatformResource(CrossPlatformResource other) { | ||||
|     __isset_bitfield = other.__isset_bitfield; | ||||
|     this.id = other.id; | ||||
|     if (other.isSetName()) { | ||||
|       this.name = other.name; | ||||
|     } | ||||
|     if (other.isSetSalutation()) { | ||||
|       this.salutation = other.salutation; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   public CrossPlatformResource deepCopy() { | ||||
|     return new CrossPlatformResource(this); | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public void clear() { | ||||
|     setIdIsSet(false); | ||||
|     this.id = 0; | ||||
|     this.name = null; | ||||
|     this.salutation = null; | ||||
|   } | ||||
| 
 | ||||
|   public int getId() { | ||||
|     return this.id; | ||||
|   } | ||||
| 
 | ||||
|   public CrossPlatformResource setId(int id) { | ||||
|     this.id = id; | ||||
|     setIdIsSet(true); | ||||
|     return this; | ||||
|   } | ||||
| 
 | ||||
|   public void unsetId() { | ||||
|     __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __ID_ISSET_ID); | ||||
|   } | ||||
| 
 | ||||
|   /** Returns true if field id is set (has been assigned a value) and false otherwise */ | ||||
|   public boolean isSetId() { | ||||
|     return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ID_ISSET_ID); | ||||
|   } | ||||
| 
 | ||||
|   public void setIdIsSet(boolean value) { | ||||
|     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ID_ISSET_ID, value); | ||||
|   } | ||||
| 
 | ||||
|   public java.lang.String getName() { | ||||
|     return this.name; | ||||
|   } | ||||
| 
 | ||||
|   public CrossPlatformResource setName(java.lang.String name) { | ||||
|     this.name = name; | ||||
|     return this; | ||||
|   } | ||||
| 
 | ||||
|   public void unsetName() { | ||||
|     this.name = null; | ||||
|   } | ||||
| 
 | ||||
|   /** Returns true if field name is set (has been assigned a value) and false otherwise */ | ||||
|   public boolean isSetName() { | ||||
|     return this.name != null; | ||||
|   } | ||||
| 
 | ||||
|   public void setNameIsSet(boolean value) { | ||||
|     if (!value) { | ||||
|       this.name = null; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   public java.lang.String getSalutation() { | ||||
|     return this.salutation; | ||||
|   } | ||||
| 
 | ||||
|   public CrossPlatformResource setSalutation(java.lang.String salutation) { | ||||
|     this.salutation = salutation; | ||||
|     return this; | ||||
|   } | ||||
| 
 | ||||
|   public void unsetSalutation() { | ||||
|     this.salutation = null; | ||||
|   } | ||||
| 
 | ||||
|   /** Returns true if field salutation is set (has been assigned a value) and false otherwise */ | ||||
|   public boolean isSetSalutation() { | ||||
|     return this.salutation != null; | ||||
|   } | ||||
| 
 | ||||
|   public void setSalutationIsSet(boolean value) { | ||||
|     if (!value) { | ||||
|       this.salutation = null; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   public void setFieldValue(_Fields field, java.lang.Object value) { | ||||
|     switch (field) { | ||||
|     case ID: | ||||
|       if (value == null) { | ||||
|         unsetId(); | ||||
|       } else { | ||||
|         setId((java.lang.Integer)value); | ||||
|       } | ||||
|       break; | ||||
| 
 | ||||
|     case NAME: | ||||
|       if (value == null) { | ||||
|         unsetName(); | ||||
|       } else { | ||||
|         setName((java.lang.String)value); | ||||
|       } | ||||
|       break; | ||||
| 
 | ||||
|     case SALUTATION: | ||||
|       if (value == null) { | ||||
|         unsetSalutation(); | ||||
|       } else { | ||||
|         setSalutation((java.lang.String)value); | ||||
|       } | ||||
|       break; | ||||
| 
 | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   public java.lang.Object getFieldValue(_Fields field) { | ||||
|     switch (field) { | ||||
|     case ID: | ||||
|       return getId(); | ||||
| 
 | ||||
|     case NAME: | ||||
|       return getName(); | ||||
| 
 | ||||
|     case SALUTATION: | ||||
|       return getSalutation(); | ||||
| 
 | ||||
|     } | ||||
|     throw new java.lang.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 java.lang.IllegalArgumentException(); | ||||
|     } | ||||
| 
 | ||||
|     switch (field) { | ||||
|     case ID: | ||||
|       return isSetId(); | ||||
|     case NAME: | ||||
|       return isSetName(); | ||||
|     case SALUTATION: | ||||
|       return isSetSalutation(); | ||||
|     } | ||||
|     throw new java.lang.IllegalStateException(); | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public boolean equals(java.lang.Object that) { | ||||
|     if (that == null) | ||||
|       return false; | ||||
|     if (that instanceof CrossPlatformResource) | ||||
|       return this.equals((CrossPlatformResource)that); | ||||
|     return false; | ||||
|   } | ||||
| 
 | ||||
|   public boolean equals(CrossPlatformResource that) { | ||||
|     if (that == null) | ||||
|       return false; | ||||
|     if (this == that) | ||||
|       return true; | ||||
| 
 | ||||
|     boolean this_present_id = true; | ||||
|     boolean that_present_id = true; | ||||
|     if (this_present_id || that_present_id) { | ||||
|       if (!(this_present_id && that_present_id)) | ||||
|         return false; | ||||
|       if (this.id != that.id) | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     boolean this_present_name = true && this.isSetName(); | ||||
|     boolean that_present_name = true && that.isSetName(); | ||||
|     if (this_present_name || that_present_name) { | ||||
|       if (!(this_present_name && that_present_name)) | ||||
|         return false; | ||||
|       if (!this.name.equals(that.name)) | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     boolean this_present_salutation = true && this.isSetSalutation(); | ||||
|     boolean that_present_salutation = true && that.isSetSalutation(); | ||||
|     if (this_present_salutation || that_present_salutation) { | ||||
|       if (!(this_present_salutation && that_present_salutation)) | ||||
|         return false; | ||||
|       if (!this.salutation.equals(that.salutation)) | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     return true; | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public int hashCode() { | ||||
|     int hashCode = 1; | ||||
| 
 | ||||
|     hashCode = hashCode * 8191 + id; | ||||
| 
 | ||||
|     hashCode = hashCode * 8191 + ((isSetName()) ? 131071 : 524287); | ||||
|     if (isSetName()) | ||||
|       hashCode = hashCode * 8191 + name.hashCode(); | ||||
| 
 | ||||
|     hashCode = hashCode * 8191 + ((isSetSalutation()) ? 131071 : 524287); | ||||
|     if (isSetSalutation()) | ||||
|       hashCode = hashCode * 8191 + salutation.hashCode(); | ||||
| 
 | ||||
|     return hashCode; | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public int compareTo(CrossPlatformResource other) { | ||||
|     if (!getClass().equals(other.getClass())) { | ||||
|       return getClass().getName().compareTo(other.getClass().getName()); | ||||
|     } | ||||
| 
 | ||||
|     int lastComparison = 0; | ||||
| 
 | ||||
|     lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId()); | ||||
|     if (lastComparison != 0) { | ||||
|       return lastComparison; | ||||
|     } | ||||
|     if (isSetId()) { | ||||
|       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id); | ||||
|       if (lastComparison != 0) { | ||||
|         return lastComparison; | ||||
|       } | ||||
|     } | ||||
|     lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName()); | ||||
|     if (lastComparison != 0) { | ||||
|       return lastComparison; | ||||
|     } | ||||
|     if (isSetName()) { | ||||
|       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name); | ||||
|       if (lastComparison != 0) { | ||||
|         return lastComparison; | ||||
|       } | ||||
|     } | ||||
|     lastComparison = java.lang.Boolean.valueOf(isSetSalutation()).compareTo(other.isSetSalutation()); | ||||
|     if (lastComparison != 0) { | ||||
|       return lastComparison; | ||||
|     } | ||||
|     if (isSetSalutation()) { | ||||
|       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.salutation, other.salutation); | ||||
|       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 { | ||||
|     scheme(iprot).read(iprot, this); | ||||
|   } | ||||
| 
 | ||||
|   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { | ||||
|     scheme(oprot).write(oprot, this); | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public java.lang.String toString() { | ||||
|     java.lang.StringBuilder sb = new java.lang.StringBuilder("CrossPlatformResource("); | ||||
|     boolean first = true; | ||||
| 
 | ||||
|     sb.append("id:"); | ||||
|     sb.append(this.id); | ||||
|     first = false; | ||||
|     if (!first) sb.append(", "); | ||||
|     sb.append("name:"); | ||||
|     if (this.name == null) { | ||||
|       sb.append("null"); | ||||
|     } else { | ||||
|       sb.append(this.name); | ||||
|     } | ||||
|     first = false; | ||||
|     if (isSetSalutation()) { | ||||
|       if (!first) sb.append(", "); | ||||
|       sb.append("salutation:"); | ||||
|       if (this.salutation == null) { | ||||
|         sb.append("null"); | ||||
|       } else { | ||||
|         sb.append(this.salutation); | ||||
|       } | ||||
|       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, java.lang.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 CrossPlatformResourceStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory { | ||||
|     public CrossPlatformResourceStandardScheme getScheme() { | ||||
|       return new CrossPlatformResourceStandardScheme(); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   private static class CrossPlatformResourceStandardScheme extends org.apache.thrift.scheme.StandardScheme<CrossPlatformResource> { | ||||
| 
 | ||||
|     public void read(org.apache.thrift.protocol.TProtocol iprot, CrossPlatformResource 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: // ID | ||||
|             if (schemeField.type == org.apache.thrift.protocol.TType.I32) { | ||||
|               struct.id = iprot.readI32(); | ||||
|               struct.setIdIsSet(true); | ||||
|             } else {  | ||||
|               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); | ||||
|             } | ||||
|             break; | ||||
|           case 2: // NAME | ||||
|             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { | ||||
|               struct.name = iprot.readString(); | ||||
|               struct.setNameIsSet(true); | ||||
|             } else {  | ||||
|               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); | ||||
|             } | ||||
|             break; | ||||
|           case 3: // SALUTATION | ||||
|             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { | ||||
|               struct.salutation = iprot.readString(); | ||||
|               struct.setSalutationIsSet(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, CrossPlatformResource struct) throws org.apache.thrift.TException { | ||||
|       struct.validate(); | ||||
| 
 | ||||
|       oprot.writeStructBegin(STRUCT_DESC); | ||||
|       oprot.writeFieldBegin(ID_FIELD_DESC); | ||||
|       oprot.writeI32(struct.id); | ||||
|       oprot.writeFieldEnd(); | ||||
|       if (struct.name != null) { | ||||
|         oprot.writeFieldBegin(NAME_FIELD_DESC); | ||||
|         oprot.writeString(struct.name); | ||||
|         oprot.writeFieldEnd(); | ||||
|       } | ||||
|       if (struct.salutation != null) { | ||||
|         if (struct.isSetSalutation()) { | ||||
|           oprot.writeFieldBegin(SALUTATION_FIELD_DESC); | ||||
|           oprot.writeString(struct.salutation); | ||||
|           oprot.writeFieldEnd(); | ||||
|         } | ||||
|       } | ||||
|       oprot.writeFieldStop(); | ||||
|       oprot.writeStructEnd(); | ||||
|     } | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
|   private static class CrossPlatformResourceTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory { | ||||
|     public CrossPlatformResourceTupleScheme getScheme() { | ||||
|       return new CrossPlatformResourceTupleScheme(); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   private static class CrossPlatformResourceTupleScheme extends org.apache.thrift.scheme.TupleScheme<CrossPlatformResource> { | ||||
| 
 | ||||
|     @Override | ||||
|     public void write(org.apache.thrift.protocol.TProtocol prot, CrossPlatformResource struct) throws org.apache.thrift.TException { | ||||
|       org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot; | ||||
|       java.util.BitSet optionals = new java.util.BitSet(); | ||||
|       if (struct.isSetId()) { | ||||
|         optionals.set(0); | ||||
|       } | ||||
|       if (struct.isSetName()) { | ||||
|         optionals.set(1); | ||||
|       } | ||||
|       if (struct.isSetSalutation()) { | ||||
|         optionals.set(2); | ||||
|       } | ||||
|       oprot.writeBitSet(optionals, 3); | ||||
|       if (struct.isSetId()) { | ||||
|         oprot.writeI32(struct.id); | ||||
|       } | ||||
|       if (struct.isSetName()) { | ||||
|         oprot.writeString(struct.name); | ||||
|       } | ||||
|       if (struct.isSetSalutation()) { | ||||
|         oprot.writeString(struct.salutation); | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void read(org.apache.thrift.protocol.TProtocol prot, CrossPlatformResource struct) throws org.apache.thrift.TException { | ||||
|       org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot; | ||||
|       java.util.BitSet incoming = iprot.readBitSet(3); | ||||
|       if (incoming.get(0)) { | ||||
|         struct.id = iprot.readI32(); | ||||
|         struct.setIdIsSet(true); | ||||
|       } | ||||
|       if (incoming.get(1)) { | ||||
|         struct.name = iprot.readString(); | ||||
|         struct.setNameIsSet(true); | ||||
|       } | ||||
|       if (incoming.get(2)) { | ||||
|         struct.salutation = iprot.readString(); | ||||
|         struct.setSalutationIsSet(true); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) { | ||||
|     return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme(); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -0,0 +1,472 @@ | ||||
| /** | ||||
|  * Autogenerated by Thrift Compiler (0.10.0) | ||||
|  * | ||||
|  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||
|  *  @generated | ||||
|  */ | ||||
| package com.baeldung.thrift.impl; | ||||
| 
 | ||||
| @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"}) | ||||
| @javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)", date = "2017-02-01") | ||||
| public class InvalidOperationException extends org.apache.thrift.TException implements org.apache.thrift.TBase<InvalidOperationException, InvalidOperationException._Fields>, java.io.Serializable, Cloneable, Comparable<InvalidOperationException> { | ||||
|   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidOperationException"); | ||||
| 
 | ||||
|   private static final org.apache.thrift.protocol.TField CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("code", org.apache.thrift.protocol.TType.I32, (short)1); | ||||
|   private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)2); | ||||
| 
 | ||||
|   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new InvalidOperationExceptionStandardSchemeFactory(); | ||||
|   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new InvalidOperationExceptionTupleSchemeFactory(); | ||||
| 
 | ||||
|   public int code; // required | ||||
|   public java.lang.String description; // 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 { | ||||
|     CODE((short)1, "code"), | ||||
|     DESCRIPTION((short)2, "description"); | ||||
| 
 | ||||
|     private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>(); | ||||
| 
 | ||||
|     static { | ||||
|       for (_Fields field : java.util.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: // CODE | ||||
|           return CODE; | ||||
|         case 2: // DESCRIPTION | ||||
|           return DESCRIPTION; | ||||
|         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 java.lang.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(java.lang.String name) { | ||||
|       return byName.get(name); | ||||
|     } | ||||
| 
 | ||||
|     private final short _thriftId; | ||||
|     private final java.lang.String _fieldName; | ||||
| 
 | ||||
|     _Fields(short thriftId, java.lang.String fieldName) { | ||||
|       _thriftId = thriftId; | ||||
|       _fieldName = fieldName; | ||||
|     } | ||||
| 
 | ||||
|     public short getThriftFieldId() { | ||||
|       return _thriftId; | ||||
|     } | ||||
| 
 | ||||
|     public java.lang.String getFieldName() { | ||||
|       return _fieldName; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   // isset id assignments | ||||
|   private static final int __CODE_ISSET_ID = 0; | ||||
|   private byte __isset_bitfield = 0; | ||||
|   public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; | ||||
|   static { | ||||
|     java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); | ||||
|     tmpMap.put(_Fields.CODE, new org.apache.thrift.meta_data.FieldMetaData("code", org.apache.thrift.TFieldRequirementType.DEFAULT,  | ||||
|         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); | ||||
|     tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.DEFAULT,  | ||||
|         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); | ||||
|     metaDataMap = java.util.Collections.unmodifiableMap(tmpMap); | ||||
|     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(InvalidOperationException.class, metaDataMap); | ||||
|   } | ||||
| 
 | ||||
|   public InvalidOperationException() { | ||||
|   } | ||||
| 
 | ||||
|   public InvalidOperationException( | ||||
|     int code, | ||||
|     java.lang.String description) | ||||
|   { | ||||
|     this(); | ||||
|     this.code = code; | ||||
|     setCodeIsSet(true); | ||||
|     this.description = description; | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * Performs a deep copy on <i>other</i>. | ||||
|    */ | ||||
|   public InvalidOperationException(InvalidOperationException other) { | ||||
|     __isset_bitfield = other.__isset_bitfield; | ||||
|     this.code = other.code; | ||||
|     if (other.isSetDescription()) { | ||||
|       this.description = other.description; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   public InvalidOperationException deepCopy() { | ||||
|     return new InvalidOperationException(this); | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public void clear() { | ||||
|     setCodeIsSet(false); | ||||
|     this.code = 0; | ||||
|     this.description = null; | ||||
|   } | ||||
| 
 | ||||
|   public int getCode() { | ||||
|     return this.code; | ||||
|   } | ||||
| 
 | ||||
|   public InvalidOperationException setCode(int code) { | ||||
|     this.code = code; | ||||
|     setCodeIsSet(true); | ||||
|     return this; | ||||
|   } | ||||
| 
 | ||||
|   public void unsetCode() { | ||||
|     __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __CODE_ISSET_ID); | ||||
|   } | ||||
| 
 | ||||
|   /** Returns true if field code is set (has been assigned a value) and false otherwise */ | ||||
|   public boolean isSetCode() { | ||||
|     return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __CODE_ISSET_ID); | ||||
|   } | ||||
| 
 | ||||
|   public void setCodeIsSet(boolean value) { | ||||
|     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CODE_ISSET_ID, value); | ||||
|   } | ||||
| 
 | ||||
|   public java.lang.String getDescription() { | ||||
|     return this.description; | ||||
|   } | ||||
| 
 | ||||
|   public InvalidOperationException setDescription(java.lang.String description) { | ||||
|     this.description = description; | ||||
|     return this; | ||||
|   } | ||||
| 
 | ||||
|   public void unsetDescription() { | ||||
|     this.description = null; | ||||
|   } | ||||
| 
 | ||||
|   /** Returns true if field description is set (has been assigned a value) and false otherwise */ | ||||
|   public boolean isSetDescription() { | ||||
|     return this.description != null; | ||||
|   } | ||||
| 
 | ||||
|   public void setDescriptionIsSet(boolean value) { | ||||
|     if (!value) { | ||||
|       this.description = null; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   public void setFieldValue(_Fields field, java.lang.Object value) { | ||||
|     switch (field) { | ||||
|     case CODE: | ||||
|       if (value == null) { | ||||
|         unsetCode(); | ||||
|       } else { | ||||
|         setCode((java.lang.Integer)value); | ||||
|       } | ||||
|       break; | ||||
| 
 | ||||
|     case DESCRIPTION: | ||||
|       if (value == null) { | ||||
|         unsetDescription(); | ||||
|       } else { | ||||
|         setDescription((java.lang.String)value); | ||||
|       } | ||||
|       break; | ||||
| 
 | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   public java.lang.Object getFieldValue(_Fields field) { | ||||
|     switch (field) { | ||||
|     case CODE: | ||||
|       return getCode(); | ||||
| 
 | ||||
|     case DESCRIPTION: | ||||
|       return getDescription(); | ||||
| 
 | ||||
|     } | ||||
|     throw new java.lang.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 java.lang.IllegalArgumentException(); | ||||
|     } | ||||
| 
 | ||||
|     switch (field) { | ||||
|     case CODE: | ||||
|       return isSetCode(); | ||||
|     case DESCRIPTION: | ||||
|       return isSetDescription(); | ||||
|     } | ||||
|     throw new java.lang.IllegalStateException(); | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public boolean equals(java.lang.Object that) { | ||||
|     if (that == null) | ||||
|       return false; | ||||
|     if (that instanceof InvalidOperationException) | ||||
|       return this.equals((InvalidOperationException)that); | ||||
|     return false; | ||||
|   } | ||||
| 
 | ||||
|   public boolean equals(InvalidOperationException that) { | ||||
|     if (that == null) | ||||
|       return false; | ||||
|     if (this == that) | ||||
|       return true; | ||||
| 
 | ||||
|     boolean this_present_code = true; | ||||
|     boolean that_present_code = true; | ||||
|     if (this_present_code || that_present_code) { | ||||
|       if (!(this_present_code && that_present_code)) | ||||
|         return false; | ||||
|       if (this.code != that.code) | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     boolean this_present_description = true && this.isSetDescription(); | ||||
|     boolean that_present_description = true && that.isSetDescription(); | ||||
|     if (this_present_description || that_present_description) { | ||||
|       if (!(this_present_description && that_present_description)) | ||||
|         return false; | ||||
|       if (!this.description.equals(that.description)) | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     return true; | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public int hashCode() { | ||||
|     int hashCode = 1; | ||||
| 
 | ||||
|     hashCode = hashCode * 8191 + code; | ||||
| 
 | ||||
|     hashCode = hashCode * 8191 + ((isSetDescription()) ? 131071 : 524287); | ||||
|     if (isSetDescription()) | ||||
|       hashCode = hashCode * 8191 + description.hashCode(); | ||||
| 
 | ||||
|     return hashCode; | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public int compareTo(InvalidOperationException other) { | ||||
|     if (!getClass().equals(other.getClass())) { | ||||
|       return getClass().getName().compareTo(other.getClass().getName()); | ||||
|     } | ||||
| 
 | ||||
|     int lastComparison = 0; | ||||
| 
 | ||||
|     lastComparison = java.lang.Boolean.valueOf(isSetCode()).compareTo(other.isSetCode()); | ||||
|     if (lastComparison != 0) { | ||||
|       return lastComparison; | ||||
|     } | ||||
|     if (isSetCode()) { | ||||
|       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.code, other.code); | ||||
|       if (lastComparison != 0) { | ||||
|         return lastComparison; | ||||
|       } | ||||
|     } | ||||
|     lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription()); | ||||
|     if (lastComparison != 0) { | ||||
|       return lastComparison; | ||||
|     } | ||||
|     if (isSetDescription()) { | ||||
|       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, other.description); | ||||
|       if (lastComparison != 0) { | ||||
|         return lastComparison; | ||||
|       } | ||||
|     } | ||||
|     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 { | ||||
|     scheme(iprot).read(iprot, this); | ||||
|   } | ||||
| 
 | ||||
|   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { | ||||
|     scheme(oprot).write(oprot, this); | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public java.lang.String toString() { | ||||
|     java.lang.StringBuilder sb = new java.lang.StringBuilder("InvalidOperationException("); | ||||
|     boolean first = true; | ||||
| 
 | ||||
|     sb.append("code:"); | ||||
|     sb.append(this.code); | ||||
|     first = false; | ||||
|     if (!first) sb.append(", "); | ||||
|     sb.append("description:"); | ||||
|     if (this.description == null) { | ||||
|       sb.append("null"); | ||||
|     } else { | ||||
|       sb.append(this.description); | ||||
|     } | ||||
|     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, java.lang.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 InvalidOperationExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory { | ||||
|     public InvalidOperationExceptionStandardScheme getScheme() { | ||||
|       return new InvalidOperationExceptionStandardScheme(); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   private static class InvalidOperationExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<InvalidOperationException> { | ||||
| 
 | ||||
|     public void read(org.apache.thrift.protocol.TProtocol iprot, InvalidOperationException 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: // CODE | ||||
|             if (schemeField.type == org.apache.thrift.protocol.TType.I32) { | ||||
|               struct.code = iprot.readI32(); | ||||
|               struct.setCodeIsSet(true); | ||||
|             } else {  | ||||
|               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); | ||||
|             } | ||||
|             break; | ||||
|           case 2: // DESCRIPTION | ||||
|             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { | ||||
|               struct.description = iprot.readString(); | ||||
|               struct.setDescriptionIsSet(true); | ||||
|             } else {  | ||||
|               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); | ||||
|             } | ||||
|             break; | ||||
|           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, InvalidOperationException struct) throws org.apache.thrift.TException { | ||||
|       struct.validate(); | ||||
| 
 | ||||
|       oprot.writeStructBegin(STRUCT_DESC); | ||||
|       oprot.writeFieldBegin(CODE_FIELD_DESC); | ||||
|       oprot.writeI32(struct.code); | ||||
|       oprot.writeFieldEnd(); | ||||
|       if (struct.description != null) { | ||||
|         oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC); | ||||
|         oprot.writeString(struct.description); | ||||
|         oprot.writeFieldEnd(); | ||||
|       } | ||||
|       oprot.writeFieldStop(); | ||||
|       oprot.writeStructEnd(); | ||||
|     } | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
|   private static class InvalidOperationExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory { | ||||
|     public InvalidOperationExceptionTupleScheme getScheme() { | ||||
|       return new InvalidOperationExceptionTupleScheme(); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   private static class InvalidOperationExceptionTupleScheme extends org.apache.thrift.scheme.TupleScheme<InvalidOperationException> { | ||||
| 
 | ||||
|     @Override | ||||
|     public void write(org.apache.thrift.protocol.TProtocol prot, InvalidOperationException struct) throws org.apache.thrift.TException { | ||||
|       org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot; | ||||
|       java.util.BitSet optionals = new java.util.BitSet(); | ||||
|       if (struct.isSetCode()) { | ||||
|         optionals.set(0); | ||||
|       } | ||||
|       if (struct.isSetDescription()) { | ||||
|         optionals.set(1); | ||||
|       } | ||||
|       oprot.writeBitSet(optionals, 2); | ||||
|       if (struct.isSetCode()) { | ||||
|         oprot.writeI32(struct.code); | ||||
|       } | ||||
|       if (struct.isSetDescription()) { | ||||
|         oprot.writeString(struct.description); | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void read(org.apache.thrift.protocol.TProtocol prot, InvalidOperationException struct) throws org.apache.thrift.TException { | ||||
|       org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot; | ||||
|       java.util.BitSet incoming = iprot.readBitSet(2); | ||||
|       if (incoming.get(0)) { | ||||
|         struct.code = iprot.readI32(); | ||||
|         struct.setCodeIsSet(true); | ||||
|       } | ||||
|       if (incoming.get(1)) { | ||||
|         struct.description = iprot.readString(); | ||||
|         struct.setDescriptionIsSet(true); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) { | ||||
|     return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme(); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
							
								
								
									
										68
									
								
								apache-thrift/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								apache-thrift/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,68 @@ | ||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
|     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||
|     <modelVersion>4.0.0</modelVersion> | ||||
|     <groupId>com.baeldung</groupId> | ||||
|     <artifactId>apache-thrift</artifactId> | ||||
|     <version>0.0.1-SNAPSHOT</version> | ||||
|     <packaging>pom</packaging> | ||||
| 
 | ||||
|     <properties> | ||||
|         <java.versin>1.8</java.versin> | ||||
|         <junit.version>4.12</junit.version> | ||||
|         <maven-compiler-plugin.version>3.6.0</maven-compiler-plugin.version> | ||||
|         <thrift.version>0.10.0</thrift.version> | ||||
|         <maven-thrift.version>0.1.11</maven-thrift.version> | ||||
|     </properties> | ||||
| 
 | ||||
|     <dependencies> | ||||
|         <dependency> | ||||
|             <groupId>org.apache.thrift</groupId> | ||||
|             <artifactId>libthrift</artifactId> | ||||
|             <version>${thrift.version}</version> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>junit</groupId> | ||||
|             <artifactId>junit</artifactId> | ||||
|             <version>${junit.version}</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.slf4j</groupId> | ||||
|             <artifactId>slf4j-simple</artifactId> | ||||
|             <version>1.7.12</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|     </dependencies> | ||||
| 
 | ||||
|     <build> | ||||
|         <defaultGoal>install</defaultGoal> | ||||
|         <plugins> | ||||
|             <plugin> | ||||
|                 <groupId>org.apache.maven.plugins</groupId> | ||||
|                 <artifactId>maven-compiler-plugin</artifactId> | ||||
|                 <version>${maven-compiler-plugin.version}</version> | ||||
|                 <configuration> | ||||
|                     <source>1.8</source> | ||||
|                     <target>1.8</target> | ||||
|                 </configuration> | ||||
|             </plugin> | ||||
|             <plugin> | ||||
|                 <groupId>org.codehaus.mojo</groupId> | ||||
|                 <artifactId>build-helper-maven-plugin</artifactId> | ||||
|                 <executions> | ||||
|                     <execution> | ||||
|                         <phase>generate-sources</phase> | ||||
|                         <goals><goal>add-source</goal></goals> | ||||
|                         <configuration> | ||||
|                             <sources> | ||||
|                                 <source>generated</source> | ||||
|                             </sources> | ||||
|                         </configuration> | ||||
|                     </execution> | ||||
|                 </executions> | ||||
|             </plugin> | ||||
|         </plugins> | ||||
|     </build> | ||||
| </project> | ||||
| @ -0,0 +1,9 @@ | ||||
| package com.baeldung.thrift; | ||||
| 
 | ||||
| public class Application { | ||||
| 
 | ||||
|     public static void main(String[] args) { | ||||
|         CrossPlatformServiceServer server = new CrossPlatformServiceServer(); | ||||
|         server.start(); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,41 @@ | ||||
| package com.baeldung.thrift; | ||||
| 
 | ||||
| import com.baeldung.thrift.impl.CrossPlatformService; | ||||
| 
 | ||||
| import org.apache.thrift.TException; | ||||
| import org.apache.thrift.protocol.TBinaryProtocol; | ||||
| import org.apache.thrift.protocol.TProtocol; | ||||
| import org.apache.thrift.transport.TSocket; | ||||
| import org.apache.thrift.transport.TTransport; | ||||
| import org.apache.thrift.transport.TTransportException; | ||||
| 
 | ||||
| public class CrossPlatformServiceClient { | ||||
| 
 | ||||
|     public boolean ping() { | ||||
|         try { | ||||
|             TTransport transport; | ||||
| 
 | ||||
|             transport = new TSocket("localhost", 9090); | ||||
|             transport.open(); | ||||
| 
 | ||||
|             TProtocol protocol = new TBinaryProtocol(transport); | ||||
|             CrossPlatformService.Client client = new CrossPlatformService.Client(protocol); | ||||
| 
 | ||||
|             System.out.print("Calling remote method..."); | ||||
| 
 | ||||
|             boolean result = client.ping(); | ||||
| 
 | ||||
|             System.out.println("done."); | ||||
| 
 | ||||
|             transport.close(); | ||||
| 
 | ||||
|             return result; | ||||
|         } catch (TTransportException e) { | ||||
|             e.printStackTrace(); | ||||
|         } catch (TException x) { | ||||
|             x.printStackTrace(); | ||||
|         } | ||||
| 
 | ||||
|         return false; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,35 @@ | ||||
| package com.baeldung.thrift; | ||||
| 
 | ||||
| import com.baeldung.thrift.impl.CrossPlatformResource; | ||||
| import com.baeldung.thrift.impl.CrossPlatformService; | ||||
| import com.baeldung.thrift.impl.InvalidOperationException; | ||||
| 
 | ||||
| import org.apache.thrift.TException; | ||||
| 
 | ||||
| import java.util.Collections; | ||||
| import java.util.List; | ||||
| 
 | ||||
| public class CrossPlatformServiceImpl implements CrossPlatformService.Iface { | ||||
| 
 | ||||
|     @Override | ||||
|     public CrossPlatformResource get(final int id) throws InvalidOperationException, TException { | ||||
|         // add some action | ||||
|         return new CrossPlatformResource(); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void save(final CrossPlatformResource resource) throws InvalidOperationException, TException { | ||||
|         // add some action | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public List<CrossPlatformResource> getList() throws InvalidOperationException, TException { | ||||
|         // add some action | ||||
|         return Collections.emptyList(); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public boolean ping() throws InvalidOperationException, TException { | ||||
|         return true; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,39 @@ | ||||
| package com.baeldung.thrift; | ||||
| 
 | ||||
| import com.baeldung.thrift.impl.CrossPlatformService; | ||||
| 
 | ||||
| import org.apache.thrift.server.TServer; | ||||
| import org.apache.thrift.server.TSimpleServer; | ||||
| import org.apache.thrift.transport.TServerSocket; | ||||
| import org.apache.thrift.transport.TServerTransport; | ||||
| 
 | ||||
| public class CrossPlatformServiceServer { | ||||
| 
 | ||||
|     private TServer server; | ||||
| 
 | ||||
|     public void start() { | ||||
|         try { | ||||
|             TServerTransport serverTransport = new TServerSocket(9090); | ||||
|             server = new TSimpleServer(new TServer.Args(serverTransport) | ||||
|                 .processor(new CrossPlatformService.Processor<>(new CrossPlatformServiceImpl()))); | ||||
| 
 | ||||
|             System.out.print("Starting the server... "); | ||||
| 
 | ||||
|             server.serve(); | ||||
| 
 | ||||
|             System.out.println("done."); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public void stop() { | ||||
|         if (server != null && server.isServing()) { | ||||
|             System.out.print("Stopping the server... "); | ||||
| 
 | ||||
|             server.stop(); | ||||
| 
 | ||||
|             System.out.println("done."); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| namespace cpp com.baeldung.thrift.impl | ||||
| namespace java com.baeldung.thrift.impl | ||||
| 
 | ||||
| exception InvalidOperationException { | ||||
|     1: i32 code, | ||||
|     2: string description | ||||
| } | ||||
| 
 | ||||
| struct CrossPlatformResource { | ||||
|     1: i32 id, | ||||
|     2: string name, | ||||
|     3: optional string salutation | ||||
| } | ||||
| 
 | ||||
| service CrossPlatformService { | ||||
| 
 | ||||
|     CrossPlatformResource get(1:i32 id) throws (1:InvalidOperationException e), | ||||
| 
 | ||||
|     void save(1:CrossPlatformResource resource) throws (1:InvalidOperationException e), | ||||
| 
 | ||||
|     list <CrossPlatformResource> getList() throws (1:InvalidOperationException e), | ||||
| 
 | ||||
|     bool ping() throws (1:InvalidOperationException e) | ||||
| } | ||||
| @ -0,0 +1,33 @@ | ||||
| package com.baeldung.thrift; | ||||
| 
 | ||||
| import org.junit.After; | ||||
| import org.junit.Assert; | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| 
 | ||||
| public class CrossPlatformServiceTest { | ||||
| 
 | ||||
|     private CrossPlatformServiceServer server = new CrossPlatformServiceServer(); | ||||
| 
 | ||||
|     @Before | ||||
|     public void setUp() { | ||||
|         new Thread(() -> server.start()).start(); | ||||
|         try { | ||||
|             // wait for the server start up | ||||
|             Thread.sleep(1000); | ||||
|         } catch (InterruptedException e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     @After | ||||
|     public void tearDown() { | ||||
|         server.stop(); | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     public void ping() { | ||||
|         CrossPlatformServiceClient client = new CrossPlatformServiceClient(); | ||||
|         Assert.assertTrue(client.ping()); | ||||
|     } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user