diff --git a/src/engine/db/handlers/dbPromotionClassHandler.java b/src/engine/db/handlers/dbPromotionClassHandler.java index 230d3f15..fed00a7a 100644 --- a/src/engine/db/handlers/dbPromotionClassHandler.java +++ b/src/engine/db/handlers/dbPromotionClassHandler.java @@ -9,9 +9,12 @@ package engine.db.handlers; +import engine.gameManager.DbManager; import engine.objects.PromotionClass; import org.pmw.tinylog.Logger; +import java.sql.Connection; +import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; @@ -24,31 +27,59 @@ public class dbPromotionClassHandler extends dbHandlerBase { } public ArrayList GET_ALLOWED_RUNES(final PromotionClass pc) { - ArrayList runes = new ArrayList<>(); - prepareCallable("SELECT * FROM `static_rune_promotionrunereq` WHERE `promoID`=?"); - setInt(1, pc.getObjectUUID()); - try { - ResultSet rs = executeQuery(); - while (rs.next()) { - runes.add(rs.getInt("runereqID")); - } + + ArrayList runeList = new ArrayList<>(); + + try (Connection connection = DbManager.getConnection(); + PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `static_rune_promotionrunereq` WHERE `promoID`=?")) { + + preparedStatement.setInt(1, pc.getObjectUUID()); + + ResultSet rs = preparedStatement.executeQuery(); + + while (rs.next()) + runeList.add(rs.getInt("runereqID")); + } catch (SQLException e) { - Logger.error("Failed to retrieve Allowed Runes for PromotionClass " + pc.getObjectUUID() + ". Error number: " + e.getErrorCode(), e); - return null; - } finally { - closeCallable(); + Logger.error(e); + } - return runes; + return runeList; } public PromotionClass GET_PROMOTION_CLASS(final int objectUUID) { - prepareCallable("SELECT * FROM `static_rune_promotion` WHERE `ID` = ?"); - setInt(1, objectUUID); - return (PromotionClass) getObjectSingle(objectUUID); + + PromotionClass promotionClass = null; + + try (Connection connection = DbManager.getConnection(); + PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `static_rune_promotion` WHERE `ID` = ?")) { + + preparedStatement.setInt(1, objectUUID); + + ResultSet rs = preparedStatement.executeQuery(); + promotionClass = (PromotionClass) getObjectFromRs(rs); + + } catch (SQLException e) { + Logger.error(e); + } + + return promotionClass; } public ArrayList GET_ALL_PROMOTIONS() { - prepareCallable("SELECT * FROM `static_rune_promotion`"); - return getObjectList(); - } + + ArrayList promotionList = new ArrayList<>(); + + try (Connection connection = DbManager.getConnection(); + PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `static_rune_promotion`")) { + + ResultSet rs = preparedStatement.executeQuery(); + promotionList = getObjectsFromRs(rs, 30); + + } catch (SQLException e) { + Logger.error(e); + } + + return promotionList; + } }