diff --git a/pom.xml b/pom.xml index 11d70363fe0253a387bc3be3956d30b8ca6336a9..9e05740302e117bb5a1b3dfd0d65c8e5290bb825 100644 --- a/pom.xml +++ b/pom.xml @@ -53,12 +53,12 @@ <dependency> <groupId>org.mapdb</groupId> <artifactId>mapdb</artifactId> - <version>1.0.6</version> + <version>1.0.9</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> - <version>2.2.4</version> + <version>2.8.0</version> </dependency> <dependency> <groupId>org.ow2.sirocco</groupId> diff --git a/src/main/java/com/comandante/creeper/Main.java b/src/main/java/com/comandante/creeper/Main.java index 2a763abbdb0f1a7c00322edf5a703dceeb761e27..62746b7d4d98d4da8f230ccd98f85a55afc8f922 100644 --- a/src/main/java/com/comandante/creeper/Main.java +++ b/src/main/java/com/comandante/creeper/Main.java @@ -19,6 +19,8 @@ import com.comandante.creeper.storage.WorldStorage; import com.comandante.creeper.world.MapsManager; import com.comandante.creeper.world.RoomManager; import com.google.common.io.Files; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; import org.apache.commons.codec.binary.Base64; import org.apache.commons.configuration.*; import org.apache.log4j.Logger; @@ -79,7 +81,11 @@ public class Main { Files.isDirectory().apply(new File("world/")); - DB db = DBMaker.newFileDB(new File("world/" + creeperConfiguration.databaseFileName)).closeOnJvmShutdown().make(); + DB db = DBMaker.newFileDB(new File("world/" + creeperConfiguration.databaseFileName)) + .closeOnJvmShutdown() + .make(); + + Gson gson = new GsonBuilder().create(); PlayerManager playerManager = new PlayerManager(db, new SessionManager()); playerManager.createAllGauges(); diff --git a/src/main/java/com/comandante/creeper/entity/EntityManager.java b/src/main/java/com/comandante/creeper/entity/EntityManager.java index b7d88a3a48d0f4427cae967ca0108891b3b51f2a..dece67f944eb2f60b90ea8dea739f955b6217e55 100644 --- a/src/main/java/com/comandante/creeper/entity/EntityManager.java +++ b/src/main/java/com/comandante/creeper/entity/EntityManager.java @@ -11,6 +11,7 @@ import com.comandante.creeper.player.Player; import com.comandante.creeper.player.PlayerManager; import com.comandante.creeper.world.RoomManager; import com.comandante.creeper.world.model.Room; +import com.google.gson.Gson; import org.apache.log4j.Logger; import org.mapdb.DB; import org.mapdb.HTreeMap; diff --git a/src/main/java/com/comandante/creeper/items/EffectSerializer.java b/src/main/java/com/comandante/creeper/items/EffectSerializer.java index 16f7e9e54ed5e94d35b5878f3eef84142705f6f5..b4ce934cba75c9e9ca117783fd8868f0c4a74828 100644 --- a/src/main/java/com/comandante/creeper/items/EffectSerializer.java +++ b/src/main/java/com/comandante/creeper/items/EffectSerializer.java @@ -1,5 +1,6 @@ package com.comandante.creeper.items; +import com.google.gson.Gson; import com.google.gson.GsonBuilder; import org.mapdb.Serializer; @@ -9,14 +10,17 @@ import java.io.IOException; import java.io.Serializable; public class EffectSerializer implements Serializer<Effect>, Serializable { + + private final static Gson GSON = new GsonBuilder().create(); + @Override public void serialize(DataOutput out, Effect value) throws IOException { - out.writeUTF(new GsonBuilder().create().toJson(value, Effect.class)); + out.writeUTF(GSON.toJson(value, Effect.class)); } @Override public Effect deserialize(DataInput in, int available) throws IOException { - return new GsonBuilder().create().fromJson(in.readUTF(), Effect.class); + return GSON.fromJson(in.readUTF(), Effect.class); } @Override diff --git a/src/main/java/com/comandante/creeper/items/ItemSerializer.java b/src/main/java/com/comandante/creeper/items/ItemSerializer.java index 4ef367d4441302b09008aed68e3c9fd0810237c3..7b911ff024ffa1892deee167aabd0668651abbd9 100644 --- a/src/main/java/com/comandante/creeper/items/ItemSerializer.java +++ b/src/main/java/com/comandante/creeper/items/ItemSerializer.java @@ -1,5 +1,6 @@ package com.comandante.creeper.items; +import com.google.gson.Gson; import com.google.gson.GsonBuilder; import org.mapdb.Serializer; @@ -9,14 +10,17 @@ import java.io.IOException; import java.io.Serializable; public class ItemSerializer implements Serializer<Item>, Serializable { + + private final static Gson GSON = new GsonBuilder().create(); + @Override public void serialize(DataOutput out, Item value) throws IOException { - out.writeUTF(new GsonBuilder().create().toJson(value, Item.class)); + out.writeUTF(GSON.toJson(value, Item.class)); } @Override public Item deserialize(DataInput in, int available) throws IOException { - return new GsonBuilder().create().fromJson(in.readUTF(), Item.class); + return GSON.fromJson(in.readUTF(), Item.class); } @Override diff --git a/src/main/java/com/comandante/creeper/player/PlayerManager.java b/src/main/java/com/comandante/creeper/player/PlayerManager.java index fe56f01d522c36488ca534b19cd1c648d166a8c0..c00297e9a08378d0256d18031e010b6c8cda2e6e 100644 --- a/src/main/java/com/comandante/creeper/player/PlayerManager.java +++ b/src/main/java/com/comandante/creeper/player/PlayerManager.java @@ -6,6 +6,7 @@ import com.comandante.creeper.Main; import com.comandante.creeper.core_game.SessionManager; import com.comandante.creeper.storage.MapDbAutoCommitService; import com.comandante.creeper.world.model.Room; +import com.google.gson.Gson; import org.apache.commons.codec.binary.Base64; import org.mapdb.DB; import org.mapdb.HTreeMap; @@ -30,7 +31,10 @@ public class PlayerManager { if (db.exists("playerMetadata")) { this.playerMetadataStore = db.get("playerMetadata"); } else { - this.playerMetadataStore = db.createHashMap("playerMetadata").valueSerializer(new PlayerMetadataSerializer()).make(); + this.playerMetadataStore = db + .createHashMap("playerMetadata") + .valueSerializer(new PlayerMetadataSerializer()) + .make(); } MapDbAutoCommitService mapDbAutoCommitService = new MapDbAutoCommitService(db); mapDbAutoCommitService.startAsync(); diff --git a/src/main/java/com/comandante/creeper/player/PlayerMetadataSerializer.java b/src/main/java/com/comandante/creeper/player/PlayerMetadataSerializer.java index 17691677b890e0d1daf69f74791699f61cd88ffe..fdc2f58f5c81b3cbc0f2020fc266af21b70e3d75 100644 --- a/src/main/java/com/comandante/creeper/player/PlayerMetadataSerializer.java +++ b/src/main/java/com/comandante/creeper/player/PlayerMetadataSerializer.java @@ -1,5 +1,6 @@ package com.comandante.creeper.player; +import com.google.gson.Gson; import com.google.gson.GsonBuilder; import org.mapdb.Serializer; @@ -10,14 +11,16 @@ import java.io.Serializable; public class PlayerMetadataSerializer implements Serializer<PlayerMetadata>, Serializable { + private final static Gson GSON = new GsonBuilder().create(); + @Override public void serialize(DataOutput out, PlayerMetadata value) throws IOException { - out.writeUTF(new GsonBuilder().create().toJson(value, PlayerMetadata.class)); + out.writeUTF(GSON.toJson(value, PlayerMetadata.class)); } @Override public PlayerMetadata deserialize(DataInput in, int available) throws IOException { - return new GsonBuilder().create().fromJson(in.readUTF(), PlayerMetadata.class); + return GSON.fromJson(in.readUTF(), PlayerMetadata.class); } @Override diff --git a/src/test/com/comandante/creeper/player/PlayerManagerTest.java b/src/test/com/comandante/creeper/player/PlayerManagerTest.java index 4b6d0f1792df95729296d59dc0bde6b30eb54b4d..b3daba5e26918c7b2791d87cb7bd389049e96209 100644 --- a/src/test/com/comandante/creeper/player/PlayerManagerTest.java +++ b/src/test/com/comandante/creeper/player/PlayerManagerTest.java @@ -3,6 +3,8 @@ package com.comandante.creeper.player; import com.comandante.creeper.core_game.SessionManager; import com.comandante.creeper.world.model.Room; import com.google.common.collect.Sets; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/src/test/com/comandante/creeper/player/combat_simuation/NpcTestHarness.java b/src/test/com/comandante/creeper/player/combat_simuation/NpcTestHarness.java index 1287198ed7d7a9730390d1bb2c18f39ac23c613e..31b66a18c4bcdc26a8f77761aba4a320ecb4da64 100644 --- a/src/test/com/comandante/creeper/player/combat_simuation/NpcTestHarness.java +++ b/src/test/com/comandante/creeper/player/combat_simuation/NpcTestHarness.java @@ -22,6 +22,8 @@ import com.comandante.creeper.world.MapsManager; import com.comandante.creeper.world.RoomManager; import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; import org.apache.commons.configuration.MapConfiguration; import org.jboss.netty.channel.Channel; import org.junit.Assert; @@ -301,6 +303,7 @@ public class NpcTestHarness { }; CreeperConfiguration creeperConfiguration = new CreeperConfiguration(new MapConfiguration(Maps.newHashMap())); DB db = DBMaker.newMemoryDB().closeOnJvmShutdown().make(); + Gson gson = new GsonBuilder().create(); PlayerManager playerManager = new PlayerManager(db, new SessionManager()); RoomManager roomManager = new RoomManager(playerManager); MapsManager mapsManager = new MapsManager(creeperConfiguration, roomManager);