From 0aa4a93582060e6798db07cec717c2eb5259d64d Mon Sep 17 00:00:00 2001 From: Sander Hautvast Date: Wed, 10 Jun 2020 21:21:09 +0200 Subject: [PATCH] removed crazy shit --- .../jsontoy/deserialize/Deserializer.java | 14 ++++--- .../nl/jssl/jsontoy/serialize/Serializer.java | 8 ++-- .../jsontoy/serialize/SerializerFactory.java | 5 --- .../serialize/SynthSerializerFactory.java | 42 ++++++------------- .../serialize/collections/MapTest.java | 22 +++------- 5 files changed, 30 insertions(+), 61 deletions(-) delete mode 100644 src/main/java/nl/jssl/jsontoy/serialize/SerializerFactory.java diff --git a/src/main/java/nl/jssl/jsontoy/deserialize/Deserializer.java b/src/main/java/nl/jssl/jsontoy/deserialize/Deserializer.java index f1d755e..0619f7f 100644 --- a/src/main/java/nl/jssl/jsontoy/deserialize/Deserializer.java +++ b/src/main/java/nl/jssl/jsontoy/deserialize/Deserializer.java @@ -2,11 +2,15 @@ package nl.jssl.jsontoy.deserialize; public class Deserializer { - public static Object deserialize(String json) { - if (json.equals("{}")) { - return null; - } else - return "test"; + private int position; + private final String jsonString; + + private Deserializer( String jsonString,int position) { + this.position = position; + this.jsonString = jsonString; } + + + } diff --git a/src/main/java/nl/jssl/jsontoy/serialize/Serializer.java b/src/main/java/nl/jssl/jsontoy/serialize/Serializer.java index 831d2f9..22f6b76 100644 --- a/src/main/java/nl/jssl/jsontoy/serialize/Serializer.java +++ b/src/main/java/nl/jssl/jsontoy/serialize/Serializer.java @@ -1,7 +1,7 @@ package nl.jssl.jsontoy.serialize; public class Serializer { - private static SerializerFactory instance = new SynthSerializerFactory(); + private static SynthSerializerFactory instance = new SynthSerializerFactory(); public static String toJSONString(boolean b) { return Boolean.toString(b); @@ -28,7 +28,7 @@ public class Serializer { } public static String toJSONString(char c) { - return "\"" + Character.toString(c) + "\""; + return "\"" + c + "\""; } @SuppressWarnings("unchecked") @@ -39,7 +39,5 @@ public class Serializer { return instance.createSerializer((Class) o.getClass()).toJSONString(o); } - public static void setInstance(SerializerFactory instance) { - Serializer.instance = instance; - } + } diff --git a/src/main/java/nl/jssl/jsontoy/serialize/SerializerFactory.java b/src/main/java/nl/jssl/jsontoy/serialize/SerializerFactory.java deleted file mode 100644 index ba36b9b..0000000 --- a/src/main/java/nl/jssl/jsontoy/serialize/SerializerFactory.java +++ /dev/null @@ -1,5 +0,0 @@ -package nl.jssl.jsontoy.serialize; - -public interface SerializerFactory { - public JSONSerializer createSerializer(Class beanjavaClass); -} diff --git a/src/main/java/nl/jssl/jsontoy/serialize/SynthSerializerFactory.java b/src/main/java/nl/jssl/jsontoy/serialize/SynthSerializerFactory.java index c57e5c3..5afc7b4 100644 --- a/src/main/java/nl/jssl/jsontoy/serialize/SynthSerializerFactory.java +++ b/src/main/java/nl/jssl/jsontoy/serialize/SynthSerializerFactory.java @@ -17,7 +17,7 @@ import javassist.CtNewMethod; import javassist.Modifier; import javassist.NotFoundException; -public class SynthSerializerFactory implements SerializerFactory { +class SynthSerializerFactory { private static final String STRING = "java.lang.String"; private static final String BOOLEAN = "java.lang.Boolean"; private static final String CHARACTER = "java.lang.Character"; @@ -28,7 +28,7 @@ public class SynthSerializerFactory implements SerializerFactory { private static final String SHORT = "java.lang.Short"; private static final String INTEGER = "java.lang.Integer"; - private final static Set wrappersAndString = new HashSet(Arrays.asList(BOOLEAN, CHARACTER, BYTE, DOUBLE, FLOAT, LONG, SHORT, INTEGER, + private final static Set wrappersAndString = new HashSet<>(Arrays.asList(BOOLEAN, CHARACTER, BYTE, DOUBLE, FLOAT, LONG, SHORT, INTEGER, STRING)); private static final String COLLECTION = "java.util.Collection"; @@ -41,7 +41,7 @@ public class SynthSerializerFactory implements SerializerFactory { private final ClassPool pool = ClassPool.getDefault(); private CtClass serializerBase; - private final Map primitiveWrappers = new HashMap(); + public SynthSerializerFactory() { init(); @@ -50,34 +50,23 @@ public class SynthSerializerFactory implements SerializerFactory { void init() { try { serializerBase = pool.get(JSONSerializer.class.getName()); - - primitiveWrappers.put("int", pool.get(INTEGER)); - primitiveWrappers.put("short", pool.get(SHORT)); - primitiveWrappers.put("byte", pool.get(BYTE)); - primitiveWrappers.put("long", pool.get(LONG)); - primitiveWrappers.put("float", pool.get(FLOAT)); - primitiveWrappers.put("double", pool.get(DOUBLE)); - primitiveWrappers.put("boolean", pool.get(BOOLEAN)); - primitiveWrappers.put("char", pool.get(CHARACTER)); } catch (NotFoundException e) { throw new SerializerCreationException(e); } } - public JSONSerializer createSerializer(Class beanjavaClass) { + JSONSerializer createSerializer(Class beanjavaClass) { try { CtClass beanClass = pool.get(beanjavaClass.getName()); - JSONSerializer jsonSerializer = createSerializer(beanClass); - - return jsonSerializer; + return createSerializer2(beanClass); } catch (NotFoundException e) { throw new SerializerCreationException(e); } } @SuppressWarnings("unchecked") - private JSONSerializer createSerializer(CtClass beanClass) { + private JSONSerializer createSerializer2(CtClass beanClass) { if (serializers.containsKey(createSerializerName(beanClass))) { return (JSONSerializer) serializers.get(createSerializerName(beanClass)); } @@ -201,11 +190,11 @@ public class SynthSerializerFactory implements SerializerFactory { } public String createSerializerName(String name) { - return ROOT_PACKAGE + name.replaceAll("\\[\\]", "Array") + "Serializer"; + return ROOT_PACKAGE + name.replaceAll("\\[]", "Array") + "Serializer"; } private boolean isCollection(CtClass beanClass) throws NotFoundException { - List interfaces = new ArrayList(Arrays.asList(beanClass.getInterfaces())); + List interfaces = new ArrayList<>(Arrays.asList(beanClass.getInterfaces())); interfaces.add(beanClass); for (CtClass interfaze : interfaces) { if (interfaze.getName().equals(COLLECTION) || interfaze.getName().equals(LIST) || interfaze.getName().equals(SET)) { @@ -216,7 +205,7 @@ public class SynthSerializerFactory implements SerializerFactory { } private boolean isMap(CtClass beanClass) throws NotFoundException { - List interfaces = new ArrayList(Arrays.asList(beanClass.getInterfaces())); + List interfaces = new ArrayList<>(Arrays.asList(beanClass.getInterfaces())); interfaces.add(beanClass); for (CtClass interfaze : interfaces) { if (interfaze.getName().equals(MAP)) { @@ -284,7 +273,7 @@ public class SynthSerializerFactory implements SerializerFactory { * Retrieves getter methods from a class */ private List getGetters(CtClass beanClass) { - List methods = new ArrayList(); + List methods = new ArrayList<>(); List fields = getAllFields(beanClass); for (CtField field : fields) { try { @@ -305,10 +294,7 @@ public class SynthSerializerFactory implements SerializerFactory { private List getAllFields(CtClass beanClass) { try { - List allfields = new ArrayList<>(); - for (CtField field : beanClass.getDeclaredFields()) { - allfields.add(field); - } + List allfields = new ArrayList<>(Arrays.asList(beanClass.getDeclaredFields())); if (beanClass.getSuperclass() != null) { return getAllFields(beanClass.getSuperclass(), allfields); } @@ -320,9 +306,7 @@ public class SynthSerializerFactory implements SerializerFactory { } private List getAllFields(CtClass beanClass, List allfields) { - for (CtField field : beanClass.getDeclaredFields()) { - allfields.add(field); - } + allfields.addAll(Arrays.asList(beanClass.getDeclaredFields())); return allfields; } @@ -368,7 +352,7 @@ public class SynthSerializerFactory implements SerializerFactory { } String innerClassName(String name) { - return "L" + name.replaceAll("\\.", "/").replaceAll("\\[\\]", ""); + return "L" + name.replaceAll("\\.", "/").replaceAll("\\[]", ""); } static boolean isPrimitiveOrWrapperOrString(CtClass beanClass) { diff --git a/src/test/java/nl/jssl/jsontoy/serialize/collections/MapTest.java b/src/test/java/nl/jssl/jsontoy/serialize/collections/MapTest.java index cfd1ce8..c529dd7 100644 --- a/src/test/java/nl/jssl/jsontoy/serialize/collections/MapTest.java +++ b/src/test/java/nl/jssl/jsontoy/serialize/collections/MapTest.java @@ -1,20 +1,17 @@ package nl.jssl.jsontoy.serialize.collections; -import static junit.framework.Assert.assertTrue; +import nl.jssl.jsontoy.serialize.Serializer; +import org.junit.Test; import java.util.HashMap; import java.util.Map; -import nl.jssl.jsontoy.serialize.SerializerCreationException; -import nl.jssl.jsontoy.serialize.Serializer; -import nl.jssl.jsontoy.serialize.SynthSerializerFactory; - -import org.junit.Test; +import static org.junit.Assert.assertTrue; public class MapTest { @Test public void testValue() { - Map map = new HashMap(); + Map map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); String jsonString = Serializer.toJSONString(map); @@ -24,7 +21,7 @@ public class MapTest { @Test public void testPropertyValue() { Bean object = new Bean(); - Map map = new HashMap(); + Map map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); object.setMap(map); @@ -33,15 +30,6 @@ public class MapTest { || "{\"map\": {\"key2\": \"value2\", \"key1\": \"value1\"}}".equals(jsonString)); } - @Test - public void pumpUpTheVolume() { - Serializer.setInstance(new SynthSerializerFactory()); - try { - throw new SerializerCreationException(new Exception()); - } catch (Exception e) { - } - } - public class Bean { private Map map;