From 53bd51e2f507af112f66944bc28349f67ad44594 Mon Sep 17 00:00:00 2001 From: tastybento Date: Wed, 30 May 2018 20:23:05 -0700 Subject: [PATCH] Fixed issue with adapter serializer Serialize and deserialize were opposite In deserializing in flatfile db, there was an odd extra bit of code that undid the deserialization. I'm not sure why I put that in there and so I've commented it out for now. --- .../database/flatfile/FlatFileDatabaseHandler.java | 9 ++++++--- .../database/objects/adapters/AdapterInterface.java | 4 ++-- .../database/objects/adapters/FlagSerializer.java | 4 ++-- .../objects/adapters/PotionEffectListAdapter.java | 5 +++-- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabaseHandler.java b/src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabaseHandler.java index c29b4fe23..6970110f6 100644 --- a/src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabaseHandler.java +++ b/src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabaseHandler.java @@ -138,11 +138,14 @@ public class FlatFileDatabaseHandler extends AbstractDatabaseHandler { Adapter adapterNotation = field.getAnnotation(Adapter.class); if (adapterNotation != null && AdapterInterface.class.isAssignableFrom(adapterNotation.value())) { // A conversion adapter has been defined + // Get the original value Object value = config.get(storageLocation); - method.invoke(instance, ((AdapterInterface)adapterNotation.value().newInstance()).serialize(value)); + method.invoke(instance, ((AdapterInterface)adapterNotation.value().newInstance()).deserialize(value)); + /* + * I don't know what this part is for... if (value != null && !value.getClass().equals(MemorySection.class)) { method.invoke(instance, deserialize(value,propertyDescriptor.getPropertyType())); - } + }*/ // We are done here continue; } @@ -285,7 +288,7 @@ public class FlatFileDatabaseHandler extends AbstractDatabaseHandler { if (adapterNotation != null && AdapterInterface.class.isAssignableFrom(adapterNotation.value())) { // A conversion adapter has been defined try { - config.set(storageLocation, ((AdapterInterface)adapterNotation.value().newInstance()).deserialize(value)); + config.set(storageLocation, ((AdapterInterface)adapterNotation.value().newInstance()).serialize(value)); } catch (InstantiationException e) { plugin.logError("Could not instatiate adapter " + adapterNotation.value().getName() + " " + e.getMessage()); } diff --git a/src/main/java/us/tastybento/bskyblock/database/objects/adapters/AdapterInterface.java b/src/main/java/us/tastybento/bskyblock/database/objects/adapters/AdapterInterface.java index 021503675..c402b48d3 100644 --- a/src/main/java/us/tastybento/bskyblock/database/objects/adapters/AdapterInterface.java +++ b/src/main/java/us/tastybento/bskyblock/database/objects/adapters/AdapterInterface.java @@ -15,12 +15,12 @@ public interface AdapterInterface { * @param object - object * @return serialized object */ - S serialize(Object object); + S deserialize(Object object); /** * Deserialize object * @param object * @return deserialized object */ - V deserialize(Object object); + V serialize(Object object); } diff --git a/src/main/java/us/tastybento/bskyblock/database/objects/adapters/FlagSerializer.java b/src/main/java/us/tastybento/bskyblock/database/objects/adapters/FlagSerializer.java index 027d1b832..9a4e50fb4 100644 --- a/src/main/java/us/tastybento/bskyblock/database/objects/adapters/FlagSerializer.java +++ b/src/main/java/us/tastybento/bskyblock/database/objects/adapters/FlagSerializer.java @@ -20,7 +20,7 @@ public class FlagSerializer implements AdapterInterface, Map< @SuppressWarnings("unchecked") @Override - public Map serialize(Object object) { + public Map deserialize(Object object) { Map result = new HashMap<>(); if (object == null) { return result; @@ -41,7 +41,7 @@ public class FlagSerializer implements AdapterInterface, Map< @SuppressWarnings("unchecked") @Override - public Map deserialize(Object object) { + public Map serialize(Object object) { Map result = new HashMap<>(); if (object == null) { return result; diff --git a/src/main/java/us/tastybento/bskyblock/database/objects/adapters/PotionEffectListAdapter.java b/src/main/java/us/tastybento/bskyblock/database/objects/adapters/PotionEffectListAdapter.java index 225c9439b..75eb256f1 100644 --- a/src/main/java/us/tastybento/bskyblock/database/objects/adapters/PotionEffectListAdapter.java +++ b/src/main/java/us/tastybento/bskyblock/database/objects/adapters/PotionEffectListAdapter.java @@ -9,7 +9,8 @@ public class PotionEffectListAdapter implements AdapterInterface serialize(Object from) { + public List deserialize(Object from) { + System.out.println("DEBUG: Deserializing "); List result = new ArrayList<>(); if (from instanceof ArrayList) { for (String type: (ArrayList)from) { @@ -21,7 +22,7 @@ public class PotionEffectListAdapter implements AdapterInterface deserialize(Object to) { + public List serialize(Object to) { List result = new ArrayList<>(); if (to instanceof ArrayList) { for (PotionEffectType type: (ArrayList)to) {