Changed method "convertToTableModel" to static

This commit is contained in:
Anthony committed 2018-05-31 19:39:49 -04:00
1 parent 4c0e84c80d
commit 8134d11a8c
3 files changed
+20 -12

No files matched your search

@@ -111,11 +111,16 @@ public class MysqlDatabase {
* @return a ResultSet object, which can be converted to an array using {@link #convertToArray(ResultSet)} * @return a ResultSet object, which can be converted to an array using {@link #convertToArray(ResultSet)}
* @throws SQLException * @throws SQLException
*/ */
public ResultSet prepareAndExecute(String sql, Object... params) throws SQLException { public ResultSet prepareAndExecute(String sql, Object... params) {
prepareString = sql; try {
query = connection.prepareStatement(sql); query = connection.prepareStatement(sql);
resolveParameters(query, params); resolveParameters(query, params);
return query.executeQuery(); return query.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
} }
// //
@@ -245,10 +250,10 @@ public class MysqlDatabase {
* @return a {@link MTableModel} with the appropriate column and rows * @return a {@link MTableModel} with the appropriate column and rows
* @throws SQLException * @throws SQLException
*/ */
public MTableModel convertToTableModel(ResultSet rs) throws SQLException { public static MTableModel convertToTableModel(ResultSet rs) {
MTableModel table = new MTableModel(); MTableModel table = new MTableModel();
nbRow = getNbRowFromTable(prepareString);
try {
ResultSetMetaData metadata = rs.getMetaData(); ResultSetMetaData metadata = rs.getMetaData();
for (int i = 1; i < metadata.getColumnCount() + 1; i++) { for (int i = 1; i < metadata.getColumnCount() + 1; i++) {
table.addColumn(metadata.getColumnName(i)); table.addColumn(metadata.getColumnName(i));
@@ -262,6 +267,10 @@ public class MysqlDatabase {
table.addRow(row); table.addRow(row);
} }
} catch (SQLException e) {
e.printStackTrace();
}
return table; return table;
} }
@@ -276,7 +285,7 @@ public class MysqlDatabase {
return nbRow; return nbRow;
} }
private String findTable(String sql) { private static String findTable(String sql) {
int indexFrom = sql.indexOf("FROM") + 5; int indexFrom = sql.indexOf("FROM") + 5;
int indexWhere = sql.indexOf("WHERE") - 1; int indexWhere = sql.indexOf("WHERE") - 1;
@@ -286,8 +295,8 @@ public class MysqlDatabase {
return sql.substring(indexFrom, indexWhere); return sql.substring(indexFrom, indexWhere);
} }
private int getNbRowFromTable(String sql) throws SQLException { private static int getNbRowFromTable(String sql) throws SQLException {
ResultSet nbRowRs = query("SELECT COUNT(*) FROM " + findTable(sql)); ResultSet nbRowRs = DBController.get().query("SELECT COUNT(*) FROM " + findTable(sql));
if (nbRowRs.next()) if (nbRowRs.next())
return nbRowRs.getInt(1); return nbRowRs.getInt(1);
@@ -108,7 +108,7 @@ public class DBBlacklist extends AbstractController {
try { try {
ResultSet rs = database.prepareAndExecute("SELECT * FROM blacklist WHERE serverId = ? AND isEnabled = 1", serverId); ResultSet rs = database.prepareAndExecute("SELECT * FROM blacklist WHERE serverId = ? AND isEnabled = 1", serverId);
MTableModel model = database.convertToTableModel(rs); MTableModel model = MysqlDatabase.convertToTableModel(rs);
if (model.getNbRows() != 0) { if (model.getNbRows() != 0) {
for (int row = 0; row < model.getNbRows(); row++) { for (int row = 0; row < model.getNbRows(); row++) {
@@ -119,8 +119,6 @@ public class DBBlacklist extends AbstractController {
throw new RuntimeException("Blacklist is empty"); throw new RuntimeException("Blacklist is empty");
} }
} catch (SQLException e) {
e.printStackTrace();
} catch (NullPointerException | IndexOutOfBoundsException ignored) { } } catch (NullPointerException | IndexOutOfBoundsException ignored) { }
success.accept(output); success.accept(output);
@@ -6,6 +6,7 @@ import net.dv8tion.jda.core.EmbedBuilder;
import net.dv8tion.jda.core.events.message.MessageUpdateEvent; import net.dv8tion.jda.core.events.message.MessageUpdateEvent;
import net.dv8tion.jda.core.hooks.ListenerAdapter; import net.dv8tion.jda.core.hooks.ListenerAdapter;
import netneutrality.db.DBController; import netneutrality.db.DBController;
import netneutrality.db.MysqlDatabase;
import netneutrality.db.controllers.DBMessage; import netneutrality.db.controllers.DBMessage;
import netneutrality.db.controllers.DBSettings; import netneutrality.db.controllers.DBSettings;
@@ -16,7 +17,7 @@ public class EditHandler extends ListenerAdapter {
if (event.getAuthor().isBot()) return; if (event.getAuthor().isBot()) return;
String logChannel = ((DBSettings) DBController.get("settings")).getLoggingChannel(event.getGuild().getId()); Object logChannel = MysqlDatabase.convertToTableModel(DBController.get().prepareAndExecute("SELECT channelId FROM logging WHERE serverId = ? AND enabled = 1", event.getGuild().getId())).getRowModel(0).getItem(0);
if (logChannel != null) { if (logChannel != null) {
String originalMessage = ((DBMessage) DBController.get("message")).getMessageString(event.getMessage().getId()); String originalMessage = ((DBMessage) DBController.get("message")).getMessageString(event.getMessage().getId());
((DBMessage) DBController.get("message")).logEdit(event.getMessage().getId(), event.getMessage().getContentDisplay()); ((DBMessage) DBController.get("message")).logEdit(event.getMessage().getId(), event.getMessage().getContentDisplay());
@@ -38,7 +39,7 @@ public class EditHandler extends ListenerAdapter {
editEmbed.setFooter("ID : " + event.getMessageId(), null); editEmbed.setFooter("ID : " + event.getMessageId(), null);
editEmbed.setTimestamp(event.getMessage().getCreationTime()); editEmbed.setTimestamp(event.getMessage().getCreationTime());
event.getJDA().getTextChannelById(logChannel).sendMessage(editEmbed.build()).queue(); event.getJDA().getTextChannelById(logChannel.toString()).sendMessage(editEmbed.build()).queue();
} }