summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/src/main/java/org
diff options
context:
space:
mode:
authorSimon Rettberg2015-09-08 18:38:02 +0200
committerSimon Rettberg2015-09-08 18:38:02 +0200
commitcd25a66620b156fff09126c69c480a55f81a2912 (patch)
tree3e1381723920cda294afaadebe2f25b7b403162c /dozentenmodulserver/src/main/java/org
parent[client] fat refactor to reflect what the current state of the classes actual... (diff)
downloadtutor-module-cd25a66620b156fff09126c69c480a55f81a2912.tar.gz
tutor-module-cd25a66620b156fff09126c69c480a55f81a2912.tar.xz
tutor-module-cd25a66620b156fff09126c69c480a55f81a2912.zip
[server] Json package changed
Diffstat (limited to 'dozentenmodulserver/src/main/java/org')
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/App.java2
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbConfiguration.java2
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbLecture.java2
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Json.java122
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java2
5 files changed, 4 insertions, 126 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/App.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/App.java
index 179650d5..6a4b14c2 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/App.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/App.java
@@ -23,7 +23,6 @@ import org.openslx.bwlp.sat.thrift.cache.OperatingSystemList;
import org.openslx.bwlp.sat.thrift.cache.OrganizationList;
import org.openslx.bwlp.sat.util.Configuration;
import org.openslx.bwlp.sat.util.Identity;
-import org.openslx.bwlp.sat.util.Json;
import org.openslx.bwlp.sat.web.WebServer;
import org.openslx.bwlp.thrift.iface.ImageSummaryRead;
import org.openslx.bwlp.thrift.iface.NetDirection;
@@ -31,6 +30,7 @@ import org.openslx.bwlp.thrift.iface.NetRule;
import org.openslx.bwlp.thrift.iface.UserInfo;
import org.openslx.thrifthelper.ThriftManager;
import org.openslx.thrifthelper.ThriftManager.ErrorCallback;
+import org.openslx.util.Json;
import org.openslx.util.QuickTimer;
import org.openslx.util.QuickTimer.Task;
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbConfiguration.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbConfiguration.java
index 8fb4497e..bce4d214 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbConfiguration.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbConfiguration.java
@@ -20,7 +20,7 @@ import org.openslx.bwlp.sat.database.Database;
import org.openslx.bwlp.sat.database.MysqlConnection;
import org.openslx.bwlp.sat.database.MysqlStatement;
import org.openslx.bwlp.sat.mail.MailQueue.MailConfig;
-import org.openslx.bwlp.sat.util.Json;
+import org.openslx.util.Json;
public class DbConfiguration {
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbLecture.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbLecture.java
index 97c79f5e..df34b97a 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbLecture.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbLecture.java
@@ -17,7 +17,6 @@ import org.openslx.bwlp.sat.database.models.LocalImageVersion;
import org.openslx.bwlp.sat.mail.MailGenerator;
import org.openslx.bwlp.sat.permissions.User;
import org.openslx.bwlp.sat.thrift.cache.OperatingSystemList;
-import org.openslx.bwlp.sat.util.Json;
import org.openslx.bwlp.sat.util.Util;
import org.openslx.bwlp.sat.web.VmChooserEntryXml;
import org.openslx.bwlp.sat.web.VmChooserListXml;
@@ -27,6 +26,7 @@ import org.openslx.bwlp.thrift.iface.LectureWrite;
import org.openslx.bwlp.thrift.iface.NetRule;
import org.openslx.bwlp.thrift.iface.TNotFoundException;
import org.openslx.bwlp.thrift.iface.UserInfo;
+import org.openslx.util.Json;
import org.openslx.util.vm.VmMetaData;
import org.openslx.util.vm.VmwareMetaData;
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Json.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Json.java
deleted file mode 100644
index 679cb6bf..00000000
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Json.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package org.openslx.bwlp.sat.util;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.lang.reflect.Type;
-
-import org.apache.log4j.Logger;
-import org.apache.thrift.TBase;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonDeserializationContext;
-import com.google.gson.JsonDeserializer;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParseException;
-import com.google.gson.JsonSyntaxException;
-
-public class Json {
-
- private static final Logger LOGGER = Logger.getLogger(Json.class);
-
- /**
- * Global static instance. The Gson object is thread-safe.
- */
- private static final Gson gson = new Gson();
-
- private static final GsonBuilder gsonThriftBuilder = new GsonBuilder();
-
- public static <T> void registerThriftClass(Class<T> thriftClass) {
- if (!TBase.class.isAssignableFrom(thriftClass))
- throw new IllegalArgumentException(thriftClass.getName() + " is not a thrift struct.");
- gsonThriftBuilder.registerTypeAdapter(thriftClass, new ThriftDeserializer<T>(thriftClass));
- }
-
- /**
- * Deserialize the given json string to an instance of T.
- * This will deserialize all fields, except transient ones.
- *
- * @param data JSON formatted data
- * @param classOfData class to instantiate
- * @return instanceof T
- */
- public static <T> T deserialize(String data, Class<T> classOfData) {
- try {
- return gson.fromJson(data, classOfData);
- } catch (JsonSyntaxException e) {
- LOGGER.warn("Cannot deserialize to " + classOfData.getSimpleName(), e);
- return null;
- }
- }
-
- public static <T> T deserializeThrift(String data, Class<T> thriftClass) {
- try {
- return gsonThriftBuilder.create().fromJson(data, thriftClass);
- } catch (JsonSyntaxException e) {
- LOGGER.warn("Cannot deserialize to " + thriftClass.getSimpleName(), e);
- return null;
- }
- }
-
- /**
- * Serialize the given POJO. All fields except transient ones will be
- * serialized.
- *
- * @param object some object to serialize
- * @return JSON formatted represenatation of <code>object</code>
- */
- public static String serialize(Object object) {
- return gson.toJson(object);
- }
-
- private static class ThriftDeserializer<T> implements JsonDeserializer<T> {
- private final Class<T> clazz;
-
- public ThriftDeserializer(Class<T> classOfData) {
- this.clazz = classOfData;
- }
-
- @Override
- public T deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
- throws JsonParseException {
- if (!(json instanceof JsonObject))
- throw new JsonParseException("Need a json object, have " + json.getClass().getSimpleName());
- JsonObject obj = (JsonObject) json;
- final T inst;
- try {
- inst = clazz.newInstance();
- } catch (InstantiationException | IllegalAccessException e) {
- LOGGER.warn("Could not deserialize to class " + clazz.getName(), e);
- throw new JsonParseException("Cannot instantiate class " + clazz.getSimpleName());
- }
- for (Field field : clazz.getFields()) {
- if (Modifier.isStatic(field.getModifiers()) || Modifier.isFinal(field.getModifiers()))
- continue;
- final String methodName = "set" + field.getName().substring(0, 1).toUpperCase()
- + field.getName().substring(1);
- final Method setter;
- try {
- setter = clazz.getMethod(methodName, field.getType());
- } catch (NoSuchMethodException e) {
- LOGGER.warn(clazz.getSimpleName() + " has no method " + methodName);
- continue;
- }
- JsonElement element = obj.get(field.getName());
- if (element == null || element.isJsonNull())
- continue;
- try {
- setter.invoke(inst, context.deserialize(element, field.getType()));
- LOGGER.info("Called " + methodName + " on " + clazz.getSimpleName());
- } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
- LOGGER.warn("Could not call " + methodName + " on " + clazz.getSimpleName(), e);
- }
- }
- return inst;
- }
-
- }
-
-}
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java
index 946df9d0..17b28e80 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java
@@ -8,9 +8,9 @@ import org.apache.commons.io.output.ByteArrayOutputStream;
import org.apache.log4j.Logger;
import org.openslx.bwlp.sat.database.mappers.DbLecture;
import org.openslx.bwlp.sat.fileserv.FileServer;
-import org.openslx.bwlp.sat.util.Json;
import org.openslx.bwlp.thrift.iface.TNotFoundException;
import org.openslx.util.GenericDataCache;
+import org.openslx.util.Json;
import org.openslx.util.vm.VmMetaData;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;