Merge branch 'fix/npe_on_os_supported_check' into 'master'
Fix: NPE on OS support check See merge request sheepitrenderfarm/client!353
This commit is contained in:
@@ -27,6 +27,7 @@ import com.sheepit.client.logger.Log;
|
||||
import com.sheepit.client.os.windows.Kernel32Lib;
|
||||
import com.sheepit.client.os.windows.WinProcess;
|
||||
import com.sun.jna.Native;
|
||||
import oshi.software.os.OperatingSystem;
|
||||
|
||||
public class Windows extends OS {
|
||||
|
||||
@@ -81,24 +82,25 @@ public class Windows extends OS {
|
||||
}
|
||||
|
||||
@Override public boolean isSupported() {
|
||||
long buildNumber = Long.MIN_VALUE;
|
||||
long buildNumber;
|
||||
String arch = System.getProperty("os.arch").toLowerCase();
|
||||
try {
|
||||
buildNumber = Long.parseLong(operatingSystem.getVersionInfo().getBuildNumber());
|
||||
}
|
||||
catch(NumberFormatException e) {
|
||||
System.err.println("Windows::isSupported Failed to extract Windows build number: " + e);
|
||||
}
|
||||
catch (NullPointerException e) {
|
||||
System.err.println("Windows::isSupported Failed to extract Windows build number: " + e);
|
||||
var versionInfo = operatingSystem.getVersionInfo();
|
||||
catch (NumberFormatException | NullPointerException e) {
|
||||
Log.getInstance().error("Windows::isSupported Failed to extract Windows build number: " + e);
|
||||
OperatingSystem.OSVersionInfo versionInfo = null;
|
||||
try {
|
||||
versionInfo = operatingSystem.getVersionInfo();
|
||||
}
|
||||
catch (NullPointerException e1) {
|
||||
Log.getInstance().error("Windows::isSupported Failed to create versionInfo object: " + e1);
|
||||
}
|
||||
if (versionInfo == null) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
String ver = versionInfo.getVersion();
|
||||
List<String> supportedVersions = List.of("8.1", "10", "11", "Server 2016", "Server 2012 R2", "Server 2019", "Server 2022");
|
||||
return super.isSupported() && supportedVersions.contains(ver);
|
||||
return super.isSupported() && checkMajorOSVersionSupport(versionInfo);
|
||||
}
|
||||
}
|
||||
return
|
||||
@@ -111,6 +113,12 @@ public class Windows extends OS {
|
||||
);
|
||||
}
|
||||
|
||||
private boolean checkMajorOSVersionSupport(OperatingSystem.OSVersionInfo versionInfo) {
|
||||
String ver = versionInfo.getVersion();
|
||||
List<String> supportedVersions = List.of("8.1", "10", "11", "Server 2016", "Server 2012 R2", "Server 2019", "Server 2022");
|
||||
return super.isSupported() && supportedVersions.contains(ver);
|
||||
}
|
||||
|
||||
int getPriorityClass(int priority) {
|
||||
int process_class = WinProcess.PRIORITY_IDLE;
|
||||
switch (priority) {
|
||||
|
||||
Reference in New Issue
Block a user