server

Clone or download

Modified Files

--- 'a/src/main/java/com/stream_pi/server/connection/ServerListener.java'
+++ b/src/main/java/com/stream_pi/server/connection/ServerListener.java
@@ -1,6 +1,7 @@
package com.stream_pi.server.connection;
import com.stream_pi.action_api.normalaction.NormalAction;
+import com.stream_pi.util.exception.SevereException;
public interface ServerListener {
boolean onNormalActionClicked(NormalAction action);
@@ -10,4 +11,6 @@ public interface ServerListener {
void init();
void othInit();
+
+ void initLogger() throws SevereException;
}
--- 'a/src/main/java/com/stream_pi/server/io/Config.java'
+++ b/src/main/java/com/stream_pi/server/io/Config.java
@@ -26,7 +26,8 @@ import com.stream_pi.util.xmlconfighelpe
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-public class Config {
+public class Config
+{
private static Config instance = null;
@@ -94,7 +95,7 @@ public class Config {
//default getters
public String getDefaultServerName()
{
- return "StreamPi Server";
+ return "Stream-Pi Server";
}
public int getDefaultPort()
@@ -149,7 +150,7 @@ public class Config {
//default getters
public String getDefaultCurrentThemeFullName()
{
- return "com.StreamPi.DefaultLight";
+ return "com.stream_pi.defaultlight";
}
public String getDefaultThemesPath()
--- 'a/src/main/java/com/stream_pi/server/window/Base.java'
+++ b/src/main/java/com/stream_pi/server/window/Base.java
@@ -12,8 +12,10 @@ import com.stream_pi.util.alert.StreamPi
import com.stream_pi.util.exception.MinorException;
import com.stream_pi.util.exception.SevereException;
import com.stream_pi.util.iohelper.IOHelper;
+import com.stream_pi.util.loggerhelper.StreamPiLogFallbackHandler;
import com.stream_pi.util.loggerhelper.StreamPiLogFileHandler;
+import com.stream_pi.util.platform.Platform;
import javafx.application.HostServices;
import javafx.scene.image.Image;
import javafx.scene.layout.StackPane;
@@ -54,37 +56,57 @@ public abstract class Base extends Stack
private Logger logger = null;
private StreamPiLogFileHandler logFileHandler = null;
-
+
+
+ private StreamPiLogFallbackHandler logFallbackHandler = null;
+
+ @Override
public void initLogger() throws SevereException
{
try
{
- if(logger != null)
+ if(logger != null || logFileHandler != null)
return;
+ closeLogger();
logger = Logger.getLogger("");
- logFileHandler = new StreamPiLogFileHandler(ServerInfo.getInstance().getPrePath()+"../streampi.log");
- logger.addHandler(logFileHandler);
+
+ if(new File(ServerInfo.getInstance().getPrePath()).getAbsoluteFile().getParentFile().canWrite())
+ {
+ String path = ServerInfo.getInstance().getPrePath()+"../streampi.log";
+
+ if(ServerInfo.getInstance().getPlatformType() == Platform.ANDROID)
+ path = ServerInfo.getInstance().getPrePath()+"streampi.log";
+
+ logFileHandler = new StreamPiLogFileHandler(path);
+ logger.addHandler(logFileHandler);
+ }
+ else
+ {
+ logFallbackHandler = new StreamPiLogFallbackHandler();
+ logger.addHandler(logFallbackHandler);
+ }
+
}
catch(Exception e)
{
e.printStackTrace();
- throw new SevereException("Cant get logger started!");
+
+ logFallbackHandler = new StreamPiLogFallbackHandler();
+ logger.addHandler(logFallbackHandler);
}
}
-
+
public void closeLogger()
{
if(logFileHandler != null)
logFileHandler.close();
+ else if(logFallbackHandler != null)
+ logFallbackHandler.close();
}
public void initBase() throws SevereException
{
- initLogger();
-
- getChildren().clear();
-
stage = (Stage) getScene().getWindow();
getStage().getIcons().add(new Image(Main.class.getResourceAsStream("app_icon.png")));
@@ -92,17 +114,8 @@ public abstract class Base extends Stack
getStage().setMinWidth(500);
getStage().setMinHeight(500);
- checkPrePathDirectory();
-
- config = Config.getInstance();
-
- stage.setWidth(config.getStartupWindowWidth());
- stage.setHeight(config.getStartupWindowHeight());
- stage.centerOnScreen();
-
serverInfo = ServerInfo.getInstance();
- initThemes();
settingsBase = new SettingsBase(getHostServices(), this, this);
settingsBase.prefWidthProperty().bind(widthProperty());
@@ -117,7 +130,24 @@ public abstract class Base extends Stack
StreamPiAlert.setParent(alertStackPane);
- getChildren().addAll(settingsBase, dashboardBase, alertStackPane);
+ getChildren().clear();
+ getChildren().addAll(alertStackPane);
+
+
+ initLogger();
+
+ checkPrePathDirectory();
+
+ getChildren().addAll(settingsBase, dashboardBase);
+
+ config = Config.getInstance();
+
+ initThemes();
+
+ stage.setWidth(config.getStartupWindowWidth());
+ stage.setHeight(config.getStartupWindowHeight());
+ stage.centerOnScreen();
+
dashboardBase.toFront();
@@ -126,21 +156,35 @@ public abstract class Base extends Stack
private void checkPrePathDirectory() throws SevereException
{
- try {
+ try
+ {
File filex = new File(ServerInfo.getInstance().getPrePath());
- if(!filex.exists())
+ if(filex.getAbsoluteFile().getParentFile().canWrite())
+ {
+ if(!filex.exists())
+ {
+ filex.mkdirs();
+ IOHelper.unzip(Main.class.getResourceAsStream("Default.obj"), ServerInfo.getInstance().getPrePath());
+ }
+ }
+ else
{
- filex.mkdirs();
- IOHelper.unzip(Main.class.getResourceAsStream("Default.obj"), ServerInfo.getInstance().getPrePath());
+ setPrefSize(300,300);
+ clearStylesheets();
+ applyDefaultStylesheet();
+ applyDefaultIconsStylesheet();
+ getStage().show();
+ throw new SevereException("No storage permission. Give it!");
}
}
catch (Exception e)
{
e.printStackTrace();
- getStage().show();
throw new SevereException(e.getMessage());
}
+
+
}
public void initThemes() throws SevereException {
--- 'a/src/main/java/com/stream_pi/server/window/firsttimeuse/FinalConfigPane.java'
+++ b/src/main/java/com/stream_pi/server/window/firsttimeuse/FinalConfigPane.java
@@ -94,6 +94,7 @@ public class FinalConfigPane extends VBo
Config.getInstance().save();
serverListener.othInit();
+ serverListener.initLogger();
((Stage) getScene().getWindow()).close();
}
Binary files 'a/src/main/resources/com/stream_pi/server/Default.obj' and b/src/main/resources/com/stream_pi/server/Default.obj differ