summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2011-01-03 15:31:54 +0000
committerDinnerbone <dinnerbone@dinnerbone.com>2011-01-03 15:31:54 +0000
commit9b80d7a9474160c9b13dbf14bd4ca08a0f11edfb (patch)
tree5ee769065743ef3dbcc57d3efe81b9670d4af323 /src/main/java
parentf0d96a47fde4d63e9c765fc9ce802e8d65e2b757 (diff)
downloadbukkit-9b80d7a9474160c9b13dbf14bd4ca08a0f11edfb.tar
bukkit-9b80d7a9474160c9b13dbf14bd4ca08a0f11edfb.tar.gz
bukkit-9b80d7a9474160c9b13dbf14bd4ca08a0f11edfb.tar.lz
bukkit-9b80d7a9474160c9b13dbf14bd4ca08a0f11edfb.tar.xz
bukkit-9b80d7a9474160c9b13dbf14bd4ca08a0f11edfb.zip
Formatting
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/bukkit/fillr/Checker.java182
-rw-r--r--src/main/java/org/bukkit/fillr/Downloader.java308
-rw-r--r--src/main/java/org/bukkit/fillr/FillReader.java121
-rw-r--r--src/main/java/org/bukkit/fillr/Fillr.java1
-rw-r--r--src/main/java/org/bukkit/fillr/Getter.java69
-rw-r--r--src/main/java/org/bukkit/fillr/PluginFilter.java16
-rw-r--r--src/main/java/org/bukkit/fillr/Updater.java190
7 files changed, 442 insertions, 445 deletions
diff --git a/src/main/java/org/bukkit/fillr/Checker.java b/src/main/java/org/bukkit/fillr/Checker.java
index cfb2a5b2..612957b2 100644
--- a/src/main/java/org/bukkit/fillr/Checker.java
+++ b/src/main/java/org/bukkit/fillr/Checker.java
@@ -6,98 +6,100 @@ import org.bukkit.*;
import org.bukkit.plugin.*;
public class Checker {
- private static String directory = Fillr.directory;
+ private static String directory = Fillr.directory;
- /**
- * Checks all the plugins in plugins/ for updates
- *
- * @param player
- * The player to send info to
- */
- void check(Player player) {
- File folder = new File(directory);
- File[] files = folder.listFiles(new PluginFilter());
- if (files.length == 0) {
- player.sendMessage("No plugins to update.");
- } else {
- player.sendMessage("Status for " + files.length
- + " plugins:");
- for (File file : files) {
- PluginDescriptionFile pdfFile = Checker.getPDF(file);
- if(pdfFile == null) continue;
- checkForUpdate(file, player);
- }
- }
- }
+ /**
+ * Checks all the plugins in plugins/ for updates
+ *
+ * @param player
+ * The player to send info to
+ */
+ void check(Player player) {
+ File folder = new File(directory);
+ File[] files = folder.listFiles(new PluginFilter());
+ if (files.length == 0) {
+ player.sendMessage("No plugins to update.");
+ } else {
+ player.sendMessage("Status for " + files.length
+ + " plugins:");
+ for (File file : files) {
+ PluginDescriptionFile pdfFile = Checker.getPDF(file);
+ if (pdfFile == null) {
+ continue;
+ }
+ checkForUpdate(file, player);
+ }
+ }
+ }
- /**
- * Checks for an update for a given plugin
- *
- * @param file
- * The plugin file to check for an update
- * @param player
- * The player to send info to
- */
- private void checkForUpdate(File file, Player player) {
- PluginDescriptionFile pdfFile = Checker.getPDF(file);
- FillReader reader = needsUpdate(pdfFile);
- if (reader != null) {
- player.sendMessage(Color.RED + reader.getName() + " "
- + pdfFile.getVersion() + " has an update to "
- + reader.getCurrVersion());
- } else {
- player.sendMessage(reader.getName() + " " + reader.getCurrVersion()
- + " is up to date!");
- }
- }
+ /**
+ * Checks for an update for a given plugin
+ *
+ * @param file
+ * The plugin file to check for an update
+ * @param player
+ * The player to send info to
+ */
+ private void checkForUpdate(File file, Player player) {
+ PluginDescriptionFile pdfFile = Checker.getPDF(file);
+ FillReader reader = needsUpdate(pdfFile);
+ if (reader != null) {
+ player.sendMessage(Color.RED + reader.getName() + " "
+ + pdfFile.getVersion() + " has an update to "
+ + reader.getCurrVersion());
+ } else {
+ player.sendMessage(reader.getName() + " " + reader.getCurrVersion()
+ + " is up to date!");
+ }
+ }
- /**
- * Checks if a given plugin needs an update
- *
- * @param file
- * The .yml file to check
- * @return The FillReader for the online repo info on the plugin
- */
- static FillReader needsUpdate(PluginDescriptionFile file) {
- FillReader reader = new FillReader(file.getName());
- String version = file.getVersion();
- String currVersion = reader.getCurrVersion();
- String name = reader.getName();
- if (currVersion.equalsIgnoreCase(version)
- && new File(directory, name + ".jar").exists()) {
- return null;
- } else {
- return reader;
- }
- }
-
- /**
- * Will grab the plugin's .yml file from the give file (hopefully a plugin).
- * It'll throw it into a PluginDescriptionFile
- *
- * @param file
- * The plugin (jar) file
- * @return The PluginDescriptionFile representing the .yml
- */
- static PluginDescriptionFile getPDF(File file) {
- // TODO supports only jar files for now. how will yml's be stored in
- // different languages?
- if (file.getName().endsWith(".jar")) {
- JarFile jarFile;
- try {
- jarFile = new JarFile(file);
- JarEntry entry = jarFile.getJarEntry("plugin.yml");
- InputStream input = jarFile.getInputStream(entry);
- return new PluginDescriptionFile(input);
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- } catch (InvalidDescriptionException e) {
- e.printStackTrace();
- return null;
- }
- } else
- return null;
- }
+ /**
+ * Checks if a given plugin needs an update
+ *
+ * @param file
+ * The .yml file to check
+ * @return The FillReader for the online repo info on the plugin
+ */
+ static FillReader needsUpdate(PluginDescriptionFile file) {
+ FillReader reader = new FillReader(file.getName());
+ String version = file.getVersion();
+ String currVersion = reader.getCurrVersion();
+ String name = reader.getName();
+ if (currVersion.equalsIgnoreCase(version)
+ && new File(directory, name + ".jar").exists()) {
+ return null;
+ } else {
+ return reader;
+ }
+ }
+ /**
+ * Will grab the plugin's .yml file from the give file (hopefully a plugin).
+ * It'll throw it into a PluginDescriptionFile
+ *
+ * @param file
+ * The plugin (jar) file
+ * @return The PluginDescriptionFile representing the .yml
+ */
+ static PluginDescriptionFile getPDF(File file) {
+ // TODO supports only jar files for now. how will yml's be stored in
+ // different languages?
+ if (file.getName().endsWith(".jar")) {
+ JarFile jarFile;
+ try {
+ jarFile = new JarFile(file);
+ JarEntry entry = jarFile.getJarEntry("plugin.yml");
+ InputStream input = jarFile.getInputStream(entry);
+ return new PluginDescriptionFile(input);
+ } catch (IOException e) {
+ e.printStackTrace();
+ return null;
+ } catch (InvalidDescriptionException e) {
+ e.printStackTrace();
+ return null;
+ }
+ } else {
+ return null;
+ }
+ }
}
diff --git a/src/main/java/org/bukkit/fillr/Downloader.java b/src/main/java/org/bukkit/fillr/Downloader.java
index 7a73fe1e..8dc44c95 100644
--- a/src/main/java/org/bukkit/fillr/Downloader.java
+++ b/src/main/java/org/bukkit/fillr/Downloader.java
@@ -4,159 +4,161 @@ import org.bukkit.*;
import org.bukkit.plugin.PluginDescriptionFile;
import java.io.*;
-import java.net.MalformedURLException;
import java.net.URL;
public class Downloader {
- private static String directory = Fillr.directory;
- private static String downloads = directory + File.separator + "downloads";
- private static String backup = "backup";
-
- /**
- * Downloads the jar from a given url. If it is a compressed archive, it
- * tries to get the .jars out of it
- *
- * @param url
- * The url to download from
- */
- static void downloadJar(String url) throws Exception {
- int index = url.lastIndexOf('/');
- String name = url.substring(index + 1);
-
- File file = new File(directory, name);
- if (url.endsWith(".jar") && file.exists())
- backupFile(file);
-
- download(new URL(url), name, directory);
- file = new File("plugins", name);
- /*if (name.endsWith(".zip") || name.endsWith(".tar")
- || name.endsWith(".rar") || name.endsWith(".7z")) {
- unzipPlugin(file);
- file.delete();
- }*/
- }
-
- /**
- * Downloads the file for a given plugin
- *
- * @param name
- * The name of the plugin to download
- * @param player
- * The player to send info to
- */
- void downloadFile(String name, Player player) throws Exception {
- File file = new File(directory, name + ".jar");
- if (file.exists()) {
- player.sendMessage("Downloading " + name + "'s file");
- PluginDescriptionFile pdfFile = Checker.getPDF(file);
- FillReader reader = Checker.needsUpdate(pdfFile);
- downloadFile(new URL(reader.getFile()));
- player.sendMessage("Finished download");
- } else {
- System.out.println("Can't find " + name);
- }
- }
-
- /**
- * Downloads the file to the plugin/downloads directory
- *
- * @param u
- * The url of the file to download
- */
- private void downloadFile(URL u) throws Exception {
- String name = u.getFile();
- int index = name.lastIndexOf('/');
- name = name.substring(index + 1);
- download(u, name, downloads);
- }
-
- /**
- * Downloads the file to a given directory with a given name
- *
- * @param u
- * The url of the file to download
- * @param name
- * The name to give the file
- * @param directory
- * The directory to put the file
- */
- private static void download(URL u, String name, String directory)
- throws Exception {
- InputStream inputStream = null;
- // try {
- inputStream = u.openStream();
-
- if (!new File(directory).exists())
- new File(directory).mkdir();
-
- File f = new File(directory, name);
- if (f.exists())
- f.delete();
- f.createNewFile();
-
- copyInputStream(inputStream, new BufferedOutputStream(
- new FileOutputStream(f)));
-
- try {
- if (inputStream != null)
- inputStream.close();
- } catch (IOException ioe) {
- System.out.println("[UPDATR]: Error closing inputStream");
- }
- // }
- }
-
- /**
- * Decompresses a file! How nice.
- *
- * @param f
- * the file to decompress
- */
- private static void unzipPlugin(File f) {
- try {
- System.out.println("Extracting jars out of " + f.getName());
- //ExtractorUtil.extract(f, f.getAbsolutePath());
- } catch (Exception e) {
- System.out.println("[UPDATR]: Error decompressing " + f.getName());
- }
- }
-
- /**
- * Copies an InputStream to an OutputStream!
- *
- * @param in
- * InputStream
- * @param out
- * OutputStream
- * @throws IOException
- */
- private static final void copyInputStream(InputStream in, OutputStream out)
- throws IOException {
- byte[] buffer = new byte[1024];
- int len;
-
- while ((len = in.read(buffer)) >= 0)
- out.write(buffer, 0, len);
-
- in.close();
- out.close();
- }
-
-
- /**
- * Moves the file to the backup folder.
- *
- * @param file
- * The file to backup
- */
- private static void backupFile(File file) {
- if (file.exists()) {
- System.out.println("Backing up old file: " + file.getName());
- if (!new File(backup).exists())
- new File(backup).mkdir();
- file.renameTo(new File(backup, file
- .getName() + ".bak"));
- }
- }
-
-} \ No newline at end of file
+ private final static String directory = Fillr.directory;
+ private final static String downloads = directory + File.separator + "downloads";
+ private final static String backup = "backup";
+
+ /**
+ * Downloads the jar from a given url. If it is a compressed archive, it
+ * tries to get the .jars out of it
+ *
+ * @param url
+ * The url to download from
+ */
+ static void downloadJar(String url) throws Exception {
+ int index = url.lastIndexOf('/');
+ String name = url.substring(index + 1);
+
+ File file = new File(directory, name);
+ if (url.endsWith(".jar") && file.exists()) {
+ backupFile(file);
+ }
+
+ download(new URL(url), name, directory);
+ file = new File("plugins", name);
+ /*if (name.endsWith(".zip") || name.endsWith(".tar")
+ || name.endsWith(".rar") || name.endsWith(".7z")) {
+ unzipPlugin(file);
+ file.delete();
+ }*/
+ }
+
+ /**
+ * Downloads the file for a given plugin
+ *
+ * @param name
+ * The name of the plugin to download
+ * @param player
+ * The player to send info to
+ */
+ void downloadFile(String name, Player player) throws Exception {
+ File file = new File(directory, name + ".jar");
+ if (file.exists()) {
+ player.sendMessage("Downloading " + name + "'s file");
+ PluginDescriptionFile pdfFile = Checker.getPDF(file);
+ FillReader reader = Checker.needsUpdate(pdfFile);
+ downloadFile(new URL(reader.getFile()));
+ player.sendMessage("Finished download");
+ } else {
+ System.out.println("Can't find " + name);
+ }
+ }
+
+ /**
+ * Downloads the file to the plugin/downloads directory
+ *
+ * @param u
+ * The url of the file to download
+ */
+ private void downloadFile(URL u) throws Exception {
+ String name = u.getFile();
+ int index = name.lastIndexOf('/');
+ name = name.substring(index + 1);
+ download(u, name, downloads);
+ }
+
+ /**
+ * Downloads the file to a given directory with a given name
+ *
+ * @param u
+ * The url of the file to download
+ * @param name
+ * The name to give the file
+ * @param directory
+ * The directory to put the file
+ */
+ private static void download(URL u, String name, String directory)
+ throws Exception {
+ InputStream inputStream = null;
+ // try {
+ inputStream = u.openStream();
+
+ if (!new File(directory).exists()) {
+ new File(directory).mkdir();
+ }
+
+ File f = new File(directory, name);
+ if (f.exists()) {
+ f.delete();
+ }
+ f.createNewFile();
+
+ copyInputStream(inputStream, new BufferedOutputStream(
+ new FileOutputStream(f)));
+
+ try {
+ if (inputStream != null) {
+ inputStream.close();
+ }
+ } catch (IOException ioe) {
+ System.out.println("[UPDATR]: Error closing inputStream");
+ }
+ // }
+ }
+
+ /**
+ * Decompresses a file! How nice.
+ *
+ * @param f
+ * the file to decompress
+ */
+ private static void unzipPlugin(File f) {
+ try {
+ System.out.println("Extracting jars out of " + f.getName());
+ //ExtractorUtil.extract(f, f.getAbsolutePath());
+ } catch (Exception e) {
+ System.out.println("[UPDATR]: Error decompressing " + f.getName());
+ }
+ }
+
+ /**
+ * Copies an InputStream to an OutputStream!
+ *
+ * @param in
+ * InputStream
+ * @param out
+ * OutputStream
+ * @throws IOException
+ */
+ private static final void copyInputStream(InputStream in, OutputStream out)
+ throws IOException {
+ byte[] buffer = new byte[1024];
+ int len;
+
+ while ((len = in.read(buffer)) >= 0) {
+ out.write(buffer, 0, len);
+ }
+
+ in.close();
+ out.close();
+ }
+
+ /**
+ * Moves the file to the backup folder.
+ *
+ * @param file
+ * The file to backup
+ */
+ private static void backupFile(File file) {
+ if (file.exists()) {
+ System.out.println("Backing up old file: " + file.getName());
+ if (!new File(backup).exists()) {
+ new File(backup).mkdir();
+ }
+ file.renameTo(new File(backup, file.getName() + ".bak"));
+ }
+ }
+}
diff --git a/src/main/java/org/bukkit/fillr/FillReader.java b/src/main/java/org/bukkit/fillr/FillReader.java
index 58cfe5b0..ce94283a 100644
--- a/src/main/java/org/bukkit/fillr/FillReader.java
+++ b/src/main/java/org/bukkit/fillr/FillReader.java
@@ -1,6 +1,5 @@
package org.bukkit.fillr;
-import java.util.*;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
@@ -13,70 +12,68 @@ import org.json.simple.parser.ParseException;
* Grabs the latest info for a given plugin from fill.bukkit.org
*/
public class FillReader {
- //TODO change this to what it will actually be...
- private static String baseUrl = "http://taylorkelly.me/pnfo.php";
+ //TODO change this to what it will actually be...
+ private static String baseUrl = "http://taylorkelly.me/pnfo.php";
+ private String currVersion;
+ private String file;
+ private String name;
+ private String notes;
+ private boolean stable;
- private String currVersion;
- private String file;
- private String name;
- private String notes;
- private boolean stable;
-
- public FillReader(String name) {
- try {
- String result = "";
- try {
- URL url = new URL(baseUrl + "?name=" + name);
- System.out.println(baseUrl + "?name=" + name);
- URLConnection conn = url.openConnection();
- StringBuilder buf = new StringBuilder();
- BufferedReader rd = new BufferedReader(new InputStreamReader(
- conn.getInputStream()));
- String line;
- while ((line = rd.readLine()) != null) {
- buf.append(line);
- }
- result = buf.toString();
- rd.close();
- JSONParser parser = new JSONParser();
- Object obj;
- obj = parser.parse(result);
- JSONObject jsonObj = (JSONObject) obj;
- this.currVersion = (String)jsonObj.get("plugin_version");
- this.name = (String)jsonObj.get("plugin_name");
- this.file = (String)jsonObj.get("plugin_file");
- this.stable = (Boolean)jsonObj.get("plugin_stable");
- this.notes = (String)jsonObj.get("plugin_notes");
- } catch (ParseException e) {
- e.printStackTrace();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public String getCurrVersion() {
- return currVersion;
- }
+ public FillReader(String name) {
+ try {
+ String result = "";
+ try {
+ URL url = new URL(baseUrl + "?name=" + name);
+ System.out.println(baseUrl + "?name=" + name);
+ URLConnection conn = url.openConnection();
+ StringBuilder buf = new StringBuilder();
+ BufferedReader rd = new BufferedReader(new InputStreamReader(
+ conn.getInputStream()));
+ String line;
+ while ((line = rd.readLine()) != null) {
+ buf.append(line);
+ }
+ result = buf.toString();
+ rd.close();
+ JSONParser parser = new JSONParser();
+ Object obj;
+ obj = parser.parse(result);
+ JSONObject jsonObj = (JSONObject) obj;
+ this.currVersion = (String) jsonObj.get("plugin_version");
+ this.name = (String) jsonObj.get("plugin_name");
+ this.file = (String) jsonObj.get("plugin_file");
+ this.stable = (Boolean) jsonObj.get("plugin_stable");
+ this.notes = (String) jsonObj.get("plugin_notes");
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
- public String getFile() {
- return file;
- }
+ public String getCurrVersion() {
+ return currVersion;
+ }
- public String getName() {
- return name;
- }
-
- public String getNotes() {
- return notes;
- }
-
- public void setStable(boolean stable) {
- this.stable = stable;
- }
+ public String getFile() {
+ return file;
+ }
- public boolean isStable() {
- return stable;
- }
+ public String getName() {
+ return name;
+ }
+ public String getNotes() {
+ return notes;
+ }
+
+ public void setStable(boolean stable) {
+ this.stable = stable;
+ }
+
+ public boolean isStable() {
+ return stable;
+ }
}
diff --git a/src/main/java/org/bukkit/fillr/Fillr.java b/src/main/java/org/bukkit/fillr/Fillr.java
index ce096be9..eafb205c 100644
--- a/src/main/java/org/bukkit/fillr/Fillr.java
+++ b/src/main/java/org/bukkit/fillr/Fillr.java
@@ -7,7 +7,6 @@ import org.bukkit.plugin.java.*;
import org.bukkit.event.*;
import java.io.File;
-import java.util.logging.Logger;
import org.bukkit.event.player.PlayerListener;
public class Fillr extends JavaPlugin {
diff --git a/src/main/java/org/bukkit/fillr/Getter.java b/src/main/java/org/bukkit/fillr/Getter.java
index d71483b9..f38eda45 100644
--- a/src/main/java/org/bukkit/fillr/Getter.java
+++ b/src/main/java/org/bukkit/fillr/Getter.java
@@ -6,41 +6,38 @@ import org.bukkit.*;
import org.bukkit.plugin.InvalidPluginException;
public class Getter {
- private Server server;
- private static String directory = Fillr.directory;
-
- public Getter(Server server) {
- this.server = server;
- }
+ private Server server;
+ private static String directory = Fillr.directory;
- public void get(String string, Player player) {
- FillReader reader = new FillReader(string);
- player.sendMessage("Downloading " + reader.getName() + " "
- + reader.getCurrVersion());
- try {
- Downloader.downloadJar(reader.getFile());
- if (reader.getNotes() != null && !reader.getNotes().equals("")) {
- player.sendMessage("Notes: " + reader.getNotes());
- }
- player.sendMessage("Finished Download!");
- enablePlugin(reader);
- player.sendMessage("Loading " + reader.getName());
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- }
-
- private void enablePlugin(FillReader update) {
- final String name = update.getName();
- //TODO again with the implicit jar support...
- File plugin = new File(directory, name + ".jar");
- try {
- server.getPluginManager().loadPlugin(plugin);
- } catch (InvalidPluginException e) {
- e.printStackTrace();
- }
- }
-
-
+ public Getter(Server server) {
+ this.server = server;
+ }
+
+ public void get(String string, Player player) {
+ FillReader reader = new FillReader(string);
+ player.sendMessage("Downloading " + reader.getName() + " "
+ + reader.getCurrVersion());
+ try {
+ Downloader.downloadJar(reader.getFile());
+ if (reader.getNotes() != null && !reader.getNotes().equals("")) {
+ player.sendMessage("Notes: " + reader.getNotes());
+ }
+ player.sendMessage("Finished Download!");
+ enablePlugin(reader);
+ player.sendMessage("Loading " + reader.getName());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void enablePlugin(FillReader update) {
+ final String name = update.getName();
+ //TODO again with the implicit jar support...
+ File plugin = new File(directory, name + ".jar");
+ try {
+ server.getPluginManager().loadPlugin(plugin);
+ } catch (InvalidPluginException e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/src/main/java/org/bukkit/fillr/PluginFilter.java b/src/main/java/org/bukkit/fillr/PluginFilter.java
index f9a345f9..e1a568b9 100644
--- a/src/main/java/org/bukkit/fillr/PluginFilter.java
+++ b/src/main/java/org/bukkit/fillr/PluginFilter.java
@@ -1,4 +1,5 @@
package org.bukkit.fillr;
+
import java.io.File;
import java.io.FilenameFilter;
@@ -6,12 +7,11 @@ import java.io.FilenameFilter;
* Used to filter out non-updatr files
*/
public class PluginFilter implements FilenameFilter {
-
- public boolean accept(File file, String name) {
- if(name.endsWith(".jar"))
- return true;
- else
- return false;
- }
-
+ public boolean accept(File file, String name) {
+ if (name.endsWith(".jar")) {
+ return true;
+ } else {
+ return false;
+ }
+ }
}
diff --git a/src/main/java/org/bukkit/fillr/Updater.java b/src/main/java/org/bukkit/fillr/Updater.java
index e006deaa..c429ed90 100644
--- a/src/main/java/org/bukkit/fillr/Updater.java
+++ b/src/main/java/org/bukkit/fillr/Updater.java
@@ -4,105 +4,105 @@ import org.bukkit.*;
import org.bukkit.plugin.*;
import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.jar.*;
public class Updater {
- public static String directory = Fillr.directory;
- private final Server server;
-
- Updater(Server server) {
- this.server = server;
- }
+ public static String directory = Fillr.directory;
+ private final Server server;
- /**
- * Checks and updates the plugins
- *
- * @param player
- * The player to send info to
- */
- void updateAll(Player player) {
- File folder = new File(directory);
- File[] files = folder.listFiles(new PluginFilter());
- if (files.length == 0) {
- player.sendMessage("No plugins to update.");
- } else {
- player.sendMessage("Updating "
- + files.length + " plugins:");
- for (File file : files) {
- PluginDescriptionFile pdfFile = Checker.getPDF(file);
- if(pdfFile == null) continue;
- FillReader reader = Checker.needsUpdate(pdfFile);
- if (reader != null)
- update(reader, player);
- }
- }
- }
+ Updater(Server server) {
+ this.server = server;
+ }
- /**
- * Checks if a given plugin needs an update, if it does, it updates it
- *
- * @param string
- * The name of the plugin
- * @param player
- * The player to send info to
- */
- void update(String string, Player player) {
- //TODO so much .jars
- File file = new File(directory, string + ".jar");
- if (file.exists()) {
- PluginDescriptionFile pdfFile = Checker.getPDF(file);
- FillReader reader = Checker.needsUpdate(pdfFile);
- if (reader != null) {
- update(reader, player);
- } else {
- player.sendMessage(string + " is up to date");
- }
- } else {
- player.sendMessage("Can't find " + string);
- }
- }
+ /**
+ * Checks and updates the plugins
+ *
+ * @param player
+ * The player to send info to
+ */
+ void updateAll(Player player) {
+ File folder = new File(directory);
+ File[] files = folder.listFiles(new PluginFilter());
+ if (files.length == 0) {
+ player.sendMessage("No plugins to update.");
+ } else {
+ player.sendMessage("Updating "
+ + files.length + " plugins:");
+ for (File file : files) {
+ PluginDescriptionFile pdfFile = Checker.getPDF(file);
+ if (pdfFile == null) {
+ continue;
+ }
+ FillReader reader = Checker.needsUpdate(pdfFile);
+ if (reader != null) {
+ update(reader, player);
+ }
+ }
+ }
+ }
- /**
- * Downloads the plugin specified by the URLReader
- *
- * @param update
- * The FillReader with all the plugin info
- * @param player The player to send info to
- */
- private void update(FillReader update, Player player) {
- disablePlugin(update);
- player.sendMessage("Disabling " + update.getName() + " for update");
- player.sendMessage("Downloading " + update.getName() + " "
- + update.getCurrVersion());
- try {
- Downloader.downloadJar(update.getFile());
- if (update.getNotes() != null && !update.getNotes().equals("")) {
- player.sendMessage("Notes: " + update.getNotes());
- }
- player.sendMessage("Finished Download!");
- enablePlugin(update);
- player.sendMessage("Loading " + update.getName());
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
+ /**
+ * Checks if a given plugin needs an update, if it does, it updates it
+ *
+ * @param string
+ * The name of the plugin
+ * @param player
+ * The player to send info to
+ */
+ void update(String string, Player player) {
+ //TODO so much .jars
+ File file = new File(directory, string + ".jar");
+ if (file.exists()) {
+ PluginDescriptionFile pdfFile = Checker.getPDF(file);
+ FillReader reader = Checker.needsUpdate(pdfFile);
+ if (reader != null) {
+ update(reader, player);
+ } else {
+ player.sendMessage(string + " is up to date");
+ }
+ } else {
+ player.sendMessage("Can't find " + string);
+ }
+ }
- void enablePlugin(FillReader update) {
- final String name = update.getName();
- //TODO again with the implicit jar support...
- File plugin = new File(directory, name + ".jar");
- try {
- server.getPluginManager().loadPlugin(plugin);
- } catch (InvalidPluginException e) {
- e.printStackTrace();
- }
- }
+ /**
+ * Downloads the plugin specified by the URLReader
+ *
+ * @param update
+ * The FillReader with all the plugin info
+ * @param player The player to send info to
+ */
+ private void update(FillReader update, Player player) {
+ disablePlugin(update);
+ player.sendMessage("Disabling " + update.getName() + " for update");
+ player.sendMessage("Downloading " + update.getName() + " "
+ + update.getCurrVersion());
+ try {
+ Downloader.downloadJar(update.getFile());
+ if (update.getNotes() != null && !update.getNotes().equals("")) {
+ player.sendMessage("Notes: " + update.getNotes());
+ }
+ player.sendMessage("Finished Download!");
+ enablePlugin(update);
+ player.sendMessage("Loading " + update.getName());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
- private void disablePlugin(FillReader update) {
- String name = update.getName();
- Plugin plugin = server.getPluginManager().getPlugin(name);
- server.getPluginManager().disablePlugin(plugin);
- }
-} \ No newline at end of file
+ void enablePlugin(FillReader update) {
+ final String name = update.getName();
+ //TODO again with the implicit jar support...
+ File plugin = new File(directory, name + ".jar");
+ try {
+ server.getPluginManager().loadPlugin(plugin);
+ } catch (InvalidPluginException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void disablePlugin(FillReader update) {
+ String name = update.getName();
+ Plugin plugin = server.getPluginManager().getPlugin(name);
+ server.getPluginManager().disablePlugin(plugin);
+ }
+}