From f323873b3976875d6aabf20097145b76f9989d0e Mon Sep 17 00:00:00 2001 From: punchready Date: Thu, 3 Jun 2021 03:46:58 +0200 Subject: [PATCH] cleanup: improve JSON class code --- .../marvelous/gamelibrary/json/JSON.java | 28 ++++++++----------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/src/main/java/uulm/teamname/marvelous/gamelibrary/json/JSON.java b/src/main/java/uulm/teamname/marvelous/gamelibrary/json/JSON.java index 63ad9fe..4710e06 100644 --- a/src/main/java/uulm/teamname/marvelous/gamelibrary/json/JSON.java +++ b/src/main/java/uulm/teamname/marvelous/gamelibrary/json/JSON.java @@ -3,54 +3,48 @@ package uulm.teamname.marvelous.gamelibrary.json; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.InjectableValues; import com.fasterxml.jackson.databind.ObjectMapper; -import jdk.jshell.spi.ExecutionControl; +import uulm.teamname.marvelous.gamelibrary.config.CharacterConfig; import uulm.teamname.marvelous.gamelibrary.messages.BasicMessage; import uulm.teamname.marvelous.gamelibrary.messages.EventMessage; -import uulm.teamname.marvelous.gamelibrary.config.CharacterConfig; /** * Class that contains JSON encoding and decoding. It is initiated with the Character configuration. */ public class JSON { - private final ObjectMapper mapper; + private final ObjectMapper mapper = new ObjectMapper(); public JSON (CharacterConfig config) { - this.mapper = new ObjectMapper(); - // add the config to the mappers InjectableValues, where it is later accessed by the EntityDeserializer this.mapper.setInjectableValues(new InjectableValues .Std() .addValue("CharacterConfig", config)); - } - /** Deserializes an incoming network message into a {@link EventMessage}. - * @param input The JSON to deserialize. - * @return The parsed message. + * @param input The JSON to deserialize + * @return The parsed message or {@code null} if the deserialization failed */ public EventMessage parse(String input) { EventMessage result = null; try { - result = mapper.readValue(input, EventMessage.class); + return mapper.readValue(input, EventMessage.class); } catch (JsonProcessingException e) { e.printStackTrace(); + return null; } - return result; } /** Serializes a {@link EventMessage} into a JSON string. - * @param input The message to serialize. - * @return The message as JSON. + * @param input The message to serialize + * @return The message as JSON or {@code null} if the serialization failed */ - public String stringify(BasicMessage input) throws ExecutionControl.NotImplementedException { - String result = null; + public String stringify(BasicMessage input) { try { - result = mapper.writeValueAsString(input); + return mapper.writeValueAsString(input); } catch (JsonProcessingException e) { e.printStackTrace(); + return null; } - return result; } }