server
Clone or download
Modified Files
--- 'a/pom.xml'
+++ b/pom.xml
@@ -84,11 +84,6 @@
<version>${ThemeAPIVersion}</version>
</dependency>
- <dependency>
- <groupId>org.json</groupId>
- <artifactId>json</artifactId>
- <version>20201115</version>
- </dependency>
</dependencies>
--- 'a/src/main/java/com/stream_pi/server/connection/MainServer.java'
+++ b/src/main/java/com/stream_pi/server/connection/MainServer.java
@@ -55,14 +55,16 @@ public class MainServer extends Thread{
logger.info("Stopping listening for connections ...");
if(serverSocket!=null)
if(!serverSocket.isClosed())
+ {
+ stop.set(true);
serverSocket.close();
+ }
} catch (IOException e) {
e.printStackTrace();
}
finally {
logger.info("... Done!");
}
- stop.set(true);
}
@Override
@@ -72,12 +74,6 @@ public class MainServer extends Thread{
try {
logger.info("Starting server on port "+port+" ...");
- /*Server server = ServerBuilder.forPort(port)
- .addService(new ConnectionService(serverListener))
- .build();
-
- server.start();
- logger.info("... Done!");*/
serverSocket = new ServerSocket(port);
@@ -92,9 +88,12 @@ public class MainServer extends Thread{
}
catch (SocketException e)
{
- logger.info("Main Server stopped accepting calls ...");
- exceptionAndAlertHandler.handleSevereException(new SevereException("Sorry","Unable to Start Server. Check logs, stacktrace. \n\n"+e.getMessage()));
- e.printStackTrace();
+ if(!e.getMessage().contains("Socket closed"))
+ {
+ logger.info("Main Server stopped accepting calls ...");
+ exceptionAndAlertHandler.handleSevereException(new SevereException("Sorry","Another Server Instance probably running. Unable to Start Server \n\n"+e.getMessage()));
+ e.printStackTrace();
+ }
}
catch (IOException e)
{
--- 'a/src/main/java/com/stream_pi/server/info/ServerInfo.java'
+++ b/src/main/java/com/stream_pi/server/info/ServerInfo.java
@@ -28,7 +28,8 @@ public class ServerInfo {
private String runnerFileName = null;
private boolean startMinimised = false;
- private ServerInfo(){
+ private ServerInfo()
+ {
version = new Version(1,0,0);
minThemeSupportVersion = new Version(1,0,0);
minPluginSupportVersion = new Version(1,0,0);
@@ -76,7 +77,8 @@ public class ServerInfo {
return runnerFileName;
}
- public static synchronized ServerInfo getInstance(){
+ public static synchronized ServerInfo getInstance()
+ {
if(instance == null)
{
instance = new ServerInfo();
--- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiongridpane/ActionGridPane.java'
+++ b/src/main/java/com/stream_pi/server/window/dashboard/actiongridpane/ActionGridPane.java
@@ -12,6 +12,7 @@ import com.stream_pi.util.exception.Mino
import com.stream_pi.util.exception.SevereException;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
+import javafx.scene.CacheHint;
import javafx.scene.Node;
import javafx.scene.control.ScrollPane;
import javafx.scene.layout.*;
@@ -39,6 +40,9 @@ public class ActionGridPane extends Scro
actionsGridPane.setPrefSize(USE_COMPUTED_SIZE, USE_COMPUTED_SIZE);
setContent(actionsGridPane);
+
+ setCache(true);
+ setCacheHint(CacheHint.SPEED);
}
public void setActionDetailsPaneListener(ActionDetailsPaneListener actionDetailsPaneListener) {
--- 'a/src/main/java/com/stream_pi/server/window/settings/GeneralSettings.java'
+++ b/src/main/java/com/stream_pi/server/window/settings/GeneralSettings.java
@@ -7,9 +7,10 @@ import com.stream_pi.server.info.ServerI
import com.stream_pi.util.alert.StreamPiAlert;
import com.stream_pi.util.alert.StreamPiAlertType;
+import com.stream_pi.util.checkforupdates.CheckForUpdates;
import com.stream_pi.util.exception.MinorException;
import com.stream_pi.util.exception.SevereException;
-import com.stream_pi.util.startatboot.SoftwareType;
+import com.stream_pi.util.platform.PlatformType;
import com.stream_pi.util.startatboot.StartAtBoot;
import com.stream_pi.util.version.Version;
import javafx.application.HostServices;
@@ -24,7 +25,6 @@ import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextField;
import javafx.scene.layout.*;
import javafx.stage.DirectoryChooser;
-import org.json.JSONObject;
import org.kordamp.ikonli.javafx.FontIcon;
import java.awt.SystemTray;
@@ -115,6 +115,12 @@ public class GeneralSettings extends VBo
}
+ private void checkForUpdates()
+ {
+ new CheckForUpdates(checkForUpdatesButton, hostServices,
+ PlatformType.SERVER, ServerInfo.getInstance().getVersion());
+ }
+
private HBox getUIInputBoxWithDirectoryChooser(String labelText, TextField textField)
{
HBox hBox = getUIInputBox(labelText, textField);
@@ -315,7 +321,7 @@ public class GeneralSettings extends VBo
}
else
{
- StartAtBoot startAtBoot = new StartAtBoot(SoftwareType.SERVER, ServerInfo.getInstance().getPlatformType());
+ StartAtBoot startAtBoot = new StartAtBoot(PlatformType.SERVER, ServerInfo.getInstance().getPlatformType());
if(startOnBoot)
{
startAtBoot.create(new File(ServerInfo.getInstance().getRunnerFileName()));
@@ -388,85 +394,4 @@ public class GeneralSettings extends VBo
}
}).start();
}
-
- public void checkForUpdates()
- {
- new Thread(new Task<Void>()
- {
- @Override
- protected Void call() throws Exception {
-
- try
- {
- Platform.runLater(()->checkForUpdatesButton.setDisable(true));
-
-
- String jsonRaw = readUrl("https://stream-pi.com/API/get_latest.php?TYPE=SERVER");
-
- JSONObject jsonObject = new JSONObject(jsonRaw);
-
- String latestVersionRaw = jsonObject.getString("Version");
- String releasePage = jsonObject.getString("Release Page");
-
- Version latestVersion = new Version(latestVersionRaw);
- Version currentVersion = ServerInfo.getInstance().getVersion();
-
- if(latestVersion.isBiggerThan(currentVersion))
- {
- VBox vBox = new VBox();
-
- Hyperlink urlLabel = new Hyperlink(releasePage);
- urlLabel.setOnAction(event->hostServices.showDocument(releasePage));
-
- Label label = new Label(
- "New Version "+latestVersionRaw+" Available.\n" +
- "Current Version "+currentVersion.getText()+".\n"+
- "Changelog and install instructions are included in the release page.\n" +
- "It is recommended to update to ensure maximum stability and least bugs.");
- label.setWrapText(true);
-
- vBox.setSpacing(5);
- vBox.getChildren().addAll(
- urlLabel,
- label
- );
-
- new StreamPiAlert("New Update Available!", StreamPiAlertType.INFORMATION, vBox).show();;
- }
- else
- {
- new StreamPiAlert("Up to Date", "Server is upto date. ("+currentVersion.getText()+")", StreamPiAlertType.INFORMATION).show();;
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- new StreamPiAlert("Uh Oh", "Update Check Failed. API Error/Network issue.", StreamPiAlertType.WARNING).show();;
- }
- finally
- {
- Platform.runLater(()->checkForUpdatesButton.setDisable(false));
- }
- return null;
- }
- }).start();;
- }
-
- private String readUrl(String urlString) throws Exception {
- BufferedReader reader = null;
- try {
- URL url = new URL(urlString);
- reader = new BufferedReader(new InputStreamReader(url.openStream()));
- StringBuffer buffer = new StringBuffer();
- int read;
- char[] chars = new char[1024];
- while ((read = reader.read(chars)) != -1)
- buffer.append(chars, 0, read);
-
- return buffer.toString();
- } finally {
- if (reader != null)
- reader.close();
- }
- }
}
--- 'a/src/main/java/com/stream_pi/server/window/settings/SettingsBase.java'
+++ b/src/main/java/com/stream_pi/server/window/settings/SettingsBase.java
@@ -64,7 +64,7 @@ public class SettingsBase extends VBox {
getChildren().addAll(tabPane, closeButton);
setCache(true);
- setCacheHint(CacheHint.QUALITY);
+ setCacheHint(CacheHint.SPEED);
}
public void setDefaultTabToGeneral()
--- 'a/src/main/java/module-info.java'
+++ b/src/main/java/module-info.java
@@ -10,7 +10,6 @@ module com.stream_pi.server {
requires java.xml;
- requires org.json;
requires javafx.base;
requires javafx.graphics;
requires javafx.controls;