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>
<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>

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.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.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.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 实例

View File

@ -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>

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.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")

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.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;
}

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.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 {

View File

@ -1,4 +1,4 @@
package cc.carm.plugin.easysql.command;
package cc.carm.plugin.minesql.command;
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 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 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;

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.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.NotNull;

View File

@ -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>

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.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);

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.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() {

View File

@ -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>

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.config.Configuration;

View File

@ -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>

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.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;
}

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.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);

View File

@ -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>

View File

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

10
pom.xml
View File

@ -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>