mirror of
https://github.com/plexusorg/Plex.git
synced 2024-12-22 17:17:37 +00:00
DAOs were deprecated, replaced needed methods in mongo player data instead
This commit is contained in:
parent
f9630c9597
commit
e75b5f3d87
6
pom.xml
6
pom.xml
@ -47,9 +47,9 @@
|
||||
|
||||
<!-- DATABASING -->
|
||||
<dependency>
|
||||
<groupId>org.mongodb.morphia</groupId>
|
||||
<artifactId>morphia</artifactId>
|
||||
<version>1.3.2</version>
|
||||
<groupId>dev.morphia.morphia</groupId>
|
||||
<artifactId>core</artifactId>
|
||||
<version>1.6.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
@ -1,25 +1,27 @@
|
||||
package me.totalfreedom.plex.cache;
|
||||
|
||||
import java.util.UUID;
|
||||
import dev.morphia.Datastore;
|
||||
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.Query;
|
||||
import org.mongodb.morphia.query.UpdateOperations;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class MongoPlayerData
|
||||
{
|
||||
private final PlexPlayerDAO plexPlayerDAO;
|
||||
private final Datastore datastore;
|
||||
|
||||
public MongoPlayerData()
|
||||
{
|
||||
this.plexPlayerDAO = new PlexPlayerDAO(PlexPlayer.class, Plex.get().getMongoConnection().getDatastore());
|
||||
this.datastore = Plex.get().getMongoConnection().getDatastore();
|
||||
}
|
||||
|
||||
public boolean exists(UUID uuid)
|
||||
{
|
||||
Query<PlexPlayer> query = plexPlayerDAO.createQuery();
|
||||
Query<PlexPlayer> query = datastore.createQuery(PlexPlayer.class);
|
||||
|
||||
return query.field("uuid").exists().field("uuid").equal(uuid.toString()).get() != null;
|
||||
return query.field("uuid").exists().field("uuid").equal(uuid.toString()).first() != null;
|
||||
}
|
||||
|
||||
public PlexPlayer getByUUID(UUID uuid)
|
||||
@ -29,16 +31,16 @@ public class MongoPlayerData
|
||||
{
|
||||
return PlayerCache.getPlexPlayerMap().get(uuid);
|
||||
}
|
||||
Query<PlexPlayer> query2 = plexPlayerDAO.createQuery().field("uuid").exists().field("uuid").equal(uuid.toString());
|
||||
return query2.get();
|
||||
Query<PlexPlayer> query2 = datastore.createQuery(PlexPlayer.class).field("uuid").exists().field("uuid").equal(uuid.toString());
|
||||
return query2.first();
|
||||
}
|
||||
|
||||
public void update(PlexPlayer player)
|
||||
{
|
||||
Query<PlexPlayer> filter = plexPlayerDAO.createQuery()
|
||||
Query<PlexPlayer> filter = datastore.createQuery(PlexPlayer.class)
|
||||
.field("uuid").equal(player.getUuid());
|
||||
|
||||
UpdateOperations<PlexPlayer> updateOps = plexPlayerDAO.createUpdateOperations();
|
||||
UpdateOperations<PlexPlayer> updateOps = datastore.createUpdateOperations(PlexPlayer.class);
|
||||
|
||||
updateOps.set("name", player.getName());
|
||||
updateOps.set("loginMSG", player.getLoginMSG());
|
||||
@ -46,11 +48,12 @@ public class MongoPlayerData
|
||||
updateOps.set("rank", player.getRank().toLowerCase());
|
||||
updateOps.set("ips", player.getIps());
|
||||
updateOps.set("coins", player.getCoins());
|
||||
plexPlayerDAO.update(filter, updateOps);
|
||||
datastore.update(filter, updateOps);
|
||||
}
|
||||
|
||||
public PlexPlayerDAO getPlexPlayerDAO()
|
||||
public void save(PlexPlayer plexPlayer)
|
||||
{
|
||||
return plexPlayerDAO;
|
||||
datastore.save(plexPlayer);
|
||||
}
|
||||
|
||||
}
|
@ -1,53 +0,0 @@
|
||||
package me.totalfreedom.plex.cache;
|
||||
|
||||
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<PlexPlayer, Object>
|
||||
{
|
||||
public PlexPlayerDAO(Class<PlexPlayer> entityclass, Datastore ds)
|
||||
{
|
||||
super(entityclass, ds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean exists(Query<PlexPlayer> query)
|
||||
{
|
||||
return super.exists(query);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlexPlayer findOne(String key, Object value)
|
||||
{
|
||||
return super.findOne(key, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlexPlayer get(Object id)
|
||||
{
|
||||
return super.get(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public UpdateResults update(Query<PlexPlayer> query, UpdateOperations<PlexPlayer> ops)
|
||||
{
|
||||
return super.update(query, ops);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
return super.equals(obj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Key<PlexPlayer> save(PlexPlayer entity)
|
||||
{
|
||||
return super.save(entity);
|
||||
}
|
||||
}
|
@ -54,14 +54,13 @@ public class SQLPlayerData
|
||||
String prefix = set.getString("prefix");
|
||||
String rankName = set.getString("rank").toUpperCase();
|
||||
long coins = set.getLong("coins");
|
||||
Rank rank = Rank.valueOf(rankName);
|
||||
List<String> ips = new Gson().fromJson(set.getString("ips"), new TypeToken<List<String>>()
|
||||
{
|
||||
}.getType());
|
||||
plexPlayer.setName(name);
|
||||
plexPlayer.setLoginMSG(loginMSG);
|
||||
plexPlayer.setPrefix(prefix);
|
||||
plexPlayer.setRank(rankName.toLowerCase());
|
||||
plexPlayer.setRank(rankName);
|
||||
plexPlayer.setIps(ips);
|
||||
plexPlayer.setCoins(coins);
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ public class PlayerListener implements Listener
|
||||
plexPlayer.setName(player.getName()); //set the name of the player
|
||||
plexPlayer.setIps(Arrays.asList(player.getAddress().getAddress().getHostAddress().trim())); //set the arraylist of ips
|
||||
|
||||
mongoPlayerData.getPlexPlayerDAO().save(plexPlayer); //and put their document in mongo collection
|
||||
mongoPlayerData.save(plexPlayer); //and put their document in mongo collection
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -33,10 +33,12 @@ public class PlexPlayer
|
||||
|
||||
private long coins;
|
||||
|
||||
private Rank rank;
|
||||
private String rank;
|
||||
|
||||
private List<String> ips;
|
||||
|
||||
public PlexPlayer() {}
|
||||
|
||||
public PlexPlayer(UUID playerUUID)
|
||||
{
|
||||
this.uuid = playerUUID.toString();
|
||||
@ -52,6 +54,11 @@ public class PlexPlayer
|
||||
|
||||
this.ips = new ArrayList<>();
|
||||
|
||||
this.rank = null;
|
||||
this.rank = "";
|
||||
}
|
||||
|
||||
public Rank getRankFromString()
|
||||
{
|
||||
return Rank.valueOf(rank.toUpperCase());
|
||||
}
|
||||
}
|
||||
|
@ -15,15 +15,15 @@ public class MongoConnection
|
||||
|
||||
public Datastore getDatastore()
|
||||
{
|
||||
if (!plugin.config().getString("data.central.storage").equalsIgnoreCase("mongodb"))
|
||||
if (!plugin.config.getString("data.central.storage").equalsIgnoreCase("mongodb"))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
String host = plugin.config().getString("data.central.hostname");
|
||||
int port = plugin.config().getInt("data.central.port");
|
||||
String username = plugin.config().getString("data.central.user");
|
||||
String password = plugin.config().getString("data.central.password");
|
||||
String database = plugin.config().getString("data.central.db");
|
||||
String host = plugin.config.getString("data.central.hostname");
|
||||
int port = plugin.config.getInt("data.central.port");
|
||||
String username = plugin.config.getString("data.central.user");
|
||||
String password = plugin.config.getString("data.central.password");
|
||||
String database = plugin.config.getString("data.central.db");
|
||||
|
||||
String connectionString = "mongodb://" + username + ":" + password + "@" + host + ":" + port + "/?authSource=" + database;
|
||||
MongoClient client = new MongoClient(new MongoClientURI(connectionString));
|
||||
|
@ -39,6 +39,8 @@ public class SQLConnection
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (connection != null)
|
||||
{
|
||||
connection.prepareStatement("CREATE TABLE IF NOT EXISTS `players` (\n" +
|
||||
"\t`uuid` VARCHAR(46),\n" +
|
||||
@ -51,6 +53,7 @@ public class SQLConnection
|
||||
"\tPRIMARY KEY (`uuid`)\n" +
|
||||
");").execute();
|
||||
}
|
||||
}
|
||||
catch (SQLException throwables)
|
||||
{
|
||||
throwables.printStackTrace();
|
||||
|
Loading…
Reference in New Issue
Block a user