From 13e83f1cbb5ff383584d9b4e3ed9aa8691f91a77 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Lesaint?= Date: Fri, 18 Aug 2017 10:23:26 +0200 Subject: [PATCH] SONAR-9590 move Es/JavaCommand to module sonar-process-monitor --- .../org/sonar/application/SchedulerImpl.java | 8 +-- .../application/process/EsProcessMonitor.java | 1 + .../ProcessCommandsProcessMonitor.java | 2 +- .../application/process/ProcessLauncher.java | 2 + .../process/ProcessLauncherImpl.java | 3 + .../sonar/application/SchedulerImplTest.java | 11 ++-- .../process/ProcessLauncherImplTest.java | 1 + .../process/command}/AbstractCommand.java | 2 +- .../process/command}/CommandFactory.java | 6 +- .../process/command}/CommandFactoryImpl.java | 56 ++++++++++--------- .../org/sonar/process/command}/EsCommand.java | 2 +- .../sonar/process/command}/JavaCommand.java | 2 +- .../sonar/process/command/package-info.java | 23 ++++++++ .../java/org/sonar/process/es}/EsLogging.java | 2 +- .../org/sonar/process/es}/EsSettings.java | 6 +- .../org/sonar/process/es/package-info.java | 23 ++++++++ .../process/command}/AbstractCommandTest.java | 2 +- .../process/command}/JavaCommandTest.java | 2 +- .../org/sonar/process/es}/EsLoggingTest.java | 3 +- .../org/sonar/process/es}/EsSettingsTest.java | 2 +- .../main/java/org/sonar/application/App.java | 6 +- 21 files changed, 111 insertions(+), 54 deletions(-) rename server/{sonar-process-monitor/src/main/java/org/sonar/application/process => sonar-process/src/main/java/org/sonar/process/command}/AbstractCommand.java (98%) rename server/{sonar-process-monitor/src/main/java/org/sonar/application/process => sonar-process/src/main/java/org/sonar/process/command}/CommandFactory.java (87%) rename server/{sonar-process-monitor/src/main/java/org/sonar/application/process => sonar-process/src/main/java/org/sonar/process/command}/CommandFactoryImpl.java (69%) rename server/{sonar-process-monitor/src/main/java/org/sonar/application/process => sonar-process/src/main/java/org/sonar/process/command}/EsCommand.java (98%) rename server/{sonar-process-monitor/src/main/java/org/sonar/application/process => sonar-process/src/main/java/org/sonar/process/command}/JavaCommand.java (98%) create mode 100644 server/sonar-process/src/main/java/org/sonar/process/command/package-info.java rename server/{sonar-process-monitor/src/main/java/org/sonar/application/process => sonar-process/src/main/java/org/sonar/process/es}/EsLogging.java (98%) rename server/{sonar-process-monitor/src/main/java/org/sonar/application/process => sonar-process/src/main/java/org/sonar/process/es}/EsSettings.java (98%) create mode 100644 server/sonar-process/src/main/java/org/sonar/process/es/package-info.java rename server/{sonar-process-monitor/src/test/java/org/sonar/application/process => sonar-process/src/test/java/org/sonar/process/command}/AbstractCommandTest.java (98%) rename server/{sonar-process-monitor/src/test/java/org/sonar/application/process => sonar-process/src/test/java/org/sonar/process/command}/JavaCommandTest.java (98%) rename server/{sonar-process-monitor/src/test/java/org/sonar/application/process => sonar-process/src/test/java/org/sonar/process/es}/EsLoggingTest.java (98%) rename server/{sonar-process-monitor/src/test/java/org/sonar/application/process => sonar-process/src/test/java/org/sonar/process/es}/EsSettingsTest.java (99%) diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/application/SchedulerImpl.java b/server/sonar-process-monitor/src/main/java/org/sonar/application/SchedulerImpl.java index a62c0d36eae..7311297dd3c 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/application/SchedulerImpl.java +++ b/server/sonar-process-monitor/src/main/java/org/sonar/application/SchedulerImpl.java @@ -30,9 +30,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.sonar.application.config.AppSettings; import org.sonar.application.config.ClusterSettings; -import org.sonar.application.process.CommandFactory; -import org.sonar.application.process.EsCommand; -import org.sonar.application.process.JavaCommand; +import org.sonar.process.command.CommandFactory; +import org.sonar.process.command.EsCommand; +import org.sonar.process.command.JavaCommand; import org.sonar.application.process.ProcessLauncher; import org.sonar.application.process.Lifecycle; import org.sonar.application.process.ProcessEventListener; @@ -107,7 +107,7 @@ public class SchedulerImpl implements Scheduler, ProcessEventListener, ProcessLi private void tryToStartEs() { SQProcess process = processesById.get(ProcessId.ELASTICSEARCH); if (process != null) { - tryToStartEsProcess(process, () -> commandFactory.createEsCommand(settings)); + tryToStartEsProcess(process, commandFactory::createEsCommand); } } diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsProcessMonitor.java b/server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsProcessMonitor.java index 4572af62128..52c0a9d917a 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsProcessMonitor.java +++ b/server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsProcessMonitor.java @@ -41,6 +41,7 @@ import org.elasticsearch.transport.Netty4Plugin; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.sonar.process.ProcessId; +import org.sonar.process.command.EsCommand; import static java.util.Collections.singletonList; import static java.util.Collections.unmodifiableList; diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/ProcessCommandsProcessMonitor.java b/server/sonar-process-monitor/src/main/java/org/sonar/application/process/ProcessCommandsProcessMonitor.java index 672debcadc0..a54f53f7f8f 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/ProcessCommandsProcessMonitor.java +++ b/server/sonar-process-monitor/src/main/java/org/sonar/application/process/ProcessCommandsProcessMonitor.java @@ -19,8 +19,8 @@ */ package org.sonar.application.process; -import org.sonar.process.sharedmemoryfile.ProcessCommands; import org.sonar.process.ProcessId; +import org.sonar.process.sharedmemoryfile.ProcessCommands; import static java.util.Objects.requireNonNull; diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/ProcessLauncher.java b/server/sonar-process-monitor/src/main/java/org/sonar/application/process/ProcessLauncher.java index eb25eccc9ca..c39f91bc8fa 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/ProcessLauncher.java +++ b/server/sonar-process-monitor/src/main/java/org/sonar/application/process/ProcessLauncher.java @@ -20,6 +20,8 @@ package org.sonar.application.process; import java.io.Closeable; +import org.sonar.process.command.EsCommand; +import org.sonar.process.command.JavaCommand; public interface ProcessLauncher extends Closeable { diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/ProcessLauncherImpl.java b/server/sonar-process-monitor/src/main/java/org/sonar/application/process/ProcessLauncherImpl.java index 4bb42a72f45..aa5c6117c00 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/ProcessLauncherImpl.java +++ b/server/sonar-process-monitor/src/main/java/org/sonar/application/process/ProcessLauncherImpl.java @@ -35,6 +35,9 @@ import java.util.stream.Collectors; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.sonar.process.command.AbstractCommand; +import org.sonar.process.command.EsCommand; +import org.sonar.process.command.JavaCommand; import org.sonar.process.sharedmemoryfile.AllProcessesCommands; import org.sonar.process.sharedmemoryfile.ProcessCommands; import org.sonar.process.ProcessId; diff --git a/server/sonar-process-monitor/src/test/java/org/sonar/application/SchedulerImplTest.java b/server/sonar-process-monitor/src/test/java/org/sonar/application/SchedulerImplTest.java index c2a94d039f7..231c2627450 100644 --- a/server/sonar-process-monitor/src/test/java/org/sonar/application/SchedulerImplTest.java +++ b/server/sonar-process-monitor/src/test/java/org/sonar/application/SchedulerImplTest.java @@ -34,16 +34,15 @@ import org.junit.rules.ExpectedException; import org.junit.rules.TestRule; import org.junit.rules.Timeout; import org.mockito.Mockito; -import org.sonar.application.config.AppSettings; import org.sonar.application.config.TestAppSettings; -import org.sonar.application.process.AbstractCommand; -import org.sonar.application.process.CommandFactory; -import org.sonar.application.process.EsCommand; -import org.sonar.application.process.JavaCommand; import org.sonar.application.process.ProcessLauncher; import org.sonar.application.process.ProcessMonitor; import org.sonar.process.ProcessId; import org.sonar.process.ProcessProperties; +import org.sonar.process.command.AbstractCommand; +import org.sonar.process.command.CommandFactory; +import org.sonar.process.command.EsCommand; +import org.sonar.process.command.JavaCommand; import static java.util.Collections.synchronizedList; import static org.assertj.core.api.Assertions.assertThat; @@ -310,7 +309,7 @@ public class SchedulerImplTest { private static class TestCommandFactory implements CommandFactory { @Override - public EsCommand createEsCommand(AppSettings settings) { + public EsCommand createEsCommand() { return ES_COMMAND; } diff --git a/server/sonar-process-monitor/src/test/java/org/sonar/application/process/ProcessLauncherImplTest.java b/server/sonar-process-monitor/src/test/java/org/sonar/application/process/ProcessLauncherImplTest.java index d45927b589f..044aa7b4310 100644 --- a/server/sonar-process-monitor/src/test/java/org/sonar/application/process/ProcessLauncherImplTest.java +++ b/server/sonar-process-monitor/src/test/java/org/sonar/application/process/ProcessLauncherImplTest.java @@ -30,6 +30,7 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.junit.rules.TemporaryFolder; +import org.sonar.process.command.JavaCommand; import org.sonar.process.sharedmemoryfile.AllProcessesCommands; import org.sonar.process.ProcessId; diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/AbstractCommand.java b/server/sonar-process/src/main/java/org/sonar/process/command/AbstractCommand.java similarity index 98% rename from server/sonar-process-monitor/src/main/java/org/sonar/application/process/AbstractCommand.java rename to server/sonar-process/src/main/java/org/sonar/process/command/AbstractCommand.java index ad4486514bc..83cfc0fb497 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/AbstractCommand.java +++ b/server/sonar-process/src/main/java/org/sonar/process/command/AbstractCommand.java @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package org.sonar.application.process; +package org.sonar.process.command; import java.io.File; import java.util.HashMap; diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/CommandFactory.java b/server/sonar-process/src/main/java/org/sonar/process/command/CommandFactory.java similarity index 87% rename from server/sonar-process-monitor/src/main/java/org/sonar/application/process/CommandFactory.java rename to server/sonar-process/src/main/java/org/sonar/process/command/CommandFactory.java index 0e8f9a768b5..f30537e487a 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/CommandFactory.java +++ b/server/sonar-process/src/main/java/org/sonar/process/command/CommandFactory.java @@ -17,13 +17,11 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package org.sonar.application.process; - -import org.sonar.application.config.AppSettings; +package org.sonar.process.command; public interface CommandFactory { - EsCommand createEsCommand(AppSettings settings); + EsCommand createEsCommand(); JavaCommand createWebCommand(boolean leader); diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/CommandFactoryImpl.java b/server/sonar-process/src/main/java/org/sonar/process/command/CommandFactoryImpl.java similarity index 69% rename from server/sonar-process-monitor/src/main/java/org/sonar/application/process/CommandFactoryImpl.java rename to server/sonar-process/src/main/java/org/sonar/process/command/CommandFactoryImpl.java index de2174d3e2d..24995b85f03 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/CommandFactoryImpl.java +++ b/server/sonar-process/src/main/java/org/sonar/process/command/CommandFactoryImpl.java @@ -17,14 +17,16 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package org.sonar.application.process; +package org.sonar.process.command; import java.io.File; import java.util.Map; import java.util.Optional; -import org.sonar.application.config.AppSettings; import org.sonar.process.ProcessId; import org.sonar.process.ProcessProperties; +import org.sonar.process.Props; +import org.sonar.process.es.EsLogging; +import org.sonar.process.es.EsSettings; import static org.sonar.process.ProcessProperties.HTTPS_PROXY_HOST; import static org.sonar.process.ProcessProperties.HTTPS_PROXY_PORT; @@ -45,21 +47,21 @@ public class CommandFactoryImpl implements CommandFactory { "socksProxyHost", "socksProxyPort"}; - private final AppSettings settings; + private final Props props; - public CommandFactoryImpl(AppSettings settings) { - this.settings = settings; + public CommandFactoryImpl(Props props) { + this.props = props; } @Override - public EsCommand createEsCommand(AppSettings settings) { - File homeDir = this.settings.getProps().nonNullValueAsFile(ProcessProperties.PATH_HOME); + public EsCommand createEsCommand() { + File homeDir = props.nonNullValueAsFile(ProcessProperties.PATH_HOME); File executable = new File(homeDir, getExecutable()); if (!executable.exists()) { throw new IllegalStateException("Cannot find elasticsearch binary"); } - Map settingsMap = new EsSettings(this.settings.getProps()).build(); + Map settingsMap = new EsSettings(props).build(); File logDir = new File(settingsMap.get("path.logs")); File confDir = new File(settingsMap.get("path.conf")); @@ -67,13 +69,13 @@ public class CommandFactoryImpl implements CommandFactory { .setWorkDir(executable.getParentFile().getParentFile()) .setExecutable(executable) .setConfDir(confDir) - .setLog4j2Properties(new EsLogging().createProperties(settings.getProps(), logDir)) - .setArguments(this.settings.getProps().rawProperties()) + .setLog4j2Properties(new EsLogging().createProperties(props, logDir)) + .setArguments(props.rawProperties()) .setClusterName(settingsMap.get("cluster.name")) .setHost(settingsMap.get("network.host")) .setPort(Integer.valueOf(settingsMap.get("transport.tcp.port"))) - .addJvmOption(settings.getProps().nonNullValue(ProcessProperties.SEARCH_JAVA_OPTS)) - .addJvmOption(settings.getProps().nonNullValue(ProcessProperties.SEARCH_JAVA_ADDITIONAL_OPTS)) + .addJvmOption(props.nonNullValue(ProcessProperties.SEARCH_JAVA_OPTS)) + .addJvmOption(props.nonNullValue(ProcessProperties.SEARCH_JAVA_ADDITIONAL_OPTS)) .setEnvVariable("JAVA_HOME", System.getProperties().getProperty("java.home")); settingsMap.forEach((key, value) -> res.addEsOption("-E" + key + "=" + value)); @@ -90,18 +92,18 @@ public class CommandFactoryImpl implements CommandFactory { @Override public JavaCommand createWebCommand(boolean leader) { - File homeDir = settings.getProps().nonNullValueAsFile(ProcessProperties.PATH_HOME); + File homeDir = props.nonNullValueAsFile(ProcessProperties.PATH_HOME); JavaCommand command = newJavaCommand(ProcessId.WEB_SERVER, homeDir) .addJavaOptions(ProcessProperties.WEB_ENFORCED_JVM_ARGS) - .addJavaOptions(settings.getProps().nonNullValue(ProcessProperties.WEB_JAVA_OPTS)) - .addJavaOptions(settings.getProps().nonNullValue(ProcessProperties.WEB_JAVA_ADDITIONAL_OPTS)) + .addJavaOptions(props.nonNullValue(ProcessProperties.WEB_JAVA_OPTS)) + .addJavaOptions(props.nonNullValue(ProcessProperties.WEB_JAVA_ADDITIONAL_OPTS)) // required for logback tomcat valve - .setEnvVariable(ProcessProperties.PATH_LOGS, settings.getProps().nonNullValue(ProcessProperties.PATH_LOGS)) + .setEnvVariable(ProcessProperties.PATH_LOGS, props.nonNullValue(ProcessProperties.PATH_LOGS)) .setArgument("sonar.cluster.web.startupLeader", Boolean.toString(leader)) .setClassName("org.sonar.server.app.WebServer") .addClasspath("./lib/common/*") .addClasspath("./lib/server/*"); - String driverPath = settings.getProps().value(ProcessProperties.JDBC_DRIVER_PATH); + String driverPath = props.value(ProcessProperties.JDBC_DRIVER_PATH); if (driverPath != null) { command.addClasspath(driverPath); } @@ -110,16 +112,16 @@ public class CommandFactoryImpl implements CommandFactory { @Override public JavaCommand createCeCommand() { - File homeDir = settings.getProps().nonNullValueAsFile(ProcessProperties.PATH_HOME); + File homeDir = props.nonNullValueAsFile(ProcessProperties.PATH_HOME); JavaCommand command = newJavaCommand(ProcessId.COMPUTE_ENGINE, homeDir) .addJavaOptions(ProcessProperties.CE_ENFORCED_JVM_ARGS) - .addJavaOptions(settings.getProps().nonNullValue(ProcessProperties.CE_JAVA_OPTS)) - .addJavaOptions(settings.getProps().nonNullValue(ProcessProperties.CE_JAVA_ADDITIONAL_OPTS)) + .addJavaOptions(props.nonNullValue(ProcessProperties.CE_JAVA_OPTS)) + .addJavaOptions(props.nonNullValue(ProcessProperties.CE_JAVA_ADDITIONAL_OPTS)) .setClassName("org.sonar.ce.app.CeServer") .addClasspath("./lib/common/*") .addClasspath("./lib/server/*") .addClasspath("./lib/ce/*"); - String driverPath = settings.getProps().value(ProcessProperties.JDBC_DRIVER_PATH); + String driverPath = props.value(ProcessProperties.JDBC_DRIVER_PATH); if (driverPath != null) { command.addClasspath(driverPath); } @@ -129,10 +131,10 @@ public class CommandFactoryImpl implements CommandFactory { private JavaCommand newJavaCommand(ProcessId id, File homeDir) { JavaCommand command = new JavaCommand(id) .setWorkDir(homeDir) - .setArguments(settings.getProps().rawProperties()); + .setArguments(props.rawProperties()); for (String key : PROXY_PROPERTY_KEYS) { - settings.getValue(key).ifPresent(val -> command.addJavaOption("-D" + key + "=" + val)); + getPropsValue(key).ifPresent(val -> command.addJavaOption("-D" + key + "=" + val)); } // defaults of HTTPS are the same than HTTP defaults @@ -143,10 +145,14 @@ public class CommandFactoryImpl implements CommandFactory { private void setSystemPropertyToDefaultIfNotSet(JavaCommand command, String httpsProperty, String httpProperty) { - Optional httpValue = settings.getValue(httpProperty); - Optional httpsValue = settings.getValue(httpsProperty); + Optional httpValue = getPropsValue(httpProperty); + Optional httpsValue = getPropsValue(httpsProperty); if (!httpsValue.isPresent() && httpValue.isPresent()) { command.addJavaOption("-D" + httpsProperty + "=" + httpValue.get()); } } + + private Optional getPropsValue(String key) { + return Optional.ofNullable(props.value(key)); + } } diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsCommand.java b/server/sonar-process/src/main/java/org/sonar/process/command/EsCommand.java similarity index 98% rename from server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsCommand.java rename to server/sonar-process/src/main/java/org/sonar/process/command/EsCommand.java index 43974a5ef08..cd6877d493d 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsCommand.java +++ b/server/sonar-process/src/main/java/org/sonar/process/command/EsCommand.java @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package org.sonar.application.process; +package org.sonar.process.command; import java.io.File; import java.util.ArrayList; diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/JavaCommand.java b/server/sonar-process/src/main/java/org/sonar/process/command/JavaCommand.java similarity index 98% rename from server/sonar-process-monitor/src/main/java/org/sonar/application/process/JavaCommand.java rename to server/sonar-process/src/main/java/org/sonar/process/command/JavaCommand.java index f22bd7bc8e7..253c6294fbb 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/JavaCommand.java +++ b/server/sonar-process/src/main/java/org/sonar/process/command/JavaCommand.java @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package org.sonar.application.process; +package org.sonar.process.command; import java.util.ArrayList; import java.util.List; diff --git a/server/sonar-process/src/main/java/org/sonar/process/command/package-info.java b/server/sonar-process/src/main/java/org/sonar/process/command/package-info.java new file mode 100644 index 00000000000..248864dafe3 --- /dev/null +++ b/server/sonar-process/src/main/java/org/sonar/process/command/package-info.java @@ -0,0 +1,23 @@ +/* + * SonarQube + * Copyright (C) 2009-2017 SonarSource SA + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +@ParametersAreNonnullByDefault +package org.sonar.process.command; + +import javax.annotation.ParametersAreNonnullByDefault; diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsLogging.java b/server/sonar-process/src/main/java/org/sonar/process/es/EsLogging.java similarity index 98% rename from server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsLogging.java rename to server/sonar-process/src/main/java/org/sonar/process/es/EsLogging.java index 4dadb95c9fa..b5a6727f45b 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsLogging.java +++ b/server/sonar-process/src/main/java/org/sonar/process/es/EsLogging.java @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package org.sonar.application.process; +package org.sonar.process.es; import ch.qos.logback.classic.Level; import java.io.File; diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsSettings.java b/server/sonar-process/src/main/java/org/sonar/process/es/EsSettings.java similarity index 98% rename from server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsSettings.java rename to server/sonar-process/src/main/java/org/sonar/process/es/EsSettings.java index d791a4cee53..ae58355415b 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/application/process/EsSettings.java +++ b/server/sonar-process/src/main/java/org/sonar/process/es/EsSettings.java @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package org.sonar.application.process; +package org.sonar.process.es; import java.io.File; import java.net.InetAddress; @@ -49,7 +49,7 @@ public class EsSettings { private final String clusterName; private final String nodeName; - EsSettings(Props props) { + public EsSettings(Props props) { this.props = props; this.clusterName = props.nonNullValue(ProcessProperties.CLUSTER_NAME); @@ -61,7 +61,7 @@ public class EsSettings { } } - Map build() { + public Map build() { Map builder = new HashMap<>(); configureFileSystem(builder); configureNetwork(builder); diff --git a/server/sonar-process/src/main/java/org/sonar/process/es/package-info.java b/server/sonar-process/src/main/java/org/sonar/process/es/package-info.java new file mode 100644 index 00000000000..35e9b4aee97 --- /dev/null +++ b/server/sonar-process/src/main/java/org/sonar/process/es/package-info.java @@ -0,0 +1,23 @@ +/* + * SonarQube + * Copyright (C) 2009-2017 SonarSource SA + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +@ParametersAreNonnullByDefault +package org.sonar.process.es; + +import javax.annotation.ParametersAreNonnullByDefault; diff --git a/server/sonar-process-monitor/src/test/java/org/sonar/application/process/AbstractCommandTest.java b/server/sonar-process/src/test/java/org/sonar/process/command/AbstractCommandTest.java similarity index 98% rename from server/sonar-process-monitor/src/test/java/org/sonar/application/process/AbstractCommandTest.java rename to server/sonar-process/src/test/java/org/sonar/process/command/AbstractCommandTest.java index 327f7b73c0c..7ddb9c54089 100644 --- a/server/sonar-process-monitor/src/test/java/org/sonar/application/process/AbstractCommandTest.java +++ b/server/sonar-process/src/test/java/org/sonar/process/command/AbstractCommandTest.java @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package org.sonar.application.process; +package org.sonar.process.command; import java.io.File; import java.util.Properties; diff --git a/server/sonar-process-monitor/src/test/java/org/sonar/application/process/JavaCommandTest.java b/server/sonar-process/src/test/java/org/sonar/process/command/JavaCommandTest.java similarity index 98% rename from server/sonar-process-monitor/src/test/java/org/sonar/application/process/JavaCommandTest.java rename to server/sonar-process/src/test/java/org/sonar/process/command/JavaCommandTest.java index 4d8d1f85c99..96d266a7d28 100644 --- a/server/sonar-process-monitor/src/test/java/org/sonar/application/process/JavaCommandTest.java +++ b/server/sonar-process/src/test/java/org/sonar/process/command/JavaCommandTest.java @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package org.sonar.application.process; +package org.sonar.process.command; import java.io.File; import java.util.Properties; diff --git a/server/sonar-process-monitor/src/test/java/org/sonar/application/process/EsLoggingTest.java b/server/sonar-process/src/test/java/org/sonar/process/es/EsLoggingTest.java similarity index 98% rename from server/sonar-process-monitor/src/test/java/org/sonar/application/process/EsLoggingTest.java rename to server/sonar-process/src/test/java/org/sonar/process/es/EsLoggingTest.java index a5f55d14886..4f511ef2260 100644 --- a/server/sonar-process-monitor/src/test/java/org/sonar/application/process/EsLoggingTest.java +++ b/server/sonar-process/src/test/java/org/sonar/process/es/EsLoggingTest.java @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package org.sonar.application.process; +package org.sonar.process.es; import java.io.File; import java.io.IOException; @@ -28,6 +28,7 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; import org.sonar.process.Props; +import org.sonar.process.es.EsLogging; import static org.assertj.core.api.Assertions.assertThat; diff --git a/server/sonar-process-monitor/src/test/java/org/sonar/application/process/EsSettingsTest.java b/server/sonar-process/src/test/java/org/sonar/process/es/EsSettingsTest.java similarity index 99% rename from server/sonar-process-monitor/src/test/java/org/sonar/application/process/EsSettingsTest.java rename to server/sonar-process/src/test/java/org/sonar/process/es/EsSettingsTest.java index 5b20696a210..f58ce46b6e3 100644 --- a/server/sonar-process-monitor/src/test/java/org/sonar/application/process/EsSettingsTest.java +++ b/server/sonar-process/src/test/java/org/sonar/process/es/EsSettingsTest.java @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package org.sonar.application.process; +package org.sonar.process.es; import java.io.File; import java.io.IOException; diff --git a/sonar-application/src/main/java/org/sonar/application/App.java b/sonar-application/src/main/java/org/sonar/application/App.java index 69098a0a756..b2010900e58 100644 --- a/sonar-application/src/main/java/org/sonar/application/App.java +++ b/sonar-application/src/main/java/org/sonar/application/App.java @@ -23,8 +23,8 @@ import java.io.IOException; import org.sonar.application.config.AppSettings; import org.sonar.application.config.AppSettingsLoader; import org.sonar.application.config.AppSettingsLoaderImpl; -import org.sonar.application.process.CommandFactory; -import org.sonar.application.process.CommandFactoryImpl; +import org.sonar.process.command.CommandFactory; +import org.sonar.process.command.CommandFactoryImpl; import org.sonar.application.process.ProcessLauncher; import org.sonar.application.process.ProcessLauncherImpl; import org.sonar.application.process.StopRequestWatcher; @@ -49,7 +49,7 @@ public class App { try (AppState appState = new AppStateFactory(settings).create()) { appState.registerSonarQubeVersion(getSonarqubeVersion()); AppReloader appReloader = new AppReloaderImpl(settingsLoader, fileSystem, appState, logging); - CommandFactory commandFactory = new CommandFactoryImpl(settings); + CommandFactory commandFactory = new CommandFactoryImpl(settings.getProps()); fileSystem.reset(); try (ProcessLauncher processLauncher = new ProcessLauncherImpl(fileSystem.getTempDir())) { -- 2.39.5