From dc051b23e8856a39496ed04dec9ad60675a80a1c Mon Sep 17 00:00:00 2001 From: Zoey76 <zoey_76@msn.com> Date: Sun, 28 Jun 2015 02:53:56 -0300 Subject: [PATCH] Using new ConnectionFactory Reviewed all database access. Fixed some unclosed connections. Refactored bad code. Added tasks for future refactor. --- .../RainbowSpringsChateau.java | 64 ++++----- .../conquerablehalls/flagwar/FlagWar.java | 136 ++++++++---------- .../AdminChangeAccessLevel.java | 17 ++- .../admincommandhandlers/AdminEditChar.java | 14 +- .../admincommandhandlers/AdminRepairChar.java | 55 +++---- .../admincommandhandlers/AdminShowQuests.java | 5 +- .../admincommandhandlers/AdminTeleport.java | 22 +-- .../communityboard/FavoriteBoard.java | 8 +- .../handlers/communityboard/HomeBoard.java | 4 +- .../usercommandhandlers/ClanWarsList.java | 88 ++++++------ .../voicedcommandhandlers/Wedding.java | 25 ++-- .../503_PursuitClanAmbition/__init__.py | 10 +- 12 files changed, 209 insertions(+), 239 deletions(-) diff --git a/L2J_DataPack/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java b/L2J_DataPack/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java index f86b61f2f7..019f330edb 100644 --- a/L2J_DataPack/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java +++ b/L2J_DataPack/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java @@ -21,6 +21,7 @@ package conquerablehalls.RainbowSpringsChateau; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.sql.Statement; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; @@ -31,7 +32,7 @@ import java.util.Map; import java.util.concurrent.ScheduledFuture; import com.l2jserver.Config; -import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.commons.database.pool.impl.ConnectionFactory; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.cache.HtmCache; import com.l2jserver.gameserver.data.sql.impl.ClanTable; @@ -394,7 +395,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine long count = warDecrees.getCount(); _warDecreesCount.put(clan.getId(), count); player.destroyItem("Rainbow Springs Registration", warDecrees, npc, true); - updateAttacker(clan.getId(), count, false); + addAttacker(clan.getId(), count); html = "messenger_yetti009.htm"; } } @@ -414,7 +415,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine } else { - updateAttacker(clan.getId(), 0, true); + removeAttacker(clan.getId()); html = "messenger_yetti018.htm"; } break; @@ -826,34 +827,31 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine private static boolean isYetiTarget(int npcId) { - for (int yeti : YETIS) + return Util.contains(YETIS, npcId); + } + + private static void removeAttacker(int clanId) + { + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement("DELETE FROM rainbowsprings_attacker_list WHERE clanId = ?")) { - if (yeti == npcId) - { - return true; - } + ps.setInt(1, clanId); + ps.execute(); + } + catch (Exception e) + { + e.printStackTrace(); } - return false; } - private static void updateAttacker(int clanId, long count, boolean remove) + private static void addAttacker(int clanId, long count) { - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement("INSERT INTO rainbowsprings_attacker_list VALUES (?,?)")) { - PreparedStatement statement; - if (remove) - { - statement = con.prepareStatement("DELETE FROM rainbowsprings_attacker_list WHERE clanId = ?"); - statement.setInt(1, clanId); - } - else - { - statement = con.prepareStatement("INSERT INTO rainbowsprings_attacker_list VALUES (?,?)"); - statement.setInt(1, clanId); - statement.setLong(2, count); - } - statement.execute(); - statement.close(); + ps.setInt(1, clanId); + ps.setLong(2, count); + ps.execute(); } catch (Exception e) { @@ -864,18 +862,16 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine @Override public void loadAttackers() { - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + try (Connection con = ConnectionFactory.getInstance().getConnection(); + Statement s = con.createStatement()) { - PreparedStatement statement = con.prepareStatement("SELECT * FROM rainbowsprings_attacker_list"); - ResultSet rset = statement.executeQuery(); - while (rset.next()) + try (ResultSet rset = s.executeQuery("SELECT * FROM rainbowsprings_attacker_list")) { - int clanId = rset.getInt("clan_id"); - long count = rset.getLong("decrees_count"); - _warDecreesCount.put(clanId, count); + while (rset.next()) + { + _warDecreesCount.put(rset.getInt("clan_id"), rset.getLong("decrees_count")); + } } - rset.close(); - statement.close(); } catch (Exception e) { diff --git a/L2J_DataPack/dist/game/data/scripts/conquerablehalls/flagwar/FlagWar.java b/L2J_DataPack/dist/game/data/scripts/conquerablehalls/flagwar/FlagWar.java index dfaa06a818..de646e8b46 100644 --- a/L2J_DataPack/dist/game/data/scripts/conquerablehalls/flagwar/FlagWar.java +++ b/L2J_DataPack/dist/game/data/scripts/conquerablehalls/flagwar/FlagWar.java @@ -27,7 +27,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; -import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.commons.database.pool.impl.ConnectionFactory; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.ai.L2SpecialSiegeGuardAI; @@ -764,135 +764,123 @@ public abstract class FlagWar extends ClanHallSiegeEngine @Override public final void loadAttackers() { - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement(SQL_LOAD_ATTACKERS)) { - PreparedStatement statement = con.prepareStatement(SQL_LOAD_ATTACKERS); - statement.setInt(1, _hall.getId()); - ResultSet rset = statement.executeQuery(); - while (rset.next()) + ps.setInt(1, _hall.getId()); + try (ResultSet rset = ps.executeQuery()) { - final int clanId = rset.getInt("clan_id"); - - if (ClanTable.getInstance().getClan(clanId) == null) + while (rset.next()) { - _log.warning(getName() + ": Loaded an unexistent clan as attacker! Clan ID: " + clanId); - continue; + final int clanId = rset.getInt("clan_id"); + + if (ClanTable.getInstance().getClan(clanId) == null) + { + _log.warning(getName() + ": Loaded an unexistent clan as attacker! Clan ID: " + clanId); + continue; + } + + ClanData data = new ClanData(); + data.flag = rset.getInt("flag"); + data.npc = rset.getInt("npc"); + + _data.put(clanId, data); + loadAttackerMembers(clanId); } - - ClanData data = new ClanData(); - data.flag = rset.getInt("flag"); - data.npc = rset.getInt("npc"); - - _data.put(clanId, data); - loadAttackerMembers(clanId); } - rset.close(); - statement.close(); } catch (Exception e) { _log.warning(getName() + ".loadAttackers()->" + e.getMessage()); - e.printStackTrace(); } } private final void loadAttackerMembers(int clanId) { - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + final List<Integer> listInstance = _data.get(clanId).players; + if (listInstance == null) { - ArrayList<Integer> listInstance = _data.get(clanId).players; - - if (listInstance == null) - { - _log.warning(getName() + ": Tried to load unregistered clan with ID " + clanId); - return; - } - - PreparedStatement statement = con.prepareStatement(SQL_LOAD_MEMEBERS); - statement.setInt(1, clanId); - ResultSet rset = statement.executeQuery(); - while (rset.next()) + _log.warning(getName() + ": Tried to load unregistered clan with ID " + clanId); + return; + } + + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement(SQL_LOAD_MEMEBERS)) + { + ps.setInt(1, clanId); + try (ResultSet rset = ps.executeQuery()) { - listInstance.add(rset.getInt("object_id")); - + while (rset.next()) + { + listInstance.add(rset.getInt("object_id")); + } } - rset.close(); - statement.close(); } catch (Exception e) { _log.warning(getName() + ".loadAttackerMembers()->" + e.getMessage()); - e.printStackTrace(); } } private final void saveClan(int clanId, int flag) { - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement(SQL_SAVE_CLAN)) { - PreparedStatement statement = con.prepareStatement(SQL_SAVE_CLAN); - statement.setInt(1, _hall.getId()); - statement.setInt(2, flag); - statement.setInt(3, 0); - statement.setInt(4, clanId); - statement.execute(); - statement.close(); + ps.setInt(1, _hall.getId()); + ps.setInt(2, flag); + ps.setInt(3, 0); + ps.setInt(4, clanId); + ps.execute(); } catch (Exception e) { _log.warning(getName() + ".saveClan()->" + e.getMessage()); - e.printStackTrace(); } } private final void saveNpc(int npc, int clanId) { - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement(SQL_SAVE_NPC)) { - PreparedStatement statement = con.prepareStatement(SQL_SAVE_NPC); - statement.setInt(1, npc); - statement.setInt(2, clanId); - statement.execute(); - statement.close(); + ps.setInt(1, npc); + ps.setInt(2, clanId); + ps.execute(); } catch (Exception e) { _log.warning(getName() + ".saveNpc()->" + e.getMessage()); - e.printStackTrace(); } } private final void saveMember(int clanId, int objectId) { - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement(SQL_SAVE_ATTACKER)) { - PreparedStatement statement = con.prepareStatement(SQL_SAVE_ATTACKER); - statement.setInt(1, _hall.getId()); - statement.setInt(2, clanId); - statement.setInt(3, objectId); - statement.execute(); - statement.close(); + ps.setInt(1, _hall.getId()); + ps.setInt(2, clanId); + ps.setInt(3, objectId); + ps.execute(); } catch (Exception e) { _log.warning(getName() + ".saveMember()->" + e.getMessage()); - e.printStackTrace(); } } private void clearTables() { - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement ps1 = con.prepareStatement(SQL_CLEAR_CLAN); + PreparedStatement ps2 = con.prepareStatement(SQL_CLEAR_CLAN_ATTACKERS)) { - PreparedStatement stat1 = con.prepareStatement(SQL_CLEAR_CLAN); - stat1.setInt(1, _hall.getId()); - stat1.execute(); - stat1.close(); + ps1.setInt(1, _hall.getId()); + ps1.execute(); - PreparedStatement stat2 = con.prepareStatement(SQL_CLEAR_CLAN_ATTACKERS); - stat2.setInt(1, _hall.getId()); - stat2.execute(); - stat2.close(); + ps2.setInt(1, _hall.getId()); + ps2.execute(); } catch (Exception e) { @@ -904,8 +892,8 @@ public abstract class FlagWar extends ClanHallSiegeEngine { int flag = 0; int npc = 0; - ArrayList<Integer> players = new ArrayList<>(18); - ArrayList<L2PcInstance> playersInstance = new ArrayList<>(18); + List<Integer> players = new ArrayList<>(18); + List<L2PcInstance> playersInstance = new ArrayList<>(18); L2Spawn warrior = null; L2Spawn flagInstance = null; } diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminChangeAccessLevel.java b/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminChangeAccessLevel.java index 60b309ea7b..83792dcbd0 100644 --- a/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminChangeAccessLevel.java +++ b/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminChangeAccessLevel.java @@ -23,7 +23,7 @@ import java.sql.PreparedStatement; import java.sql.SQLException; import com.l2jserver.Config; -import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.commons.database.pool.impl.ConnectionFactory; import com.l2jserver.gameserver.data.xml.impl.AdminData; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2AccessLevel; @@ -75,15 +75,14 @@ public final class AdminChangeAccessLevel implements IAdminCommandHandler } else { - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement("UPDATE characters SET accesslevel=? WHERE char_name=?")) { - PreparedStatement statement = con.prepareStatement("UPDATE characters SET accesslevel=? WHERE char_name=?"); - statement.setInt(1, lvl); - statement.setString(2, name); - statement.execute(); - int count = statement.getUpdateCount(); - statement.close(); - if (count == 0) + ps.setInt(1, lvl); + ps.setString(2, name); + ps.execute(); + + if (ps.getUpdateCount() == 0) { activeChar.sendMessage("Character not found or access level unaltered."); } diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java b/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java index 37f0d4774e..85cd3014f9 100644 --- a/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java +++ b/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java @@ -30,7 +30,7 @@ import java.util.StringTokenizer; import java.util.logging.Logger; import com.l2jserver.Config; -import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.commons.database.pool.impl.ConnectionFactory; import com.l2jserver.gameserver.data.sql.impl.CharNameTable; import com.l2jserver.gameserver.data.xml.impl.ClassListData; import com.l2jserver.gameserver.handler.IAdminCommandHandler; @@ -566,11 +566,13 @@ public class AdminEditChar implements IAdminCommandHandler if (player == null) { - Connection con = L2DatabaseFactory.getInstance().getConnection(); - PreparedStatement ps = con.prepareStatement("UPDATE characters SET " + (changeCreateExpiryTime ? "clan_create_expiry_time" : "clan_join_expiry_time") + " WHERE char_name=? LIMIT 1"); - - ps.setString(1, playerName); - ps.execute(); + final String updateQuery = "UPDATE characters SET " + (changeCreateExpiryTime ? "clan_create_expiry_time" : "clan_join_expiry_time") + " WHERE char_name=? LIMIT 1"; + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement(updateQuery)) + { + ps.setString(1, playerName); + ps.execute(); + } } else { diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminRepairChar.java b/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminRepairChar.java index 4997ae821d..1e1daa74d4 100644 --- a/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminRepairChar.java +++ b/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminRepairChar.java @@ -20,11 +20,11 @@ package handlers.admincommandhandlers; import java.sql.Connection; import java.sql.PreparedStatement; -import java.sql.ResultSet; import java.util.logging.Level; import java.util.logging.Logger; -import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.commons.database.pool.impl.ConnectionFactory; +import com.l2jserver.gameserver.data.sql.impl.CharNameTable; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -63,47 +63,36 @@ public class AdminRepairChar implements IAdminCommandHandler return; } + final String playerName = parts[1]; String cmd = "UPDATE characters SET x=-84318, y=244579, z=-3730 WHERE char_name=?"; - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + try (Connection con = ConnectionFactory.getInstance().getConnection()) { - PreparedStatement statement = con.prepareStatement(cmd); - statement.setString(1, parts[1]); - statement.execute(); - statement.close(); - - statement = con.prepareStatement("SELECT charId FROM characters where char_name=?"); - statement.setString(1, parts[1]); - ResultSet rset = statement.executeQuery(); - int objId = 0; - if (rset.next()) + try (PreparedStatement ps = con.prepareStatement(cmd)) { - objId = rset.getInt(1); + ps.setString(1, playerName); + ps.execute(); } - rset.close(); - statement.close(); - - if (objId == 0) + final int objId = CharNameTable.getInstance().getIdByName(playerName); + if (objId != 0) { - con.close(); - return; + // Delete player's shortcuts. + try (PreparedStatement ps = con.prepareStatement("DELETE FROM character_shortcuts WHERE charId=?")) + { + ps.setInt(1, objId); + ps.execute(); + } + // Move all items to the inventory. + try (PreparedStatement ps = con.prepareStatement("UPDATE items SET loc=\"INVENTORY\" WHERE owner_id=?")) + { + ps.setInt(1, objId); + ps.execute(); + } } - - // connection = L2DatabaseFactory.getInstance().getConnection(); - statement = con.prepareStatement("DELETE FROM character_shortcuts WHERE charId=?"); - statement.setInt(1, objId); - statement.execute(); - statement.close(); - - // connection = L2DatabaseFactory.getInstance().getConnection(); - statement = con.prepareStatement("UPDATE items SET loc=\"INVENTORY\" WHERE owner_id=?"); - statement.setInt(1, objId); - statement.execute(); - statement.close(); } catch (Exception e) { - _log.log(Level.WARNING, "could not repair char:", e); + _log.log(Level.WARNING, "Could not repair char:", e); } } } diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminShowQuests.java b/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminShowQuests.java index 20086c8251..8b2a3991f5 100644 --- a/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminShowQuests.java +++ b/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminShowQuests.java @@ -23,7 +23,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.logging.Logger; -import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.commons.database.pool.impl.ConnectionFactory; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.instancemanager.QuestManager; import com.l2jserver.gameserver.model.L2Object; @@ -174,7 +174,8 @@ public class AdminShowQuests implements IAdminCommandHandler private static void showQuestMenu(L2PcInstance target, L2PcInstance actor, String[] val) { - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + // TODO(Zoey76): Refactor this into smaller methods and separate database access logic from HTML creation. + try (Connection con = ConnectionFactory.getInstance().getConnection()) { ResultSet rs; PreparedStatement req; diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index e44de73ad7..e17f218b0b 100644 --- a/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -26,7 +26,7 @@ import java.util.StringTokenizer; import java.util.logging.Logger; import com.l2jserver.Config; -import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.commons.database.pool.impl.ConnectionFactory; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.datatables.SpawnTable; import com.l2jserver.gameserver.handler.IAdminCommandHandler; @@ -493,16 +493,16 @@ public class AdminTeleport implements IAdminCommandHandler final int x = activeChar.getX(); final int y = activeChar.getY(); final int z = activeChar.getZ(); - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) - { - PreparedStatement statement = con.prepareStatement("UPDATE characters SET x=?, y=?, z=? WHERE char_name=?"); - statement.setInt(1, x); - statement.setInt(2, y); - statement.setInt(3, z); - statement.setString(4, name); - statement.execute(); - int count = statement.getUpdateCount(); - statement.close(); + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement("UPDATE characters SET x=?, y=?, z=? WHERE char_name=?")) + { + ps.setInt(1, x); + ps.setInt(2, y); + ps.setInt(3, z); + ps.setString(4, name); + ps.execute(); + int count = ps.getUpdateCount(); + if (count == 0) { activeChar.sendMessage("Character not found or position unaltered."); diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/communityboard/FavoriteBoard.java b/L2J_DataPack/dist/game/data/scripts/handlers/communityboard/FavoriteBoard.java index b5096072cc..f7121ed3b6 100644 --- a/L2J_DataPack/dist/game/data/scripts/handlers/communityboard/FavoriteBoard.java +++ b/L2J_DataPack/dist/game/data/scripts/handlers/communityboard/FavoriteBoard.java @@ -23,7 +23,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.text.SimpleDateFormat; -import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.commons.database.pool.impl.ConnectionFactory; import com.l2jserver.gameserver.cache.HtmCache; import com.l2jserver.gameserver.handler.CommunityBoardHandler; import com.l2jserver.gameserver.handler.IParseBoardHandler; @@ -63,7 +63,7 @@ public class FavoriteBoard implements IParseBoardHandler // Load Favorite links final String list = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/favorite_list.html"); final StringBuilder sb = new StringBuilder(); - try (Connection con = L2DatabaseFactory.getInstance().getConnection(); + try (Connection con = ConnectionFactory.getInstance().getConnection(); PreparedStatement ps = con.prepareStatement(SELECT_FAVORITES)) { ps.setInt(1, activeChar.getObjectId()); @@ -100,7 +100,7 @@ public class FavoriteBoard implements IParseBoardHandler return false; } - try (Connection con = L2DatabaseFactory.getInstance().getConnection(); + try (Connection con = ConnectionFactory.getInstance().getConnection(); PreparedStatement ps = con.prepareStatement(ADD_FAVORITE)) { ps.setInt(1, activeChar.getObjectId()); @@ -125,7 +125,7 @@ public class FavoriteBoard implements IParseBoardHandler return false; } - try (Connection con = L2DatabaseFactory.getInstance().getConnection(); + try (Connection con = ConnectionFactory.getInstance().getConnection(); PreparedStatement ps = con.prepareStatement(DELETE_FAVORITE)) { ps.setInt(1, activeChar.getObjectId()); diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/communityboard/HomeBoard.java b/L2J_DataPack/dist/game/data/scripts/handlers/communityboard/HomeBoard.java index 29e36f75ba..170a85436a 100644 --- a/L2J_DataPack/dist/game/data/scripts/handlers/communityboard/HomeBoard.java +++ b/L2J_DataPack/dist/game/data/scripts/handlers/communityboard/HomeBoard.java @@ -22,7 +22,7 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.commons.database.pool.impl.ConnectionFactory; import com.l2jserver.gameserver.cache.HtmCache; import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.handler.CommunityBoardHandler; @@ -83,7 +83,7 @@ public final class HomeBoard implements IParseBoardHandler private static int getFavoriteCount(L2PcInstance player) { int count = 0; - try (Connection con = L2DatabaseFactory.getInstance().getConnection(); + try (Connection con = ConnectionFactory.getInstance().getConnection(); PreparedStatement ps = con.prepareStatement(COUNT_FAVORITES)) { ps.setInt(1, player.getObjectId()); diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/usercommandhandlers/ClanWarsList.java b/L2J_DataPack/dist/game/data/scripts/handlers/usercommandhandlers/ClanWarsList.java index 4df378a6a7..9b52bec39a 100644 --- a/L2J_DataPack/dist/game/data/scripts/handlers/usercommandhandlers/ClanWarsList.java +++ b/L2J_DataPack/dist/game/data/scripts/handlers/usercommandhandlers/ClanWarsList.java @@ -24,7 +24,7 @@ import java.sql.ResultSet; import java.util.logging.Level; import java.util.logging.Logger; -import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.commons.database.pool.impl.ConnectionFactory; import com.l2jserver.gameserver.handler.IUserCommandHandler; import com.l2jserver.gameserver.model.L2Clan; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -64,57 +64,53 @@ public class ClanWarsList implements IUserCommandHandler return false; } - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + String query; + // Attack List + if (id == 88) { - String query; - // Attack List - if (id == 88) - { - activeChar.sendPacket(SystemMessageId.CLANS_YOU_DECLARED_WAR_ON); - query = ATTACK_LIST; - } - // Under Attack List - else if (id == 89) - { - activeChar.sendPacket(SystemMessageId.CLANS_THAT_HAVE_DECLARED_WAR_ON_YOU); - query = UNDER_ATTACK_LIST; - } - // War List - else - { - activeChar.sendPacket(SystemMessageId.WAR_LIST); - query = WAR_LIST; - } + activeChar.sendPacket(SystemMessageId.CLANS_YOU_DECLARED_WAR_ON); + query = ATTACK_LIST; + } + // Under Attack List + else if (id == 89) + { + activeChar.sendPacket(SystemMessageId.CLANS_THAT_HAVE_DECLARED_WAR_ON_YOU); + query = UNDER_ATTACK_LIST; + } + // War List + else + { + activeChar.sendPacket(SystemMessageId.WAR_LIST); + query = WAR_LIST; + } + + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement(query)) + { + ps.setInt(1, clan.getId()); + ps.setInt(2, clan.getId()); - try (PreparedStatement ps = con.prepareStatement(query)) + SystemMessage sm; + try (ResultSet rs = ps.executeQuery()) { - ps.setInt(1, clan.getId()); - ps.setInt(2, clan.getId()); - - SystemMessage sm; - try (ResultSet rs = ps.executeQuery()) + while (rs.next()) { - String clanName; - int ally_id; - while (rs.next()) + String clanName = rs.getString("clan_name"); + int allyId = rs.getInt("ally_id"); + if (allyId > 0) + { + // Target With Ally + sm = SystemMessage.getSystemMessage(SystemMessageId.S1_S2_ALLIANCE); + sm.addString(clanName); + sm.addString(rs.getString("ally_name")); + } + else { - clanName = rs.getString("clan_name"); - ally_id = rs.getInt("ally_id"); - if (ally_id > 0) - { - // Target With Ally - sm = SystemMessage.getSystemMessage(SystemMessageId.S1_S2_ALLIANCE); - sm.addString(clanName); - sm.addString(rs.getString("ally_name")); - } - else - { - // Target Without Ally - sm = SystemMessage.getSystemMessage(SystemMessageId.S1_NO_ALLI_EXISTS); - sm.addString(clanName); - } - activeChar.sendPacket(sm); + // Target Without Ally + sm = SystemMessage.getSystemMessage(SystemMessageId.S1_NO_ALLI_EXISTS); + sm.addString(clanName); } + activeChar.sendPacket(sm); } } activeChar.sendPacket(SystemMessageId.FRIEND_LIST_FOOTER); diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/voicedcommandhandlers/Wedding.java b/L2J_DataPack/dist/game/data/scripts/handlers/voicedcommandhandlers/Wedding.java index 0fe025821a..a36c237344 100644 --- a/L2J_DataPack/dist/game/data/scripts/handlers/voicedcommandhandlers/Wedding.java +++ b/L2J_DataPack/dist/game/data/scripts/handlers/voicedcommandhandlers/Wedding.java @@ -25,7 +25,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import com.l2jserver.Config; -import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.commons.database.pool.impl.ConnectionFactory; import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.SevenSigns; import com.l2jserver.gameserver.ThreadPoolManager; @@ -210,30 +210,29 @@ public class Wedding implements IVoicedCommandHandler return false; } - // check if target has player on friendlist - boolean FoundOnFriendList = false; - int objectId; - try (Connection con = L2DatabaseFactory.getInstance().getConnection()) + // Check if target has player on friend list + boolean foundOnFriendList = false; + try (Connection con = ConnectionFactory.getInstance().getConnection(); + PreparedStatement statement = con.prepareStatement("SELECT friendId FROM character_friends WHERE charId=?")) { - final PreparedStatement statement = con.prepareStatement("SELECT friendId FROM character_friends WHERE charId=?"); statement.setInt(1, ptarget.getObjectId()); - final ResultSet rset = statement.executeQuery(); - while (rset.next()) + try (ResultSet rset = statement.executeQuery()) { - objectId = rset.getInt("friendId"); - if (objectId == activeChar.getObjectId()) + while (rset.next()) { - FoundOnFriendList = true; + if (rset.getInt("friendId") == activeChar.getObjectId()) + { + foundOnFriendList = true; + } } } - statement.close(); } catch (Exception e) { _log.warning("could not read friend data:" + e); } - if (!FoundOnFriendList) + if (!foundOnFriendList) { activeChar.sendMessage("The player you want to ask is not on your friends list, you must first be on each others friends list before you choose to engage."); return false; diff --git a/L2J_DataPack/dist/game/data/scripts/quests/503_PursuitClanAmbition/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/503_PursuitClanAmbition/__init__.py index 655700002e..189452f46c 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/503_PursuitClanAmbition/__init__.py +++ b/L2J_DataPack/dist/game/data/scripts/quests/503_PursuitClanAmbition/__init__.py @@ -8,7 +8,7 @@ from com.l2jserver.gameserver.network.serverpackets import NpcSay from com.l2jserver.gameserver.model.quest import State from com.l2jserver.gameserver.model.quest import QuestState from com.l2jserver.gameserver.model.quest import Quest as JQuest -from com.l2jserver import L2DatabaseFactory +from com.l2jserver.commons.database.pool.impl import ConnectionFactory qn = "503_PursuitClanAmbition" qd = "Pursuit Clan Ambition" @@ -58,7 +58,7 @@ DROPLIST = { def suscribe_members(st) : clan=st.getPlayer().getClanId() - con=L2DatabaseFactory.getInstance().getConnection() + con=ConnectionFactory.getInstance().getConnection() offline=con.prepareStatement("SELECT charId FROM characters WHERE clanid=? AND online=0") offline.setInt(1, clan) rs=offline.executeQuery() @@ -82,7 +82,7 @@ def suscribe_members(st) : def offlineMemberExit(st) : clan=st.getPlayer().getClanId() - con=L2DatabaseFactory.getInstance().getConnection() + con=ConnectionFactory.getInstance().getConnection() offline=con.prepareStatement("DELETE FROM character_quests WHERE name = ? and charId IN (SELECT charId FROM characters WHERE clanId =? AND online=0") offline.setString(1, qn) offline.setInt(2, clan) @@ -106,7 +106,7 @@ def getLeaderVar(st, var) : except : pass leaderId=st.getPlayer().getClan().getLeaderId() - con=L2DatabaseFactory.getInstance().getConnection() + con=ConnectionFactory.getInstance().getConnection() offline=con.prepareStatement("SELECT value FROM character_quests WHERE charId=? AND var=? AND name=?") offline.setInt(1, leaderId) offline.setString(2, var) @@ -136,7 +136,7 @@ def setLeaderVar(st, var, value) : leader.getQuestState(qn).set(var,value) else : leaderId=st.getPlayer().getClan().getLeaderId() - con=L2DatabaseFactory.getInstance().getConnection() + con=ConnectionFactory.getInstance().getConnection() offline=con.prepareStatement("UPDATE character_quests SET value=? WHERE charId=? AND var=? AND name=?") offline.setString(1, value) offline.setInt(2, leaderId) -- GitLab