1
mirror of https://github.com/CarmJos/MineSQL.git synced 2024-09-19 20:25:45 +00:00

refactor(api): 重新设计API接口

This commit is contained in:
Carm Jos 2022-09-26 22:25:28 +08:00
parent 30b1edc753
commit 1557c14116
27 changed files with 146 additions and 155 deletions

View File

@ -10,8 +10,8 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<properties> <properties>
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${project.jdk.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.target>${project.jdk.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties> </properties>

View File

@ -1,17 +0,0 @@
package cc.carm.plugin.easysql;
import cc.carm.plugin.easysql.api.EasySQLRegistry;
public class EasySQLAPI {
protected static EasySQLRegistry api;
protected static void initializeAPI(EasySQLRegistry api) {
EasySQLAPI.api = api;
}
public static EasySQLRegistry get() {
return api;
}
}

View File

@ -0,0 +1,17 @@
package cc.carm.plugin.minesql;
import cc.carm.plugin.minesql.api.SQLRegistry;
public class MineSQL {
protected static SQLRegistry api;
protected static void initializeAPI(SQLRegistry api) {
MineSQL.api = api;
}
public static SQLRegistry get() {
return api;
}
}

View File

@ -1,4 +1,4 @@
package cc.carm.plugin.easysql.api; package cc.carm.plugin.minesql.api;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;

View File

@ -1,4 +1,4 @@
package cc.carm.plugin.easysql.api; package cc.carm.plugin.minesql.api;
import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View File

@ -1,4 +1,4 @@
package cc.carm.plugin.easysql.api; package cc.carm.plugin.minesql.api;
import cc.carm.lib.easysql.api.SQLManager; import cc.carm.lib.easysql.api.SQLManager;
import cc.carm.lib.easysql.api.SQLQuery; import cc.carm.lib.easysql.api.SQLQuery;
@ -6,6 +6,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.Unmodifiable; import org.jetbrains.annotations.Unmodifiable;
import javax.sql.DataSource;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
import java.util.Properties; import java.util.Properties;
@ -15,7 +16,7 @@ import java.util.function.Consumer;
/** /**
* 入口类 * 入口类
*/ */
public interface EasySQLRegistry { public interface SQLRegistry {
/** /**
* 获取原生注册的指定名称的 SQLManager 实例 * 获取原生注册的指定名称的 SQLManager 实例
@ -50,7 +51,7 @@ public interface EasySQLRegistry {
* @return {@link SQLManager} 实例 * @return {@link SQLManager} 实例
* @throws Exception 若创建失败则抛出异常 * @throws Exception 若创建失败则抛出异常
*/ */
@NotNull SQLManager create(@Nullable String name, @NotNull SQLManager create(@NotNull String name,
@NotNull DBConfiguration configuration) throws Exception; @NotNull DBConfiguration configuration) throws Exception;
/** /**
@ -61,19 +62,10 @@ public interface EasySQLRegistry {
* @return {@link SQLManager} 实例 * @return {@link SQLManager} 实例
* @throws Exception 若创建失败则抛出异常 * @throws Exception 若创建失败则抛出异常
*/ */
@NotNull SQLManager create(@Nullable String name, @NotNull SQLManager create(@NotNull String name,
@NotNull Properties properties) throws Exception; @NotNull Properties properties) throws Exception;
/** @NotNull SQLManager create(@NotNull String name, @NotNull DataSource source) throws Exception;
* 创建并注册一个新的 SQLManager 实例
*
* @param name 实例名称
* @param propertyFileName 配置文件的资源名称
* @return {@link SQLManager} 实例
* @throws Exception 若创建失败则抛出异常
*/
@NotNull SQLManager create(@Nullable String name,
@NotNull String propertyFileName) throws Exception;
/** /**
* 终止并关闭一个 SQLManager 实例 * 终止并关闭一个 SQLManager 实例

View File

@ -10,8 +10,8 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<properties> <properties>
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${project.jdk.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.target>${project.jdk.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<maven.javadoc.skip>true</maven.javadoc.skip> <maven.javadoc.skip>true</maven.javadoc.skip>
@ -81,6 +81,12 @@
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>easyplugin-githubchecker</artifactId>
<scope>compile</scope>
</dependency>
<dependency> <dependency>
<groupId>cc.carm.lib</groupId> <groupId>cc.carm.lib</groupId>
<artifactId>githubreleases4j</artifactId> <artifactId>githubreleases4j</artifactId>

View File

@ -1,10 +1,10 @@
package cc.carm.plugin.easysql; package cc.carm.plugin.minesql;
import cc.carm.lib.easysql.api.SQLManager; import cc.carm.lib.easysql.api.SQLManager;
import cc.carm.plugin.easysql.api.DBConfiguration; import cc.carm.plugin.minesql.api.DBConfiguration;
import cc.carm.plugin.easysql.api.EasySQLRegistry; import cc.carm.plugin.minesql.api.SQLRegistry;
import cc.carm.plugin.easysql.command.EasySQLCommand; import cc.carm.plugin.minesql.command.EasySQLCommand;
import cc.carm.plugin.easysql.command.EasySQLHelpFormatter; import cc.carm.plugin.minesql.command.EasySQLHelpFormatter;
import co.aikar.commands.CommandManager; import co.aikar.commands.CommandManager;
import co.aikar.commands.InvalidCommandArgument; import co.aikar.commands.InvalidCommandArgument;
import co.aikar.commands.Locales; import co.aikar.commands.Locales;
@ -15,9 +15,9 @@ import java.util.Map;
import java.util.Properties; import java.util.Properties;
import java.util.logging.Logger; import java.util.logging.Logger;
public interface EasySQLPluginPlatform { public interface MineSQLPlatform {
@NotNull EasySQLRegistry getRegistry(); @NotNull SQLRegistry getRegistry();
@NotNull Map<String, DBConfiguration> readConfigurations(); @NotNull Map<String, DBConfiguration> readConfigurations();
@ -25,8 +25,8 @@ public interface EasySQLPluginPlatform {
Logger getLogger(); Logger getLogger();
default void initializeAPI(EasySQLRegistry registry) { default void initializeAPI(SQLRegistry registry) {
EasySQLAPI.initializeAPI(registry); MineSQL.initializeAPI(registry);
} }
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")

View File

@ -1,11 +1,11 @@
package cc.carm.plugin.easysql; package cc.carm.plugin.minesql;
import cc.carm.lib.easysql.api.SQLManager; import cc.carm.lib.easysql.api.SQLManager;
import cc.carm.lib.easysql.api.SQLQuery; import cc.carm.lib.easysql.api.SQLQuery;
import cc.carm.lib.easysql.manager.SQLManagerImpl; import cc.carm.lib.easysql.manager.SQLManagerImpl;
import cc.carm.lib.githubreleases4j.GithubReleases4J; import cc.carm.lib.githubreleases4j.GithubReleases4J;
import cc.carm.plugin.easysql.api.DBConfiguration; import cc.carm.plugin.minesql.api.DBConfiguration;
import cc.carm.plugin.easysql.api.EasySQLRegistry; import cc.carm.plugin.minesql.api.SQLRegistry;
import cn.beecp.BeeDataSource; import cn.beecp.BeeDataSource;
import cn.beecp.BeeDataSourceConfig; import cn.beecp.BeeDataSourceConfig;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
@ -13,25 +13,26 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.Unmodifiable; import org.jetbrains.annotations.Unmodifiable;
import javax.sql.DataSource;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.logging.Logger; import java.util.logging.Logger;
public class EasySQLRegistryImpl implements EasySQLRegistry { public class MineSQLRegistry implements SQLRegistry {
public static final String REPO_OWNER = "CarmJos"; public static final String REPO_OWNER = "CarmJos";
public static final String REPO_NAME = "EasySQL-Plugin"; public static final String REPO_NAME = "EasySQL-Plugin";
private static EasySQLRegistryImpl instance; private static MineSQLRegistry instance;
protected ExecutorService executorPool; protected ExecutorService executorPool;
protected EasySQLPluginPlatform platform; protected MineSQLPlatform platform;
private final HashMap<String, SQLManagerImpl> sqlManagerRegistry = new HashMap<>(); private final HashMap<String, SQLManagerImpl> sqlManagerRegistry = new HashMap<>();
protected EasySQLRegistryImpl(@NotNull EasySQLPluginPlatform platform) { protected MineSQLRegistry(@NotNull MineSQLPlatform platform) {
this.platform = platform; this.platform = platform;
EasySQLRegistryImpl.instance = this; MineSQLRegistry.instance = this;
this.executorPool = Executors.newFixedThreadPool(2, (r) -> { this.executorPool = Executors.newFixedThreadPool(2, (r) -> {
Thread thread = new Thread(r, "EasySQLRegistry"); Thread thread = new Thread(r, "EasySQLRegistry");
thread.setDaemon(true); thread.setDaemon(true);
@ -69,19 +70,12 @@ public class EasySQLRegistryImpl implements EasySQLRegistry {
@Override @Override
public @NotNull SQLManagerImpl get(@Nullable String id) throws NullPointerException { public @NotNull SQLManagerImpl get(@Nullable String id) throws NullPointerException {
if (!this.sqlManagerRegistry.containsKey(id)) { return Objects.requireNonNull(this.sqlManagerRegistry.get(id), "并不存在ID为 #" + id + " 的SQLManager.");
throw new NullPointerException("并不存在ID为 #" + id + " 的SQLManager.");
}
return this.sqlManagerRegistry.get(id);
} }
@Override @Override
public @NotNull Optional<@Nullable SQLManagerImpl> getOptional(@Nullable String name) { public @NotNull Optional<@Nullable SQLManagerImpl> getOptional(@Nullable String id) {
try { return Optional.of(this.sqlManagerRegistry.get(id));
return Optional.of(get(name));
} catch (Exception exception) {
return Optional.empty();
}
} }
@Override @Override
@ -91,7 +85,7 @@ public class EasySQLRegistryImpl implements EasySQLRegistry {
} }
@Override @Override
public @NotNull SQLManagerImpl create(@Nullable String name, @NotNull DBConfiguration configuration) { public @NotNull SQLManagerImpl create(@NotNull String name, @NotNull DBConfiguration configuration) throws Exception {
BeeDataSourceConfig config = new BeeDataSourceConfig(); BeeDataSourceConfig config = new BeeDataSourceConfig();
config.setDriverClassName(configuration.getDriverClassName()); config.setDriverClassName(configuration.getDriverClassName());
config.setJdbcUrl(configuration.getUrlPrefix() + configuration.getUrl()); config.setJdbcUrl(configuration.getUrlPrefix() + configuration.getUrl());
@ -118,17 +112,17 @@ public class EasySQLRegistryImpl implements EasySQLRegistry {
} }
@Override @Override
public @NotNull SQLManagerImpl create(@Nullable String name, @NotNull Properties properties) { public @NotNull SQLManagerImpl create(@NotNull String name, @NotNull Properties properties) {
return create(name, new BeeDataSourceConfig(properties)); return create(name, new BeeDataSourceConfig(properties));
} }
@Override @Override
public @NotNull SQLManagerImpl create(@Nullable String name, @NotNull String propertyFileName) { public @NotNull SQLManagerImpl create(@NotNull String name, @NotNull DataSource source) {
return create(name, new BeeDataSourceConfig(propertyFileName)); return new SQLManagerImpl(source, name);
} }
public @NotNull SQLManagerImpl create(@Nullable String name, @NotNull BeeDataSourceConfig configuration) { public @NotNull SQLManagerImpl create(@NotNull String name, @NotNull BeeDataSourceConfig configuration) {
return new SQLManagerImpl(new BeeDataSource(configuration), name); return create(name, (DataSource) new BeeDataSource(configuration));
} }
@Override @Override
@ -149,11 +143,11 @@ public class EasySQLRegistryImpl implements EasySQLRegistry {
return executorPool; return executorPool;
} }
public static EasySQLRegistryImpl getInstance() { public static MineSQLRegistry getInstance() {
return instance; return instance;
} }
public EasySQLPluginPlatform getPlatform() { public MineSQLPlatform getPlatform() {
return platform; return platform;
} }

View File

@ -1,9 +1,9 @@
package cc.carm.plugin.easysql.command; package cc.carm.plugin.minesql.command;
import cc.carm.lib.easysql.api.SQLManager; import cc.carm.lib.easysql.api.SQLManager;
import cc.carm.lib.easysql.api.SQLQuery; import cc.carm.lib.easysql.api.SQLQuery;
import cc.carm.plugin.easysql.EasySQLRegistryImpl; import cc.carm.plugin.minesql.MineSQLRegistry;
import cc.carm.plugin.easysql.util.VersionReader; import cc.carm.plugin.minesql.util.VersionReader;
import co.aikar.commands.BaseCommand; import co.aikar.commands.BaseCommand;
import co.aikar.commands.CommandHelp; import co.aikar.commands.CommandHelp;
import co.aikar.commands.CommandIssuer; import co.aikar.commands.CommandIssuer;
@ -49,7 +49,7 @@ public class EasySQLCommand extends BaseCommand {
issuer.sendMessage("§8 - &f数据库驱动 h2-database §9" + reader.get("h2-driver")); issuer.sendMessage("§8 - &f数据库驱动 h2-database §9" + reader.get("h2-driver"));
issuer.sendMessage("§r正在检查插件更新请稍候..."); issuer.sendMessage("§r正在检查插件更新请稍候...");
EasySQLRegistryImpl.getInstance().checkUpdate(pluginVersion); MineSQLRegistry.getInstance().checkUpdate(pluginVersion);
} }
@Subcommand("list") @Subcommand("list")
@ -59,7 +59,7 @@ public class EasySQLCommand extends BaseCommand {
issuer.sendMessage("§c只有后台执行才能使用此命令。"); issuer.sendMessage("§c只有后台执行才能使用此命令。");
return; return;
} }
Map<String, ? extends SQLManager> runningManagers = EasySQLRegistryImpl.getInstance().list(); Map<String, ? extends SQLManager> runningManagers = MineSQLRegistry.getInstance().list();
if (runningManagers.isEmpty()) { if (runningManagers.isEmpty()) {
issuer.sendMessage("§r当前无正在运行的数据库管理器。"); issuer.sendMessage("§r当前无正在运行的数据库管理器。");
} else { } else {

View File

@ -1,4 +1,4 @@
package cc.carm.plugin.easysql.command; package cc.carm.plugin.minesql.command;
import co.aikar.commands.*; import co.aikar.commands.*;

View File

@ -1,6 +1,6 @@
package cc.carm.plugin.easysql.configuration; package cc.carm.plugin.minesql.configuration;
import cc.carm.plugin.easysql.api.DBConfiguration; import cc.carm.plugin.minesql.api.DBConfiguration;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.util.Map; import java.util.Map;

View File

@ -1,6 +1,5 @@
package cc.carm.plugin.easysql.util; package cc.carm.plugin.minesql.util;
import cc.carm.plugin.easysql.util.JarResourceUtils;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.io.File; import java.io.File;

View File

@ -1,4 +1,4 @@
package cc.carm.plugin.easysql.util; package cc.carm.plugin.minesql.util;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;

View File

@ -1,4 +1,4 @@
package cc.carm.plugin.easysql.util; package cc.carm.plugin.minesql.util;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;

View File

@ -1,4 +1,4 @@
package cc.carm.plugin.easysql.util; package cc.carm.plugin.minesql.util;
import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View File

@ -11,8 +11,8 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<properties> <properties>
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${project.jdk.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.target>${project.jdk.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<maven.javadoc.skip>true</maven.javadoc.skip> <maven.javadoc.skip>true</maven.javadoc.skip>
@ -120,27 +120,27 @@
<relocations> <relocations>
<relocation> <relocation>
<pattern>org.bstats</pattern> <pattern>org.bstats</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.bstats</shadedPattern> <shadedPattern>cc.carm.plugin.minesql.lib.bstats</shadedPattern>
</relocation> </relocation>
<relocation> <relocation>
<pattern>org.json</pattern> <pattern>org.json</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.json</shadedPattern> <shadedPattern>cc.carm.plugin.minesql.lib.json</shadedPattern>
</relocation> </relocation>
<relocation> <relocation>
<pattern>cc.carm.lib.easyplugin</pattern> <pattern>cc.carm.lib.easyplugin</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.easyplugin</shadedPattern> <shadedPattern>cc.carm.plugin.minesql.lib.easyplugin</shadedPattern>
</relocation> </relocation>
<relocation> <relocation>
<pattern>cc.carm.lib.githubreleases4j</pattern> <pattern>cc.carm.lib.githubreleases4j</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.githubreleases4j</shadedPattern> <shadedPattern>cc.carm.plugin.minesql.lib.githubreleases4j</shadedPattern>
</relocation> </relocation>
<relocation> <relocation>
<pattern>co.aikar.commands</pattern> <pattern>co.aikar.commands</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.acf</shadedPattern> <!-- Replace this --> <shadedPattern>cc.carm.plugin.minesql.lib.acf</shadedPattern> <!-- Replace this -->
</relocation> </relocation>
<relocation> <relocation>
<pattern>co.aikar.locales</pattern> <pattern>co.aikar.locales</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.locales</shadedPattern> <!-- Replace this --> <shadedPattern>cc.carm.plugin.minesql.lib.locales</shadedPattern> <!-- Replace this -->
</relocation> </relocation>
</relocations> </relocations>
<filters> <filters>

View File

@ -1,8 +1,8 @@
package cc.carm.plugin.easysql; package cc.carm.plugin.minesql;
import cc.carm.plugin.easysql.api.DBConfiguration; import cc.carm.plugin.minesql.api.DBConfiguration;
import cc.carm.plugin.easysql.api.SQLDriverType; import cc.carm.plugin.minesql.api.SQLDriverType;
import cc.carm.plugin.easysql.configuration.PluginConfiguration; import cc.carm.plugin.minesql.configuration.PluginConfiguration;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -60,18 +60,18 @@ public class BukkitConfiguration implements PluginConfiguration {
String driverString = dbSection.getString("driver-type"); String driverString = dbSection.getString("driver-type");
SQLDriverType driverType = SQLDriverType.parse(driverString); SQLDriverType driverType = SQLDriverType.parse(driverString);
if (driverType == null) { if (driverType == null) {
EasySQLBukkit.getInstance().error("不存在预设的驱动类型 " + driverString + "," + " 请检查配置文件 databases." + dbName + ""); MineSQLBukkit.getInstance().error("不存在预设的驱动类型 " + driverString + "," + " 请检查配置文件 databases." + dbName + "");
continue; continue;
} }
String host = dbSection.getString("host"); String host = dbSection.getString("host");
if (host == null) { if (host == null) {
EasySQLBukkit.getInstance().error("地址配置不得为空," + " 请检查配置文件 databases." + dbName + ""); MineSQLBukkit.getInstance().error("地址配置不得为空," + " 请检查配置文件 databases." + dbName + "");
continue; continue;
} }
int port = dbSection.getInt("port", -1); int port = dbSection.getInt("port", -1);
if (port < 0) { if (port < 0) {
EasySQLBukkit.getInstance().error("端口未配置正确," + " 请检查配置文件 databases." + dbName + ""); MineSQLBukkit.getInstance().error("端口未配置正确," + " 请检查配置文件 databases." + dbName + "");
continue; continue;
} }
DBConfiguration dbConfiguration = DBConfiguration.create(driverType, host + ":" + port); DBConfiguration dbConfiguration = DBConfiguration.create(driverType, host + ":" + port);

View File

@ -1,11 +1,11 @@
package cc.carm.plugin.easysql; package cc.carm.plugin.minesql;
import cc.carm.lib.easyplugin.EasyPlugin; import cc.carm.lib.easyplugin.EasyPlugin;
import cc.carm.lib.easyplugin.i18n.EasyPluginMessageProvider; import cc.carm.lib.easyplugin.i18n.EasyPluginMessageProvider;
import cc.carm.lib.easysql.api.SQLManager; import cc.carm.lib.easysql.api.SQLManager;
import cc.carm.plugin.easysql.api.DBConfiguration; import cc.carm.plugin.minesql.api.DBConfiguration;
import cc.carm.plugin.easysql.util.DBPropertiesUtil; import cc.carm.plugin.minesql.util.DBPropertiesUtil;
import cc.carm.plugin.easysql.util.JarResourceUtils; import cc.carm.plugin.minesql.util.JarResourceUtils;
import cn.beecp.BeeDataSource; import cn.beecp.BeeDataSource;
import co.aikar.commands.PaperCommandManager; import co.aikar.commands.PaperCommandManager;
import org.bstats.bukkit.Metrics; import org.bstats.bukkit.Metrics;
@ -15,29 +15,29 @@ import org.jetbrains.annotations.NotNull;
import java.io.File; import java.io.File;
import java.util.*; import java.util.*;
public class EasySQLBukkit extends EasyPlugin implements EasySQLPluginPlatform { public class MineSQLBukkit extends EasyPlugin implements MineSQLPlatform {
public EasySQLBukkit() { public MineSQLBukkit() {
super(new EasyPluginMessageProvider.zh_CN()); super(new EasyPluginMessageProvider.zh_CN());
} }
protected static EasySQLBukkit instance; protected static MineSQLBukkit instance;
private BukkitConfiguration configuration; private BukkitConfiguration configuration;
private EasySQLRegistryImpl registry; private MineSQLRegistry registry;
private PaperCommandManager commandManager; private PaperCommandManager commandManager;
@Override @Override
protected void load() { protected void load() {
EasySQLBukkit.instance = this; MineSQLBukkit.instance = this;
log("加载配置文件..."); log("加载配置文件...");
getInstance().saveDefaultConfig(); getInstance().saveDefaultConfig();
this.configuration = new BukkitConfiguration(getInstance().getConfig()); this.configuration = new BukkitConfiguration(getInstance().getConfig());
log("初始化EasySQL注册器..."); log("初始化EasySQL注册器...");
this.registry = new EasySQLRegistryImpl(this); this.registry = new MineSQLRegistry(this);
log("初始化EasySQLAPI..."); log("初始化EasySQLAPI...");
initializeAPI(getRegistry()); // 尽快地初始化接口方便其他插件调用 initializeAPI(getRegistry()); // 尽快地初始化接口方便其他插件调用
@ -94,7 +94,7 @@ public class EasySQLBukkit extends EasyPlugin implements EasySQLPluginPlatform {
@Override @Override
@NotNull @NotNull
public EasySQLRegistryImpl getRegistry() { public MineSQLRegistry getRegistry() {
return this.registry; return this.registry;
} }
@ -131,8 +131,8 @@ public class EasySQLBukkit extends EasyPlugin implements EasySQLPluginPlatform {
Optional.ofNullable(JarResourceUtils.readResource(this.getResource("PLUGIN_INFO"))).ifPresent(this::log); Optional.ofNullable(JarResourceUtils.readResource(this.getResource("PLUGIN_INFO"))).ifPresent(this::log);
} }
public static EasySQLBukkit getInstance() { public static MineSQLBukkit getInstance() {
return EasySQLBukkit.instance; return MineSQLBukkit.instance;
} }
protected BukkitConfiguration getConfiguration() { protected BukkitConfiguration getConfiguration() {

View File

@ -11,8 +11,8 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<properties> <properties>
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${project.jdk.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.target>${project.jdk.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<maven.javadoc.skip>true</maven.javadoc.skip> <maven.javadoc.skip>true</maven.javadoc.skip>
@ -156,23 +156,23 @@
<relocations> <relocations>
<relocation> <relocation>
<pattern>org.bstats</pattern> <pattern>org.bstats</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.bstats</shadedPattern> <shadedPattern>cc.carm.plugin.minesql.lib.bstats</shadedPattern>
</relocation> </relocation>
<relocation> <relocation>
<pattern>org.json</pattern> <pattern>org.json</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.json</shadedPattern> <shadedPattern>cc.carm.plugin.minesql.lib.json</shadedPattern>
</relocation> </relocation>
<relocation> <relocation>
<pattern>cc.carm.lib.githubreleases4j</pattern> <pattern>cc.carm.lib.githubreleases4j</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.githubreleases4j</shadedPattern> <shadedPattern>cc.carm.plugin.minesql.lib.githubreleases4j</shadedPattern>
</relocation> </relocation>
<relocation> <relocation>
<pattern>co.aikar.commands</pattern> <pattern>co.aikar.commands</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.acf</shadedPattern> <!-- Replace this --> <shadedPattern>cc.carm.plugin.minesql.lib.acf</shadedPattern> <!-- Replace this -->
</relocation> </relocation>
<relocation> <relocation>
<pattern>co.aikar.locales</pattern> <pattern>co.aikar.locales</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.locales</shadedPattern> <!-- Replace this --> <shadedPattern>cc.carm.plugin.minesql.lib.locales</shadedPattern> <!-- Replace this -->
</relocation> </relocation>
</relocations> </relocations>
</configuration> </configuration>

View File

@ -1,4 +1,4 @@
package cc.carm.plugin.easysql; package cc.carm.plugin.minesql;
import net.md_5.bungee.api.plugin.Plugin; import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.config.Configuration; import net.md_5.bungee.config.Configuration;

View File

@ -11,8 +11,8 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<properties> <properties>
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${project.jdk.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.target>${project.jdk.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<maven.javadoc.skip>true</maven.javadoc.skip> <maven.javadoc.skip>true</maven.javadoc.skip>
@ -138,23 +138,23 @@
<relocations> <relocations>
<relocation> <relocation>
<pattern>org.bstats</pattern> <pattern>org.bstats</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.bstats</shadedPattern> <shadedPattern>cc.carm.plugin.minesql.lib.bstats</shadedPattern>
</relocation> </relocation>
<relocation> <relocation>
<pattern>org.json</pattern> <pattern>org.json</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.json</shadedPattern> <shadedPattern>cc.carm.plugin.minesql.lib.json</shadedPattern>
</relocation> </relocation>
<relocation> <relocation>
<pattern>cc.carm.lib.githubreleases4j</pattern> <pattern>cc.carm.lib.githubreleases4j</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.githubreleases4j</shadedPattern> <shadedPattern>cc.carm.plugin.minesql.lib.githubreleases4j</shadedPattern>
</relocation> </relocation>
<relocation> <relocation>
<pattern>co.aikar.commands</pattern> <pattern>co.aikar.commands</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.acf</shadedPattern> <!-- Replace this --> <shadedPattern>cc.carm.plugin.minesql.lib.acf</shadedPattern> <!-- Replace this -->
</relocation> </relocation>
<relocation> <relocation>
<pattern>co.aikar.locales</pattern> <pattern>co.aikar.locales</pattern>
<shadedPattern>cc.carm.plugin.easysql.lib.locales</shadedPattern> <!-- Replace this --> <shadedPattern>cc.carm.plugin.minesql.lib.locales</shadedPattern> <!-- Replace this -->
</relocation> </relocation>
</relocations> </relocations>
</configuration> </configuration>

View File

@ -1,10 +1,10 @@
package cc.carm.plugin.easysql; package cc.carm.plugin.minesql;
import cc.carm.lib.easysql.api.SQLManager; import cc.carm.lib.easysql.api.SQLManager;
import cc.carm.plugin.easysql.api.DBConfiguration; import cc.carm.plugin.minesql.api.DBConfiguration;
import cc.carm.plugin.easysql.configuration.PluginConfiguration; import cc.carm.plugin.minesql.configuration.PluginConfiguration;
import cc.carm.plugin.easysql.util.DBPropertiesUtil; import cc.carm.plugin.minesql.util.DBPropertiesUtil;
import cc.carm.plugin.easysql.util.JarResourceUtils; import cc.carm.plugin.minesql.util.JarResourceUtils;
import cn.beecp.BeeDataSource; import cn.beecp.BeeDataSource;
import com.google.common.io.MoreFiles; import com.google.common.io.MoreFiles;
import com.google.inject.Inject; import com.google.inject.Inject;
@ -39,30 +39,30 @@ import java.util.Properties;
* @author huanmeng_qwq * @author huanmeng_qwq
*/ */
@Plugin("easysql-plugin") @Plugin("easysql-plugin")
public class EasySQLSponge implements EasySQLPluginPlatform { public class MineSQLSponge implements MineSQLPlatform {
@Inject @Inject
@ConfigDir(sharedRoot = false) @ConfigDir(sharedRoot = false)
private Path configDirectory; private Path configDirectory;
@Inject @Inject
private org.apache.logging.log4j.Logger logger; private org.apache.logging.log4j.Logger logger;
private static EasySQLSponge instance; private static MineSQLSponge instance;
private ConfigurationNode root; private ConfigurationNode root;
private PluginConfiguration configuration; private PluginConfiguration configuration;
private EasySQLRegistryImpl registry; private MineSQLRegistry registry;
private PluginContainer pluginContainer; private PluginContainer pluginContainer;
private final Metrics metrics; private final Metrics metrics;
@Inject @Inject
public EasySQLSponge(Metrics.Factory factory, PluginContainer pluginContainer) { public MineSQLSponge(Metrics.Factory factory, PluginContainer pluginContainer) {
this.metrics = factory.make(14075); this.metrics = factory.make(14075);
instance = this; instance = this;
HoconConfigurationLoader loader = HoconConfigurationLoader.builder().path(resolveConfig()).build(); HoconConfigurationLoader loader = HoconConfigurationLoader.builder().path(resolveConfig()).build();
try { try {
this.root = loader.load(); this.root = loader.load();
this.configuration = new SpongeConfiguration(root); this.configuration = new SpongeConfiguration(root);
this.registry = new EasySQLRegistryImpl(this); this.registry = new MineSQLRegistry(this);
this.pluginContainer = pluginContainer; this.pluginContainer = pluginContainer;
enable(); enable();
} catch (ConfigurateException ex) { } catch (ConfigurateException ex) {
@ -166,7 +166,7 @@ public class EasySQLSponge implements EasySQLPluginPlatform {
} }
@Override @Override
public @NotNull EasySQLRegistryImpl getRegistry() { public @NotNull MineSQLRegistry getRegistry() {
return registry; return registry;
} }
@ -174,7 +174,7 @@ public class EasySQLSponge implements EasySQLPluginPlatform {
return java.util.logging.Logger.getLogger("easysql-plugin"); return java.util.logging.Logger.getLogger("easysql-plugin");
} }
public static EasySQLSponge getInstance() { public static MineSQLSponge getInstance() {
return instance; return instance;
} }

View File

@ -1,8 +1,8 @@
package cc.carm.plugin.easysql; package cc.carm.plugin.minesql;
import cc.carm.plugin.easysql.api.DBConfiguration; import cc.carm.plugin.minesql.api.DBConfiguration;
import cc.carm.plugin.easysql.api.SQLDriverType; import cc.carm.plugin.minesql.api.SQLDriverType;
import cc.carm.plugin.easysql.configuration.PluginConfiguration; import cc.carm.plugin.minesql.configuration.PluginConfiguration;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.spongepowered.configurate.ConfigurationNode; import org.spongepowered.configurate.ConfigurationNode;
@ -60,18 +60,18 @@ public class SpongeConfiguration implements PluginConfiguration {
String driverString = dbSection.getString("driver-type"); String driverString = dbSection.getString("driver-type");
SQLDriverType driverType = SQLDriverType.parse(driverString); SQLDriverType driverType = SQLDriverType.parse(driverString);
if (driverType == null) { if (driverType == null) {
EasySQLSponge.getInstance().getLog().error("不存在预设的驱动类型 " + driverString + "," + " 请检查配置文件 databases." + dbEntry + ""); MineSQLSponge.getInstance().getLog().error("不存在预设的驱动类型 " + driverString + "," + " 请检查配置文件 databases." + dbEntry + "");
continue; continue;
} }
String host = dbSection.getString("host"); String host = dbSection.getString("host");
if (host == null) { if (host == null) {
EasySQLSponge.getInstance().getLog().error("地址配置不得为空," + " 请检查配置文件 databases." + dbEntry + ""); MineSQLSponge.getInstance().getLog().error("地址配置不得为空," + " 请检查配置文件 databases." + dbEntry + "");
continue; continue;
} }
int port = dbSection.node("port").getInt(-1); int port = dbSection.node("port").getInt(-1);
if (port < 0) { if (port < 0) {
EasySQLSponge.getInstance().getLog().error("端口未配置正确," + " 请检查配置文件 databases." + dbEntry + ""); MineSQLSponge.getInstance().getLog().error("端口未配置正确," + " 请检查配置文件 databases." + dbEntry + "");
continue; continue;
} }
DBConfiguration dbConfiguration = DBConfiguration.create(driverType, host + ":" + port); DBConfiguration dbConfiguration = DBConfiguration.create(driverType, host + ":" + port);

View File

@ -11,8 +11,8 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<properties> <properties>
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${project.jdk.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.target>${project.jdk.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<maven.javadoc.skip>true</maven.javadoc.skip> <maven.javadoc.skip>true</maven.javadoc.skip>

View File

@ -1,4 +1,4 @@
package cc.carm.plugin.easysql; package cc.carm.plugin.minesql;
import com.google.inject.Inject; import com.google.inject.Inject;

10
pom.xml
View File

@ -5,9 +5,9 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<properties> <properties>
<java.version>8</java.version> <project.jdk.version>8</project.jdk.version>
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${project.jdk.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.target>${project.jdk.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
@ -218,8 +218,8 @@
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version> <version>3.8.1</version>
<configuration> <configuration>
<source>${java.version}</source> <source>${project.jdk.version}</source>
<target>${java.version}</target> <target>${project.jdk.version}</target>
<encoding>UTF-8</encoding> <encoding>UTF-8</encoding>
<compilerArgument>-parameters</compilerArgument> <compilerArgument>-parameters</compilerArgument>
</configuration> </configuration>