server

Clone or download

Added inbuilt restart function to restart the app.

Modified Files

--- 'a/src/main/java/com/stream_pi/server/connection/ServerListener.java'
+++ b/src/main/java/com/stream_pi/server/connection/ServerListener.java
@@ -17,6 +17,8 @@ public interface ServerListener
void init();
+ void restart();
+
void othInit();
Stage getStage();
--- 'a/src/main/java/com/stream_pi/server/controller/Controller.java'
+++ b/src/main/java/com/stream_pi/server/controller/Controller.java
@@ -238,13 +238,27 @@ public class Controller extends Base imp
public void onQuitApp()
{
+ stopServerAndAllConnections();
+ executor.shutdown();
+ getLogger().info("Shutting down ...");
+ closeLogger();
+ }
+
+ private void stopServerAndAllConnections()
+ {
if(mainServer!=null)
mainServer.stopListeningForConnections();
ClientConnections.getInstance().disconnectAll();
- executor.shutdown();
- getLogger().info("Shutting down ...");
- closeLogger();
+ }
+
+ @Override
+ public void restart()
+ {
+ getLogger().info("Restarting ...");
+
+ stopServerAndAllConnections();
+ Platform.runLater(this::init);
}
public void minimiseApp() throws MinorException
--- 'a/src/main/java/com/stream_pi/server/window/Base.java'
+++ b/src/main/java/com/stream_pi/server/window/Base.java
@@ -105,6 +105,7 @@ public abstract class Base extends Stack
{
stage = (Stage) getScene().getWindow();
+ getStage().getIcons().clear();
getStage().getIcons().add(new Image(Objects.requireNonNull(Main.class.getResourceAsStream("app_icon.png"))));
getStage().setMinWidth(710);
--- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/OnSaveActionTask.java'
+++ b/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/OnSaveActionTask.java
@@ -143,7 +143,9 @@ public class OnSaveActionTask extends Ta
logger.info("isHideDEfaultIcon : "+isHideToggleOffIcon);
logger.info("isHideDEfaultIcon : "+isHideToggleOnIcon);
- if(action.getActionType() == ActionType.NORMAL)
+ if(action.getActionType() == ActionType.NORMAL ||
+ action.getActionType() == ActionType.FOLDER ||
+ action.getActionType() == ActionType.COMBINE)
{
if(isHideDefaultIcon)
{
--- '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,6 +7,7 @@ import com.stream_pi.server.info.ServerI
import com.stream_pi.theme_api.Themes;
import com.stream_pi.util.alert.StreamPiAlert;
+import com.stream_pi.util.alert.StreamPiAlertListener;
import com.stream_pi.util.alert.StreamPiAlertType;
import com.stream_pi.util.checkforupdates.CheckForUpdates;
import com.stream_pi.util.checkforupdates.UpdateHyperlinkOnClick;
@@ -373,7 +374,29 @@ public class GeneralSettings extends VBo
if(toBeReloaded)
{
- new StreamPiAlert("Restart","Restart to see changes", StreamPiAlertType.INFORMATION).show();
+ StreamPiAlert restartPrompt = new StreamPiAlert(
+ "Warning",
+ "Stream-Pi Server needs to be restarted for these changes to take effect. Restart?\n" +
+ "All your current connections will be disconnected.",
+ StreamPiAlertType.WARNING
+ );
+
+ String yesOption = "Yes";
+ String noOption = "No";
+
+ restartPrompt.setButtons(yesOption, noOption);
+
+ restartPrompt.setOnClicked(new StreamPiAlertListener() {
+ @Override
+ public void onClick(String s) {
+ if(s.equals(yesOption))
+ {
+ serverListener.restart();
+ }
+ }
+ });
+
+ restartPrompt.show();
}
if(dashToBeReRendered)