diff --git a/pom.xml b/pom.xml index 87e54f2..5b33747 100644 --- a/pom.xml +++ b/pom.xml @@ -49,9 +49,9 @@ - dev.morphia.morphia - core - 1.5.2 + org.mongodb.morphia + morphia + 1.3.2 compile diff --git a/src/main/java/me/totalfreedom/plex/cache/MongoPlayerData.java b/src/main/java/me/totalfreedom/plex/cache/MongoPlayerData.java index 7d84592..f1e96c0 100644 --- a/src/main/java/me/totalfreedom/plex/cache/MongoPlayerData.java +++ b/src/main/java/me/totalfreedom/plex/cache/MongoPlayerData.java @@ -1,9 +1,10 @@ package me.totalfreedom.plex.cache; -import dev.morphia.query.Query; -import dev.morphia.query.UpdateOperations; import me.totalfreedom.plex.Plex; import me.totalfreedom.plex.player.PlexPlayer; +import org.mongodb.morphia.query.FindOptions; +import org.mongodb.morphia.query.Query; +import org.mongodb.morphia.query.UpdateOperations; import java.util.UUID; @@ -21,7 +22,7 @@ public class MongoPlayerData Query query = plexPlayerDAO.createQuery(); - if (query.field("uuid").exists().field("uuid").equal(uuid.toString()).find().tryNext() != null) + if (query.field("uuid").exists().field("uuid").equal(uuid.toString()).get() != null) { return true; } @@ -35,7 +36,7 @@ public class MongoPlayerData return PlayerCache.getPlexPlayerMap().get(uuid); } Query query2 = plexPlayerDAO.createQuery().field("uuid").exists().field("uuid").equal(uuid.toString()); - return query2.first(); + return query2.get(); } public void update(PlexPlayer player) @@ -48,7 +49,7 @@ public class MongoPlayerData updateOps.set("name", player.getName()); updateOps.set("loginMSG", player.getLoginMSG()); updateOps.set("prefix", player.getPrefix()); - updateOps.set("rank", player.getRank() == null ? "" : player.getRank().name().toLowerCase()); + updateOps.set("rank", player.getRank().toLowerCase()); updateOps.set("ips", player.getIps()); updateOps.set("coins", player.getCoins()); plexPlayerDAO.update(filter, updateOps); diff --git a/src/main/java/me/totalfreedom/plex/cache/PlexPlayerDAO.java b/src/main/java/me/totalfreedom/plex/cache/PlexPlayerDAO.java index 974b2ff..ab63bad 100644 --- a/src/main/java/me/totalfreedom/plex/cache/PlexPlayerDAO.java +++ b/src/main/java/me/totalfreedom/plex/cache/PlexPlayerDAO.java @@ -1,12 +1,12 @@ package me.totalfreedom.plex.cache; -import dev.morphia.Datastore; -import dev.morphia.Key; -import dev.morphia.dao.BasicDAO; -import dev.morphia.query.Query; -import dev.morphia.query.UpdateOperations; -import dev.morphia.query.UpdateResults; import me.totalfreedom.plex.player.PlexPlayer; +import org.mongodb.morphia.Datastore; +import org.mongodb.morphia.Key; +import org.mongodb.morphia.dao.BasicDAO; +import org.mongodb.morphia.query.Query; +import org.mongodb.morphia.query.UpdateOperations; +import org.mongodb.morphia.query.UpdateResults; public class PlexPlayerDAO extends BasicDAO { diff --git a/src/main/java/me/totalfreedom/plex/cache/SQLPlayerData.java b/src/main/java/me/totalfreedom/plex/cache/SQLPlayerData.java index 9c47821..8196658 100644 --- a/src/main/java/me/totalfreedom/plex/cache/SQLPlayerData.java +++ b/src/main/java/me/totalfreedom/plex/cache/SQLPlayerData.java @@ -60,7 +60,7 @@ public class SQLPlayerData plexPlayer.setName(name); plexPlayer.setLoginMSG(loginMSG); plexPlayer.setPrefix(prefix); - plexPlayer.setRank(rankName.isEmpty() ? null : rank); + plexPlayer.setRank(rankName.toLowerCase()); plexPlayer.setIps(ips); plexPlayer.setCoins(coins); } @@ -80,7 +80,7 @@ public class SQLPlayerData statement.setString(1, player.getName()); statement.setString(2, player.getLoginMSG()); statement.setString(3, player.getPrefix()); - statement.setString(4, player.getRank() == null ? "" : player.getRank().name().toLowerCase()); + statement.setString(4, player.getRank().toLowerCase()); statement.setString(5, new Gson().toJson(player.getIps())); statement.setLong(6, player.getCoins()); statement.setString(7, player.getUuid()); @@ -100,7 +100,7 @@ public class SQLPlayerData statement.setString(2, player.getName()); statement.setString(3, player.getLoginMSG()); statement.setString(4, player.getPrefix()); - statement.setString(5, player.getRank() == null ? "" : player.getRank().name().toLowerCase()); + statement.setString(5, player.getRank().toLowerCase()); statement.setString(6, new Gson().toJson(player.getIps())); statement.execute(); } diff --git a/src/main/java/me/totalfreedom/plex/player/PlexPlayer.java b/src/main/java/me/totalfreedom/plex/player/PlexPlayer.java index 4cd1985..dc224ea 100644 --- a/src/main/java/me/totalfreedom/plex/player/PlexPlayer.java +++ b/src/main/java/me/totalfreedom/plex/player/PlexPlayer.java @@ -1,13 +1,13 @@ package me.totalfreedom.plex.player; -import dev.morphia.annotations.Entity; -import dev.morphia.annotations.Id; -import dev.morphia.annotations.IndexOptions; -import dev.morphia.annotations.Indexed; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; import me.totalfreedom.plex.rank.enums.Rank; +import org.mongodb.morphia.annotations.Entity; +import org.mongodb.morphia.annotations.Id; +import org.mongodb.morphia.annotations.IndexOptions; +import org.mongodb.morphia.annotations.Indexed; import java.util.ArrayList; import java.util.List; @@ -35,7 +35,7 @@ public class PlexPlayer private long coins; - private Rank rank; + private String rank; private List ips; @@ -56,7 +56,12 @@ public class PlexPlayer this.ips = new ArrayList<>(); - this.rank = null; + this.rank = ""; + } + + public Rank getRankFromString() + { + return Rank.valueOf(rank.toUpperCase()); } } diff --git a/src/main/java/me/totalfreedom/plex/storage/MongoConnection.java b/src/main/java/me/totalfreedom/plex/storage/MongoConnection.java index df149b9..4a8e94c 100644 --- a/src/main/java/me/totalfreedom/plex/storage/MongoConnection.java +++ b/src/main/java/me/totalfreedom/plex/storage/MongoConnection.java @@ -2,10 +2,10 @@ package me.totalfreedom.plex.storage; import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; -import dev.morphia.Datastore; -import dev.morphia.Morphia; import me.totalfreedom.plex.Plex; import me.totalfreedom.plex.player.PlexPlayer; +import org.mongodb.morphia.Datastore; +import org.mongodb.morphia.Morphia; public class MongoConnection { @@ -33,7 +33,7 @@ public class MongoConnection Morphia morphia = new Morphia(); Datastore datastore = morphia.createDatastore(client, database); - datastore.getMapper().addMappedClass(PlexPlayer.class); + morphia.map(PlexPlayer.class); datastore.ensureIndexes(); plugin.setStorageType(StorageType.MONGO); diff --git a/src/main/java/me/totalfreedom/plex/storage/SQLConnection.java b/src/main/java/me/totalfreedom/plex/storage/SQLConnection.java index 61904af..8861447 100644 --- a/src/main/java/me/totalfreedom/plex/storage/SQLConnection.java +++ b/src/main/java/me/totalfreedom/plex/storage/SQLConnection.java @@ -37,7 +37,9 @@ public class SQLConnection } try { - connection.prepareStatement("CREATE TABLE IF NOT EXISTS `players` (\n" + + if (connection != null) + { + connection.prepareStatement("CREATE TABLE IF NOT EXISTS `players` (\n" + "\t`uuid` VARCHAR(46),\n" + "\t`name` VARCHAR(18),\n" + "\t`login_msg` VARCHAR(256),\n" + @@ -47,6 +49,7 @@ public class SQLConnection "\t`coins` BIGINT,\n" + "\tPRIMARY KEY (`uuid`)\n" + ");").execute(); + } } catch (SQLException throwables) { throwables.printStackTrace(); }