From fa93f97c19fafc53f42e574e8e483e8aa033521f Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 14 Jun 2018 16:13:00 +0200 Subject: Add support for (ldap)filters for lectures --- .../org/openslx/bwlp/thrift/iface/LdapFilter.java | 503 +++++++++++++++++++++ .../org/openslx/bwlp/thrift/iface/LectureRead.java | 339 ++++++++++---- .../openslx/bwlp/thrift/iface/LectureWrite.java | 295 +++++++++--- .../org/openslx/sat/thrift/version/Feature.java | 5 + src/main/thrift/bwlp.thrift | 7 + 5 files changed, 993 insertions(+), 156 deletions(-) create mode 100644 src/main/java/org/openslx/bwlp/thrift/iface/LdapFilter.java diff --git a/src/main/java/org/openslx/bwlp/thrift/iface/LdapFilter.java b/src/main/java/org/openslx/bwlp/thrift/iface/LdapFilter.java new file mode 100644 index 0000000..f5e3a8c --- /dev/null +++ b/src/main/java/org/openslx/bwlp/thrift/iface/LdapFilter.java @@ -0,0 +1,503 @@ +/** + * Autogenerated by Thrift Compiler (0.9.3) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package org.openslx.bwlp.thrift.iface; + +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"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-06-13") +public class LdapFilter implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LdapFilter"); + + private static final org.apache.thrift.protocol.TField ATTRIBUTE_FIELD_DESC = new org.apache.thrift.protocol.TField("attribute", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField VALUE_FIELD_DESC = new org.apache.thrift.protocol.TField("value", org.apache.thrift.protocol.TType.STRING, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new LdapFilterStandardSchemeFactory()); + schemes.put(TupleScheme.class, new LdapFilterTupleSchemeFactory()); + } + + public String attribute; // required + public String value; // 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 { + ATTRIBUTE((short)1, "attribute"), + VALUE((short)2, "value"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // ATTRIBUTE + return ATTRIBUTE; + case 2: // VALUE + return VALUE; + 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.ATTRIBUTE, new org.apache.thrift.meta_data.FieldMetaData("attribute", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.VALUE, new org.apache.thrift.meta_data.FieldMetaData("value", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(LdapFilter.class, metaDataMap); + } + + public LdapFilter() { + } + + public LdapFilter( + String attribute, + String value) + { + this(); + this.attribute = attribute; + this.value = value; + } + + /** + * Performs a deep copy on other. + */ + public LdapFilter(LdapFilter other) { + if (other.isSetAttribute()) { + this.attribute = other.attribute; + } + if (other.isSetValue()) { + this.value = other.value; + } + } + + public LdapFilter deepCopy() { + return new LdapFilter(this); + } + + @Override + public void clear() { + this.attribute = null; + this.value = null; + } + + public String getAttribute() { + return this.attribute; + } + + public LdapFilter setAttribute(String attribute) { + this.attribute = attribute; + return this; + } + + public void unsetAttribute() { + this.attribute = null; + } + + /** Returns true if field attribute is set (has been assigned a value) and false otherwise */ + public boolean isSetAttribute() { + return this.attribute != null; + } + + public void setAttributeIsSet(boolean value) { + if (!value) { + this.attribute = null; + } + } + + public String getValue() { + return this.value; + } + + public LdapFilter setValue(String value) { + this.value = value; + return this; + } + + public void unsetValue() { + this.value = null; + } + + /** Returns true if field value is set (has been assigned a value) and false otherwise */ + public boolean isSetValue() { + return this.value != null; + } + + public void setValueIsSet(boolean value) { + if (!value) { + this.value = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case ATTRIBUTE: + if (value == null) { + unsetAttribute(); + } else { + setAttribute((String)value); + } + break; + + case VALUE: + if (value == null) { + unsetValue(); + } else { + setValue((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case ATTRIBUTE: + return getAttribute(); + + case VALUE: + return getValue(); + + } + 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 ATTRIBUTE: + return isSetAttribute(); + case VALUE: + return isSetValue(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof LdapFilter) + return this.equals((LdapFilter)that); + return false; + } + + public boolean equals(LdapFilter that) { + if (that == null) + return false; + + boolean this_present_attribute = true && this.isSetAttribute(); + boolean that_present_attribute = true && that.isSetAttribute(); + if (this_present_attribute || that_present_attribute) { + if (!(this_present_attribute && that_present_attribute)) + return false; + if (!this.attribute.equals(that.attribute)) + return false; + } + + boolean this_present_value = true && this.isSetValue(); + boolean that_present_value = true && that.isSetValue(); + if (this_present_value || that_present_value) { + if (!(this_present_value && that_present_value)) + return false; + if (!this.value.equals(that.value)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_attribute = true && (isSetAttribute()); + list.add(present_attribute); + if (present_attribute) + list.add(attribute); + + boolean present_value = true && (isSetValue()); + list.add(present_value); + if (present_value) + list.add(value); + + return list.hashCode(); + } + + @Override + public int compareTo(LdapFilter other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetAttribute()).compareTo(other.isSetAttribute()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetAttribute()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.attribute, other.attribute); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetValue()).compareTo(other.isSetValue()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetValue()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.value, other.value); + 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("LdapFilter("); + boolean first = true; + + sb.append("attribute:"); + if (this.attribute == null) { + sb.append("null"); + } else { + sb.append(this.attribute); + } + first = false; + if (!first) sb.append(", "); + sb.append("value:"); + if (this.value == null) { + sb.append("null"); + } else { + sb.append(this.value); + } + 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 LdapFilterStandardSchemeFactory implements SchemeFactory { + public LdapFilterStandardScheme getScheme() { + return new LdapFilterStandardScheme(); + } + } + + private static class LdapFilterStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, LdapFilter 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: // ATTRIBUTE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.attribute = iprot.readString(); + struct.setAttributeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // VALUE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.value = iprot.readString(); + struct.setValueIsSet(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, LdapFilter struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.attribute != null) { + oprot.writeFieldBegin(ATTRIBUTE_FIELD_DESC); + oprot.writeString(struct.attribute); + oprot.writeFieldEnd(); + } + if (struct.value != null) { + oprot.writeFieldBegin(VALUE_FIELD_DESC); + oprot.writeString(struct.value); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class LdapFilterTupleSchemeFactory implements SchemeFactory { + public LdapFilterTupleScheme getScheme() { + return new LdapFilterTupleScheme(); + } + } + + private static class LdapFilterTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, LdapFilter struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetAttribute()) { + optionals.set(0); + } + if (struct.isSetValue()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetAttribute()) { + oprot.writeString(struct.attribute); + } + if (struct.isSetValue()) { + oprot.writeString(struct.value); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, LdapFilter struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.attribute = iprot.readString(); + struct.setAttributeIsSet(true); + } + if (incoming.get(1)) { + struct.value = iprot.readString(); + struct.setValueIsSet(true); + } + } + } + +} + diff --git a/src/main/java/org/openslx/bwlp/thrift/iface/LectureRead.java b/src/main/java/org/openslx/bwlp/thrift/iface/LectureRead.java index 9ba4c28..1075a49 100644 --- a/src/main/java/org/openslx/bwlp/thrift/iface/LectureRead.java +++ b/src/main/java/org/openslx/bwlp/thrift/iface/LectureRead.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2017-09-06") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-06-13") public class LectureRead implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LectureRead"); @@ -66,6 +66,7 @@ public class LectureRead implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); static { @@ -101,6 +102,7 @@ public class LectureRead implements org.apache.thrift.TBase networkShares; // optional + public List ldapFilters; // 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 { @@ -131,7 +133,8 @@ public class LectureRead implements org.apache.thrift.TBase byName = new HashMap(); @@ -202,6 +205,8 @@ public class LectureRead implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -321,6 +326,9 @@ public class LectureRead implements org.apache.thrift.TBase __this__ldapFilters = new ArrayList(other.ldapFilters.size()); + for (LdapFilter other_element : other.ldapFilters) { + __this__ldapFilters.add(new LdapFilter(other_element)); + } + this.ldapFilters = __this__ldapFilters; + } } public LectureRead deepCopy() { @@ -521,6 +536,7 @@ public class LectureRead implements org.apache.thrift.TBase getLdapFiltersIterator() { + return (this.ldapFilters == null) ? null : this.ldapFilters.iterator(); + } + + public void addToLdapFilters(LdapFilter elem) { + if (this.ldapFilters == null) { + this.ldapFilters = new ArrayList(); + } + this.ldapFilters.add(elem); + } + + public List getLdapFilters() { + return this.ldapFilters; + } + + public LectureRead setLdapFilters(List ldapFilters) { + this.ldapFilters = ldapFilters; + return this; + } + + public void unsetLdapFilters() { + this.ldapFilters = null; + } + + /** Returns true if field ldapFilters is set (has been assigned a value) and false otherwise */ + public boolean isSetLdapFilters() { + return this.ldapFilters != null; + } + + public void setLdapFiltersIsSet(boolean value) { + if (!value) { + this.ldapFilters = null; + } + } + public void setFieldValue(_Fields field, Object value) { switch (field) { case LECTURE_ID: @@ -1483,6 +1538,14 @@ public class LectureRead implements org.apache.thrift.TBase)value); + } + break; + } } @@ -1572,6 +1635,9 @@ public class LectureRead implements org.apache.thrift.TBase(_list138.size); - String _elem139; - for (int _i140 = 0; _i140 < _list138.size; ++_i140) + org.apache.thrift.protocol.TList _list146 = iprot.readListBegin(); + struct.nics = new ArrayList(_list146.size); + String _elem147; + for (int _i148 = 0; _i148 < _list146.size; ++_i148) { - _elem139 = iprot.readString(); - struct.nics.add(_elem139); + _elem147 = iprot.readString(); + struct.nics.add(_elem147); } iprot.readListEnd(); } @@ -2741,13 +2843,13 @@ public class LectureRead implements org.apache.thrift.TBase(_list141.size); - String _elem142; - for (int _i143 = 0; _i143 < _list141.size; ++_i143) + org.apache.thrift.protocol.TList _list149 = iprot.readListBegin(); + struct.allowedUsers = new ArrayList(_list149.size); + String _elem150; + for (int _i151 = 0; _i151 < _list149.size; ++_i151) { - _elem142 = iprot.readString(); - struct.allowedUsers.add(_elem142); + _elem150 = iprot.readString(); + struct.allowedUsers.add(_elem150); } iprot.readListEnd(); } @@ -2759,14 +2861,14 @@ public class LectureRead implements org.apache.thrift.TBase(_list144.size); - NetRule _elem145; - for (int _i146 = 0; _i146 < _list144.size; ++_i146) + org.apache.thrift.protocol.TList _list152 = iprot.readListBegin(); + struct.networkExceptions = new ArrayList(_list152.size); + NetRule _elem153; + for (int _i154 = 0; _i154 < _list152.size; ++_i154) { - _elem145 = new NetRule(); - _elem145.read(iprot); - struct.networkExceptions.add(_elem145); + _elem153 = new NetRule(); + _elem153.read(iprot); + struct.networkExceptions.add(_elem153); } iprot.readListEnd(); } @@ -2812,13 +2914,13 @@ public class LectureRead implements org.apache.thrift.TBase(_list147.size); - int _elem148; - for (int _i149 = 0; _i149 < _list147.size; ++_i149) + org.apache.thrift.protocol.TList _list155 = iprot.readListBegin(); + struct.locationIds = new ArrayList(_list155.size); + int _elem156; + for (int _i157 = 0; _i157 < _list155.size; ++_i157) { - _elem148 = iprot.readI32(); - struct.locationIds.add(_elem148); + _elem156 = iprot.readI32(); + struct.locationIds.add(_elem156); } iprot.readListEnd(); } @@ -2854,14 +2956,14 @@ public class LectureRead implements org.apache.thrift.TBase(_list150.size); - NetShare _elem151; - for (int _i152 = 0; _i152 < _list150.size; ++_i152) + org.apache.thrift.protocol.TList _list158 = iprot.readListBegin(); + struct.networkShares = new ArrayList(_list158.size); + NetShare _elem159; + for (int _i160 = 0; _i160 < _list158.size; ++_i160) { - _elem151 = new NetShare(); - _elem151.read(iprot); - struct.networkShares.add(_elem151); + _elem159 = new NetShare(); + _elem159.read(iprot); + struct.networkShares.add(_elem159); } iprot.readListEnd(); } @@ -2870,6 +2972,25 @@ public class LectureRead implements org.apache.thrift.TBase(_list161.size); + LdapFilter _elem162; + for (int _i163 = 0; _i163 < _list161.size; ++_i163) + { + _elem162 = new LdapFilter(); + _elem162.read(iprot); + struct.ldapFilters.add(_elem162); + } + iprot.readListEnd(); + } + struct.setLdapFiltersIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } @@ -2937,9 +3058,9 @@ public class LectureRead implements org.apache.thrift.TBase(_list163.size); - String _elem164; - for (int _i165 = 0; _i165 < _list163.size; ++_i165) + org.apache.thrift.protocol.TList _list176 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.nics = new ArrayList(_list176.size); + String _elem177; + for (int _i178 = 0; _i178 < _list176.size; ++_i178) { - _elem164 = iprot.readString(); - struct.nics.add(_elem164); + _elem177 = iprot.readString(); + struct.nics.add(_elem177); } } struct.setNicsIsSet(true); } if (incoming.get(17)) { { - org.apache.thrift.protocol.TList _list166 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); - struct.allowedUsers = new ArrayList(_list166.size); - String _elem167; - for (int _i168 = 0; _i168 < _list166.size; ++_i168) + org.apache.thrift.protocol.TList _list179 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.allowedUsers = new ArrayList(_list179.size); + String _elem180; + for (int _i181 = 0; _i181 < _list179.size; ++_i181) { - _elem167 = iprot.readString(); - struct.allowedUsers.add(_elem167); + _elem180 = iprot.readString(); + struct.allowedUsers.add(_elem180); } } struct.setAllowedUsersIsSet(true); } if (incoming.get(18)) { { - org.apache.thrift.protocol.TList _list169 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); - struct.networkExceptions = new ArrayList(_list169.size); - NetRule _elem170; - for (int _i171 = 0; _i171 < _list169.size; ++_i171) + org.apache.thrift.protocol.TList _list182 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.networkExceptions = new ArrayList(_list182.size); + NetRule _elem183; + for (int _i184 = 0; _i184 < _list182.size; ++_i184) { - _elem170 = new NetRule(); - _elem170.read(iprot); - struct.networkExceptions.add(_elem170); + _elem183 = new NetRule(); + _elem183.read(iprot); + struct.networkExceptions.add(_elem183); } } struct.setNetworkExceptionsIsSet(true); @@ -3385,13 +3532,13 @@ public class LectureRead implements org.apache.thrift.TBase(_list172.size); - int _elem173; - for (int _i174 = 0; _i174 < _list172.size; ++_i174) + org.apache.thrift.protocol.TList _list185 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, iprot.readI32()); + struct.locationIds = new ArrayList(_list185.size); + int _elem186; + for (int _i187 = 0; _i187 < _list185.size; ++_i187) { - _elem173 = iprot.readI32(); - struct.locationIds.add(_elem173); + _elem186 = iprot.readI32(); + struct.locationIds.add(_elem186); } } struct.setLocationIdsIsSet(true); @@ -3410,18 +3557,32 @@ public class LectureRead implements org.apache.thrift.TBase(_list175.size); - NetShare _elem176; - for (int _i177 = 0; _i177 < _list175.size; ++_i177) + org.apache.thrift.protocol.TList _list188 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.networkShares = new ArrayList(_list188.size); + NetShare _elem189; + for (int _i190 = 0; _i190 < _list188.size; ++_i190) { - _elem176 = new NetShare(); - _elem176.read(iprot); - struct.networkShares.add(_elem176); + _elem189 = new NetShare(); + _elem189.read(iprot); + struct.networkShares.add(_elem189); } } struct.setNetworkSharesIsSet(true); } + if (incoming.get(28)) { + { + org.apache.thrift.protocol.TList _list191 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.ldapFilters = new ArrayList(_list191.size); + LdapFilter _elem192; + for (int _i193 = 0; _i193 < _list191.size; ++_i193) + { + _elem192 = new LdapFilter(); + _elem192.read(iprot); + struct.ldapFilters.add(_elem192); + } + } + struct.setLdapFiltersIsSet(true); + } } } diff --git a/src/main/java/org/openslx/bwlp/thrift/iface/LectureWrite.java b/src/main/java/org/openslx/bwlp/thrift/iface/LectureWrite.java index ce42bd3..fc0f59d 100644 --- a/src/main/java/org/openslx/bwlp/thrift/iface/LectureWrite.java +++ b/src/main/java/org/openslx/bwlp/thrift/iface/LectureWrite.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2017-09-06") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-06-13") public class LectureWrite implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LectureWrite"); @@ -58,6 +58,7 @@ public class LectureWrite implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); static { @@ -85,6 +86,7 @@ public class LectureWrite implements org.apache.thrift.TBase networkShares; // optional + public List ldapFilters; // 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 { @@ -107,7 +109,8 @@ public class LectureWrite implements org.apache.thrift.TBase byName = new HashMap(); @@ -162,6 +165,8 @@ public class LectureWrite implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -262,6 +267,9 @@ public class LectureWrite implements org.apache.thrift.TBase __this__ldapFilters = new ArrayList(other.ldapFilters.size()); + for (LdapFilter other_element : other.ldapFilters) { + __this__ldapFilters.add(new LdapFilter(other_element)); + } + this.ldapFilters = __this__ldapFilters; + } } public LectureWrite deepCopy() { @@ -411,6 +426,7 @@ public class LectureWrite implements org.apache.thrift.TBase getLdapFiltersIterator() { + return (this.ldapFilters == null) ? null : this.ldapFilters.iterator(); + } + + public void addToLdapFilters(LdapFilter elem) { + if (this.ldapFilters == null) { + this.ldapFilters = new ArrayList(); + } + this.ldapFilters.add(elem); + } + + public List getLdapFilters() { + return this.ldapFilters; + } + + public LectureWrite setLdapFilters(List ldapFilters) { + this.ldapFilters = ldapFilters; + return this; + } + + public void unsetLdapFilters() { + this.ldapFilters = null; + } + + /** Returns true if field ldapFilters is set (has been assigned a value) and false otherwise */ + public boolean isSetLdapFilters() { + return this.ldapFilters != null; + } + + public void setLdapFiltersIsSet(boolean value) { + if (!value) { + this.ldapFilters = null; + } + } + public void setFieldValue(_Fields field, Object value) { switch (field) { case LECTURE_NAME: @@ -1136,6 +1191,14 @@ public class LectureWrite implements org.apache.thrift.TBase)value); + } + break; + } } @@ -1201,6 +1264,9 @@ public class LectureWrite implements org.apache.thrift.TBase(_list108.size); + LdapFilter _elem109; + for (int _i110 = 0; _i110 < _list108.size; ++_i110) + { + _elem109 = new LdapFilter(); + _elem109.read(iprot); + struct.ldapFilters.add(_elem109); + } + iprot.readListEnd(); + } + struct.setLdapFiltersIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } @@ -2240,9 +2361,9 @@ public class LectureWrite implements org.apache.thrift.TBase(_list120.size); - String _elem121; - for (int _i122 = 0; _i122 < _list120.size; ++_i122) + org.apache.thrift.protocol.TList _list125 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.nics = new ArrayList(_list125.size); + String _elem126; + for (int _i127 = 0; _i127 < _list125.size; ++_i127) { - _elem121 = iprot.readString(); - struct.nics.add(_elem121); + _elem126 = iprot.readString(); + struct.nics.add(_elem126); } } struct.setNicsIsSet(true); } if (incoming.get(9)) { { - org.apache.thrift.protocol.TList _list123 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); - struct.networkExceptions = new ArrayList(_list123.size); - NetRule _elem124; - for (int _i125 = 0; _i125 < _list123.size; ++_i125) + org.apache.thrift.protocol.TList _list128 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.networkExceptions = new ArrayList(_list128.size); + NetRule _elem129; + for (int _i130 = 0; _i130 < _list128.size; ++_i130) { - _elem124 = new NetRule(); - _elem124.read(iprot); - struct.networkExceptions.add(_elem124); + _elem129 = new NetRule(); + _elem129.read(iprot); + struct.networkExceptions.add(_elem129); } } struct.setNetworkExceptionsIsSet(true); @@ -2591,39 +2738,39 @@ public class LectureWrite implements org.apache.thrift.TBase(_list126.size); - String _elem127; - for (int _i128 = 0; _i128 < _list126.size; ++_i128) + org.apache.thrift.protocol.TList _list131 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.addAllowedUsers = new ArrayList(_list131.size); + String _elem132; + for (int _i133 = 0; _i133 < _list131.size; ++_i133) { - _elem127 = iprot.readString(); - struct.addAllowedUsers.add(_elem127); + _elem132 = iprot.readString(); + struct.addAllowedUsers.add(_elem132); } } struct.setAddAllowedUsersIsSet(true); } if (incoming.get(14)) { { - org.apache.thrift.protocol.TList _list129 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); - struct.remAllowedUsers = new ArrayList(_list129.size); - String _elem130; - for (int _i131 = 0; _i131 < _list129.size; ++_i131) + org.apache.thrift.protocol.TList _list134 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.remAllowedUsers = new ArrayList(_list134.size); + String _elem135; + for (int _i136 = 0; _i136 < _list134.size; ++_i136) { - _elem130 = iprot.readString(); - struct.remAllowedUsers.add(_elem130); + _elem135 = iprot.readString(); + struct.remAllowedUsers.add(_elem135); } } struct.setRemAllowedUsersIsSet(true); } if (incoming.get(15)) { { - org.apache.thrift.protocol.TList _list132 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, iprot.readI32()); - struct.locationIds = new ArrayList(_list132.size); - int _elem133; - for (int _i134 = 0; _i134 < _list132.size; ++_i134) + org.apache.thrift.protocol.TList _list137 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, iprot.readI32()); + struct.locationIds = new ArrayList(_list137.size); + int _elem138; + for (int _i139 = 0; _i139 < _list137.size; ++_i139) { - _elem133 = iprot.readI32(); - struct.locationIds.add(_elem133); + _elem138 = iprot.readI32(); + struct.locationIds.add(_elem138); } } struct.setLocationIdsIsSet(true); @@ -2642,18 +2789,32 @@ public class LectureWrite implements org.apache.thrift.TBase(_list135.size); - NetShare _elem136; - for (int _i137 = 0; _i137 < _list135.size; ++_i137) + org.apache.thrift.protocol.TList _list140 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.networkShares = new ArrayList(_list140.size); + NetShare _elem141; + for (int _i142 = 0; _i142 < _list140.size; ++_i142) { - _elem136 = new NetShare(); - _elem136.read(iprot); - struct.networkShares.add(_elem136); + _elem141 = new NetShare(); + _elem141.read(iprot); + struct.networkShares.add(_elem141); } } struct.setNetworkSharesIsSet(true); } + if (incoming.get(20)) { + { + org.apache.thrift.protocol.TList _list143 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.ldapFilters = new ArrayList(_list143.size); + LdapFilter _elem144; + for (int _i145 = 0; _i145 < _list143.size; ++_i145) + { + _elem144 = new LdapFilter(); + _elem144.read(iprot); + struct.ldapFilters.add(_elem144); + } + } + struct.setLdapFiltersIsSet(true); + } } } diff --git a/src/main/java/org/openslx/sat/thrift/version/Feature.java b/src/main/java/org/openslx/sat/thrift/version/Feature.java index 02acae6..e06c78a 100644 --- a/src/main/java/org/openslx/sat/thrift/version/Feature.java +++ b/src/main/java/org/openslx/sat/thrift/version/Feature.java @@ -26,4 +26,9 @@ public enum Feature { */ SERVER_SIDE_COPY, + /** + * Server supports filtering lectures by LDAP/AD attributes + */ + LECTURE_FILTER_LDAP, + } diff --git a/src/main/thrift/bwlp.thrift b/src/main/thrift/bwlp.thrift index 4f4f4b1..02fb1f5 100644 --- a/src/main/thrift/bwlp.thrift +++ b/src/main/thrift/bwlp.thrift @@ -251,6 +251,11 @@ struct NetShare { 3: optional string password, } +struct LdapFilter { + 1: string attribute, + 2: string value, +} + // Write lecture to sat. if optional fields are not set or null, their value stays unchanged struct LectureWrite { 1: string lectureName, @@ -273,6 +278,7 @@ struct LectureWrite { 19: bool limitToAllowedUsers, 20: bool hasUsbAccess, 21: optional list networkShares, + 22: optional list ldapFilters, } struct LectureSummary { @@ -324,6 +330,7 @@ struct LectureRead { 27: bool limitToAllowedUsers, 28: bool hasUsbAccess, 29: optional list networkShares, + 30: optional list ldapFilters, } struct MasterTag { -- cgit v1.2.3-55-g7522