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:
parent
30b1edc753
commit
1557c14116
@ -10,8 +10,8 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
<maven.compiler.source>${project.jdk.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${project.jdk.version}</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
||||
</properties>
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
17
api/src/main/java/cc/carm/plugin/minesql/MineSQL.java
Normal file
17
api/src/main/java/cc/carm/plugin/minesql/MineSQL.java
Normal 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;
|
||||
}
|
||||
|
||||
}
|
@ -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.Nullable;
|
@ -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.NotNull;
|
@ -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.SQLQuery;
|
||||
@ -6,6 +6,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Properties;
|
||||
@ -15,7 +16,7 @@ import java.util.function.Consumer;
|
||||
/**
|
||||
* 入口类
|
||||
*/
|
||||
public interface EasySQLRegistry {
|
||||
public interface SQLRegistry {
|
||||
|
||||
/**
|
||||
* 获取原生注册的指定名称的 SQLManager 实例
|
||||
@ -50,7 +51,7 @@ public interface EasySQLRegistry {
|
||||
* @return {@link SQLManager} 实例
|
||||
* @throws Exception 若创建失败则抛出异常
|
||||
*/
|
||||
@NotNull SQLManager create(@Nullable String name,
|
||||
@NotNull SQLManager create(@NotNull String name,
|
||||
@NotNull DBConfiguration configuration) throws Exception;
|
||||
|
||||
/**
|
||||
@ -61,19 +62,10 @@ public interface EasySQLRegistry {
|
||||
* @return {@link SQLManager} 实例
|
||||
* @throws Exception 若创建失败则抛出异常
|
||||
*/
|
||||
@NotNull SQLManager create(@Nullable String name,
|
||||
@NotNull SQLManager create(@NotNull String name,
|
||||
@NotNull Properties properties) throws Exception;
|
||||
|
||||
/**
|
||||
* 创建并注册一个新的 SQLManager 实例
|
||||
*
|
||||
* @param name 实例名称
|
||||
* @param propertyFileName 配置文件的资源名称
|
||||
* @return {@link SQLManager} 实例
|
||||
* @throws Exception 若创建失败则抛出异常
|
||||
*/
|
||||
@NotNull SQLManager create(@Nullable String name,
|
||||
@NotNull String propertyFileName) throws Exception;
|
||||
@NotNull SQLManager create(@NotNull String name, @NotNull DataSource source) throws Exception;
|
||||
|
||||
/**
|
||||
* 终止并关闭一个 SQLManager 实例。
|
10
core/pom.xml
10
core/pom.xml
@ -10,8 +10,8 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
<maven.compiler.source>${project.jdk.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${project.jdk.version}</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
||||
<maven.javadoc.skip>true</maven.javadoc.skip>
|
||||
@ -81,6 +81,12 @@
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<artifactId>easyplugin-githubchecker</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<artifactId>githubreleases4j</artifactId>
|
||||
|
@ -1,10 +1,10 @@
|
||||
package cc.carm.plugin.easysql;
|
||||
package cc.carm.plugin.minesql;
|
||||
|
||||
import cc.carm.lib.easysql.api.SQLManager;
|
||||
import cc.carm.plugin.easysql.api.DBConfiguration;
|
||||
import cc.carm.plugin.easysql.api.EasySQLRegistry;
|
||||
import cc.carm.plugin.easysql.command.EasySQLCommand;
|
||||
import cc.carm.plugin.easysql.command.EasySQLHelpFormatter;
|
||||
import cc.carm.plugin.minesql.api.DBConfiguration;
|
||||
import cc.carm.plugin.minesql.api.SQLRegistry;
|
||||
import cc.carm.plugin.minesql.command.EasySQLCommand;
|
||||
import cc.carm.plugin.minesql.command.EasySQLHelpFormatter;
|
||||
import co.aikar.commands.CommandManager;
|
||||
import co.aikar.commands.InvalidCommandArgument;
|
||||
import co.aikar.commands.Locales;
|
||||
@ -15,9 +15,9 @@ import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public interface EasySQLPluginPlatform {
|
||||
public interface MineSQLPlatform {
|
||||
|
||||
@NotNull EasySQLRegistry getRegistry();
|
||||
@NotNull SQLRegistry getRegistry();
|
||||
|
||||
@NotNull Map<String, DBConfiguration> readConfigurations();
|
||||
|
||||
@ -25,8 +25,8 @@ public interface EasySQLPluginPlatform {
|
||||
|
||||
Logger getLogger();
|
||||
|
||||
default void initializeAPI(EasySQLRegistry registry) {
|
||||
EasySQLAPI.initializeAPI(registry);
|
||||
default void initializeAPI(SQLRegistry registry) {
|
||||
MineSQL.initializeAPI(registry);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
@ -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.SQLQuery;
|
||||
import cc.carm.lib.easysql.manager.SQLManagerImpl;
|
||||
import cc.carm.lib.githubreleases4j.GithubReleases4J;
|
||||
import cc.carm.plugin.easysql.api.DBConfiguration;
|
||||
import cc.carm.plugin.easysql.api.EasySQLRegistry;
|
||||
import cc.carm.plugin.minesql.api.DBConfiguration;
|
||||
import cc.carm.plugin.minesql.api.SQLRegistry;
|
||||
import cn.beecp.BeeDataSource;
|
||||
import cn.beecp.BeeDataSourceConfig;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
@ -13,25 +13,26 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.function.Consumer;
|
||||
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_NAME = "EasySQL-Plugin";
|
||||
|
||||
private static EasySQLRegistryImpl instance;
|
||||
private static MineSQLRegistry instance;
|
||||
|
||||
protected ExecutorService executorPool;
|
||||
protected EasySQLPluginPlatform platform;
|
||||
protected MineSQLPlatform platform;
|
||||
private final HashMap<String, SQLManagerImpl> sqlManagerRegistry = new HashMap<>();
|
||||
|
||||
protected EasySQLRegistryImpl(@NotNull EasySQLPluginPlatform platform) {
|
||||
protected MineSQLRegistry(@NotNull MineSQLPlatform platform) {
|
||||
this.platform = platform;
|
||||
EasySQLRegistryImpl.instance = this;
|
||||
MineSQLRegistry.instance = this;
|
||||
this.executorPool = Executors.newFixedThreadPool(2, (r) -> {
|
||||
Thread thread = new Thread(r, "EasySQLRegistry");
|
||||
thread.setDaemon(true);
|
||||
@ -69,19 +70,12 @@ public class EasySQLRegistryImpl implements EasySQLRegistry {
|
||||
|
||||
@Override
|
||||
public @NotNull SQLManagerImpl get(@Nullable String id) throws NullPointerException {
|
||||
if (!this.sqlManagerRegistry.containsKey(id)) {
|
||||
throw new NullPointerException("并不存在ID为 #" + id + " 的SQLManager.");
|
||||
}
|
||||
return this.sqlManagerRegistry.get(id);
|
||||
return Objects.requireNonNull(this.sqlManagerRegistry.get(id), "并不存在ID为 #" + id + " 的SQLManager.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Optional<@Nullable SQLManagerImpl> getOptional(@Nullable String name) {
|
||||
try {
|
||||
return Optional.of(get(name));
|
||||
} catch (Exception exception) {
|
||||
return Optional.empty();
|
||||
}
|
||||
public @NotNull Optional<@Nullable SQLManagerImpl> getOptional(@Nullable String id) {
|
||||
return Optional.of(this.sqlManagerRegistry.get(id));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -91,7 +85,7 @@ public class EasySQLRegistryImpl implements EasySQLRegistry {
|
||||
}
|
||||
|
||||
@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();
|
||||
config.setDriverClassName(configuration.getDriverClassName());
|
||||
config.setJdbcUrl(configuration.getUrlPrefix() + configuration.getUrl());
|
||||
@ -118,17 +112,17 @@ public class EasySQLRegistryImpl implements EasySQLRegistry {
|
||||
}
|
||||
|
||||
@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));
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull SQLManagerImpl create(@Nullable String name, @NotNull String propertyFileName) {
|
||||
return create(name, new BeeDataSourceConfig(propertyFileName));
|
||||
public @NotNull SQLManagerImpl create(@NotNull String name, @NotNull DataSource source) {
|
||||
return new SQLManagerImpl(source, name);
|
||||
}
|
||||
|
||||
public @NotNull SQLManagerImpl create(@Nullable String name, @NotNull BeeDataSourceConfig configuration) {
|
||||
return new SQLManagerImpl(new BeeDataSource(configuration), name);
|
||||
public @NotNull SQLManagerImpl create(@NotNull String name, @NotNull BeeDataSourceConfig configuration) {
|
||||
return create(name, (DataSource) new BeeDataSource(configuration));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -149,11 +143,11 @@ public class EasySQLRegistryImpl implements EasySQLRegistry {
|
||||
return executorPool;
|
||||
}
|
||||
|
||||
public static EasySQLRegistryImpl getInstance() {
|
||||
public static MineSQLRegistry getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public EasySQLPluginPlatform getPlatform() {
|
||||
public MineSQLPlatform getPlatform() {
|
||||
return platform;
|
||||
}
|
||||
|
@ -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.SQLQuery;
|
||||
import cc.carm.plugin.easysql.EasySQLRegistryImpl;
|
||||
import cc.carm.plugin.easysql.util.VersionReader;
|
||||
import cc.carm.plugin.minesql.MineSQLRegistry;
|
||||
import cc.carm.plugin.minesql.util.VersionReader;
|
||||
import co.aikar.commands.BaseCommand;
|
||||
import co.aikar.commands.CommandHelp;
|
||||
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("§r正在检查插件更新,请稍候...");
|
||||
EasySQLRegistryImpl.getInstance().checkUpdate(pluginVersion);
|
||||
MineSQLRegistry.getInstance().checkUpdate(pluginVersion);
|
||||
}
|
||||
|
||||
@Subcommand("list")
|
||||
@ -59,7 +59,7 @@ public class EasySQLCommand extends BaseCommand {
|
||||
issuer.sendMessage("§c只有后台执行才能使用此命令。");
|
||||
return;
|
||||
}
|
||||
Map<String, ? extends SQLManager> runningManagers = EasySQLRegistryImpl.getInstance().list();
|
||||
Map<String, ? extends SQLManager> runningManagers = MineSQLRegistry.getInstance().list();
|
||||
if (runningManagers.isEmpty()) {
|
||||
issuer.sendMessage("§r当前无正在运行的数据库管理器。");
|
||||
} else {
|
@ -1,4 +1,4 @@
|
||||
package cc.carm.plugin.easysql.command;
|
||||
package cc.carm.plugin.minesql.command;
|
||||
|
||||
import co.aikar.commands.*;
|
||||
|
@ -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 java.util.Map;
|
@ -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 java.io.File;
|
@ -1,4 +1,4 @@
|
||||
package cc.carm.plugin.easysql.util;
|
||||
package cc.carm.plugin.minesql.util;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
@ -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.Nullable;
|
@ -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.NotNull;
|
@ -11,8 +11,8 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
<maven.compiler.source>${project.jdk.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${project.jdk.version}</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
||||
<maven.javadoc.skip>true</maven.javadoc.skip>
|
||||
@ -120,27 +120,27 @@
|
||||
<relocations>
|
||||
<relocation>
|
||||
<pattern>org.bstats</pattern>
|
||||
<shadedPattern>cc.carm.plugin.easysql.lib.bstats</shadedPattern>
|
||||
<shadedPattern>cc.carm.plugin.minesql.lib.bstats</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>org.json</pattern>
|
||||
<shadedPattern>cc.carm.plugin.easysql.lib.json</shadedPattern>
|
||||
<shadedPattern>cc.carm.plugin.minesql.lib.json</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>cc.carm.lib.easyplugin</pattern>
|
||||
<shadedPattern>cc.carm.plugin.easysql.lib.easyplugin</shadedPattern>
|
||||
<shadedPattern>cc.carm.plugin.minesql.lib.easyplugin</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>cc.carm.lib.githubreleases4j</pattern>
|
||||
<shadedPattern>cc.carm.plugin.easysql.lib.githubreleases4j</shadedPattern>
|
||||
<shadedPattern>cc.carm.plugin.minesql.lib.githubreleases4j</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<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>
|
||||
<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>
|
||||
</relocations>
|
||||
<filters>
|
||||
|
@ -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.easysql.api.SQLDriverType;
|
||||
import cc.carm.plugin.easysql.configuration.PluginConfiguration;
|
||||
import cc.carm.plugin.minesql.api.DBConfiguration;
|
||||
import cc.carm.plugin.minesql.api.SQLDriverType;
|
||||
import cc.carm.plugin.minesql.configuration.PluginConfiguration;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@ -60,18 +60,18 @@ public class BukkitConfiguration implements PluginConfiguration {
|
||||
String driverString = dbSection.getString("driver-type");
|
||||
SQLDriverType driverType = SQLDriverType.parse(driverString);
|
||||
if (driverType == null) {
|
||||
EasySQLBukkit.getInstance().error("不存在预设的驱动类型 " + driverString + "," + " 请检查配置文件 databases." + dbName + "。");
|
||||
MineSQLBukkit.getInstance().error("不存在预设的驱动类型 " + driverString + "," + " 请检查配置文件 databases." + dbName + "。");
|
||||
continue;
|
||||
}
|
||||
String host = dbSection.getString("host");
|
||||
if (host == null) {
|
||||
EasySQLBukkit.getInstance().error("地址配置不得为空," + " 请检查配置文件 databases." + dbName + "。");
|
||||
MineSQLBukkit.getInstance().error("地址配置不得为空," + " 请检查配置文件 databases." + dbName + "。");
|
||||
continue;
|
||||
}
|
||||
|
||||
int port = dbSection.getInt("port", -1);
|
||||
if (port < 0) {
|
||||
EasySQLBukkit.getInstance().error("端口未配置正确," + " 请检查配置文件 databases." + dbName + "。");
|
||||
MineSQLBukkit.getInstance().error("端口未配置正确," + " 请检查配置文件 databases." + dbName + "。");
|
||||
continue;
|
||||
}
|
||||
DBConfiguration dbConfiguration = DBConfiguration.create(driverType, host + ":" + port);
|
@ -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.i18n.EasyPluginMessageProvider;
|
||||
import cc.carm.lib.easysql.api.SQLManager;
|
||||
import cc.carm.plugin.easysql.api.DBConfiguration;
|
||||
import cc.carm.plugin.easysql.util.DBPropertiesUtil;
|
||||
import cc.carm.plugin.easysql.util.JarResourceUtils;
|
||||
import cc.carm.plugin.minesql.api.DBConfiguration;
|
||||
import cc.carm.plugin.minesql.util.DBPropertiesUtil;
|
||||
import cc.carm.plugin.minesql.util.JarResourceUtils;
|
||||
import cn.beecp.BeeDataSource;
|
||||
import co.aikar.commands.PaperCommandManager;
|
||||
import org.bstats.bukkit.Metrics;
|
||||
@ -15,29 +15,29 @@ import org.jetbrains.annotations.NotNull;
|
||||
import java.io.File;
|
||||
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());
|
||||
}
|
||||
|
||||
protected static EasySQLBukkit instance;
|
||||
protected static MineSQLBukkit instance;
|
||||
|
||||
private BukkitConfiguration configuration;
|
||||
private EasySQLRegistryImpl registry;
|
||||
private MineSQLRegistry registry;
|
||||
|
||||
private PaperCommandManager commandManager;
|
||||
|
||||
@Override
|
||||
protected void load() {
|
||||
EasySQLBukkit.instance = this;
|
||||
MineSQLBukkit.instance = this;
|
||||
|
||||
log("加载配置文件...");
|
||||
getInstance().saveDefaultConfig();
|
||||
this.configuration = new BukkitConfiguration(getInstance().getConfig());
|
||||
|
||||
log("初始化EasySQL注册器...");
|
||||
this.registry = new EasySQLRegistryImpl(this);
|
||||
this.registry = new MineSQLRegistry(this);
|
||||
|
||||
log("初始化EasySQLAPI...");
|
||||
initializeAPI(getRegistry()); // 尽快地初始化接口,方便其他插件调用
|
||||
@ -94,7 +94,7 @@ public class EasySQLBukkit extends EasyPlugin implements EasySQLPluginPlatform {
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public EasySQLRegistryImpl getRegistry() {
|
||||
public MineSQLRegistry getRegistry() {
|
||||
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);
|
||||
}
|
||||
|
||||
public static EasySQLBukkit getInstance() {
|
||||
return EasySQLBukkit.instance;
|
||||
public static MineSQLBukkit getInstance() {
|
||||
return MineSQLBukkit.instance;
|
||||
}
|
||||
|
||||
protected BukkitConfiguration getConfiguration() {
|
@ -11,8 +11,8 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
<maven.compiler.source>${project.jdk.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${project.jdk.version}</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
||||
<maven.javadoc.skip>true</maven.javadoc.skip>
|
||||
@ -156,23 +156,23 @@
|
||||
<relocations>
|
||||
<relocation>
|
||||
<pattern>org.bstats</pattern>
|
||||
<shadedPattern>cc.carm.plugin.easysql.lib.bstats</shadedPattern>
|
||||
<shadedPattern>cc.carm.plugin.minesql.lib.bstats</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>org.json</pattern>
|
||||
<shadedPattern>cc.carm.plugin.easysql.lib.json</shadedPattern>
|
||||
<shadedPattern>cc.carm.plugin.minesql.lib.json</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>cc.carm.lib.githubreleases4j</pattern>
|
||||
<shadedPattern>cc.carm.plugin.easysql.lib.githubreleases4j</shadedPattern>
|
||||
<shadedPattern>cc.carm.plugin.minesql.lib.githubreleases4j</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<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>
|
||||
<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>
|
||||
</relocations>
|
||||
</configuration>
|
||||
|
@ -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.config.Configuration;
|
@ -11,8 +11,8 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
<maven.compiler.source>${project.jdk.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${project.jdk.version}</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
||||
<maven.javadoc.skip>true</maven.javadoc.skip>
|
||||
@ -138,23 +138,23 @@
|
||||
<relocations>
|
||||
<relocation>
|
||||
<pattern>org.bstats</pattern>
|
||||
<shadedPattern>cc.carm.plugin.easysql.lib.bstats</shadedPattern>
|
||||
<shadedPattern>cc.carm.plugin.minesql.lib.bstats</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>org.json</pattern>
|
||||
<shadedPattern>cc.carm.plugin.easysql.lib.json</shadedPattern>
|
||||
<shadedPattern>cc.carm.plugin.minesql.lib.json</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>cc.carm.lib.githubreleases4j</pattern>
|
||||
<shadedPattern>cc.carm.plugin.easysql.lib.githubreleases4j</shadedPattern>
|
||||
<shadedPattern>cc.carm.plugin.minesql.lib.githubreleases4j</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<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>
|
||||
<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>
|
||||
</relocations>
|
||||
</configuration>
|
||||
|
@ -1,10 +1,10 @@
|
||||
package cc.carm.plugin.easysql;
|
||||
package cc.carm.plugin.minesql;
|
||||
|
||||
import cc.carm.lib.easysql.api.SQLManager;
|
||||
import cc.carm.plugin.easysql.api.DBConfiguration;
|
||||
import cc.carm.plugin.easysql.configuration.PluginConfiguration;
|
||||
import cc.carm.plugin.easysql.util.DBPropertiesUtil;
|
||||
import cc.carm.plugin.easysql.util.JarResourceUtils;
|
||||
import cc.carm.plugin.minesql.api.DBConfiguration;
|
||||
import cc.carm.plugin.minesql.configuration.PluginConfiguration;
|
||||
import cc.carm.plugin.minesql.util.DBPropertiesUtil;
|
||||
import cc.carm.plugin.minesql.util.JarResourceUtils;
|
||||
import cn.beecp.BeeDataSource;
|
||||
import com.google.common.io.MoreFiles;
|
||||
import com.google.inject.Inject;
|
||||
@ -39,30 +39,30 @@ import java.util.Properties;
|
||||
* @author huanmeng_qwq
|
||||
*/
|
||||
@Plugin("easysql-plugin")
|
||||
public class EasySQLSponge implements EasySQLPluginPlatform {
|
||||
public class MineSQLSponge implements MineSQLPlatform {
|
||||
@Inject
|
||||
@ConfigDir(sharedRoot = false)
|
||||
private Path configDirectory;
|
||||
@Inject
|
||||
private org.apache.logging.log4j.Logger logger;
|
||||
|
||||
private static EasySQLSponge instance;
|
||||
private static MineSQLSponge instance;
|
||||
private ConfigurationNode root;
|
||||
private PluginConfiguration configuration;
|
||||
private EasySQLRegistryImpl registry;
|
||||
private MineSQLRegistry registry;
|
||||
private PluginContainer pluginContainer;
|
||||
|
||||
private final Metrics metrics;
|
||||
|
||||
@Inject
|
||||
public EasySQLSponge(Metrics.Factory factory, PluginContainer pluginContainer) {
|
||||
public MineSQLSponge(Metrics.Factory factory, PluginContainer pluginContainer) {
|
||||
this.metrics = factory.make(14075);
|
||||
instance = this;
|
||||
HoconConfigurationLoader loader = HoconConfigurationLoader.builder().path(resolveConfig()).build();
|
||||
try {
|
||||
this.root = loader.load();
|
||||
this.configuration = new SpongeConfiguration(root);
|
||||
this.registry = new EasySQLRegistryImpl(this);
|
||||
this.registry = new MineSQLRegistry(this);
|
||||
this.pluginContainer = pluginContainer;
|
||||
enable();
|
||||
} catch (ConfigurateException ex) {
|
||||
@ -166,7 +166,7 @@ public class EasySQLSponge implements EasySQLPluginPlatform {
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull EasySQLRegistryImpl getRegistry() {
|
||||
public @NotNull MineSQLRegistry getRegistry() {
|
||||
return registry;
|
||||
}
|
||||
|
||||
@ -174,7 +174,7 @@ public class EasySQLSponge implements EasySQLPluginPlatform {
|
||||
return java.util.logging.Logger.getLogger("easysql-plugin");
|
||||
}
|
||||
|
||||
public static EasySQLSponge getInstance() {
|
||||
public static MineSQLSponge getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
@ -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.easysql.api.SQLDriverType;
|
||||
import cc.carm.plugin.easysql.configuration.PluginConfiguration;
|
||||
import cc.carm.plugin.minesql.api.DBConfiguration;
|
||||
import cc.carm.plugin.minesql.api.SQLDriverType;
|
||||
import cc.carm.plugin.minesql.configuration.PluginConfiguration;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.spongepowered.configurate.ConfigurationNode;
|
||||
|
||||
@ -60,18 +60,18 @@ public class SpongeConfiguration implements PluginConfiguration {
|
||||
String driverString = dbSection.getString("driver-type");
|
||||
SQLDriverType driverType = SQLDriverType.parse(driverString);
|
||||
if (driverType == null) {
|
||||
EasySQLSponge.getInstance().getLog().error("不存在预设的驱动类型 " + driverString + "," + " 请检查配置文件 databases." + dbEntry + "。");
|
||||
MineSQLSponge.getInstance().getLog().error("不存在预设的驱动类型 " + driverString + "," + " 请检查配置文件 databases." + dbEntry + "。");
|
||||
continue;
|
||||
}
|
||||
String host = dbSection.getString("host");
|
||||
if (host == null) {
|
||||
EasySQLSponge.getInstance().getLog().error("地址配置不得为空," + " 请检查配置文件 databases." + dbEntry + "。");
|
||||
MineSQLSponge.getInstance().getLog().error("地址配置不得为空," + " 请检查配置文件 databases." + dbEntry + "。");
|
||||
continue;
|
||||
}
|
||||
|
||||
int port = dbSection.node("port").getInt(-1);
|
||||
if (port < 0) {
|
||||
EasySQLSponge.getInstance().getLog().error("端口未配置正确," + " 请检查配置文件 databases." + dbEntry + "。");
|
||||
MineSQLSponge.getInstance().getLog().error("端口未配置正确," + " 请检查配置文件 databases." + dbEntry + "。");
|
||||
continue;
|
||||
}
|
||||
DBConfiguration dbConfiguration = DBConfiguration.create(driverType, host + ":" + port);
|
@ -11,8 +11,8 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
<maven.compiler.source>${project.jdk.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${project.jdk.version}</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
||||
<maven.javadoc.skip>true</maven.javadoc.skip>
|
||||
|
@ -1,4 +1,4 @@
|
||||
package cc.carm.plugin.easysql;
|
||||
package cc.carm.plugin.minesql;
|
||||
|
||||
|
||||
import com.google.inject.Inject;
|
10
pom.xml
10
pom.xml
@ -5,9 +5,9 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<properties>
|
||||
<java.version>8</java.version>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
<project.jdk.version>8</project.jdk.version>
|
||||
<maven.compiler.source>${project.jdk.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${project.jdk.version}</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
||||
|
||||
@ -218,8 +218,8 @@
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<source>${java.version}</source>
|
||||
<target>${java.version}</target>
|
||||
<source>${project.jdk.version}</source>
|
||||
<target>${project.jdk.version}</target>
|
||||
<encoding>UTF-8</encoding>
|
||||
<compilerArgument>-parameters</compilerArgument>
|
||||
</configuration>
|
||||
|
Loading…
Reference in New Issue
Block a user