diff --git a/src/main/scala/de/tobias/playpad/server/PlayPadServer.scala b/src/main/scala/de/tobias/playpad/server/PlayPadServer.scala index 2536bffeaf01416e6dfa81e2a7a580a70032bdeb..a0cba3987ebc29daf555cd71782003c22e2dd300 100644 --- a/src/main/scala/de/tobias/playpad/server/PlayPadServer.scala +++ b/src/main/scala/de/tobias/playpad/server/PlayPadServer.scala @@ -91,6 +91,7 @@ object PlayPadServer extends App { Runtime.getRuntime.addShutdownHook(new Thread(() => { databaseConnection.close() + connectionSource.close() stop() })) } diff --git a/src/main/scala/de/tobias/playpad/server/project/loader/json/DesignLoader.scala b/src/main/scala/de/tobias/playpad/server/project/loader/json/DesignLoader.scala index 057a19d56f9924f9ba4f684277f9ead285ca1b10..a5127e85c39a926d59d5f9087494d26245144abf 100644 --- a/src/main/scala/de/tobias/playpad/server/project/loader/json/DesignLoader.scala +++ b/src/main/scala/de/tobias/playpad/server/project/loader/json/DesignLoader.scala @@ -3,8 +3,8 @@ package de.tobias.playpad.server.project.loader.json import java.util.UUID import com.google.gson.JsonObject -import de.tobias.playpad.server.project.{Design, Pad} import de.tobias.playpad.server.project.utils.JsonDef +import de.tobias.playpad.server.project.{Design, Pad} /** * Created by tobias on 23.02.17. diff --git a/src/main/scala/de/tobias/playpad/server/project/loader/json/PadLoader.scala b/src/main/scala/de/tobias/playpad/server/project/loader/json/PadLoader.scala index c3591c2c16383ba3ef167054310fbd595a3784cc..bd55a1e36f4ad1ea872554f30eb821193924566d 100644 --- a/src/main/scala/de/tobias/playpad/server/project/loader/json/PadLoader.scala +++ b/src/main/scala/de/tobias/playpad/server/project/loader/json/PadLoader.scala @@ -19,9 +19,11 @@ class PadLoader { val pad = new Pad() pad.id = UUID.fromString(json.get(PAD_ID).getAsString) - pad.name = json.get(PAD_NAME).getAsString + if (json.get(PAD_NAME) != null) + pad.name = json.get(PAD_NAME).getAsString pad.position = json.get(PAD_POSITION).getAsInt - pad.name = json.get(PAD_CONTENT_TYPE).getAsString + if (json.get(PAD_CONTENT_TYPE) != null) + pad.contentType = json.get(PAD_CONTENT_TYPE).getAsString pad.page = page val pathLoader = new PathLoader @@ -30,7 +32,8 @@ class PadLoader { val designLoader = new DesignLoader val designJson = json.getAsJsonObject(PAD_DESIGN) - pad.design = designLoader.load(designJson, pad) + if (designJson != null) + pad.design = designLoader.load(designJson, pad) pad }).toList diff --git a/src/main/scala/de/tobias/playpad/server/project/saver/sql/PathSaver.scala b/src/main/scala/de/tobias/playpad/server/project/saver/sql/PathSaver.scala index 7db424a736f682bee7d12c698e8a39046949cbfc..1d695eea4472cd0708a9d261237d6a6a2c247b24 100644 --- a/src/main/scala/de/tobias/playpad/server/project/saver/sql/PathSaver.scala +++ b/src/main/scala/de/tobias/playpad/server/project/saver/sql/PathSaver.scala @@ -11,8 +11,8 @@ import de.tobias.playpad.server.server.SqlHelper */ class PathSaver(val connection: Connection) { def save(path: Path): Unit = { - SqlHelper.insertOrUpdate(connection, PATH, path.id, PAD_NAME, path.path) - SqlHelper.insertOrUpdate(connection, PATH, path.id, PAD_POSITION, path.pad.id) + SqlHelper.insertOrUpdate(connection, PATH, path.id, PATH_PAD_REF, path.pad.id) + SqlHelper.insertOrUpdate(connection, PATH, path.id, PATH_NAME, path.path) } } diff --git a/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/pad/PadAddListener.scala b/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/pad/PadAddListener.scala index 72754c1bc0a40b1de18c408496b9d47e9ad8eb44..d902ef4e30a30579dd805cb8ff9cea8347d220dc 100644 --- a/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/pad/PadAddListener.scala +++ b/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/pad/PadAddListener.scala @@ -24,7 +24,7 @@ class PadAddListener extends Listener { SqlHelper.insertOrUpdate(connection, SqlDef.PAD, padId, SqlDef.PAD_POSITION, padPosition) if (!json.get("contentType").isJsonNull) { - val contentType = json.get("contentType").getAsString; + val contentType = json.get("contentType").getAsString SqlHelper.insertOrUpdate(connection, SqlDef.PAD, padId, SqlDef.PAD_CONTENT_TYPE, contentType) } }