diff --git a/Main/pom.xml b/Main/pom.xml
index 9fb3efa1b..456b1a8bf 100644
--- a/Main/pom.xml
+++ b/Main/pom.xml
@@ -5,7 +5,7 @@
4.0.0
org.chameleon-vision.main
chameleon-vision
- 1.1.3-BETA
+ 1.1.4-BETA
@@ -14,7 +14,9 @@
maven-compiler-plugin
3.8.0
- 12
+ 12
+ 12
+ true
diff --git a/Main/src/main/java/com/chameleonvision/Main.java b/Main/src/main/java/com/chameleonvision/Main.java
index 18f599a0b..e24da500f 100644
--- a/Main/src/main/java/com/chameleonvision/Main.java
+++ b/Main/src/main/java/com/chameleonvision/Main.java
@@ -24,7 +24,6 @@ public class Main {
private static final int DEFAULT_PORT = 8888;
- private static int webserverPort = DEFAULT_PORT;
private static boolean ntServerMode = false;
private static boolean manageNetwork = true;
private static boolean ignoreRoot = false;
@@ -43,7 +42,7 @@ public class Main {
}
}
- public static final Platform CurrentPlatform = Platform.getCurrentPlatform();
+ private static final Platform CurrentPlatform = Platform.getCurrentPlatform();
private static void handleArgs(String[] args) {
for (int i = 0; i < args.length; i++) {
@@ -127,12 +126,10 @@ public class Main {
// Attempt to load the JNI Libraries
try {
- if (CurrentPlatform.equals(Platform.LINUX_ARM64))
CameraServerJNI.forceLoad();
CameraServerCvJNI.forceLoad();
} catch (IOException e) {
- var errorStr = CurrentPlatform.equals(Platform.UNSUPPORTED) ? "Unsupported platform!" : "Failed to load JNI Libraries!";
- throw new RuntimeException(errorStr);
+ throw new RuntimeException("Failed to load JNI Libraries!");
}
if (CameraManager.initializeCameras()) {
@@ -152,6 +149,7 @@ public class Main {
}
}
+ int webserverPort = DEFAULT_PORT;
System.out.printf("Starting Webserver at port %d\n", webserverPort);
Server.main(webserverPort);
} else {
diff --git a/Main/src/main/java/com/chameleonvision/network/LinuxNetworking.java b/Main/src/main/java/com/chameleonvision/network/LinuxNetworking.java
index 3e1d811de..42998a9a0 100644
--- a/Main/src/main/java/com/chameleonvision/network/LinuxNetworking.java
+++ b/Main/src/main/java/com/chameleonvision/network/LinuxNetworking.java
@@ -1,22 +1,13 @@
package com.chameleonvision.network;
-import com.chameleonvision.settings.NetworkSettings;
-import com.chameleonvision.settings.SettingsManager;
-import com.chameleonvision.util.ShellExec;
-
-import java.io.BufferedOutputStream;
import java.io.IOException;
-import java.net.InetAddress;
import java.net.SocketException;
-import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class LinuxNetworking extends SysNetworking {
- private ShellExec shell = new ShellExec(true, true);
-
@Override
public boolean setDHCP() {
String[] clearArgs = { "addr", "flush", "dev", networkInterface.name };
diff --git a/Main/src/main/java/com/chameleonvision/network/NetworkInterface.java b/Main/src/main/java/com/chameleonvision/network/NetworkInterface.java
index 75b5f7224..2c20abf44 100644
--- a/Main/src/main/java/com/chameleonvision/network/NetworkInterface.java
+++ b/Main/src/main/java/com/chameleonvision/network/NetworkInterface.java
@@ -1,10 +1,8 @@
package com.chameleonvision.network;
-import com.chameleonvision.settings.GeneralSettings;
-
-import java.net.InetAddress;
import java.net.InterfaceAddress;
+@SuppressWarnings("WeakerAccess")
public class NetworkInterface {
public final String name;
public final String displayName;
@@ -43,9 +41,8 @@ public class NetworkInterface {
}
// Transform the resulting value in xxx.xxx.xxx.xxx format, like if
/// it was a standard address...
- String maskString = ((shiftby >> 24) & 255) + "." + ((shiftby >> 16) & 255) + "." + ((shiftby >> 8) & 255) + "." + (shiftby & 255);
- // Return the address thus created...
- return maskString;
+ // Return the address thus created...
+ return ((shiftby >> 24) & 255) + "." + ((shiftby >> 16) & 255) + "." + ((shiftby >> 8) & 255) + "." + (shiftby & 255);
// return InetAddress.getByName(maskString);
}
catch(Exception e) {
diff --git a/Main/src/main/java/com/chameleonvision/network/NetworkManager.java b/Main/src/main/java/com/chameleonvision/network/NetworkManager.java
index 359735f76..ad8e1cc15 100644
--- a/Main/src/main/java/com/chameleonvision/network/NetworkManager.java
+++ b/Main/src/main/java/com/chameleonvision/network/NetworkManager.java
@@ -1,7 +1,6 @@
package com.chameleonvision.network;
-import com.chameleonvision.settings.NetworkSettings;
import com.chameleonvision.settings.Platform;
import com.chameleonvision.settings.SettingsManager;
@@ -12,8 +11,7 @@ import java.util.List;
public class NetworkManager {
private NetworkManager() {}
- protected static SysNetworking networking;
- protected static NetworkInterface botInterface = null;
+ private static SysNetworking networking;
private static boolean isManaged = false;
public static void initialize(boolean manage) {
@@ -45,7 +43,7 @@ public class NetworkManager {
e.printStackTrace();
}
- var teamBytes = NetworkSettings.GetTeamNumberIPBytes(SettingsManager.GeneralSettings.teamNumber);
+ var teamBytes = NetworkManager.GetTeamNumberIPBytes(SettingsManager.GeneralSettings.teamNumber);
if (interfaces.size() > 0) {
for (var inetface : interfaces) {
@@ -64,7 +62,7 @@ public class NetworkManager {
return;
}
- botInterface = goodInterfaces.get(0);
+ NetworkInterface botInterface = goodInterfaces.get(0);
networking.setNetworkInterface(botInterface);
} else {
isManaged = false;
@@ -78,6 +76,10 @@ public class NetworkManager {
}
}
+ private static byte[] GetTeamNumberIPBytes(int teamNumber) {
+ return new byte[]{(byte) (teamNumber / 100), (byte) (teamNumber % 100)};
+ }
+
private static boolean loadFromGeneralSettings() {
if (!isManaged) {
return true;
diff --git a/Main/src/main/java/com/chameleonvision/network/SysNetworking.java b/Main/src/main/java/com/chameleonvision/network/SysNetworking.java
index 91684e775..63a609984 100644
--- a/Main/src/main/java/com/chameleonvision/network/SysNetworking.java
+++ b/Main/src/main/java/com/chameleonvision/network/SysNetworking.java
@@ -5,7 +5,6 @@ import com.chameleonvision.util.ShellExec;
import java.io.IOException;
import java.net.SocketException;
import java.util.List;
-import java.util.Scanner;
public abstract class SysNetworking {
diff --git a/Main/src/main/java/com/chameleonvision/network/WindowsNetworking.java b/Main/src/main/java/com/chameleonvision/network/WindowsNetworking.java
index d6ccd829b..d03da14e2 100644
--- a/Main/src/main/java/com/chameleonvision/network/WindowsNetworking.java
+++ b/Main/src/main/java/com/chameleonvision/network/WindowsNetworking.java
@@ -1,8 +1,5 @@
package com.chameleonvision.network;
-import com.chameleonvision.settings.NetworkSettings;
-import com.chameleonvision.settings.SettingsManager;
-
import java.net.SocketException;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/Main/src/main/java/com/chameleonvision/settings/NetworkSettings.java b/Main/src/main/java/com/chameleonvision/settings/NetworkSettings.java
deleted file mode 100644
index 78c28e017..000000000
--- a/Main/src/main/java/com/chameleonvision/settings/NetworkSettings.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.chameleonvision.settings;
-
-import java.net.*;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-
-import com.chameleonvision.util.Utilities;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.SystemUtils;
-
-public class NetworkSettings {
- public String connectionType, ip, netmask, gateway, hostname;
-
- public void run() {
-// String adapter = getAdapter();
- if (SystemUtils.IS_OS_LINUX) {//TODO check linux commands
- String adapter = getAdapter();
- if (!adapter.equals("")) {
- executeCommand("ifconfig " + adapter + " down");
- if (connectionType.equals("DHCP"))
- executeCommand("dhclient -r " + adapter);
- else if (connectionType.equals("Static")) {
- executeCommand("ifconfig " + adapter + " " + this.ip + " netmask " + this.netmask);
- executeCommand("route add default gw " + this.gateway + " " + adapter);
- }
- executeCommand("ifconfig " + adapter + " up");
- }
- executeCommand("hostnamectl set-hostname " + this.hostname);
- }
-// //TODO check windows commands
-// else if (SystemUtils.IS_OS_WINDOWS) {
-// if (!adapter.equals("")) {
-// if (connectionType.equals("DHCP")){
-// executeCommand("cmd /c interface ip set address \"" + adapter + "\" dhcp");
-// }
-// else if (connectionType.equals("Static")) {
-// executeCommand("cmd /c netsh interface ip set address \"" + adapter + "\" static " + this.ip + " " + this.netmask + " " + this.gateway + "1");
-// }
-// }
-// //TODO find a way to change hostname in windows
-// }
- }
-
- private void executeCommand(String command) {
- try {
- Process p = Runtime.getRuntime().exec(command);
- System.out.println("Executing "+ command);
- p.waitFor();
- p.destroy();
- } catch (Exception e) {
- System.err.println("Error while executing command!");
- e.printStackTrace();
- }
- }
-
- public static byte[] GetTeamNumberIPBytes(int teamNumber) {
- return new byte[]{(byte) (teamNumber / 100), (byte) (teamNumber % 100)};
- }
-
- public static String getAdapter() {
- try {//TODO fix windows get adapter
- Enumeration nets = NetworkInterface.getNetworkInterfaces();
- for (NetworkInterface netint : Collections.list(nets)) {
- Enumeration ee = netint.getInetAddresses();
- for (InetAddress addr : Collections.list(ee))
- if (addr instanceof Inet4Address) {
- var addrString = addr.toString();
- if ((addr.getAddress()[0] & 0xFF) == 10 && (addr.getAddress()[1] & 0xFF) == 168) {
- System.out.println("found robot network interface at " + netint.getName() + " ip: " + addr.getHostAddress());
- return netint.getName();
- }
- }
- }
- } catch (SocketException e) {
- System.err.println("Socket exception while trying to find current IP");
- }
- return "";
- }
-}
diff --git a/Main/src/main/java/com/chameleonvision/settings/Platform.java b/Main/src/main/java/com/chameleonvision/settings/Platform.java
index a018ffa73..64f70f1f7 100644
--- a/Main/src/main/java/com/chameleonvision/settings/Platform.java
+++ b/Main/src/main/java/com/chameleonvision/settings/Platform.java
@@ -45,7 +45,9 @@ public enum Platform {
} catch (IOException e) {
e.printStackTrace();
}
- while (!shell.isOutputCompleted()) {}
+ while (!shell.isOutputCompleted()) {
+ // ignored
+ }
if (shell.getExitCode() == 0) {
var out = shell.getOutput();
out = out.split("\n")[0];
diff --git a/Main/src/main/java/com/chameleonvision/settings/SettingsManager.java b/Main/src/main/java/com/chameleonvision/settings/SettingsManager.java
index 5cfa1eae8..d26444630 100644
--- a/Main/src/main/java/com/chameleonvision/settings/SettingsManager.java
+++ b/Main/src/main/java/com/chameleonvision/settings/SettingsManager.java
@@ -1,6 +1,5 @@
package com.chameleonvision.settings;
-import com.chameleonvision.network.NetworkManager;
import com.chameleonvision.util.FileHelper;
import com.chameleonvision.vision.camera.CameraManager;
import com.google.gson.Gson;
@@ -21,16 +20,6 @@ public class SettingsManager {
public static void initialize() {
initGeneralSettings();
-// if (manageNetwork) {
-
-// NetworkSettings netSettings = new NetworkSettings();
-// netSettings.hostname = GeneralSettings.hostname;
-// netSettings.gateway = GeneralSettings.gateway;
-// netSettings.netmask = GeneralSettings.netmask;
-// netSettings.connectionType = GeneralSettings.connection_type;
-// netSettings.ip = GeneralSettings.ip;
-// netSettings.run();
-// }
var allCameras = CameraManager.getAllCamerasByName();
if (!allCameras.containsKey(GeneralSettings.currentCamera) && allCameras.size() > 0) {
var cam = allCameras.entrySet().stream().findFirst().get().getValue();
diff --git a/Main/src/main/java/com/chameleonvision/util/ShellExec.java b/Main/src/main/java/com/chameleonvision/util/ShellExec.java
index a6347edba..f0fa0f1cd 100644
--- a/Main/src/main/java/com/chameleonvision/util/ShellExec.java
+++ b/Main/src/main/java/com/chameleonvision/util/ShellExec.java
@@ -101,7 +101,7 @@ public class ShellExec {
* http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=4
*/
@SuppressWarnings("WeakerAccess")
- private class StreamGobbler extends Thread {
+ private static class StreamGobbler extends Thread {
private InputStream is;
private StringBuilder output;
private volatile boolean completed; // mark volatile to guarantee a thread safety
diff --git a/Main/src/main/java/com/chameleonvision/util/Utilities.java b/Main/src/main/java/com/chameleonvision/util/Utilities.java
index 800a80330..0be21374e 100644
--- a/Main/src/main/java/com/chameleonvision/util/Utilities.java
+++ b/Main/src/main/java/com/chameleonvision/util/Utilities.java
@@ -26,7 +26,7 @@ public class Utilities {
}
public static List getDigits(int num) {
- List digits = new ArrayList();
+ List digits = new ArrayList<>();
collectDigits(num, digits);
return digits;
}