diff options
author | snowleo <schneeleo@gmail.com> | 2011-10-26 20:25:09 +0200 |
---|---|---|
committer | snowleo <schneeleo@gmail.com> | 2011-10-26 20:25:09 +0200 |
commit | e8b8d26bdbe935fff57ab3ded6902e576355f995 (patch) | |
tree | 8863a227c387bd86fcb145f16bbec0e116de061f | |
parent | d5cb9ab96556e9f438db688dd8f097f53089028a (diff) | |
download | Essentials-e8b8d26bdbe935fff57ab3ded6902e576355f995.tar Essentials-e8b8d26bdbe935fff57ab3ded6902e576355f995.tar.gz Essentials-e8b8d26bdbe935fff57ab3ded6902e576355f995.tar.lz Essentials-e8b8d26bdbe935fff57ab3ded6902e576355f995.tar.xz Essentials-e8b8d26bdbe935fff57ab3ded6902e576355f995.zip |
Basic automatic updates downloader
-rw-r--r-- | EssentialsUpdate/src/com/earth2me/essentials/update/UpdatesDownloader.java | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/EssentialsUpdate/src/com/earth2me/essentials/update/UpdatesDownloader.java b/EssentialsUpdate/src/com/earth2me/essentials/update/UpdatesDownloader.java index 717163726..d13d0d41b 100644 --- a/EssentialsUpdate/src/com/earth2me/essentials/update/UpdatesDownloader.java +++ b/EssentialsUpdate/src/com/earth2me/essentials/update/UpdatesDownloader.java @@ -1,9 +1,14 @@ package com.earth2me.essentials.update; +import com.earth2me.essentials.update.tasks.InstallModule; +import java.util.Iterator; +import java.util.Map.Entry; +import java.util.logging.Level; +import org.bukkit.Bukkit; import org.bukkit.plugin.Plugin; -public class UpdatesDownloader extends WorkListener +public class UpdatesDownloader extends WorkListener implements Runnable { public UpdatesDownloader(final Plugin plugin, final VersionInfo newVersionInfo) { @@ -12,17 +17,38 @@ public class UpdatesDownloader extends WorkListener public void start() { + iterator = getNewVersionInfo().getModules().entrySet().iterator(); + Bukkit.getScheduler().scheduleAsyncDelayedTask(getPlugin(), this); } + private transient Iterator<Entry<String, ModuleInfo>> iterator; @Override - public void onWorkAbort(String message) + public void run() { - throw new UnsupportedOperationException("Not supported yet."); + if (iterator.hasNext()) + { + final Entry<String, ModuleInfo> entry = iterator.next(); + if (Bukkit.getPluginManager().getPlugin(entry.getKey()) == null) + { + run(); + } + else + { + new InstallModule(this, entry.getKey()).start(); + } + } } @Override - public void onWorkDone(String message) + public void onWorkAbort(final String message) { - throw new UnsupportedOperationException("Not supported yet."); + Bukkit.getLogger().log(Level.SEVERE, message); + } + + @Override + public void onWorkDone(final String message) + { + Bukkit.getLogger().log(Level.INFO, message); + Bukkit.getScheduler().scheduleAsyncDelayedTask(getPlugin(), this); } } |