diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2015-05-03 12:09:00 +1200 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2015-05-03 12:09:00 +1200 |
commit | 18127a2dfc362ffd7de4110e013a10a9f894469b (patch) | |
tree | 24ced00567acbc751985b71ffd99ce067213a34d /src/org/traccar/database | |
parent | 427113e0aabf1b8ab54288263c3e809f292a5a05 (diff) | |
download | trackermap-server-18127a2dfc362ffd7de4110e013a10a9f894469b.tar.gz trackermap-server-18127a2dfc362ffd7de4110e013a10a9f894469b.tar.bz2 trackermap-server-18127a2dfc362ffd7de4110e013a10a9f894469b.zip |
Implmenet reflection json conversion
Diffstat (limited to 'src/org/traccar/database')
-rw-r--r-- | src/org/traccar/database/Convertable.java | 26 | ||||
-rw-r--r-- | src/org/traccar/database/ObjectConverter.java | 86 | ||||
-rw-r--r-- | src/org/traccar/database/QueryBuilder.java | 13 |
3 files changed, 6 insertions, 119 deletions
diff --git a/src/org/traccar/database/Convertable.java b/src/org/traccar/database/Convertable.java deleted file mode 100644 index cc1a88ceb..000000000 --- a/src/org/traccar/database/Convertable.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2015 Anton Tananaev (anton.tananaev@gmail.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.traccar.database; - -import javax.json.JsonObject; - -public interface Convertable { - - public JsonObject toJson(); - - public void fromJson(JsonObject json) throws Exception; - -} diff --git a/src/org/traccar/database/ObjectConverter.java b/src/org/traccar/database/ObjectConverter.java deleted file mode 100644 index 5a7f7083a..000000000 --- a/src/org/traccar/database/ObjectConverter.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2015 Anton Tananaev (anton.tananaev@gmail.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.traccar.database; - -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Collection; -import java.util.Date; -import javax.json.Json; -import javax.json.JsonArray; -import javax.json.JsonArrayBuilder; -import javax.json.JsonObject; -import javax.json.JsonObjectBuilder; -import org.traccar.helper.Log; - -public class ObjectConverter { - - public static final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ"); - - public static JsonArray arrayToJson(Collection<? extends Convertable> collection) { - - JsonArrayBuilder array = Json.createArrayBuilder(); - - for (Convertable object : collection) { - array.add(object.toJson()); - } - - return array.build(); - } - - public static String getString(JsonObject json, String key) { - if (json.containsKey(key)) { - return json.getString(key); - } - return null; - } - - public static void putString(JsonObjectBuilder json, String key, String value) { - if (value != null) { - json.add(key, value); - } - } - - public static long getLong(JsonObject json, String key) { - if (json.containsKey(key)) { - return json.getJsonNumber(key).longValue(); - } - return 0; - } - - public static void putLong(JsonObjectBuilder json, String key, long value) { - json.add(key, value); - } - - public static Date getDate(JsonObject json, String key) { - if (json.containsKey(key)) { - try { - return dateFormat.parse(json.getString(key)); - } catch (ParseException error) { - Log.warning(error); - } - } - return null; - } - - public static void putDate(JsonObjectBuilder json, String key, Date value) { - if (value != null) { - json.add(key, dateFormat.format(value)); - } - } - -} diff --git a/src/org/traccar/database/QueryBuilder.java b/src/org/traccar/database/QueryBuilder.java index 29a737f20..d05f48c09 100644 --- a/src/org/traccar/database/QueryBuilder.java +++ b/src/org/traccar/database/QueryBuilder.java @@ -15,7 +15,6 @@ */ package org.traccar.database; -import java.beans.Introspector; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.sql.PreparedStatement; @@ -176,17 +175,17 @@ public class QueryBuilder { String name = method.getName().substring(3); try { if (method.getReturnType().equals(boolean.class)) { - return setBoolean(name, (Boolean) method.invoke(object)); + setBoolean(name, (Boolean) method.invoke(object)); } else if (method.getReturnType().equals(int.class)) { - return setInteger(name, (Integer) method.invoke(object)); + setInteger(name, (Integer) method.invoke(object)); } else if (method.getReturnType().equals(long.class)) { - return setLong(name, (Long) method.invoke(object)); + setLong(name, (Long) method.invoke(object)); } else if (method.getReturnType().equals(double.class)) { - return setDouble(name, (Double) method.invoke(object)); + setDouble(name, (Double) method.invoke(object)); } else if (method.getReturnType().equals(String.class)) { - return setString(name, (String) method.invoke(object)); + setString(name, (String) method.invoke(object)); } else if (method.getReturnType().equals(Date.class)) { - return setDate(name, (Date) method.invoke(object)); + setDate(name, (Date) method.invoke(object)); } } catch (IllegalAccessException error) { } catch (InvocationTargetException error) { |