diff options
author | icelimetea <fr3shtea@outlook.com> | 2022-05-14 16:48:14 +0100 |
---|---|---|
committer | icelimetea <fr3shtea@outlook.com> | 2022-05-14 16:48:14 +0100 |
commit | 3f259eb97a207c6d4d0ae3ad481541eda96df798 (patch) | |
tree | 341074e10789c76bdfe7fc92ef5f3887330127dc /libraries/launcher/org | |
parent | fac0b027b31ba2ac29730f6091b3d19ba78b40d2 (diff) | |
download | PrismLauncher-3f259eb97a207c6d4d0ae3ad481541eda96df798.tar.gz PrismLauncher-3f259eb97a207c6d4d0ae3ad481541eda96df798.tar.bz2 PrismLauncher-3f259eb97a207c6d4d0ae3ad481541eda96df798.zip |
Refactor script parsing
Diffstat (limited to 'libraries/launcher/org')
-rw-r--r-- | libraries/launcher/org/multimc/EntryPoint.java | 43 | ||||
-rw-r--r-- | libraries/launcher/org/multimc/LauncherFactory.java | 4 |
2 files changed, 16 insertions, 31 deletions
diff --git a/libraries/launcher/org/multimc/EntryPoint.java b/libraries/launcher/org/multimc/EntryPoint.java index ba5b0926..c0500bbe 100644 --- a/libraries/launcher/org/multimc/EntryPoint.java +++ b/libraries/launcher/org/multimc/EntryPoint.java @@ -51,8 +51,6 @@ public final class EntryPoint { private final Parameters params = new Parameters(); - private String launcherType; - public static void main(String[] args) { EntryPoint listener = new EntryPoint(); @@ -80,15 +78,6 @@ public final class EntryPoint { return Action.Abort; } - case "launcher": { - if (tokens.length != 2) - throw new ParseException("Expected 2 tokens, got " + tokens.length); - - launcherType = tokens[1]; - - return Action.Proceed; - } - default: { if (tokens.length != 2) throw new ParseException("Error while parsing:" + inData); @@ -129,30 +118,24 @@ public final class EntryPoint { return 1; } - if (launcherType != null) { - try { - Launcher launcher = - LauncherFactory - .getInstance() - .createLauncher(launcherType, params); + try { + Launcher launcher = + LauncherFactory + .getInstance() + .createLauncher(params); - launcher.launch(); + launcher.launch(); - return 0; - } catch (IllegalArgumentException e) { - LOGGER.log(Level.SEVERE, "Wrong argument.", e); + return 0; + } catch (IllegalArgumentException e) { + LOGGER.log(Level.SEVERE, "Wrong argument.", e); - return 1; - } catch (Exception e) { - LOGGER.log(Level.SEVERE, "Exception caught from launcher.", e); + return 1; + } catch (Exception e) { + LOGGER.log(Level.SEVERE, "Exception caught from launcher.", e); - return 1; - } + return 1; } - - LOGGER.log(Level.SEVERE, "No valid launcher implementation specified."); - - return 1; } private enum Action { diff --git a/libraries/launcher/org/multimc/LauncherFactory.java b/libraries/launcher/org/multimc/LauncherFactory.java index 1b30a415..a2af8581 100644 --- a/libraries/launcher/org/multimc/LauncherFactory.java +++ b/libraries/launcher/org/multimc/LauncherFactory.java @@ -39,7 +39,9 @@ public final class LauncherFactory { }); } - public Launcher createLauncher(String name, Parameters parameters) { + public Launcher createLauncher(Parameters parameters) { + String name = parameters.first("launcher"); + LauncherProvider launcherProvider = launcherRegistry.get(name); if (launcherProvider == null) |