mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-09-27 14:02:38 +02:00
Implemented 'showInPlayerTable' for Providers
- Added the boolean to ProviderInformation - Added a column to plan_extension_providers - Added a patch to add the column to old databases - Added value for the column to the provider store transactions - Changed ServerPlayerDataTableQuery to only include showInPlayerTable = true providers - Changed test to take changes into account
This commit is contained in:
parent
ef35312844
commit
91895f9a84
@ -155,7 +155,8 @@ public abstract class SQLDB extends AbstractDatabase {
|
||||
new TransferTableRemovalPatch(),
|
||||
new IPAnonPatch(),
|
||||
new BadAFKThresholdValuePatch(),
|
||||
new DeleteIPHashesPatch()
|
||||
new DeleteIPHashesPatch(),
|
||||
new ExtensionShowInPlayersTablePatch()
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* This file is part of Player Analytics (Plan).
|
||||
*
|
||||
* Plan is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License v3 as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Plan is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Plan. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.djrapitops.plan.db.patches;
|
||||
|
||||
import com.djrapitops.plan.db.sql.parsing.Sql;
|
||||
import com.djrapitops.plan.db.sql.tables.ExtensionProviderTable;
|
||||
|
||||
/**
|
||||
* Patch to add 'show_in_players_table' to 'plan_extension_providers'
|
||||
*
|
||||
* @author Rsl1122
|
||||
*/
|
||||
public class ExtensionShowInPlayersTablePatch extends Patch {
|
||||
|
||||
@Override
|
||||
public boolean hasBeenApplied() {
|
||||
return hasColumn(ExtensionProviderTable.TABLE_NAME, ExtensionProviderTable.SHOW_IN_PLAYERS_TABLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void applyPatch() {
|
||||
addColumn(ExtensionProviderTable.TABLE_NAME, ExtensionProviderTable.SHOW_IN_PLAYERS_TABLE + ' ' + Sql.BOOL + " NOT NULL DEFAULT 0");
|
||||
}
|
||||
}
|
@ -45,6 +45,7 @@ public class ExtensionProviderTable {
|
||||
public static final String PLUGIN_ID = "plugin_id";
|
||||
public static final String ICON_ID = "icon_id";
|
||||
public static final String TAB_ID = "tab_id"; // Can be null, related to @Tab
|
||||
public static final String SHOW_IN_PLAYERS_TABLE = "show_in_players_table"; // default false
|
||||
|
||||
public static final String HIDDEN = "hidden"; // default false, related to @BooleanProvider
|
||||
public static final String PROVIDED_CONDITION = "provided_condition"; // Can be null, related to @BooleanProvider
|
||||
@ -71,6 +72,7 @@ public class ExtensionProviderTable {
|
||||
.column(TEXT, Sql.varchar(50)).notNull()
|
||||
.column(DESCRIPTION, Sql.varchar(150))
|
||||
.column(PRIORITY, INT).notNull().defaultValue("0")
|
||||
.column(SHOW_IN_PLAYERS_TABLE, BOOL).notNull().defaultValue(false)
|
||||
.column(GROUPABLE, BOOL).notNull().defaultValue(false)
|
||||
.column(CONDITION, Sql.varchar(54)) // 50 + 4 for "not_"
|
||||
.column(PROVIDED_CONDITION, Sql.varchar(50))
|
||||
|
@ -32,14 +32,16 @@ import java.util.Optional;
|
||||
public class ProviderInformation extends ExtensionDescriptive {
|
||||
|
||||
private final String pluginName;
|
||||
private final boolean showInPlayersTable;
|
||||
private final String tab; // can be null
|
||||
private final Conditional condition; // can be null
|
||||
|
||||
public ProviderInformation(
|
||||
String pluginName, String name, String text, String description, Icon icon, int priority, String tab, Conditional condition
|
||||
String pluginName, String name, String text, String description, Icon icon, int priority, boolean showInPlayersTable, String tab, Conditional condition
|
||||
) {
|
||||
super(name, text, description, icon, priority);
|
||||
this.pluginName = pluginName;
|
||||
this.showInPlayersTable = showInPlayersTable;
|
||||
this.tab = tab;
|
||||
this.condition = condition;
|
||||
}
|
||||
@ -48,6 +50,10 @@ public class ProviderInformation extends ExtensionDescriptive {
|
||||
return StringUtils.truncate(pluginName, 50);
|
||||
}
|
||||
|
||||
public boolean isShownInPlayersTable() {
|
||||
return showInPlayersTable;
|
||||
}
|
||||
|
||||
public Optional<String> getTab() {
|
||||
return tab == null || tab.isEmpty()
|
||||
? Optional.empty()
|
||||
|
@ -52,7 +52,7 @@ public class BooleanDataProvider extends DataProvider<Boolean> {
|
||||
Icon providerIcon = new Icon(annotation.iconFamily(), annotation.iconName(), annotation.iconColor());
|
||||
|
||||
ProviderInformation providerInformation = new ProviderInformation(
|
||||
pluginName, method.getName(), annotation.text(), annotation.description(), providerIcon, annotation.priority(), tab, condition
|
||||
pluginName, method.getName(), annotation.text(), annotation.description(), providerIcon, annotation.priority(), annotation.showInPlayerTable(), tab, condition
|
||||
);
|
||||
|
||||
dataProviders.put(new BooleanDataProvider(providerInformation, methodWrapper, annotation.conditionName(), annotation.hidden()));
|
||||
|
@ -44,7 +44,7 @@ public class DoubleDataProvider extends DataProvider<Double> {
|
||||
Icon providerIcon = new Icon(annotation.iconFamily(), annotation.iconName(), annotation.iconColor());
|
||||
|
||||
ProviderInformation providerInformation = new ProviderInformation(
|
||||
pluginName, method.getName(), annotation.text(), annotation.description(), providerIcon, annotation.priority(), tab, condition
|
||||
pluginName, method.getName(), annotation.text(), annotation.description(), providerIcon, annotation.priority(), annotation.showInPlayerTable(), tab, condition
|
||||
);
|
||||
|
||||
dataProviders.put(new DoubleDataProvider(providerInformation, methodWrapper));
|
||||
|
@ -48,7 +48,7 @@ public class NumberDataProvider extends DataProvider<Long> {
|
||||
Icon providerIcon = new Icon(annotation.iconFamily(), annotation.iconName(), annotation.iconColor());
|
||||
|
||||
ProviderInformation providerInformation = new ProviderInformation(
|
||||
pluginName, method.getName(), annotation.text(), annotation.description(), providerIcon, annotation.priority(), tab, condition
|
||||
pluginName, method.getName(), annotation.text(), annotation.description(), providerIcon, annotation.priority(), annotation.showInPlayerTable(), tab, condition
|
||||
);
|
||||
|
||||
dataProviders.put(new NumberDataProvider(providerInformation, methodWrapper, annotation.format()));
|
||||
|
@ -44,7 +44,7 @@ public class PercentageDataProvider extends DataProvider<Double> {
|
||||
Icon providerIcon = new Icon(annotation.iconFamily(), annotation.iconName(), annotation.iconColor());
|
||||
|
||||
ProviderInformation providerInformation = new ProviderInformation(
|
||||
pluginName, method.getName(), annotation.text(), annotation.description(), providerIcon, annotation.priority(), tab, condition
|
||||
pluginName, method.getName(), annotation.text(), annotation.description(), providerIcon, annotation.priority(), annotation.showInPlayerTable(), tab, condition
|
||||
);
|
||||
|
||||
dataProviders.put(new PercentageDataProvider(providerInformation, methodWrapper));
|
||||
|
@ -47,7 +47,7 @@ public class StringDataProvider extends DataProvider<String> {
|
||||
Icon providerIcon = new Icon(annotation.iconFamily(), annotation.iconName(), annotation.iconColor());
|
||||
|
||||
ProviderInformation providerInformation = new ProviderInformation(
|
||||
pluginName, method.getName(), annotation.text(), annotation.description(), providerIcon, annotation.priority(), tab, condition
|
||||
pluginName, method.getName(), annotation.text(), annotation.description(), providerIcon, annotation.priority(), annotation.showInPlayerTable(), tab, condition
|
||||
);
|
||||
|
||||
boolean playerName = annotation.playerName();
|
||||
|
@ -50,7 +50,7 @@ public class TableDataProvider extends DataProvider<Table> {
|
||||
MethodWrapper<Table> methodWrapper = new MethodWrapper<>(method, Table.class);
|
||||
|
||||
ProviderInformation providerInformation = new ProviderInformation(
|
||||
pluginName, method.getName(), null, null, null, 0, tab, condition
|
||||
pluginName, method.getName(), null, null, null, 0, false, tab, condition
|
||||
);
|
||||
|
||||
dataProviders.put(new TableDataProvider(providerInformation, methodWrapper, annotation.tableColor()));
|
||||
|
@ -68,7 +68,9 @@ public class ExtensionServerPlayerDataTableQuery implements Query<Map<UUID, Exte
|
||||
|
||||
String sql = SELECT +
|
||||
"v1." + ExtensionPlayerValueTable.USER_UUID + " as uuid," +
|
||||
"v1." + ExtensionPlayerValueTable.BOOLEAN_VALUE + " as boolean_value," +
|
||||
"v1." + ExtensionPlayerValueTable.DOUBLE_VALUE + " as double_value," +
|
||||
"v1." + ExtensionPlayerValueTable.PERCENTAGE_VALUE + " as percentage_value," +
|
||||
"v1." + ExtensionPlayerValueTable.LONG_VALUE + " as long_value," +
|
||||
"v1." + ExtensionPlayerValueTable.STRING_VALUE + " as string_value," +
|
||||
"p1." + ExtensionProviderTable.PROVIDER_NAME + " as provider_name," +
|
||||
@ -83,16 +85,16 @@ public class ExtensionServerPlayerDataTableQuery implements Query<Map<UUID, Exte
|
||||
INNER_JOIN + ExtensionPluginTable.TABLE_NAME + " e1 on e1." + ExtensionPluginTable.ID + "=p1." + ExtensionProviderTable.PLUGIN_ID +
|
||||
LEFT_JOIN + ExtensionIconTable.TABLE_NAME + " i1 on i1." + ExtensionIconTable.ID + "=p1." + ExtensionProviderTable.ICON_ID +
|
||||
WHERE + "e1." + ExtensionPluginTable.SERVER_UUID + "=?" +
|
||||
AND + " v1." + ExtensionPlayerValueTable.BOOLEAN_VALUE + IS_NULL + // Don't select Boolean value rows
|
||||
AND + " v1." + ExtensionPlayerValueTable.PERCENTAGE_VALUE + IS_NULL + // Don't select Percentage value rows
|
||||
AND + " p1." + ExtensionProviderTable.IS_PLAYER_NAME + "=?";
|
||||
AND + "p1." + ExtensionProviderTable.SHOW_IN_PLAYERS_TABLE + "=?" +
|
||||
AND + "p1." + ExtensionProviderTable.IS_PLAYER_NAME + "=?";
|
||||
|
||||
return new QueryStatement<Map<UUID, ExtensionTabData>>(sql, 1000) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
statement.setInt(1, xMostRecentPlayers); // Limit to x most recently seen players
|
||||
statement.setString(2, serverUUID.toString());
|
||||
statement.setBoolean(3, false); // Don't select player_name String values
|
||||
statement.setBoolean(3, true); // Select only values that should be shown
|
||||
statement.setBoolean(4, false); // Don't select player_name String values
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -118,12 +120,24 @@ public class ExtensionServerPlayerDataTableQuery implements Query<Map<UUID, Exte
|
||||
}
|
||||
|
||||
private void extractAndPutDataTo(ExtensionTabData.Factory extensionTab, ExtensionDescriptive descriptive, ResultSet set) throws SQLException {
|
||||
boolean booleanValue = set.getBoolean(ExtensionServerValueTable.BOOLEAN_VALUE);
|
||||
if (!set.wasNull()) {
|
||||
extensionTab.putBooleanData(new ExtensionBooleanData(descriptive, booleanValue));
|
||||
return;
|
||||
}
|
||||
|
||||
double doubleValue = set.getDouble(ExtensionPlayerValueTable.DOUBLE_VALUE);
|
||||
if (!set.wasNull()) {
|
||||
extensionTab.putDoubleData(new ExtensionDoubleData(descriptive, doubleValue));
|
||||
return;
|
||||
}
|
||||
|
||||
double percentageValue = set.getDouble(ExtensionServerValueTable.PERCENTAGE_VALUE);
|
||||
if (!set.wasNull()) {
|
||||
extensionTab.putPercentageData(new ExtensionDoubleData(descriptive, percentageValue));
|
||||
return;
|
||||
}
|
||||
|
||||
long numberValue = set.getLong(ExtensionPlayerValueTable.LONG_VALUE);
|
||||
if (!set.wasNull()) {
|
||||
FormatType formatType = FormatType.getByName(set.getString(ExtensionProviderTable.FORMAT_TYPE)).orElse(FormatType.NONE);
|
||||
|
@ -78,7 +78,8 @@ public class StoreBooleanProviderTransaction extends Transaction {
|
||||
PROVIDED_CONDITION + "=?," +
|
||||
TAB_ID + '=' + ExtensionTabTable.STATEMENT_SELECT_TAB_ID + ',' +
|
||||
ICON_ID + '=' + ExtensionIconTable.STATEMENT_SELECT_ICON_ID + ',' +
|
||||
HIDDEN + "=?" +
|
||||
HIDDEN + "=?," +
|
||||
SHOW_IN_PLAYERS_TABLE + "=?" +
|
||||
WHERE + PLUGIN_ID + '=' + ExtensionPluginTable.STATEMENT_SELECT_PLUGIN_ID +
|
||||
AND + PROVIDER_NAME + "=?";
|
||||
|
||||
@ -107,8 +108,9 @@ public class StoreBooleanProviderTransaction extends Transaction {
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 6, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 9, providerInformation.getIcon());
|
||||
statement.setBoolean(12, hidden);
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 13, providerInformation.getPluginName(), serverUUID);
|
||||
statement.setString(15, providerInformation.getName());
|
||||
statement.setBoolean(13, providerInformation.isShownInPlayersTable());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 14, providerInformation.getPluginName(), serverUUID);
|
||||
statement.setString(16, providerInformation.getName());
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -122,10 +124,11 @@ public class StoreBooleanProviderTransaction extends Transaction {
|
||||
CONDITION + ',' +
|
||||
PROVIDED_CONDITION + ',' +
|
||||
HIDDEN + ',' +
|
||||
SHOW_IN_PLAYERS_TABLE + ',' +
|
||||
TAB_ID + ',' +
|
||||
ICON_ID + ',' +
|
||||
PLUGIN_ID +
|
||||
") VALUES (?,?,?,?,?,?,?," +
|
||||
") VALUES (?,?,?,?,?,?,?,?," +
|
||||
ExtensionTabTable.STATEMENT_SELECT_TAB_ID + ',' +
|
||||
ExtensionIconTable.STATEMENT_SELECT_ICON_ID + ',' +
|
||||
ExtensionPluginTable.STATEMENT_SELECT_PLUGIN_ID + ')';
|
||||
@ -153,9 +156,10 @@ public class StoreBooleanProviderTransaction extends Transaction {
|
||||
statement.setNull(6, Types.VARCHAR);
|
||||
}
|
||||
statement.setBoolean(7, hidden);
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 8, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 11, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 14, providerInformation.getPluginName(), serverUUID);
|
||||
statement.setBoolean(8, providerInformation.isShownInPlayersTable());
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 9, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 12, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 15, providerInformation.getPluginName(), serverUUID);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -76,7 +76,8 @@ public class StoreDoubleProviderTransaction extends Transaction {
|
||||
PRIORITY + "=?," +
|
||||
CONDITION + "=?," +
|
||||
TAB_ID + "=" + ExtensionTabTable.STATEMENT_SELECT_TAB_ID + "," +
|
||||
ICON_ID + "=" + ExtensionIconTable.STATEMENT_SELECT_ICON_ID +
|
||||
ICON_ID + "=" + ExtensionIconTable.STATEMENT_SELECT_ICON_ID + ',' +
|
||||
SHOW_IN_PLAYERS_TABLE + "=?" +
|
||||
WHERE + PLUGIN_ID + "=" + ExtensionPluginTable.STATEMENT_SELECT_PLUGIN_ID +
|
||||
AND + PROVIDER_NAME + "=?";
|
||||
|
||||
@ -99,8 +100,9 @@ public class StoreDoubleProviderTransaction extends Transaction {
|
||||
}
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 5, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 8, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 11, providerInformation.getPluginName(), serverUUID);
|
||||
statement.setString(13, providerInformation.getName());
|
||||
statement.setBoolean(11, providerInformation.isShownInPlayersTable());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 12, providerInformation.getPluginName(), serverUUID);
|
||||
statement.setString(14, providerInformation.getName());
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -112,10 +114,11 @@ public class StoreDoubleProviderTransaction extends Transaction {
|
||||
DESCRIPTION + "," +
|
||||
PRIORITY + "," +
|
||||
CONDITION + "," +
|
||||
SHOW_IN_PLAYERS_TABLE + ',' +
|
||||
TAB_ID + "," +
|
||||
ICON_ID + "," +
|
||||
PLUGIN_ID +
|
||||
") VALUES (?,?,?,?,?," +
|
||||
") VALUES (?,?,?,?,?,?," +
|
||||
ExtensionTabTable.STATEMENT_SELECT_TAB_ID + "," +
|
||||
ExtensionIconTable.STATEMENT_SELECT_ICON_ID + "," +
|
||||
ExtensionPluginTable.STATEMENT_SELECT_PLUGIN_ID + ")";
|
||||
@ -137,9 +140,10 @@ public class StoreDoubleProviderTransaction extends Transaction {
|
||||
} else {
|
||||
statement.setNull(5, Types.VARCHAR);
|
||||
}
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 6, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 9, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 12, providerInformation.getPluginName(), serverUUID);
|
||||
statement.setBoolean(6, providerInformation.isShownInPlayersTable());
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 7, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 10, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 13, providerInformation.getPluginName(), serverUUID);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -74,6 +74,7 @@ public class StoreNumberProviderTransaction extends Transaction {
|
||||
DESCRIPTION + "=?," +
|
||||
PRIORITY + "=?," +
|
||||
CONDITION + "=?," +
|
||||
SHOW_IN_PLAYERS_TABLE + "=?," +
|
||||
FORMAT_TYPE + "=?," +
|
||||
TAB_ID + "=" + ExtensionTabTable.STATEMENT_SELECT_TAB_ID + "," +
|
||||
ICON_ID + "=" + ExtensionIconTable.STATEMENT_SELECT_ICON_ID +
|
||||
@ -97,11 +98,12 @@ public class StoreNumberProviderTransaction extends Transaction {
|
||||
} else {
|
||||
statement.setNull(4, Types.VARCHAR);
|
||||
}
|
||||
statement.setString(5, formatType.name());
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 6, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 9, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 12, providerInformation.getPluginName(), serverUUID);
|
||||
statement.setString(14, providerInformation.getName());
|
||||
statement.setBoolean(5, providerInformation.isShownInPlayersTable());
|
||||
statement.setString(6, formatType.name());
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 7, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 10, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 13, providerInformation.getPluginName(), serverUUID);
|
||||
statement.setString(15, providerInformation.getName());
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -113,11 +115,12 @@ public class StoreNumberProviderTransaction extends Transaction {
|
||||
DESCRIPTION + "," +
|
||||
PRIORITY + "," +
|
||||
CONDITION + "," +
|
||||
SHOW_IN_PLAYERS_TABLE + ',' +
|
||||
FORMAT_TYPE + "," +
|
||||
TAB_ID + "," +
|
||||
ICON_ID + "," +
|
||||
PLUGIN_ID +
|
||||
") VALUES (?,?,?,?,?,?," +
|
||||
") VALUES (?,?,?,?,?,?,?," +
|
||||
ExtensionTabTable.STATEMENT_SELECT_TAB_ID + "," +
|
||||
ExtensionIconTable.STATEMENT_SELECT_ICON_ID + "," +
|
||||
ExtensionPluginTable.STATEMENT_SELECT_PLUGIN_ID + ")";
|
||||
@ -139,10 +142,11 @@ public class StoreNumberProviderTransaction extends Transaction {
|
||||
} else {
|
||||
statement.setNull(5, Types.VARCHAR);
|
||||
}
|
||||
statement.setString(6, formatType.name());
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 7, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 10, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 13, providerInformation.getPluginName(), serverUUID);
|
||||
statement.setBoolean(6, providerInformation.isShownInPlayersTable());
|
||||
statement.setString(7, formatType.name());
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 8, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 11, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 14, providerInformation.getPluginName(), serverUUID);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -73,6 +73,7 @@ public class StoreStringProviderTransaction extends Transaction {
|
||||
DESCRIPTION + "=?," +
|
||||
PRIORITY + "=?," +
|
||||
CONDITION + "=?," +
|
||||
SHOW_IN_PLAYERS_TABLE + "=?," +
|
||||
IS_PLAYER_NAME + "=?," +
|
||||
TAB_ID + "=" + ExtensionTabTable.STATEMENT_SELECT_TAB_ID + "," +
|
||||
ICON_ID + "=" + ExtensionIconTable.STATEMENT_SELECT_ICON_ID +
|
||||
@ -96,11 +97,12 @@ public class StoreStringProviderTransaction extends Transaction {
|
||||
} else {
|
||||
statement.setNull(4, Types.VARCHAR);
|
||||
}
|
||||
statement.setBoolean(5, playerName);
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 6, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 9, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 12, providerInformation.getPluginName(), serverUUID);
|
||||
statement.setString(14, providerInformation.getName());
|
||||
statement.setBoolean(5, providerInformation.isShownInPlayersTable());
|
||||
statement.setBoolean(6, playerName);
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 7, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 10, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 13, providerInformation.getPluginName(), serverUUID);
|
||||
statement.setString(15, providerInformation.getName());
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -112,11 +114,12 @@ public class StoreStringProviderTransaction extends Transaction {
|
||||
DESCRIPTION + "," +
|
||||
PRIORITY + "," +
|
||||
CONDITION + "," +
|
||||
SHOW_IN_PLAYERS_TABLE + "," +
|
||||
IS_PLAYER_NAME + "," +
|
||||
TAB_ID + "," +
|
||||
ICON_ID + "," +
|
||||
PLUGIN_ID +
|
||||
") VALUES (?,?,?,?,?,?," +
|
||||
") VALUES (?,?,?,?,?,?,?," +
|
||||
ExtensionTabTable.STATEMENT_SELECT_TAB_ID + "," +
|
||||
ExtensionIconTable.STATEMENT_SELECT_ICON_ID + "," +
|
||||
ExtensionPluginTable.STATEMENT_SELECT_PLUGIN_ID + ")";
|
||||
@ -138,10 +141,11 @@ public class StoreStringProviderTransaction extends Transaction {
|
||||
} else {
|
||||
statement.setNull(5, Types.VARCHAR);
|
||||
}
|
||||
statement.setBoolean(6, playerName);
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 7, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 10, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 13, providerInformation.getPluginName(), serverUUID);
|
||||
statement.setBoolean(6, providerInformation.isShownInPlayersTable());
|
||||
statement.setBoolean(7, playerName);
|
||||
ExtensionTabTable.set3TabValuesToStatement(statement, 8, providerInformation.getTab().orElse("No Tab"), providerInformation.getPluginName(), serverUUID);
|
||||
ExtensionIconTable.set3IconValuesToStatement(statement, 11, providerInformation.getIcon());
|
||||
ExtensionPluginTable.set2PluginValuesToStatement(statement, 14, providerInformation.getPluginName(), serverUUID);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -1201,9 +1201,9 @@ public abstract class CommonDBTest {
|
||||
assertNotNull(playerData);
|
||||
|
||||
OptionalAssert.equals("5", playerData.getNumber("value").map(data -> data.getFormattedValue(Object::toString)));
|
||||
assertFalse(playerData.getBoolean("boolVal").isPresent());
|
||||
OptionalAssert.equals("No", playerData.getBoolean("boolVal").map(ExtensionBooleanData::getFormattedValue));
|
||||
OptionalAssert.equals("0.5", playerData.getDouble("doubleVal").map(data -> data.getFormattedValue(Object::toString)));
|
||||
assertFalse(playerData.getBoolean("percentageVal").isPresent());
|
||||
OptionalAssert.equals("0.5", playerData.getPercentage("percentageVal").map(data -> data.getFormattedValue(Object::toString)));
|
||||
OptionalAssert.equals("Something", playerData.getString("stringVal").map(ExtensionStringData::getFormattedValue));
|
||||
}
|
||||
|
||||
@ -1501,27 +1501,27 @@ public abstract class CommonDBTest {
|
||||
|
||||
@PluginInfo(name = "PlayerExtension")
|
||||
public class PlayerExtension implements DataExtension {
|
||||
@NumberProvider(text = "a number")
|
||||
@NumberProvider(text = "a number", showInPlayerTable = true)
|
||||
public long value(UUID playerUUD) {
|
||||
return 5L;
|
||||
}
|
||||
|
||||
@BooleanProvider(text = "a boolean")
|
||||
@BooleanProvider(text = "a boolean", showInPlayerTable = true)
|
||||
public boolean boolVal(UUID playerUUID) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@DoubleProvider(text = "a double")
|
||||
@DoubleProvider(text = "a double", showInPlayerTable = true)
|
||||
public double doubleVal(UUID playerUUID) {
|
||||
return 0.5;
|
||||
}
|
||||
|
||||
@PercentageProvider(text = "a percentage")
|
||||
@PercentageProvider(text = "a percentage", showInPlayerTable = true)
|
||||
public double percentageVal(UUID playerUUID) {
|
||||
return 0.5;
|
||||
}
|
||||
|
||||
@StringProvider(text = "a string")
|
||||
@StringProvider(text = "a string", showInPlayerTable = true)
|
||||
public String stringVal(UUID playerUUID) {
|
||||
return "Something";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user