From 823c319c2b903ffadd37a0d114a6f43d0f63ef1e Mon Sep 17 00:00:00 2001 From: Marc Baloup Date: Thu, 4 Aug 2016 17:34:00 +0200 Subject: [PATCH] Conversion SQLElement en Json + Gestion des exceptions dans TCPServer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SQLElement et SQLElementList incluent une méthode permettant la conversion en JsonEement - Meilleure gestion des exceptions dans TCPServer lors du traitement d'un packet reçu --- .../java/util/db/sql_tools/SQLElement.java | 13 +++++++++++++ .../java/util/db/sql_tools/SQLElementList.java | 9 +++++++++ .../java/util/network/server/TCPServer.java | 6 +----- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/fr/pandacube/java/util/db/sql_tools/SQLElement.java b/src/fr/pandacube/java/util/db/sql_tools/SQLElement.java index dfbe6d6..6ea43b6 100644 --- a/src/fr/pandacube/java/util/db/sql_tools/SQLElement.java +++ b/src/fr/pandacube/java/util/db/sql_tools/SQLElement.java @@ -17,6 +17,9 @@ import java.util.Set; import org.apache.commons.lang.builder.ToStringBuilder; +import com.google.gson.Gson; +import com.google.gson.JsonObject; + import fr.pandacube.java.util.Log; import fr.pandacube.java.util.db.sql_tools.SQLWhereComp.SQLComparator; @@ -393,5 +396,15 @@ public abstract class SQLElement> { public int hashCode() { return super.hashCode(); } + + + + public JsonObject asJsonObject() { + JsonObject json = new JsonObject(); + for (SQLField f : getFields().values()) { + json.add(f.name, new Gson().toJsonTree(get(f))); + } + return json; + } } diff --git a/src/fr/pandacube/java/util/db/sql_tools/SQLElementList.java b/src/fr/pandacube/java/util/db/sql_tools/SQLElementList.java index fd189cc..8ab57cb 100644 --- a/src/fr/pandacube/java/util/db/sql_tools/SQLElementList.java +++ b/src/fr/pandacube/java/util/db/sql_tools/SQLElementList.java @@ -7,6 +7,8 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import com.google.gson.JsonArray; + import fr.pandacube.java.util.Log; /** @@ -162,5 +164,12 @@ public class SQLElementList> extends ArrayList { } } + + + public JsonArray asJsonArray() { + JsonArray json = new JsonArray(); + forEach(el -> json.add(el.asJsonObject())); + return json; + } } diff --git a/src/fr/pandacube/java/util/network/server/TCPServer.java b/src/fr/pandacube/java/util/network/server/TCPServer.java index b9f60c8..3376289 100644 --- a/src/fr/pandacube/java/util/network/server/TCPServer.java +++ b/src/fr/pandacube/java/util/network/server/TCPServer.java @@ -235,11 +235,7 @@ public class TCPServer extends Thread implements Closeable { PacketClient pc = (PacketClient) p; - try { - listener.onPacketReceive(this, co, pc); - } catch(Exception e) { - Log.severe("Exception while calling TCPServerListener.onPacketReceive()", e); - } + listener.onPacketReceive(this, co, pc); } @Override