summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
diff options
context:
space:
mode:
authorSimon Rettberg2015-06-22 17:30:12 +0200
committerSimon Rettberg2015-06-22 17:30:12 +0200
commitba691ef7a9ee4b0abd121dd487859f8fb38a0fa1 (patch)
tree816edb3ebd8b083057fc3de588657277d8e1c091 /src/main/java/org
parentAdd more Thrift calls (diff)
downloadmaster-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')
-rw-r--r--src/main/java/org/openslx/bwlp/thrift/iface/LectureWrite.java77
-rw-r--r--src/main/java/org/openslx/util/TimeoutHashMap.java102
-rw-r--r--src/main/java/org/openslx/util/TimeoutReference.java12
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 );
+ }
+
}