From f1b5551cf22f9579ad9c72b833c285e0884eaf8d Mon Sep 17 00:00:00 2001 From: j502647092 Date: Fri, 2 Oct 2015 21:26:47 +0800 Subject: [PATCH] run repo command async... Signed-off-by: j502647092 --- pom.xml | 6 +- .../citycraft/Yum/commands/CommandRepo.java | 59 +++++++++++-------- 2 files changed, 37 insertions(+), 28 deletions(-) diff --git a/pom.xml b/pom.xml index 4a17b18..4f6fba1 100644 --- a/pom.xml +++ b/pom.xml @@ -64,8 +64,8 @@ https://hub.spigotmc.org/nexus/content/groups/public/ - citycraft-repo - http://ci.citycraft.cn:8800/jenkins/plugin/repository/everything/ + sumcraft-repo + http://ci.sumcraft.net:8080/plugin/repository/everything/ Plugin Metrics @@ -77,7 +77,7 @@ org.spigotmc spigot-api jar - 1.8.3-R0.1-SNAPSHOT + 1.8.8-R0.1-SNAPSHOT cn.citycraft diff --git a/src/main/java/cn/citycraft/Yum/commands/CommandRepo.java b/src/main/java/cn/citycraft/Yum/commands/CommandRepo.java index 4be18e9..99521a4 100644 --- a/src/main/java/cn/citycraft/Yum/commands/CommandRepo.java +++ b/src/main/java/cn/citycraft/Yum/commands/CommandRepo.java @@ -37,38 +37,47 @@ public class CommandRepo extends BaseCommand { @Override public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException { - final String cmd = args[0]; - switch (cmd) { - case "add": - if (args.length == 2) { - if (YumManager.repo.addRepositories(sender, args[1])) { - sender.sendMessage("§6仓库: §a插件信息已缓存!"); - } else { - sender.sendMessage("§6仓库: §c源地址未找到仓库信息或无法访问!"); + main.getServer().getScheduler().runTaskAsynchronously(main, new Runnable() { + @Override + public void run() { + final String cmd = args[0]; + switch (cmd) { + case "add": + if (args.length == 2) { + if (YumManager.repo.addRepositories(sender, args[1])) { + sender.sendMessage("§6仓库: §a插件信息已缓存!"); + } else { + sender.sendMessage("§6仓库: §c源地址未找到仓库信息或无法访问!"); + } + } else { + sender.sendMessage("§6仓库: §c请输入源地址!"); + } + break; + case "list": + sender.sendMessage("§6仓库: §b缓存的插件信息如下 "); + StringUtil.sendStringArray(sender, YumManager.repo.getAllPluginsInfo()); + break; + case "clean": + YumManager.repo.clean(); + sender.sendMessage("§6仓库: §a缓存的插件信息已清理!"); + break; + case "update": + YumManager.repo.updateRepositories(sender); + sender.sendMessage("§6仓库: §a仓库缓存数据已更新!"); + break; } - } else { - sender.sendMessage("§6仓库: §c请输入源地址!"); } - break; - case "list": - sender.sendMessage("§6仓库: §b缓存的插件信息如下 "); - StringUtil.sendStringArray(sender, YumManager.repo.getAllPluginsInfo()); - break; - case "clean": - YumManager.repo.clean(); - sender.sendMessage("§6仓库: §a缓存的插件信息已清理!"); - break; - case "update": - YumManager.repo.updateRepositories(sender); - sender.sendMessage("§6仓库: §a仓库缓存数据已更新!"); - break; - } + }); } @Override public List onTabComplete(final CommandSender sender, final Command command, final String label, final String[] args) { if (args[0].equalsIgnoreCase("repo")) { - return StringUtil.copyPartialMatches(args[1], Arrays.asList(new String[] { "add", "list", "clean", "update" }), new ArrayList()); + return StringUtil.copyPartialMatches(args[1], Arrays.asList(new String[] { "add", + "list", + "clean", + "update" }), + new ArrayList()); } return null; }