diff options
author | Simon Rettberg | 2015-06-22 17:30:12 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-06-22 17:30:12 +0200 |
commit | ba691ef7a9ee4b0abd121dd487859f8fb38a0fa1 (patch) | |
tree | 816edb3ebd8b083057fc3de588657277d8e1c091 /src/main/java/org | |
parent | Add more Thrift calls (diff) | |
download | master-sync-shared-ba691ef7a9ee4b0abd121dd487859f8fb38a0fa1.tar.gz master-sync-shared-ba691ef7a9ee4b0abd121dd487859f8fb38a0fa1.tar.xz master-sync-shared-ba691ef7a9ee4b0abd121dd487859f8fb38a0fa1.zip |
Update api
Diffstat (limited to 'src/main/java/org')
3 files changed, 155 insertions, 36 deletions
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 ea4bd53..2259b45 100644 --- a/src/main/java/org/openslx/bwlp/thrift/iface/LectureWrite.java +++ b/src/main/java/org/openslx/bwlp/thrift/iface/LectureWrite.java @@ -67,8 +67,8 @@ public class LectureWrite implements org.apache.thrift.TBase<LectureWrite, Lectu public String ownerId; // required public String runscript; // required public List<String> nics; // required - public List<String> allowedUsers; // required - public List<NetRule> networkExceptions; // required + public List<String> allowedUsers; // optional + public List<NetRule> networkExceptions; // optional public boolean isExam; // required public boolean hasInternetAccess; // required public LecturePermissions defaultPermissions; // required @@ -181,6 +181,7 @@ public class LectureWrite implements org.apache.thrift.TBase<LectureWrite, Lectu private static final int __ISEXAM_ISSET_ID = 4; private static final int __HASINTERNETACCESS_ISSET_ID = 5; private byte __isset_bitfield = 0; + private _Fields optionals[] = {_Fields.ALLOWED_USERS,_Fields.NETWORK_EXCEPTIONS}; 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); @@ -205,10 +206,10 @@ public class LectureWrite implements org.apache.thrift.TBase<LectureWrite, Lectu tmpMap.put(_Fields.NICS, new org.apache.thrift.meta_data.FieldMetaData("nics", org.apache.thrift.TFieldRequirementType.DEFAULT, new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))); - tmpMap.put(_Fields.ALLOWED_USERS, new org.apache.thrift.meta_data.FieldMetaData("allowedUsers", org.apache.thrift.TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.ALLOWED_USERS, new org.apache.thrift.meta_data.FieldMetaData("allowedUsers", org.apache.thrift.TFieldRequirementType.OPTIONAL, new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))); - tmpMap.put(_Fields.NETWORK_EXCEPTIONS, new org.apache.thrift.meta_data.FieldMetaData("networkExceptions", org.apache.thrift.TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.NETWORK_EXCEPTIONS, new org.apache.thrift.meta_data.FieldMetaData("networkExceptions", org.apache.thrift.TFieldRequirementType.OPTIONAL, new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, NetRule.class)))); tmpMap.put(_Fields.IS_EXAM, new org.apache.thrift.meta_data.FieldMetaData("isExam", org.apache.thrift.TFieldRequirementType.DEFAULT, @@ -235,8 +236,6 @@ public class LectureWrite implements org.apache.thrift.TBase<LectureWrite, Lectu String ownerId, String runscript, List<String> nics, - List<String> allowedUsers, - List<NetRule> networkExceptions, boolean isExam, boolean hasInternetAccess, LecturePermissions defaultPermissions) @@ -256,8 +255,6 @@ public class LectureWrite implements org.apache.thrift.TBase<LectureWrite, Lectu this.ownerId = ownerId; this.runscript = runscript; this.nics = nics; - this.allowedUsers = allowedUsers; - this.networkExceptions = networkExceptions; this.isExam = isExam; setIsExamIsSet(true); this.hasInternetAccess = hasInternetAccess; @@ -1353,22 +1350,26 @@ public class LectureWrite implements org.apache.thrift.TBase<LectureWrite, Lectu sb.append(this.nics); } first = false; - if (!first) sb.append(", "); - sb.append("allowedUsers:"); - if (this.allowedUsers == null) { - sb.append("null"); - } else { - sb.append(this.allowedUsers); + if (isSetAllowedUsers()) { + if (!first) sb.append(", "); + sb.append("allowedUsers:"); + if (this.allowedUsers == null) { + sb.append("null"); + } else { + sb.append(this.allowedUsers); + } + first = false; } - first = false; - if (!first) sb.append(", "); - sb.append("networkExceptions:"); - if (this.networkExceptions == null) { - sb.append("null"); - } else { - sb.append(this.networkExceptions); + if (isSetNetworkExceptions()) { + if (!first) sb.append(", "); + sb.append("networkExceptions:"); + if (this.networkExceptions == null) { + sb.append("null"); + } else { + sb.append(this.networkExceptions); + } + first = false; } - first = false; if (!first) sb.append(", "); sb.append("isExam:"); sb.append(this.isExam); @@ -1650,28 +1651,32 @@ public class LectureWrite implements org.apache.thrift.TBase<LectureWrite, Lectu oprot.writeFieldEnd(); } if (struct.allowedUsers != null) { - oprot.writeFieldBegin(ALLOWED_USERS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.allowedUsers.size())); - for (String _iter68 : struct.allowedUsers) + if (struct.isSetAllowedUsers()) { + oprot.writeFieldBegin(ALLOWED_USERS_FIELD_DESC); { - oprot.writeString(_iter68); + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.allowedUsers.size())); + for (String _iter68 : struct.allowedUsers) + { + oprot.writeString(_iter68); + } + oprot.writeListEnd(); } - oprot.writeListEnd(); + oprot.writeFieldEnd(); } - oprot.writeFieldEnd(); } if (struct.networkExceptions != null) { - oprot.writeFieldBegin(NETWORK_EXCEPTIONS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.networkExceptions.size())); - for (NetRule _iter69 : struct.networkExceptions) + if (struct.isSetNetworkExceptions()) { + oprot.writeFieldBegin(NETWORK_EXCEPTIONS_FIELD_DESC); { - _iter69.write(oprot); + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.networkExceptions.size())); + for (NetRule _iter69 : struct.networkExceptions) + { + _iter69.write(oprot); + } + oprot.writeListEnd(); } - oprot.writeListEnd(); + oprot.writeFieldEnd(); } - oprot.writeFieldEnd(); } oprot.writeFieldBegin(IS_EXAM_FIELD_DESC); oprot.writeBool(struct.isExam); diff --git a/src/main/java/org/openslx/util/TimeoutHashMap.java b/src/main/java/org/openslx/util/TimeoutHashMap.java new file mode 100644 index 0000000..3efb367 --- /dev/null +++ b/src/main/java/org/openslx/util/TimeoutHashMap.java @@ -0,0 +1,102 @@ +package org.openslx.util; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +public class TimeoutHashMap<K, V> implements Map<K, V> +{ + + private final Map<K, TimeoutReference<V>> map; + private final long timeout; + + public TimeoutHashMap( long timeout ) + { + this.map = new HashMap<>(); + this.timeout = timeout; + } + + @Override + public int size() + { + return map.size(); + } + + @Override + public boolean isEmpty() + { + return map.isEmpty(); + } + + @Override + public boolean containsKey( Object key ) + { + return map.containsKey( key ); + } + + @Override + public boolean containsValue( Object value ) + { + return map.containsValue( value ); + } + + @Override + public V get( Object key ) + { + TimeoutReference<V> timeoutReference = map.get( key ); + if ( timeoutReference == null ) + return null; + return timeoutReference.get(); + } + + @Override + public V put( K key, V value ) + { + map.put( key, new TimeoutReference<V>( + false, timeout, value ) ); + return value; + } + + @Override + public V remove( Object key ) + { + TimeoutReference<V> remove = map.remove( key ); + if ( remove == null ) + return null; + return remove.get(); + } + + @Override + public void putAll( Map<? extends K, ? extends V> m ) + { + for ( java.util.Map.Entry<? extends K, ? extends V> entry : m.entrySet() ) { + put( entry.getKey(), entry.getValue() ); + } + } + + @Override + public void clear() + { + map.clear(); + } + + @Override + public Set<K> keySet() + { + return map.keySet(); + } + + @Override + public Collection<V> values() + { + throw new UnsupportedOperationException(); + } + + @Override + public Set<java.util.Map.Entry<K, V>> entrySet() + { + throw new UnsupportedOperationException(); + } + +} diff --git a/src/main/java/org/openslx/util/TimeoutReference.java b/src/main/java/org/openslx/util/TimeoutReference.java index 4d7a992..e86c6c7 100644 --- a/src/main/java/org/openslx/util/TimeoutReference.java +++ b/src/main/java/org/openslx/util/TimeoutReference.java @@ -46,4 +46,16 @@ public class TimeoutReference<T> this.deadline = System.currentTimeMillis() + timeoutMs; } + @Override + public int hashCode() + { + return item.hashCode(); + } + + @Override + public boolean equals( Object o ) + { + return this == o || item.equals( o ); + } + } |