From 2232228372fa0c775bac4959ba363dad38e71388 Mon Sep 17 00:00:00 2001 From: Anton Kosiakov Date: Tue, 6 Jun 2017 10:21:33 +0500 Subject: [PATCH] [ls] extracted `ServerLauncer.launch` method Signed-off-by: Anton Kosiakov --- .../xtext/ide/server/ServerLauncher.xtend | 30 +++++++++++-------- .../xtext/ide/server/ServerLauncher.java | 29 +++++++++++------- 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/ServerLauncher.xtend b/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/ServerLauncher.xtend index f7f4a768e..476aeac12 100644 --- a/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/ServerLauncher.xtend +++ b/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/ServerLauncher.xtend @@ -10,6 +10,7 @@ package org.eclipse.xtext.ide.server import com.google.common.io.ByteStreams import com.google.inject.Guice import com.google.inject.Inject +import com.google.inject.Module import java.io.ByteArrayInputStream import java.io.FileOutputStream import java.io.InputStream @@ -32,14 +33,13 @@ class ServerLauncher { public static val NO_VALIDATE = OPTION_PREFIX + 'noValidate' def static void main(String[] args) { - val launchArgs = new LaunchArgs - launchArgs.in = System.in - launchArgs.out = System.out - redirectStandardStreams(args) - launchArgs.trace = args.trace - launchArgs.validate = args.shouldValidate + launch(ServerLauncher.name, args, new ServerModule) + } - val launcher = Guice.createInjector(new ServerModule).getInstance(ServerLauncher) + def static void launch(String prefix, String[] args, Module... modules) { + val launchArgs = createLaunchArgs(prefix, args) + + val launcher = Guice.createInjector(modules).getInstance(ServerLauncher) launcher.start(launchArgs) } @@ -56,6 +56,16 @@ class ServerLauncher { } } + def static LaunchArgs createLaunchArgs(String prefix, String[] args) { + val launchArgs = new LaunchArgs + launchArgs.in = System.in + launchArgs.out = System.out + redirectStandardStreams(prefix, args) + launchArgs.trace = args.trace + launchArgs.validate = args.shouldValidate + return launchArgs + } + def static PrintWriter getTrace(String[] args) { if (shouldTrace(args)) return createTrace @@ -65,10 +75,6 @@ class ServerLauncher { return new PrintWriter(System.out) } - def static redirectStandardStreams(String[] args) { - redirectStandardStreams(ServerLauncher.name, args) - } - def static redirectStandardStreams(String prefix, String[] args) { if (shouldLogStandardStreams(args)) { logStandardStreams(prefix) @@ -76,7 +82,7 @@ class ServerLauncher { silentStandardStreams } } - + def static boolean shouldValidate(String[] args) { return !args.testArg(NO_VALIDATE) } diff --git a/org.eclipse.xtext.ide/xtend-gen/org/eclipse/xtext/ide/server/ServerLauncher.java b/org.eclipse.xtext.ide/xtend-gen/org/eclipse/xtext/ide/server/ServerLauncher.java index 337b21dc3..2c45ed9ab 100644 --- a/org.eclipse.xtext.ide/xtend-gen/org/eclipse/xtext/ide/server/ServerLauncher.java +++ b/org.eclipse.xtext.ide/xtend-gen/org/eclipse/xtext/ide/server/ServerLauncher.java @@ -10,6 +10,7 @@ package org.eclipse.xtext.ide.server; import com.google.common.io.ByteStreams; import com.google.inject.Guice; import com.google.inject.Inject; +import com.google.inject.Module; import java.io.ByteArrayInputStream; import java.io.FileOutputStream; import java.io.InputStream; @@ -43,14 +44,14 @@ public class ServerLauncher { public final static String NO_VALIDATE = (ServerLauncher.OPTION_PREFIX + "noValidate"); public static void main(final String[] args) { - final LaunchArgs launchArgs = new LaunchArgs(); - launchArgs.setIn(System.in); - launchArgs.setOut(System.out); - ServerLauncher.redirectStandardStreams(args); - launchArgs.setTrace(ServerLauncher.getTrace(args)); - launchArgs.setValidate(ServerLauncher.shouldValidate(args)); + String _name = ServerLauncher.class.getName(); ServerModule _serverModule = new ServerModule(); - final ServerLauncher launcher = Guice.createInjector(_serverModule).getInstance(ServerLauncher.class); + ServerLauncher.launch(_name, args, _serverModule); + } + + public static void launch(final String prefix, final String[] args, final Module... modules) { + final LaunchArgs launchArgs = ServerLauncher.createLaunchArgs(prefix, args); + final ServerLauncher launcher = Guice.createInjector(modules).getInstance(ServerLauncher.class); launcher.start(launchArgs); } @@ -72,6 +73,16 @@ public class ServerLauncher { } } + public static LaunchArgs createLaunchArgs(final String prefix, final String[] args) { + final LaunchArgs launchArgs = new LaunchArgs(); + launchArgs.setIn(System.in); + launchArgs.setOut(System.out); + ServerLauncher.redirectStandardStreams(prefix, args); + launchArgs.setTrace(ServerLauncher.getTrace(args)); + launchArgs.setValidate(ServerLauncher.shouldValidate(args)); + return launchArgs; + } + public static PrintWriter getTrace(final String[] args) { boolean _shouldTrace = ServerLauncher.shouldTrace(args); if (_shouldTrace) { @@ -84,10 +95,6 @@ public class ServerLauncher { return new PrintWriter(System.out); } - public static void redirectStandardStreams(final String[] args) { - ServerLauncher.redirectStandardStreams(ServerLauncher.class.getName(), args); - } - public static void redirectStandardStreams(final String prefix, final String[] args) { boolean _shouldLogStandardStreams = ServerLauncher.shouldLogStandardStreams(args); if (_shouldLogStandardStreams) {