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
}
}
public static void saveSettings(Settings settings)
{
try
public static void saveSettings(Settings settings) throws IOException
{
Gson gson = new Gson();
String jsonString = gson.toJson(settings);
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
}
catch(IOException e)
{
// ERRORHANDLING
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);
......
package de.deadlocker8.budgetmaster.ui;
import java.io.IOException;
import de.deadlocker8.budgetmaster.logic.Settings;
import de.deadlocker8.budgetmaster.logic.Utils;
import javafx.fxml.FXML;
......@@ -10,6 +12,7 @@ import javafx.scene.control.RadioButton;
import javafx.scene.control.TextField;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.AnchorPane;
import logger.Logger;
import tools.AlertGenerator;
public class SettingsController
......@@ -75,13 +78,22 @@ public class SettingsController
settings.setRestActivated(radioButtonRestActivated.isSelected());
controller.setSettings(settings);
}
try
{
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.showNotification("Erfolgreich gespeichert");
}
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
......
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;
public class Utils
{
public static Settings loadSettings()
public static Settings loadSettings() throws IOException
{
String settingsJSON;
Settings settings;
try
{
Gson gson = new Gson();
settingsJSON = new String(Files.readAllBytes(Paths.get("settings.properties")));
settings = gson.fromJson(settingsJSON, Settings.class);
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;
import static spark.Spark.put;
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.GsonBuilder;
import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
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.CategoryDelete;
import de.deadlocker8.budgetmasterserver.server.category.CategoryGet;
......@@ -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.rest.RestGet;
import de.deadlocker8.budgetmasterserver.server.updater.RepeatingPaymentUpdater;
import logger.LogLevel;
import logger.Logger;
import spark.Spark;
import spark.route.RouteOverview;
public class SparkServer
{
private static Settings settings;
private static Gson gson;
private static DatabaseHandler handler;
private Gson gson;
private DatabaseHandler handler;
// DEBUG move main method to extra file and start SparkServer from there
public static void main(String[] args) throws URISyntaxException
public SparkServer(Settings settings)
{
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");
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());
// DEBUG
secure("certs/keystore.jks", "geheim", null, null);
RouteOverview.enableRouteOverview();
......@@ -120,6 +93,7 @@ public class SparkServer
});
Spark.exception(Exception.class, (exception, request, response) -> {
Logger.error(exception);
exception.printStackTrace();
});
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment