Browse Source

Using new ConnectionFactory

Reviewed all database access.
Fixed some unclosed connections.
Refactored bad code.
Added tasks for future refactor.
Zoey76 10 năm trước cách đây
mục cha
commit
dc051b23e8

+ 30 - 34
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)
 		{

+ 62 - 74
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;
 	}

+ 8 - 9
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.");
 					}

+ 8 - 6
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
 				{

+ 22 - 33
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);
 		}
 	}
 }

+ 3 - 2
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;

+ 11 - 11
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.");

+ 4 - 4
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());

+ 2 - 2
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());

+ 42 - 46
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);

+ 12 - 13
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;

+ 5 - 5
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)