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

#200 - added command "delete server log"

parent 0b4f4174
No related branches found
No related tags found
1 merge request!222merge v1_7_0 into master
......@@ -3,14 +3,17 @@ package de.deadlocker8.budgetmasterclient.ui.commandLine;
import java.text.MessageFormat;
import java.util.ResourceBundle;
import de.deadlocker8.budgetmaster.logic.Settings;
public class CommandBundle
{
private CommandLineController controller;
private ResourceBundle languageBundle;
private Settings settings;
public CommandBundle()
public CommandBundle(Settings settings)
{
this.settings = settings;
}
public CommandLineController getController()
......@@ -42,4 +45,9 @@ public class CommandBundle
{
this.languageBundle = languageBundle;
}
public Settings getSettings()
{
return settings;
}
}
\ No newline at end of file
package de.deadlocker8.budgetmasterclient.ui.commandLine.commands;
import de.deadlocker8.budgetmaster.logic.serverconnection.ServerConnection;
import de.deadlocker8.budgetmasterclient.ui.commandLine.CommandBundle;
import logger.Logger;
......@@ -24,15 +25,23 @@ public class CommandDelete extends Command
if(command[1].equals("log-client"))
{
Logger.clearLogFile();
bundle.getController().print(bundle.getString("delete.success", "log-client", Logger.getFolder()));
bundle.getController().print(bundle.getString("delete.success", "client logfile"));
return;
}
if(command[1].equals("log-server"))
{
//TODO
// Logger.clearLogFile();
// bundle.getController().print(bundle.getString("delete.success", "log-server", Logger.getFolder()));
try
{
ServerConnection connection = new ServerConnection(bundle.getSettings());
connection.deleteLog();
bundle.getController().print(bundle.getString("delete.success", "server logfile"));
}
catch(Exception e)
{
bundle.getController().print(bundle.getString("delete.error.connection"));
}
return;
}
......
......@@ -131,7 +131,7 @@ public class Controller extends BaseController
paymentHandler = new PaymentHandler();
updater = new Updater();
CommandBundle commandBundle = new CommandBundle();
CommandBundle commandBundle = new CommandBundle(settings);
cmd = new CommandLine(getStage(), icon, ResourceBundle.getBundle("de/deadlocker8/budgetmaster/ui/commandLine/", Locale.ENGLISH), commandBundle);
if(settings.isAutoUpdateCheckEnabled())
......
......@@ -17,4 +17,5 @@ open.success=Successfully opened folder {0}
# delete
help.delete=delte - deletes files\nSYNTAX: delete [PARAMETER]\npossible parameters:\nlog-client\nlog-server
delete.success=Successfully deleted {0} (in folder: {1})
delete.success=Successfully deleted {0}
delete.error.connection=An error occurred while establishing the server connection
......@@ -580,4 +580,22 @@ public class ServerConnection
throw new ServerConnectionException(String.valueOf(httpsCon.getResponseCode()));
}
}
public void deleteLog() throws Exception
{
URL url = new URL(settings.getUrl() + "/log?secret=" + Helpers.getURLEncodedString(settings.getSecret()));
HttpsURLConnection httpsCon = (HttpsURLConnection)url.openConnection();
httpsCon.setRequestMethod("DELETE");
httpsCon.setDoInput(true);
if(httpsCon.getResponseCode() == HttpsURLConnection.HTTP_OK)
{
InputStream stream = httpsCon.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
reader.close();
}
else
{
throw new ServerConnectionException(String.valueOf(httpsCon.getResponseCode()));
}
}
}
\ No newline at end of file
......@@ -33,6 +33,7 @@ import de.deadlocker8.budgetmasterserver.server.charts.MonthInOutSum;
import de.deadlocker8.budgetmasterserver.server.database.DatabaseDelete;
import de.deadlocker8.budgetmasterserver.server.database.DatabaseExport;
import de.deadlocker8.budgetmasterserver.server.database.DatabaseImport;
import de.deadlocker8.budgetmasterserver.server.log.LogDelete;
import de.deadlocker8.budgetmasterserver.server.payment.normal.PaymentAdd;
import de.deadlocker8.budgetmasterserver.server.payment.normal.PaymentDelete;
import de.deadlocker8.budgetmasterserver.server.payment.normal.PaymentGet;
......@@ -167,6 +168,7 @@ public class SparkServer
delete("/database", new DatabaseDelete(handler, settings));
get("/version", new VersionGet(gson, versionInfo));
delete("/log", new LogDelete());
after((request, response) -> {
new RepeatingPaymentUpdater(handler).updateRepeatingPayments(DateTime.now());
......
package de.deadlocker8.budgetmasterserver.server.log;
import static spark.Spark.halt;
import logger.Logger;
import spark.Request;
import spark.Response;
import spark.Route;
public class LogDelete implements Route
{
public LogDelete()
{
}
@Override
public Object handle(Request req, Response res) throws Exception
{
try
{
Logger.clearLogFile();
return "";
}
catch(IllegalStateException ex)
{
halt(500, "Internal Server Error");
}
return "";
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment