improving module structure

This commit is contained in:
rusefi 2020-07-25 14:33:18 -04:00
parent c531127309
commit 822b9ab090
10 changed files with 15 additions and 22 deletions

View File

@ -102,7 +102,7 @@
<jar destfile="${server_jar_file}"> <jar destfile="${server_jar_file}">
<manifest> <manifest>
<attribute name="Main-Class" value="com.rusefi.Launcher"/> <attribute name="Main-Class" value="com.rusefi.server.BackendLauncher"/>
<attribute name="Built-Date" value="${TODAY}"/> <attribute name="Built-Date" value="${TODAY}"/>
<attribute name="Signature-Vendor" value="rusEFI LLC"/> <attribute name="Signature-Vendor" value="rusEFI LLC"/>
</manifest> </manifest>

View File

@ -1,5 +1,6 @@
package com.rusefi.tools.online; package com.rusefi.tools.online;
import com.rusefi.LocalApplicationProxy;
import com.rusefi.server.ControllerInfo; import com.rusefi.server.ControllerInfo;
import com.rusefi.server.UserDetails; import com.rusefi.server.UserDetails;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -12,6 +13,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import static com.rusefi.tools.online.HttpUtil.RUSEFI_PROXY_HOSTNAME; import static com.rusefi.tools.online.HttpUtil.RUSEFI_PROXY_HOSTNAME;
import static com.rusefi.tools.online.HttpUtil.getIntProperty;
public class ProxyClient { public class ProxyClient {
public static final String LIST_CONTROLLERS_PATH = "/list_controllers"; public static final String LIST_CONTROLLERS_PATH = "/list_controllers";
@ -20,6 +22,11 @@ public class ProxyClient {
public static final String BACKEND_VERSION = "0.0001"; public static final String BACKEND_VERSION = "0.0001";
public static final String IS_USED = "isUsed"; public static final String IS_USED = "isUsed";
public static final String OWNER = "owner"; public static final String OWNER = "owner";
/**
* @see HttpUtil#PROXY_JSON_API_HTTP_PORT
* @see LocalApplicationProxy#SERVER_PORT_FOR_APPLICATIONS
*/
public static final int SERVER_PORT_FOR_CONTROLLERS = getIntProperty("controllers.port", 8003);
public static List<PublicSession> getOnlineApplications(int httpPort) throws IOException { public static List<PublicSession> getOnlineApplications(int httpPort) throws IOException {
return getOnlineApplications(getHttpAddress(httpPort) + LIST_CONTROLLERS_PATH); return getOnlineApplications(getHttpAddress(httpPort) + LIST_CONTROLLERS_PATH);

View File

@ -21,7 +21,6 @@ import com.rusefi.io.LinkManager;
import com.rusefi.io.serial.SerialIoStreamJSerialComm; import com.rusefi.io.serial.SerialIoStreamJSerialComm;
import com.rusefi.io.tcp.BinaryProtocolServer; import com.rusefi.io.tcp.BinaryProtocolServer;
import com.rusefi.maintenance.ExecHelper; import com.rusefi.maintenance.ExecHelper;
import com.rusefi.server.BackendLauncher;
import com.rusefi.tools.online.Online; import com.rusefi.tools.online.Online;
import com.rusefi.tune.xml.Msq; import com.rusefi.tune.xml.Msq;
import com.rusefi.ui.AuthTokenPanel; import com.rusefi.ui.AuthTokenPanel;
@ -31,8 +30,6 @@ import org.jetbrains.annotations.Nullable;
import javax.xml.bind.JAXBException; import javax.xml.bind.JAXBException;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Arrays; import java.util.Arrays;
import java.util.Map; import java.util.Map;
import java.util.TreeMap; import java.util.TreeMap;
@ -62,7 +59,6 @@ public class ConsoleTools {
registerTool("compile_fsio_line", ConsoleTools::invokeCompileExpressionTool, "Convert a line to RPN form."); registerTool("compile_fsio_line", ConsoleTools::invokeCompileExpressionTool, "Convert a line to RPN form.");
registerTool("compile_fsio_file", ConsoleTools::runCompileTool, "Convert all lines from a file to RPN form."); registerTool("compile_fsio_file", ConsoleTools::runCompileTool, "Convert all lines from a file to RPN form.");
registerTool("proxy_server", a -> BackendLauncher.start(), "NOT A USER TOOL");
registerTool("network_connector", strings -> NetworkConnectorStartup.start(), "Connect your rusEFI ECU to rusEFI Online"); registerTool("network_connector", strings -> NetworkConnectorStartup.start(), "Connect your rusEFI ECU to rusEFI Online");
registerTool("network_authenticator", LocalApplicationProxy::start, "rusEFI Online Authenticator"); registerTool("network_authenticator", LocalApplicationProxy::start, "rusEFI Online Authenticator");

View File

@ -3,7 +3,7 @@ package com.rusefi.tools;
import com.rusefi.auth.AutoTokenUtil; import com.rusefi.auth.AutoTokenUtil;
import com.rusefi.autodetect.PortDetector; import com.rusefi.autodetect.PortDetector;
import com.rusefi.proxy.NetworkConnector; import com.rusefi.proxy.NetworkConnector;
import com.rusefi.server.Backend; import com.rusefi.tools.online.ProxyClient;
import com.rusefi.ui.AuthTokenPanel; import com.rusefi.ui.AuthTokenPanel;
public class NetworkConnectorStartup { public class NetworkConnectorStartup {
@ -20,7 +20,7 @@ public class NetworkConnectorStartup {
return; return;
} }
NetworkConnector.NetworkConnectorResult networkConnectorResult = NetworkConnector.runNetworkConnector(authToken, autoDetectedPort, Backend.SERVER_PORT_FOR_CONTROLLERS); NetworkConnector.NetworkConnectorResult networkConnectorResult = NetworkConnector.runNetworkConnector(authToken, autoDetectedPort, ProxyClient.SERVER_PORT_FOR_CONTROLLERS);
System.out.println("Running with " + networkConnectorResult.getOneTimeToken()); System.out.println("Running with " + networkConnectorResult.getOneTimeToken());
} }
} }

View File

@ -28,8 +28,8 @@
<orderEntry type="library" name="jSerialComm" level="project" /> <orderEntry type="library" name="jSerialComm" level="project" />
<orderEntry type="library" name="json-simple" level="project" /> <orderEntry type="library" name="json-simple" level="project" />
<orderEntry type="module" module-name="models" /> <orderEntry type="module" module-name="models" />
<orderEntry type="module" module-name="proxy_server" />
<orderEntry type="library" scope="TEST" name="takes" level="project" /> <orderEntry type="library" scope="TEST" name="takes" level="project" />
<orderEntry type="library" name="dfu_java" level="project" /> <orderEntry type="library" name="dfu_java" level="project" />
<orderEntry type="module" module-name="proxy_server" scope="TEST" />
</component> </component>
</module> </module>

View File

@ -2,7 +2,6 @@ package com.rusefi.server;
import com.devexperts.logging.Logging; import com.devexperts.logging.Logging;
import com.rusefi.Listener; import com.rusefi.Listener;
import com.rusefi.LocalApplicationProxy;
import com.rusefi.Timeouts; import com.rusefi.Timeouts;
import com.rusefi.binaryprotocol.BinaryProtocol; import com.rusefi.binaryprotocol.BinaryProtocol;
import com.rusefi.core.Sensor; import com.rusefi.core.Sensor;
@ -11,7 +10,6 @@ import com.rusefi.io.commands.HelloCommand;
import com.rusefi.io.tcp.BinaryProtocolProxy; import com.rusefi.io.tcp.BinaryProtocolProxy;
import com.rusefi.io.tcp.BinaryProtocolServer; import com.rusefi.io.tcp.BinaryProtocolServer;
import com.rusefi.io.tcp.TcpIoStream; import com.rusefi.io.tcp.TcpIoStream;
import com.rusefi.tools.online.HttpUtil;
import com.rusefi.tools.online.ProxyClient; import com.rusefi.tools.online.ProxyClient;
import net.jcip.annotations.GuardedBy; import net.jcip.annotations.GuardedBy;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -34,7 +32,6 @@ import java.util.concurrent.atomic.AtomicLong;
import static com.devexperts.logging.Logging.getLogging; import static com.devexperts.logging.Logging.getLogging;
import static com.rusefi.Timeouts.SECOND; import static com.rusefi.Timeouts.SECOND;
import static com.rusefi.tools.online.HttpUtil.getIntProperty;
/** /**
* See NetworkConnectorStartup - NetworkConnector connects an ECU to this backend * See NetworkConnectorStartup - NetworkConnector connects an ECU to this backend
@ -46,11 +43,6 @@ import static com.rusefi.tools.online.HttpUtil.getIntProperty;
public class Backend implements Closeable { public class Backend implements Closeable {
private static final Logging log = getLogging(Backend.class); private static final Logging log = getLogging(Backend.class);
/**
* @see HttpUtil#PROXY_JSON_API_HTTP_PORT
* @see LocalApplicationProxy#SERVER_PORT_FOR_APPLICATIONS
*/
public static final int SERVER_PORT_FOR_CONTROLLERS = getIntProperty("controllers.port", 8003);
private static final String MAX_PACKET_GAP = "MAX_PACKET_GAP"; private static final String MAX_PACKET_GAP = "MAX_PACKET_GAP";
/** /**

View File

@ -2,12 +2,10 @@ package com.rusefi.server;
import com.rusefi.LocalApplicationProxy; import com.rusefi.LocalApplicationProxy;
import com.rusefi.tools.online.HttpUtil; import com.rusefi.tools.online.HttpUtil;
import com.rusefi.tools.online.ProxyClient;
public class BackendLauncher { public class BackendLauncher {
/** public static void main(String[] args) {
* need this method to be not in Backend class for console to work without all backend classes
*/
public static void start() {
/* todo /* todo
rusEFISSLContext.setupCertificates(new File("keystore.jks"), System.getProperty("RUSEFI_KEYSTORE_PASSWORD")); rusEFISSLContext.setupCertificates(new File("keystore.jks"), System.getProperty("RUSEFI_KEYSTORE_PASSWORD"));
*/ */
@ -17,7 +15,7 @@ public class BackendLauncher {
Backend backend = new Backend(userDetailsFunction, HttpUtil.PROXY_JSON_API_HTTP_PORT); Backend backend = new Backend(userDetailsFunction, HttpUtil.PROXY_JSON_API_HTTP_PORT);
backend.runApplicationConnector(LocalApplicationProxy.SERVER_PORT_FOR_APPLICATIONS, parameter -> { backend.runApplicationConnector(LocalApplicationProxy.SERVER_PORT_FOR_APPLICATIONS, parameter -> {
}); });
backend.runControllerConnector(Backend.SERVER_PORT_FOR_CONTROLLERS, parameter -> { backend.runControllerConnector(ProxyClient.SERVER_PORT_FOR_CONTROLLERS, parameter -> {
}); });
} }
} }

View File

@ -1 +1 @@
java -Xmx250M -jar rusefi_server.jar proxy_server java -Xmx250M -jar rusefi_server.jar