From: rnayabed Date: Thu, 25 Feb 2021 18:26:20 +0530 Subject: work --- work --- --- 'a/pom.xml' +++ b/pom.xml @@ -84,11 +84,6 @@ ${ThemeAPIVersion} - - org.json - json - 20201115 - --- '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() - { - @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;