Skip to content
Snippets Groups Projects
Commit 1926bf07 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

Errorhandling, extracted main method for spark server into seperate class

parent 5e4ec00f
No related branches found
No related tags found
1 merge request!58merge new_database_structure into master
...@@ -33,19 +33,11 @@ public class Utils ...@@ -33,19 +33,11 @@ public class Utils
} }
} }
public static void saveSettings(Settings settings) public static void saveSettings(Settings settings) throws IOException
{
try
{ {
Gson gson = new Gson(); Gson gson = new Gson();
String jsonString = gson.toJson(settings); String jsonString = gson.toJson(settings);
Files.write(Paths.get(PathUtils.getOSindependentPath() + bundle.getString("folder") + "/settings.json"), jsonString.getBytes()); Files.write(Paths.get(PathUtils.getOSindependentPath() + bundle.getString("folder") + "/settings.json"), jsonString.getBytes());
} }
catch(IOException e)
{
//ERRORHANDLING
e.printStackTrace();
}
}
} }
\ No newline at end of file
...@@ -119,8 +119,10 @@ public class Controller implements Refreshable ...@@ -119,8 +119,10 @@ public class Controller implements Refreshable
} }
catch(IOException e) catch(IOException e)
{ {
// ERRORHANDLING
Logger.error(e); Logger.error(e);
Platform.runLater(() -> {
AlertGenerator.showAlert(AlertType.ERROR, "Fehler", "", "Beim Erstellen der Benutzeroberfläche ist ein Fehler aufgetreten", icon, stage, null, false);
});
} }
FontIcon iconPrevious = new FontIcon(FontIconType.CHEVRON_LEFT); FontIcon iconPrevious = new FontIcon(FontIconType.CHEVRON_LEFT);
......
package de.deadlocker8.budgetmaster.ui; package de.deadlocker8.budgetmaster.ui;
import java.io.IOException;
import de.deadlocker8.budgetmaster.logic.Settings; import de.deadlocker8.budgetmaster.logic.Settings;
import de.deadlocker8.budgetmaster.logic.Utils; import de.deadlocker8.budgetmaster.logic.Utils;
import javafx.fxml.FXML; import javafx.fxml.FXML;
...@@ -10,6 +12,7 @@ import javafx.scene.control.RadioButton; ...@@ -10,6 +12,7 @@ import javafx.scene.control.RadioButton;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
import javafx.scene.control.ToggleGroup; import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.AnchorPane; import javafx.scene.layout.AnchorPane;
import logger.Logger;
import tools.AlertGenerator; import tools.AlertGenerator;
public class SettingsController public class SettingsController
...@@ -75,13 +78,22 @@ public class SettingsController ...@@ -75,13 +78,22 @@ public class SettingsController
settings.setRestActivated(radioButtonRestActivated.isSelected()); settings.setRestActivated(radioButtonRestActivated.isSelected());
controller.setSettings(settings); controller.setSettings(settings);
} }
try
{
Utils.saveSettings(controller.getSettings()); Utils.saveSettings(controller.getSettings());
}
catch(IOException e)
{
Logger.error(e);
AlertGenerator.showAlert(AlertType.ERROR, "Fehler", "", "Beim Speichern der Einstellungen ist ein Fehler aufgetreten", controller.getIcon(), controller.getStage(), null, false);
}
controller.refresh(); controller.refresh();
controller.showNotification("Erfolgreich gespeichert"); controller.showNotification("Erfolgreich gespeichert");
} }
else else
{ {
AlertGenerator.showAlert(AlertType.WARNING, "Warnung", "", "Das Server Passwortfel darf nicht leer sein!", controller.getIcon(), controller.getStage(), null, false); AlertGenerator.showAlert(AlertType.WARNING, "Warnung", "", "Das Server Passwortfeld darf nicht leer sein!", controller.getIcon(), controller.getStage(), null, false);
} }
} }
else else
......
package de.deadlocker8.budgetmasterserver.main;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.file.Files;
import java.nio.file.Paths;
import de.deadlocker8.budgetmasterserver.server.SparkServer;
import logger.LogLevel;
import logger.Logger;
public class Main
{
public static void main(String[] args)
{
Logger.setLevel(LogLevel.ALL);
try
{
File logFile = new File(Paths.get(SparkServer.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getParent().toFile() + "/error.log");
Logger.enableFileOutput(logFile);
}
catch(URISyntaxException e1)
{
Logger.error(e1);
}
if(!Files.exists(Paths.get("settings.properties")))
{
try
{
Files.copy(SparkServer.class.getClassLoader().getResourceAsStream("de/deadlocker8/budgetmasterserver/resources/settings.properties"), Paths.get("settings.properties"));
}
catch(IOException e)
{
Logger.error(e);
}
}
Settings settings;
try
{
settings = Utils.loadSettings();
new SparkServer(settings);
}
catch(IOException e)
{
Logger.error(e);
}
}
}
...@@ -8,22 +8,14 @@ import com.google.gson.Gson; ...@@ -8,22 +8,14 @@ import com.google.gson.Gson;
public class Utils public class Utils
{ {
public static Settings loadSettings() public static Settings loadSettings() throws IOException
{ {
String settingsJSON; String settingsJSON;
Settings settings; Settings settings;
try
{
Gson gson = new Gson(); Gson gson = new Gson();
settingsJSON = new String(Files.readAllBytes(Paths.get("settings.properties"))); settingsJSON = new String(Files.readAllBytes(Paths.get("settings.properties")));
settings = gson.fromJson(settingsJSON, Settings.class); settings = gson.fromJson(settingsJSON, Settings.class);
return settings; return settings;
} }
catch(IOException e)
{
//ERRORHANDLING
e.printStackTrace();
return null;
}
}
} }
\ No newline at end of file
...@@ -10,18 +10,11 @@ import static spark.Spark.post; ...@@ -10,18 +10,11 @@ import static spark.Spark.post;
import static spark.Spark.put; import static spark.Spark.put;
import static spark.Spark.secure; import static spark.Spark.secure;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.file.Files;
import java.nio.file.Paths;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import de.deadlocker8.budgetmasterserver.main.DatabaseHandler; import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
import de.deadlocker8.budgetmasterserver.main.Settings; import de.deadlocker8.budgetmasterserver.main.Settings;
import de.deadlocker8.budgetmasterserver.main.Utils;
import de.deadlocker8.budgetmasterserver.server.category.CategoryAdd; import de.deadlocker8.budgetmasterserver.server.category.CategoryAdd;
import de.deadlocker8.budgetmasterserver.server.category.CategoryDelete; import de.deadlocker8.budgetmasterserver.server.category.CategoryDelete;
import de.deadlocker8.budgetmasterserver.server.category.CategoryGet; import de.deadlocker8.budgetmasterserver.server.category.CategoryGet;
...@@ -37,43 +30,23 @@ import de.deadlocker8.budgetmasterserver.server.payment.repeating.RepeatingPayme ...@@ -37,43 +30,23 @@ import de.deadlocker8.budgetmasterserver.server.payment.repeating.RepeatingPayme
import de.deadlocker8.budgetmasterserver.server.payment.repeating.RepeatingPaymentGetAll; import de.deadlocker8.budgetmasterserver.server.payment.repeating.RepeatingPaymentGetAll;
import de.deadlocker8.budgetmasterserver.server.rest.RestGet; import de.deadlocker8.budgetmasterserver.server.rest.RestGet;
import de.deadlocker8.budgetmasterserver.server.updater.RepeatingPaymentUpdater; import de.deadlocker8.budgetmasterserver.server.updater.RepeatingPaymentUpdater;
import logger.LogLevel;
import logger.Logger; import logger.Logger;
import spark.Spark; import spark.Spark;
import spark.route.RouteOverview; import spark.route.RouteOverview;
public class SparkServer public class SparkServer
{ {
private static Settings settings; private Gson gson;
private static Gson gson; private DatabaseHandler handler;
private static DatabaseHandler handler;
// DEBUG move main method to extra file and start SparkServer from there public SparkServer(Settings settings)
public static void main(String[] args) throws URISyntaxException
{ {
Logger.setLevel(LogLevel.ALL);
File logFile = new File(Paths.get(SparkServer.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getParent().toFile() + "/error.log");
Logger.enableFileOutput(logFile);
Logger.info("Initialized SparkServer"); Logger.info("Initialized SparkServer");
gson = new GsonBuilder().setPrettyPrinting().create(); gson = new GsonBuilder().setPrettyPrinting().create();
if(!Files.exists(Paths.get("settings.properties")))
{
try
{
Files.copy(SparkServer.class.getClassLoader().getResourceAsStream("de/deadlocker8/budgetmasterserver/resources/settings.properties"), Paths.get("settings.properties"));
}
catch(IOException e)
{
// ERRORHANDLING
e.printStackTrace();
}
}
settings = Utils.loadSettings();
port(settings.getServerPort()); port(settings.getServerPort());
// DEBUG // DEBUG
secure("certs/keystore.jks", "geheim", null, null); secure("certs/keystore.jks", "geheim", null, null);
RouteOverview.enableRouteOverview(); RouteOverview.enableRouteOverview();
...@@ -120,6 +93,7 @@ public class SparkServer ...@@ -120,6 +93,7 @@ public class SparkServer
}); });
Spark.exception(Exception.class, (exception, request, response) -> { Spark.exception(Exception.class, (exception, request, response) -> {
Logger.error(exception);
exception.printStackTrace(); exception.printStackTrace();
}); });
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment