forked from MagicBane/Server
Refactor to remove abstraction
This commit is contained in:
@@ -88,9 +88,22 @@ public class dbBuildingHandler extends dbHandlerBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<Building> GET_ALL_BUILDINGS_FOR_ZONE(Zone zone) {
|
public ArrayList<Building> GET_ALL_BUILDINGS_FOR_ZONE(Zone zone) {
|
||||||
prepareCallable("SELECT `obj_building`.*, `object`.`parent` FROM `object` INNER JOIN `obj_building` ON `obj_building`.`UID` = `object`.`UID` WHERE `object`.`parent` = ?;");
|
|
||||||
setLong(1, zone.getObjectUUID());
|
ArrayList<Building> buildings = new ArrayList<>();
|
||||||
return getLargeObjectList();
|
|
||||||
|
try (Connection connection = DbManager.getConnection();
|
||||||
|
PreparedStatement preparedStatement = connection.prepareStatement("SELECT `obj_building`.*, `object`.`parent` FROM `object` INNER JOIN `obj_building` ON `obj_building`.`UID` = `object`.`UID` WHERE `object`.`parent` = ?;")) {
|
||||||
|
|
||||||
|
preparedStatement.setLong(1, zone.getObjectUUID());
|
||||||
|
|
||||||
|
ResultSet rs = preparedStatement.executeQuery();
|
||||||
|
buildings = getObjectsFromRs(rs, 2000);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return buildings;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Building GET_BUILDINGBYUUID(int uuid) {
|
public Building GET_BUILDINGBYUUID(int uuid) {
|
||||||
@@ -119,48 +132,69 @@ public class dbBuildingHandler extends dbHandlerBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Building GET_BUILDING_BY_MESH(final int meshID) {
|
public Building GET_BUILDING_BY_MESH(final int meshID) {
|
||||||
Building toReturn = null;
|
|
||||||
prepareCallable("CALL building_GETBYMESH(?)");
|
Building building = null;
|
||||||
setInt(1, meshID);
|
|
||||||
try {
|
try (Connection connection = DbManager.getConnection();
|
||||||
ResultSet rs = executeQuery();
|
PreparedStatement preparedStatement = connection.prepareStatement("CALL building_GETBYMESH(?)")) {
|
||||||
|
|
||||||
|
preparedStatement.setInt(1, meshID);
|
||||||
|
|
||||||
|
ResultSet rs = preparedStatement.executeQuery();
|
||||||
|
|
||||||
if (rs.next())
|
if (rs.next())
|
||||||
toReturn = new Building(rs);
|
building = new Building(rs);
|
||||||
rs.close();
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
Logger.error("Building", e);
|
Logger.error("Building", e);
|
||||||
return null;
|
return null;
|
||||||
} finally {
|
|
||||||
closeCallable();
|
|
||||||
}
|
}
|
||||||
return toReturn;
|
return building;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String SET_PROPERTY(final Building b, String name, Object new_value) {
|
public String SET_PROPERTY(final Building b, String name, Object new_value) {
|
||||||
prepareCallable("CALL building_SETPROP(?,?,?)");
|
|
||||||
setLong(1, b.getObjectUUID());
|
|
||||||
setString(2, name);
|
|
||||||
setString(3, String.valueOf(new_value));
|
|
||||||
return getResult();
|
|
||||||
}
|
|
||||||
|
|
||||||
public String SET_PROPERTY(final Building b, String name, Object new_value, Object old_value) {
|
String result = "";
|
||||||
prepareCallable("CALL building_GETSETPROP(?,?,?,?)");
|
|
||||||
setLong(1, b.getObjectUUID());
|
try (Connection connection = DbManager.getConnection();
|
||||||
setString(2, name);
|
PreparedStatement preparedStatement = connection.prepareStatement("CALL building_SETPROP(?,?,?)")) {
|
||||||
setString(3, String.valueOf(new_value));
|
|
||||||
setString(4, String.valueOf(old_value));
|
preparedStatement.setLong(1, b.getObjectUUID());
|
||||||
return getResult();
|
preparedStatement.setString(2, name);
|
||||||
|
preparedStatement.setString(3, String.valueOf(new_value));
|
||||||
|
|
||||||
|
ResultSet rs = preparedStatement.executeQuery();
|
||||||
|
result = rs.getString("result");
|
||||||
|
;
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int MOVE_BUILDING(long buildingID, long parentID, float locX, float locY, float locZ) {
|
public int MOVE_BUILDING(long buildingID, long parentID, float locX, float locY, float locZ) {
|
||||||
prepareCallable("UPDATE `object` INNER JOIN `obj_building` On `object`.`UID` = `obj_building`.`UID` SET `object`.`parent`=?, `obj_building`.`locationX`=?, `obj_building`.`locationY`=?, `obj_building`.`locationZ`=? WHERE `obj_building`.`UID`=?;");
|
|
||||||
setLong(1, parentID);
|
int rowCount;
|
||||||
setFloat(2, locX);
|
|
||||||
setFloat(3, locY);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setFloat(4, locZ);
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `object` INNER JOIN `obj_building` On `object`.`UID` = `obj_building`.`UID` SET `object`.`parent`=?, `obj_building`.`locationX`=?, `obj_building`.`locationY`=?, `obj_building`.`locationZ`=? WHERE `obj_building`.`UID`=?;")) {
|
||||||
setLong(5, buildingID);
|
|
||||||
return executeUpdate();
|
preparedStatement.setLong(1, parentID);
|
||||||
|
preparedStatement.setFloat(2, locX);
|
||||||
|
preparedStatement.setFloat(3, locY);
|
||||||
|
preparedStatement.setFloat(4, locZ);
|
||||||
|
preparedStatement.setLong(5, buildingID);
|
||||||
|
|
||||||
|
rowCount = preparedStatement.executeUpdate();
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return rowCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean removeFromBuildings(final Building b) {
|
private boolean removeFromBuildings(final Building b) {
|
||||||
@@ -180,85 +214,161 @@ public class dbBuildingHandler extends dbHandlerBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean CHANGE_NAME(Building b, String newName) {
|
public boolean CHANGE_NAME(Building b, String newName) {
|
||||||
prepareCallable("UPDATE `obj_building` SET `name`=? WHERE `UID`=?");
|
|
||||||
setString(1, newName);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setLong(2, b.getObjectUUID());
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `obj_building` SET `name`=? WHERE `UID`=?")) {
|
||||||
return (executeUpdate() > 0);
|
|
||||||
|
preparedStatement.setString(1, newName);
|
||||||
|
preparedStatement.setLong(2, b.getObjectUUID());
|
||||||
|
|
||||||
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean SET_RESERVE(Building b, int reserveAmount) {
|
public boolean SET_RESERVE(Building b, int reserveAmount) {
|
||||||
prepareCallable("UPDATE `obj_building` SET `reserve`=? WHERE `UID`=?");
|
|
||||||
setInt(1, reserveAmount);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setLong(2, b.getObjectUUID());
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `obj_building` SET `reserve`=? WHERE `UID`=?")) {
|
||||||
return (executeUpdate() > 0);
|
|
||||||
|
preparedStatement.setInt(1, reserveAmount);
|
||||||
|
preparedStatement.setLong(2, b.getObjectUUID());
|
||||||
|
|
||||||
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//CAS update to rank
|
//CAS update to rank
|
||||||
public boolean CHANGE_RANK(final long buildingID, int newRank) {
|
public boolean CHANGE_RANK(final long buildingID, int newRank) {
|
||||||
prepareCallable("UPDATE `obj_building` SET `rank`=? WHERE `UID`=?");
|
|
||||||
setInt(1, newRank);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setLong(2, buildingID);
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `obj_building` SET `rank`=? WHERE `UID`=?")) {
|
||||||
return (executeUpdate() > 0);
|
|
||||||
|
preparedStatement.setInt(1, newRank);
|
||||||
|
preparedStatement.setLong(2, buildingID);
|
||||||
|
|
||||||
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean UPDATE_BUILDING_HEALTH(final long buildingID, int NewHealth) {
|
public boolean UPDATE_BUILDING_HEALTH(final long buildingID, int NewHealth) {
|
||||||
prepareCallable("UPDATE `obj_building` SET `currentHP`=? WHERE `UID`=?");
|
|
||||||
setInt(1, NewHealth);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setLong(2, buildingID);
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `obj_building` SET `currentHP`=? WHERE `UID`=?")) {
|
||||||
return (executeUpdate() > 0);
|
|
||||||
|
preparedStatement.setInt(1, NewHealth);
|
||||||
|
preparedStatement.setLong(2, buildingID);
|
||||||
|
|
||||||
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean UPDATE_BUILDING_ALTITUDE(final long buildingID, float newAltitude) {
|
public boolean UPDATE_BUILDING_ALTITUDE(final long buildingID, float newAltitude) {
|
||||||
prepareCallable("UPDATE `obj_building` SET `locationY`=? WHERE `UID`=?");
|
|
||||||
setFloat(1, newAltitude);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setLong(2, buildingID);
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `obj_building` SET `locationY`=? WHERE `UID`=?")) {
|
||||||
return (executeUpdate() > 0);
|
|
||||||
|
preparedStatement.setFloat(1, newAltitude);
|
||||||
|
preparedStatement.setLong(2, buildingID);
|
||||||
|
|
||||||
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean UPDATE_PROTECTIONSTATE(final long buildingUUID, ProtectionState protectionState) {
|
public boolean UPDATE_PROTECTIONSTATE(final long buildingUUID, ProtectionState protectionState) {
|
||||||
|
|
||||||
try {
|
try (Connection connection = DbManager.getConnection();
|
||||||
prepareCallable("UPDATE `obj_building` SET `protectionState`=? WHERE `UID`=?");
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `obj_building` SET `protectionState`=? WHERE `UID`=?")) {
|
||||||
setString(1, protectionState.name());
|
|
||||||
setLong(2, buildingUUID);
|
preparedStatement.setString(1, protectionState.name());
|
||||||
return (executeUpdate() > 0);
|
preparedStatement.setLong(2, buildingUUID);
|
||||||
} catch (Exception e) {
|
|
||||||
Logger.error(e.toString());
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean UPDATE_DOOR_LOCK(final int buildingUUID, int doorFlags) {
|
public boolean UPDATE_DOOR_LOCK(final int buildingUUID, int doorFlags) {
|
||||||
|
|
||||||
try {
|
try (Connection connection = DbManager.getConnection();
|
||||||
prepareCallable("UPDATE obj_building SET doorState = ? WHERE UID = ?");
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE obj_building SET doorState = ? WHERE UID = ?")) {
|
||||||
|
|
||||||
setInt(1, doorFlags);
|
preparedStatement.setInt(1, doorFlags);
|
||||||
setInt(2, buildingUUID);
|
preparedStatement.setInt(2, buildingUUID);
|
||||||
|
|
||||||
executeUpdate();
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
return true;
|
|
||||||
} catch (Exception e) {
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean ADD_TO_FRIENDS_LIST(final long buildingID, final long friendID, final long guildID, final int friendType) {
|
public boolean ADD_TO_FRIENDS_LIST(final long buildingID, final long friendID, final long guildID, final int friendType) {
|
||||||
prepareCallable("INSERT INTO `dyn_building_friends` (`buildingUID`, `playerUID`,`guildUID`, `friendType`) VALUES (?,?,?,?)");
|
|
||||||
setLong(1, buildingID);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setLong(2, friendID);
|
PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO `dyn_building_friends` (`buildingUID`, `playerUID`,`guildUID`, `friendType`) VALUES (?,?,?,?)")) {
|
||||||
setLong(3, guildID);
|
|
||||||
setInt(4, friendType);
|
preparedStatement.setLong(1, buildingID);
|
||||||
return (executeUpdate() > 0);
|
preparedStatement.setLong(2, friendID);
|
||||||
|
preparedStatement.setLong(3, guildID);
|
||||||
|
preparedStatement.setInt(4, friendType);
|
||||||
|
|
||||||
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean REMOVE_FROM_FRIENDS_LIST(final long buildingID, long friendID, long guildID, int friendType) {
|
public boolean REMOVE_FROM_FRIENDS_LIST(final long buildingID, long friendID, long guildID, int friendType) {
|
||||||
prepareCallable("DELETE FROM `dyn_building_friends` WHERE `buildingUID`=? AND `playerUID`=? AND `guildUID` =? AND `friendType` = ?");
|
|
||||||
setLong(1, buildingID);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setLong(2, friendID);
|
PreparedStatement preparedStatement = connection.prepareStatement("DELETE FROM `dyn_building_friends` WHERE `buildingUID`=? AND `playerUID`=? AND `guildUID` =? AND `friendType` = ?")) {
|
||||||
setLong(3,guildID);
|
|
||||||
setInt(4, friendType);
|
preparedStatement.setLong(1, buildingID);
|
||||||
return (executeUpdate() > 0);
|
preparedStatement.setLong(2, friendID);
|
||||||
|
preparedStatement.setLong(3, guildID);
|
||||||
|
preparedStatement.setInt(4, friendType);
|
||||||
|
|
||||||
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean REMOVE_FROM_CONDEMNED_LIST(final long buildingID, long friendID, long guildID, int friendType) {
|
public boolean REMOVE_FROM_CONDEMNED_LIST(final long buildingID, long friendID, long guildID, int friendType) {
|
||||||
|
|||||||
Reference in New Issue
Block a user