aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/org/traccar/web/EnumFactory.java20
-rw-r--r--src/org/traccar/web/JsonConverter.java20
2 files changed, 3 insertions, 37 deletions
diff --git a/src/org/traccar/web/EnumFactory.java b/src/org/traccar/web/EnumFactory.java
deleted file mode 100644
index efbfd4b20..000000000
--- a/src/org/traccar/web/EnumFactory.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.traccar.web;
-
-import org.traccar.model.Factory;
-
-import javax.json.JsonObject;
-
-public class EnumFactory<T extends Enum<T> & Factory> {
- private Class<T> commandTypeClass;
- private String jsonKey;
-
- public EnumFactory(Class<T> commandTypeClass, String type) {
- this.commandTypeClass = commandTypeClass;
- jsonKey = type;
- }
-
- public <K> K create(JsonObject json) {
- Factory factory = Enum.valueOf(commandTypeClass, json.getString(jsonKey));
- return (K) factory.create();
- }
-}
diff --git a/src/org/traccar/web/JsonConverter.java b/src/org/traccar/web/JsonConverter.java
index 7962ac8ab..0dc4f24eb 100644
--- a/src/org/traccar/web/JsonConverter.java
+++ b/src/org/traccar/web/JsonConverter.java
@@ -46,20 +46,9 @@ public class JsonConverter {
return objectFromJson(Json.createReader(reader).readObject(), prototype);
}
- public static <T> T enumObjectFromJson(Reader reader, EnumFactory<? extends Enum<?>> factory) throws ParseException {
- JsonObject json = Json.createReader(reader).readObject();
- T object = factory.<T>create(json);
- populateObject(json, object);
- return object;
- }
-
public static <T extends Factory> T objectFromJson(JsonObject json, T prototype) throws ParseException {
T object = (T) prototype.create();
- populateObject(json, object);
- return object;
- }
- private static void populateObject(JsonObject json, Object object) throws ParseException {
Method[] methods = object.getClass().getMethods();
for (final Method method : methods) {
@@ -86,17 +75,14 @@ public class JsonConverter {
} else if (parameterType.isEnum()) {
method.invoke(object, Enum.valueOf((Class<? extends Enum>) parameterType, json.getString(name)));
} else if (parameterType.equals(Map.class)) {
- //method.invoke(object, json.getString(name));
- } else {
- Object nestedObject = parameterType.newInstance();
- populateObject(json.getJsonObject(name), nestedObject);
- method.invoke(object, nestedObject);
+ // TODO: method.invoke(object, json.getString(name));
}
- } catch (IllegalAccessException | InvocationTargetException | InstantiationException error) {
+ } catch (IllegalAccessException | InvocationTargetException error) {
}
}
}
+ return object;
}
public static <T> JsonObject objectToJson(T object) {