From 97ea34af2f8e5d0ca9da5dda331a9f54e580c4c6 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Thu, 29 Jul 2021 17:09:24 +0200 Subject: Refactoring based on Sonar reports --- language-web/build.gradle | 8 ++-- .../viatra/solver/language/web/ProblemServlet.java | 10 ++-- .../viatra/solver/language/web/ServerLauncher.java | 55 ++++++++-------------- 3 files changed, 31 insertions(+), 42 deletions(-) (limited to 'language-web') diff --git a/language-web/build.gradle b/language-web/build.gradle index e04af7cb..e00b88d8 100644 --- a/language-web/build.gradle +++ b/language-web/build.gradle @@ -1,3 +1,5 @@ +apply from: "${rootDir}/gradle/xtext-common.gradle" + dependencies { compile project(':language') compile project(':language-ide') @@ -94,9 +96,7 @@ task webpackServe(type: NpmTask) { } eclipse { - project { - file.whenMerged { - natures.remove('org.eclipse.wst.common.modulecore.ModuleCoreNature') - } + project.file.whenMerged { + natures.remove('org.eclipse.wst.common.modulecore.ModuleCoreNature') } } diff --git a/language-web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemServlet.java b/language-web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemServlet.java index 5de708f0..337df54b 100644 --- a/language-web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemServlet.java +++ b/language-web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemServlet.java @@ -3,9 +3,9 @@ */ package org.eclipse.viatra.solver.language.web; -import com.google.inject.Injector; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; + import org.eclipse.xtext.util.DisposableRegistry; import org.eclipse.xtext.web.servlet.XtextServlet; @@ -17,14 +17,18 @@ public class ProblemServlet extends XtextServlet { private static final long serialVersionUID = 1L; - DisposableRegistry disposableRegistry; + // Xtext requires a mutable servlet instance field. + @SuppressWarnings("squid:S2226") + private DisposableRegistry disposableRegistry; + @Override public void init() throws ServletException { super.init(); - Injector injector = new ProblemWebSetup().createInjectorAndDoEMFRegistration(); + var injector = new ProblemWebSetup().createInjectorAndDoEMFRegistration(); this.disposableRegistry = injector.getInstance(DisposableRegistry.class); } + @Override public void destroy() { if (disposableRegistry != null) { disposableRegistry.dispose(); diff --git a/language-web/src/main/java/org/eclipse/viatra/solver/language/web/ServerLauncher.java b/language-web/src/main/java/org/eclipse/viatra/solver/language/web/ServerLauncher.java index efa6b034..2c0413df 100644 --- a/language-web/src/main/java/org/eclipse/viatra/solver/language/web/ServerLauncher.java +++ b/language-web/src/main/java/org/eclipse/viatra/solver/language/web/ServerLauncher.java @@ -7,7 +7,6 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.net.URI; import java.net.URISyntaxException; -import java.net.URL; import org.eclipse.jetty.annotations.AnnotationConfiguration; import org.eclipse.jetty.server.Server; @@ -24,9 +23,9 @@ public class ServerLauncher { private final Server server; - public ServerLauncher(InetSocketAddress bindAddress, Resource baseResource) throws IOException, URISyntaxException { + public ServerLauncher(InetSocketAddress bindAddress, Resource baseResource) { server = new Server(bindAddress); - WebAppContext ctx = new WebAppContext(); + var ctx = new WebAppContext(); ctx.setBaseResource(baseResource); ctx.setWelcomeFiles(new String[] { "index.html" }); ctx.setContextPath("/"); @@ -40,27 +39,13 @@ public class ServerLauncher { public void start() throws Exception { server.start(); LOG.info("Server started " + server.getURI() + "..."); - new Thread() { - public void run() { - try { - LOG.info("Press enter to stop the server..."); - int key = System.in.read(); - if (key != -1) { - server.stop(); - } else { - LOG.warn( - "Console input is not available. In order to stop the server, you need to cancel process manually."); - } - } catch (Exception e) { - LOG.warn(e); - System.exit(-1); - } - } - }.start(); - try { - server.join(); - } catch (InterruptedException e) { - LOG.info(e); + LOG.info("Press enter to stop the server..."); + int key = System.in.read(); + if (key != -1) { + server.stop(); + } else { + LOG.warn( + "Console input is not available. In order to stop the server, you need to cancel process manually."); } } @@ -75,34 +60,34 @@ public class ServerLauncher { if (baseResourceOverride != null) { return Resource.newResource(baseResourceOverride); } - URL indexUrlInJar = ServerLauncher.class.getResource("/webapp/index.html"); + var indexUrlInJar = ServerLauncher.class.getResource("/webapp/index.html"); if (indexUrlInJar == null) { - throw new RuntimeException("Cannot find pacakged web assets"); + throw new IOException("Cannot find pacakged web assets"); } - URI webRootUri = URI.create(indexUrlInJar.toURI().toASCIIString().replaceFirst("/index.html$", "/")); + var webRootUri = URI.create(indexUrlInJar.toURI().toASCIIString().replaceFirst("/index.html$", "/")); return Resource.newResource(webRootUri); } public static void main(String[] args) { - String listenAddress = System.getenv("LISTEN_ADDRESS"); + var listenAddress = System.getenv("LISTEN_ADDRESS"); if (listenAddress == null) { listenAddress = "localhost"; } - int port = 1312; - String portStr = System.getenv("LISTEN_PORT"); + var port = 1312; + var portStr = System.getenv("LISTEN_PORT"); if (portStr != null) { try { port = Integer.parseInt(portStr); } catch (NumberFormatException e) { LOG.warn(e); - System.exit(-1); + System.exit(1); } } - String baseResourceOverride = System.getenv("BASE_RESOURCE"); + var baseResourceOverride = System.getenv("BASE_RESOURCE"); try { - InetSocketAddress bindAddress = getBindAddress(listenAddress, port); - Resource baseResource = getBaseResource(baseResourceOverride); - ServerLauncher serverLauncher = new ServerLauncher(bindAddress, baseResource); + var bindAddress = getBindAddress(listenAddress, port); + var baseResource = getBaseResource(baseResourceOverride); + var serverLauncher = new ServerLauncher(bindAddress, baseResource); serverLauncher.start(); } catch (Exception exception) { LOG.warn(exception); -- cgit v1.2.3-70-g09d2