Files
BattleBane/src/engine/db/handlers/dbRealmHandler.java
T

73 lines
2.6 KiB
Java
Raw Normal View History

2022-04-30 09:41:17 -04:00
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022
// www.magicbane.com
package engine.db.handlers;
2023-05-22 12:42:34 -04:00
import engine.gameManager.DbManager;
2022-04-30 09:41:17 -04:00
import engine.objects.Realm;
import org.pmw.tinylog.Logger;
2023-05-22 12:42:34 -04:00
import java.sql.*;
2022-04-30 09:41:17 -04:00
import java.util.concurrent.ConcurrentHashMap;
public class dbRealmHandler extends dbHandlerBase {
public dbRealmHandler() {
}
2023-05-17 16:38:08 -04:00
public ConcurrentHashMap<Integer, Realm> LOAD_ALL_REALMS() {
ConcurrentHashMap<Integer, Realm> realmList;
Realm thisRealm;
realmList = new ConcurrentHashMap<>();
int recordsRead = 0;
2023-05-22 12:42:34 -04:00
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM obj_realm")) {
2023-05-17 16:38:08 -04:00
2023-05-22 12:42:34 -04:00
ResultSet rs = preparedStatement.executeQuery();
2023-05-17 16:38:08 -04:00
while (rs.next()) {
recordsRead++;
thisRealm = new Realm(rs);
realmList.put(thisRealm.getRealmID(), thisRealm);
}
} catch (SQLException e) {
2023-05-22 12:42:34 -04:00
Logger.error(e);
2023-05-17 16:38:08 -04:00
}
2023-05-22 12:42:34 -04:00
Logger.info("read: " + recordsRead + " cached: " + realmList.size());
2023-05-17 16:38:08 -04:00
return realmList;
}
2022-04-30 09:41:17 -04:00
public void REALM_UPDATE(Realm realm) {
2023-05-22 12:42:34 -04:00
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("CALL realm_UPDATE(?,?,?,?)")) {
preparedStatement.setInt(1, realm.getRealmID());
preparedStatement.setInt(2, (realm.getRulingCity() == null) ? 0 : realm.getRulingCity().getObjectUUID());
preparedStatement.setInt(3, realm.getCharterType());
2023-05-17 16:38:08 -04:00
2023-05-22 12:42:34 -04:00
if (realm.ruledSince != null)
preparedStatement.setTimestamp(4, Timestamp.valueOf(realm.ruledSince));
else
preparedStatement.setNull(4, java.sql.Types.DATE);
2023-05-17 16:38:08 -04:00
2023-05-22 12:42:34 -04:00
preparedStatement.execute();
} catch (SQLException e) {
Logger.error(e);
}
2022-04-30 09:41:17 -04:00
}
}