diff --git a/pom.xml b/pom.xml index fc2e9eb..04ea80a 100755 --- a/pom.xml +++ b/pom.xml @@ -73,7 +73,7 @@ org.parabot internal-api - 1.51.1 + 1.52.1 diff --git a/src/main/java/org/parabot/core/Context.java b/src/main/java/org/parabot/core/Context.java index e709ff9..0b2f0fa 100644 --- a/src/main/java/org/parabot/core/Context.java +++ b/src/main/java/org/parabot/core/Context.java @@ -32,11 +32,11 @@ import java.util.TimerTask; * @author Everel, JKetelaar, Matt */ public class Context { - public static final HashMap threadGroups = new HashMap(); - private static ArrayList paintables = new ArrayList(); + public static final HashMap threadGroups = new HashMap<>(); - private static Context instance; - private static String username; + private static ArrayList paintables = new ArrayList<>(); + private static Context instance; + private static String username; private ASMClassLoader classLoader; private ClassPath classPath; @@ -52,38 +52,58 @@ public class Context { private PBKeyListener pbKeyListener; private ServerProviderInfo providerInfo; private JSONParser jsonParser; - - private PrintStream defaultOut; - private PrintStream defaultErr = System.err; + private PrintStream defaultOut; + private PrintStream defaultErr; private Context(final ServerProvider serverProvider) { threadGroups.put(Thread.currentThread().getThreadGroup(), this); System.setProperty("sun.java.command", ""); + this.serverProvider = serverProvider; this.paintDebugger = new PaintDebugger(); this.classPath = new ClassPath(); this.classLoader = new ASMClassLoader(classPath); this.randomHandler = new RandomHandler(); - this.jsonParser = new JSONParser(); - this.defaultOut = System.out; this.defaultErr = System.err; } + /** + * Returns the instance of this class, based on a given ServerProvider + * + * @param serverProvider + * + * @return + */ public static Context getInstance(ServerProvider serverProvider) { return instance == null ? instance = new Context(serverProvider) : instance; } + /** + * Returns the instance of this class + * + * @return + */ public static Context getInstance() { return getInstance(null); } + /** + * Returns the username of the current logged in user to Parabot + * + * @return + */ public static String getUsername() { return username; } + /** + * Sets the username for the logged in user to Parabot + * + * @param username + */ public static void setUsername(String username) { Context.username = username; } @@ -234,7 +254,8 @@ public class Context { Core.verbose(TranslationHelper.translate("DONE")); } Applet applet = serverProvider.fetchApplet(); - // if applet is null the server provider will call setApplet itself + + // If applet is null the server provider will call setApplet itself if (applet != null) { setApplet(applet); } @@ -367,10 +388,20 @@ public class Context { return this.randomHandler; } + /** + * Returns the JSON Parser instance + * + * @return + */ public JSONParser getJsonParser() { return jsonParser; } + /** + * Returns the PBKeyListener instance + * + * @return + */ public PBKeyListener getPbKeyListener() { return pbKeyListener; } diff --git a/src/main/java/org/parabot/core/io/NoProgressListener.java b/src/main/java/org/parabot/core/io/NoProgressListener.java index 247bf39..2669b9b 100644 --- a/src/main/java/org/parabot/core/io/NoProgressListener.java +++ b/src/main/java/org/parabot/core/io/NoProgressListener.java @@ -13,4 +13,19 @@ public class NoProgressListener implements ProgressListener { public void updateDownloadSpeed(double mbPerSecond) { } + + @Override + public void updateMessage(String message) { + + } + + @Override + public void updateMessageAndProgress(String message, double progress) { + + } + + @Override + public double getCurrentProgress() { + return 0; + } } diff --git a/src/main/java/org/parabot/core/ui/components/VerboseLoader.java b/src/main/java/org/parabot/core/ui/components/VerboseLoader.java index 929bdb8..9039f5f 100755 --- a/src/main/java/org/parabot/core/ui/components/VerboseLoader.java +++ b/src/main/java/org/parabot/core/ui/components/VerboseLoader.java @@ -275,4 +275,20 @@ public class VerboseLoader extends JPanel implements ProgressListener { public void updateDownloadSpeed(double mbPerSecond) { progressBar.setText(String.format("(%.2fMB/s)", mbPerSecond)); } + + @Override + public void updateMessage(String message) { + VerboseLoader.setState(message); + } + + @Override + public void updateMessageAndProgress(String message, double progress) { + VerboseLoader.setState(message); + onProgressUpdate(progress); + } + + @Override + public double getCurrentProgress() { + return progressBar.getValue(); + } } \ No newline at end of file