From 86f23b20b7666b785617aa74f9eb8771e350a4e5 Mon Sep 17 00:00:00 2001 From: rusefi Date: Wed, 22 Jul 2020 21:34:47 -0400 Subject: [PATCH] proxy progress - I am getting tired :( --- .../com/rusefi/server/ApplicationRequest.java | 9 ++---- .../com/rusefi/server/ControllerInfo.java | 9 ++---- .../rusefi/server/ControllerStateDetails.java | 32 +++++++++++++++++++ .../com/rusefi/server/SessionDetails.java | 14 +++----- .../com/rusefi/tools/online/HttpUtil.java | 12 +++++++ .../main/java/com/rusefi/server/Backend.java | 4 +-- .../java/com/rusefi/ts_plugin/RemoteTab.java | 7 ++-- 7 files changed, 60 insertions(+), 27 deletions(-) create mode 100644 java_console/io/src/main/java/com/rusefi/server/ControllerStateDetails.java diff --git a/java_console/io/src/main/java/com/rusefi/server/ApplicationRequest.java b/java_console/io/src/main/java/com/rusefi/server/ApplicationRequest.java index 9f6d1c3fa5..6d8e12d801 100644 --- a/java_console/io/src/main/java/com/rusefi/server/ApplicationRequest.java +++ b/java_console/io/src/main/java/com/rusefi/server/ApplicationRequest.java @@ -1,5 +1,6 @@ package com.rusefi.server; +import com.rusefi.tools.online.HttpUtil; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; @@ -34,13 +35,7 @@ public class ApplicationRequest { } public static ApplicationRequest valueOf(String jsonString) { - JSONParser parser = new JSONParser(); - JSONObject jsonObject; - try { - jsonObject = (JSONObject) parser.parse(jsonString); - } catch (ParseException e) { - throw new IllegalStateException(e); - } + JSONObject jsonObject = HttpUtil.parse(jsonString); long targetUserId = (Long) jsonObject.get(USER_ID); diff --git a/java_console/io/src/main/java/com/rusefi/server/ControllerInfo.java b/java_console/io/src/main/java/com/rusefi/server/ControllerInfo.java index 13a5081edc..65ed561dd2 100644 --- a/java_console/io/src/main/java/com/rusefi/server/ControllerInfo.java +++ b/java_console/io/src/main/java/com/rusefi/server/ControllerInfo.java @@ -1,5 +1,6 @@ package com.rusefi.server; +import com.rusefi.tools.online.HttpUtil; import org.jetbrains.annotations.NotNull; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; @@ -60,13 +61,7 @@ public class ControllerInfo { @NotNull public static ControllerInfo valueOf(String jsonString) { - JSONParser parser = new JSONParser(); - JSONObject jsonObject; - try { - jsonObject = (JSONObject) parser.parse(jsonString); - } catch (ParseException e) { - throw new IllegalStateException(e); - } + JSONObject jsonObject = HttpUtil.parse(jsonString); return valueOf(jsonObject); } diff --git a/java_console/io/src/main/java/com/rusefi/server/ControllerStateDetails.java b/java_console/io/src/main/java/com/rusefi/server/ControllerStateDetails.java new file mode 100644 index 0000000000..af22029667 --- /dev/null +++ b/java_console/io/src/main/java/com/rusefi/server/ControllerStateDetails.java @@ -0,0 +1,32 @@ +package com.rusefi.server; + +import com.rusefi.tools.online.HttpUtil; +import org.json.simple.JSONObject; + +public class ControllerStateDetails { + public static final String RPM = "RPM"; + public static final String CLT = "CLT"; + private final double clt; + private final int rpm; + + public ControllerStateDetails(double clt, int rpm) { + this.clt = clt; + this.rpm = rpm; + } + + public double getClt() { + return clt; + } + + public int getRpm() { + return rpm; + } + + public static ControllerStateDetails valueOf(String jsonString) { + JSONObject jsonObject = HttpUtil.parse(jsonString); + double clt = Double.parseDouble((String) jsonObject.get(CLT)); + int rpm = Integer.parseInt((String) jsonObject.get(RPM)); + + return new ControllerStateDetails(clt, rpm); + } +} diff --git a/java_console/io/src/main/java/com/rusefi/server/SessionDetails.java b/java_console/io/src/main/java/com/rusefi/server/SessionDetails.java index 065d0e7e57..4aba00782f 100644 --- a/java_console/io/src/main/java/com/rusefi/server/SessionDetails.java +++ b/java_console/io/src/main/java/com/rusefi/server/SessionDetails.java @@ -1,12 +1,14 @@ package com.rusefi.server; +import com.rusefi.tools.online.HttpUtil; import org.json.simple.JSONObject; -import org.json.simple.parser.JSONParser; -import org.json.simple.parser.ParseException; import java.util.Objects; import java.util.Random; +/** + * A session from Controller, including some sensitive information + */ public class SessionDetails { private static final String ONE_TIME_TOKEN = "oneTime"; private static final String AUTH_TOKEN = "authToken"; @@ -51,13 +53,7 @@ public class SessionDetails { } public static SessionDetails valueOf(String jsonString) { - JSONParser parser = new JSONParser(); - JSONObject jsonObject; - try { - jsonObject = (JSONObject) parser.parse(jsonString); - } catch (ParseException e) { - throw new IllegalStateException(e); - } + JSONObject jsonObject = HttpUtil.parse(jsonString); String authToken = (String) jsonObject.get(AUTH_TOKEN); long oneTimeCode = (Long)jsonObject.get(ONE_TIME_TOKEN); diff --git a/java_console/io/src/main/java/com/rusefi/tools/online/HttpUtil.java b/java_console/io/src/main/java/com/rusefi/tools/online/HttpUtil.java index 61ae41e89f..3b65b97571 100644 --- a/java_console/io/src/main/java/com/rusefi/tools/online/HttpUtil.java +++ b/java_console/io/src/main/java/com/rusefi/tools/online/HttpUtil.java @@ -6,6 +6,7 @@ import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; +import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; @@ -42,4 +43,15 @@ public class HttpUtil { HttpGet httpget = new HttpGet(url); return httpclient.execute(httpget); } + + public static JSONObject parse(String jsonString) { + JSONParser parser = new JSONParser(); + JSONObject jsonObject; + try { + jsonObject = (JSONObject) parser.parse(jsonString); + } catch (ParseException e) { + throw new IllegalStateException(e); + } + return jsonObject; + } } diff --git a/java_tools/proxy_server/src/main/java/com/rusefi/server/Backend.java b/java_tools/proxy_server/src/main/java/com/rusefi/server/Backend.java index 91101609a2..48c1ec2579 100644 --- a/java_tools/proxy_server/src/main/java/com/rusefi/server/Backend.java +++ b/java_tools/proxy_server/src/main/java/com/rusefi/server/Backend.java @@ -268,8 +268,8 @@ public class Backend implements Closeable { .add(UserDetails.USER_ID, client.getUserDetails().getUserId()) .add(UserDetails.USERNAME, client.getUserDetails().getUserName()) .add(IS_USED, client.getTwoKindSemaphore().isUsed()) - .add("RPM", rpm) - .add("CLT", clt) + .add(ControllerStateDetails.RPM, rpm) + .add(ControllerStateDetails.CLT, clt) .add(ControllerInfo.SIGNATURE, client.getSessionDetails().getControllerInfo().getSignature()) .add(ControllerInfo.VEHICLE_NAME, client.getSessionDetails().getControllerInfo().getVehicleName()) .add(ControllerInfo.ENGINE_MAKE, client.getSessionDetails().getControllerInfo().getEngineMake()) diff --git a/java_tools/ts_plugin/src/main/java/com/rusefi/ts_plugin/RemoteTab.java b/java_tools/ts_plugin/src/main/java/com/rusefi/ts_plugin/RemoteTab.java index cfeffe11b5..99ff85f18d 100644 --- a/java_tools/ts_plugin/src/main/java/com/rusefi/ts_plugin/RemoteTab.java +++ b/java_tools/ts_plugin/src/main/java/com/rusefi/ts_plugin/RemoteTab.java @@ -28,6 +28,7 @@ public class RemoteTab { private final JComponent content = new JPanel(new BorderLayout()); private final JPanel list = new JPanel(new VerticalFlowLayout()); + private final JTextField oneTimePasswordControl = new JTextField(); private final Executor listDownloadExecutor = Executors.newSingleThreadExecutor(new NamedThreadFactory("online list downloader")); @@ -42,8 +43,10 @@ public class RemoteTab { JPanel topPanel = new JPanel(new FlowLayout()); topPanel.add(refresh); - topPanel.add(new JLabel("Local Port")); + topPanel.add(new JLabel(" Local Port: ")); topPanel.add(applicationPort); + topPanel.add(new JLabel(" One time password:")); + topPanel.add(oneTimePasswordControl); content.add(topPanel, BorderLayout.NORTH); content.add(list, BorderLayout.CENTER); requestListDownload(); @@ -89,7 +92,7 @@ public class RemoteTab { userPanel.add(new URLLabel(SignatureHelper.getUrl(controllerInfo.getSignature()))); - + userPanel.add(new JButton("Connect")); return userPanel; }