From 3f5aaf42b64d4474ea800bf9056f95382e98d145 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Fri, 3 Feb 2017 22:49:34 +0100 Subject: [PATCH] [TASK] Seperated library loading Allowing to load libraries into the environment, seperated from loading the entire environment --- .../org/parabot/environment/Environment.java | 73 +++++++++++-------- 1 file changed, 41 insertions(+), 32 deletions(-) diff --git a/src/main/java/org/parabot/environment/Environment.java b/src/main/java/org/parabot/environment/Environment.java index e17d0fd..b3ba652 100644 --- a/src/main/java/org/parabot/environment/Environment.java +++ b/src/main/java/org/parabot/environment/Environment.java @@ -12,40 +12,49 @@ import java.util.LinkedList; /** - * - * Initiliazes the bot environment - * - * @author Everel - * + * Initializes the bot environment + * + * @author Everel, JKetelaar */ public class Environment { - /** - * Loads a new environment - * - * @param desc - */ - public static void load(final ServerDescription desc) { - - LinkedList libs = new LinkedList<>(); - libs.add(new JavaFX()); - - for(Library lib : libs) { - if (lib.requiresJar()) { - if (!lib.hasJar()) { - Core.verbose("Downloading " + lib.getLibraryName() + "..."); - VerboseLoader.setState("Downloading " + lib.getLibraryName() + "..."); - WebUtil.downloadFile(lib.getDownloadLink(), lib.getJarFile(), VerboseLoader.get()); - Core.verbose("Downloaded " + lib.getLibraryName() + "."); - } - Core.verbose("Initializing " + lib.getLibraryName()); - lib.init(); - } - } - - Core.verbose("Loading server: " + desc.toString() + "..."); + /** + * Loads a new environment + * + * @param desc + */ + public static void load(final ServerDescription desc) { - ServerParser.SERVER_CACHE.get(desc).run(); - - } + LinkedList libs = new LinkedList<>(); + libs.add(new JavaFX()); + + for (Library lib : libs) { + loadLibrary(lib, true); + } + + Core.verbose("Loading server: " + desc.toString() + "..."); + + ServerParser.SERVER_CACHE.get(desc).run(); + } + + /** + * Loads library into environment + * + * @param library + * @param verboseLoader defines if verboseLoader should be enabled + */ + public static void loadLibrary(Library library, boolean verboseLoader) { + if (library.requiresJar()) { + if (!library.hasJar()) { + Core.verbose("Downloading " + library.getLibraryName() + "..."); + if (verboseLoader) { + VerboseLoader.setState("Downloading " + library.getLibraryName() + "..."); + } + WebUtil.downloadFile(library.getDownloadLink(), library.getJarFile(), VerboseLoader.get()); + Core.verbose("Downloaded " + library.getLibraryName() + "."); + } + Core.verbose("Initializing " + library.getLibraryName()); + library.init(); + } + } }