actions = map.getOrDefault(uuid, new ArrayList<>());
+ @Override
+ public String get() {
+ return toString();
+ }
- long date = set.getLong(columnDate);
- Actions doneAction = Actions.getById(set.getInt(columnActionID));
- String additionalInfo = set.getString(columnAdditionalInfo);
-
- actions.add(new Action(date, doneAction, additionalInfo, -1));
-
- map.put(uuid, actions);
- }
- return map;
- }
- });
+ @Override
+ public String toString() {
+ return column;
+ }
}
}
\ No newline at end of file
diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/CommandUseTable.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/CommandUseTable.java
index 0a1aeae54..7789cd356 100644
--- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/CommandUseTable.java
+++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/CommandUseTable.java
@@ -5,6 +5,7 @@ import com.djrapitops.plan.system.database.databases.sql.SQLDB;
import com.djrapitops.plan.system.database.databases.sql.processing.ExecStatement;
import com.djrapitops.plan.system.database.databases.sql.processing.QueryAllStatement;
import com.djrapitops.plan.system.database.databases.sql.processing.QueryStatement;
+import com.djrapitops.plan.system.database.databases.sql.statements.Column;
import com.djrapitops.plan.system.database.databases.sql.statements.Select;
import com.djrapitops.plan.system.database.databases.sql.statements.Sql;
import com.djrapitops.plan.system.database.databases.sql.statements.TableSqlParser;
@@ -19,52 +20,43 @@ import java.util.Optional;
import java.util.UUID;
/**
+ * Table that is in charge of storing command data.
+ *
+ * Table Name: plan_commandusages
+ *
+ * For contained columns {@see Col}
+ *
* @author Rsl1122
*/
public class CommandUseTable extends Table {
- private static final String columnCommandId = "id";
- private static final String columnCommand = "command";
- private static final String columnTimesUsed = "times_used";
- private static final String columnServerID = "server_id";
-
- private final ServerTable serverTable;
- private String insertStatement;
-
public CommandUseTable(SQLDB db) {
super("plan_commandusages", db);
serverTable = db.getServerTable();
insertStatement = "INSERT INTO " + tableName + " ("
- + columnCommand + ", "
- + columnTimesUsed + ", "
- + columnServerID
+ + Col.COMMAND + ", "
+ + Col.TIMES_USED + ", "
+ + Col.SERVER_ID
+ ") VALUES (?, ?, " + serverTable.statementSelectServerID + ")";
}
+ private final ServerTable serverTable;
+ private String insertStatement;
+
@Override
public void createTable() throws DBInitException {
ServerTable serverTable = db.getServerTable();
createTable(TableSqlParser.createTable(tableName)
- .primaryKeyIDColumn(usingMySQL, columnCommandId)
- .column(columnCommand, Sql.varchar(20)).notNull()
- .column(columnTimesUsed, Sql.INT).notNull()
- .column(columnServerID, Sql.INT).notNull()
- .primaryKey(usingMySQL, columnCommandId)
- .foreignKey(columnServerID, serverTable.toString(), serverTable.getColumnID())
+ .primaryKeyIDColumn(usingMySQL, Col.COMMAND_ID)
+ .column(Col.COMMAND, Sql.varchar(20)).notNull()
+ .column(Col.TIMES_USED, Sql.INT).notNull()
+ .column(Col.SERVER_ID, Sql.INT).notNull()
+ .primaryKey(usingMySQL, Col.COMMAND_ID)
+ .foreignKey(Col.SERVER_ID, serverTable.toString(), ServerTable.Col.SERVER_ID)
.toString()
);
}
- /**
- * Used to get all commands used in this server.
- *
- * @return command - times used Map
- * @throws SQLException DB Error
- */
- public Map getCommandUse() throws SQLException {
- return getCommandUse(ServerInfo.getServerUUID());
- }
-
/**
* Used to get all commands used in a server.
*
@@ -74,8 +66,8 @@ public class CommandUseTable extends Table {
*/
public Map getCommandUse(UUID serverUUID) throws SQLException {
String sql = Select.from(tableName,
- columnCommand, columnTimesUsed)
- .where(columnServerID + "=" + serverTable.statementSelectServerID)
+ Col.COMMAND, Col.TIMES_USED)
+ .where(Col.SERVER_ID + "=" + serverTable.statementSelectServerID)
.toString();
return query(new QueryStatement