summaryrefslogtreecommitdiffstats
path: root/EssentialsUpdate/src/com/earth2me/essentials/update/tasks
diff options
context:
space:
mode:
authorokamosy <okamosy@gmail.com>2011-10-30 21:30:21 +0000
committerokamosy <okamosy@gmail.com>2011-10-30 21:30:21 +0000
commitdd87dcdd3d3d94d00a38dbb37280fad183356601 (patch)
tree5eb10376287f9d3a4435e62168195598a42ccd8c /EssentialsUpdate/src/com/earth2me/essentials/update/tasks
parentffd7ba7d5f2312ea9fc1c818b39938e5d7de86b6 (diff)
parent4ac03ef15a7c729a683bfd65b419d0d6ca65756c (diff)
downloadEssentials-dd87dcdd3d3d94d00a38dbb37280fad183356601.tar
Essentials-dd87dcdd3d3d94d00a38dbb37280fad183356601.tar.gz
Essentials-dd87dcdd3d3d94d00a38dbb37280fad183356601.tar.lz
Essentials-dd87dcdd3d3d94d00a38dbb37280fad183356601.tar.xz
Essentials-dd87dcdd3d3d94d00a38dbb37280fad183356601.zip
Merge branch 'master' of github.com:essentials/Essentials into ess
Diffstat (limited to 'EssentialsUpdate/src/com/earth2me/essentials/update/tasks')
-rw-r--r--EssentialsUpdate/src/com/earth2me/essentials/update/tasks/InstallModule.java8
-rw-r--r--EssentialsUpdate/src/com/earth2me/essentials/update/tasks/SelfUpdate.java57
2 files changed, 61 insertions, 4 deletions
diff --git a/EssentialsUpdate/src/com/earth2me/essentials/update/tasks/InstallModule.java b/EssentialsUpdate/src/com/earth2me/essentials/update/tasks/InstallModule.java
index b97991a04..66eeb380d 100644
--- a/EssentialsUpdate/src/com/earth2me/essentials/update/tasks/InstallModule.java
+++ b/EssentialsUpdate/src/com/earth2me/essentials/update/tasks/InstallModule.java
@@ -3,7 +3,7 @@ package com.earth2me.essentials.update.tasks;
import com.earth2me.essentials.update.GetFile;
import com.earth2me.essentials.update.ModuleInfo;
import com.earth2me.essentials.update.VersionInfo;
-import com.earth2me.essentials.update.WorkListener;
+import com.earth2me.essentials.update.AbstractWorkListener;
import java.io.File;
import java.net.URL;
import java.util.logging.Level;
@@ -12,16 +12,16 @@ import org.bukkit.Bukkit;
public class InstallModule implements Runnable, Task
{
- protected final transient WorkListener listener;
+ protected final transient AbstractWorkListener listener;
private final transient String moduleName;
private final transient String fileName;
- public InstallModule(final WorkListener listener, final String moduleName)
+ public InstallModule(final AbstractWorkListener listener, final String moduleName)
{
this(listener, moduleName, moduleName + ".jar");
}
- public InstallModule(final WorkListener listener, final String moduleName, final String fileName)
+ public InstallModule(final AbstractWorkListener listener, final String moduleName, final String fileName)
{
this.listener = listener;
this.moduleName = moduleName;
diff --git a/EssentialsUpdate/src/com/earth2me/essentials/update/tasks/SelfUpdate.java b/EssentialsUpdate/src/com/earth2me/essentials/update/tasks/SelfUpdate.java
new file mode 100644
index 000000000..777e42517
--- /dev/null
+++ b/EssentialsUpdate/src/com/earth2me/essentials/update/tasks/SelfUpdate.java
@@ -0,0 +1,57 @@
+package com.earth2me.essentials.update.tasks;
+
+import com.earth2me.essentials.update.AbstractWorkListener;
+import org.bukkit.Bukkit;
+
+
+public class SelfUpdate extends AbstractWorkListener implements Task, Runnable
+{
+ private final transient AbstractWorkListener listener;
+
+ public SelfUpdate(final AbstractWorkListener listener)
+ {
+ super(listener.getPlugin(), listener.getNewVersionInfo());
+ this.listener = listener;
+ }
+
+ @Override
+ public void onWorkAbort(final String message)
+ {
+ listener.onWorkAbort(message);
+ }
+
+ @Override
+ public void onWorkDone(final String message)
+ {
+ listener.onWorkDone(message);
+ Bukkit.getScheduler().scheduleSyncDelayedTask(getPlugin(), new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ Bukkit.getServer().reload();
+ }
+ });
+ }
+
+ @Override
+ public void start()
+ {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(getPlugin(), this);
+ }
+
+ @Override
+ public void run()
+ {
+ Bukkit.getScheduler().scheduleAsyncDelayedTask(getPlugin(), new Runnable() {
+
+ @Override
+ public void run()
+ {
+ new InstallModule(SelfUpdate.this, "EssentialsUpdate").start();
+ }
+ });
+ }
+
+
+}