DAOs were deprecated, replaced needed methods in mongo player data instead

This commit is contained in:
spacerocket62
2020-10-27 21:11:23 -07:00
parent f9630c9597
commit e75b5f3d87
8 changed files with 50 additions and 91 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}