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
+34 -26

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,21 +250,25 @@ 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);
ResultSetMetaData metadata = rs.getMetaData(); try {
for (int i = 1; i < metadata.getColumnCount() + 1; i++) { ResultSetMetaData metadata = rs.getMetaData();
table.addColumn(metadata.getColumnName(i)); for (int i = 1; i < metadata.getColumnCount() + 1; i++) {
} table.addColumn(metadata.getColumnName(i));
while (rs.next()) {
MRowModel row = new MRowModel();
for (int i = 0; i < metadata.getColumnCount(); i++) {
row.addColumnToRow(rs.getObject(i + 1));
} }
table.addRow(row);
while (rs.next()) {
MRowModel row = new MRowModel();
for (int i = 0; i < metadata.getColumnCount(); i++) {
row.addColumnToRow(rs.getObject(i + 1));
}
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;
@@ -15,8 +16,8 @@ public class EditHandler extends ListenerAdapter {
public void onMessageUpdate(MessageUpdateEvent event) { public void onMessageUpdate(MessageUpdateEvent event) {
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();
} }