diff --git a/src/de/deadlocker8/budgetmaster/logic/ServerConnection.java b/src/de/deadlocker8/budgetmaster/logic/ServerConnection.java index 4759378f49b10f740085be73f845fb8e1ff51062..45d03440d3b12775e2c67388d29416235b2318cb 100644 --- a/src/de/deadlocker8/budgetmaster/logic/ServerConnection.java +++ b/src/de/deadlocker8/budgetmaster/logic/ServerConnection.java @@ -3,6 +3,7 @@ package de.deadlocker8.budgetmaster.logic; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.PrintWriter; import java.lang.reflect.Type; import java.net.URL; import java.security.cert.X509Certificate; @@ -405,23 +406,30 @@ public class ServerConnection public void importDatabase(Database database) throws Exception { - //TODO -// String databaseJSON = new Gson().toJson(database); -// -// URL url = new URL(settings.getUrl() + "/database?secret=" + Helpers.getURLEncodedString(settings.getSecret())); -// HttpsURLConnection httpsCon = (HttpsURLConnection)url.openConnection(); -// httpsCon.setRequestMethod("POST"); -// 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())); -// } + String databaseJSON = new Gson().toJson(database); + + URL url = new URL(settings.getUrl() + "/database?secret=" + Helpers.getURLEncodedString(settings.getSecret())); + HttpsURLConnection httpsCon = (HttpsURLConnection)url.openConnection(); + httpsCon.setRequestMethod("POST"); + httpsCon.setRequestProperty("Content-Type", "application/json"); + httpsCon.setRequestProperty("Accept", "application/json"); + httpsCon.setDoInput(true); + httpsCon.setDoOutput(true); + PrintWriter writer = new PrintWriter(httpsCon.getOutputStream()); + writer.write(databaseJSON); + writer.flush(); + writer.close(); + + 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())); + } } /* diff --git a/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java b/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java index d3962efeb2c94105ef23d46f7137c99092d4a00a..20907d3c3d79b8ec76cc198bbbc7bf7c49480ab5 100644 --- a/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java +++ b/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java @@ -26,7 +26,7 @@ public class DatabaseImport implements Route @Override public Object handle(Request req, Response res) throws Exception { - String databaseJSON = req.body(); + String databaseJSON = req.body(); try {