From 13fd32290669a6a3a21d9cc9d619d0f040fa170f Mon Sep 17 00:00:00 2001 From: tobias <thinkdifferent055@gmail.com> Date: Mon, 20 Feb 2017 22:45:16 +0100 Subject: [PATCH] Pad sync fixes --- .../tobias/playpad/server/project/Pad.scala | 2 -- .../project/loader/json/PathLoader.scala | 2 +- .../server/project/loader/sql/PadLoader.scala | 3 +-- .../server/project/saver/json/PadSaver.scala | 1 - .../server/project/saver/sql/PadSaver.scala | 1 - .../server/project/utils/JsonDef.scala | 1 - .../playpad/server/project/utils/SqlDef.scala | 1 - .../project/sync/ProjectSyncHandler.scala | 7 ++++- .../sync/listener/pad/PadAddListener.scala | 26 +++++++++++++++++++ .../sync/listener/pad/PadRemoveListener.scala | 21 +++++++++++++++ .../listener/page/PageRemoveListener.scala | 4 +-- 11 files changed, 57 insertions(+), 12 deletions(-) create mode 100644 src/main/scala/de/tobias/playpad/server/server/project/sync/listener/pad/PadAddListener.scala create mode 100644 src/main/scala/de/tobias/playpad/server/server/project/sync/listener/pad/PadRemoveListener.scala diff --git a/src/main/scala/de/tobias/playpad/server/project/Pad.scala b/src/main/scala/de/tobias/playpad/server/project/Pad.scala index 6c88a74..abf66a7 100644 --- a/src/main/scala/de/tobias/playpad/server/project/Pad.scala +++ b/src/main/scala/de/tobias/playpad/server/project/Pad.scala @@ -9,9 +9,7 @@ class Pad() { var id: UUID = UUID.randomUUID() var name: String = _ - var position: Int = _ - var pageIndex: Int = _ var paths: List[Path] = List() diff --git a/src/main/scala/de/tobias/playpad/server/project/loader/json/PathLoader.scala b/src/main/scala/de/tobias/playpad/server/project/loader/json/PathLoader.scala index df1b32e..520f8e0 100644 --- a/src/main/scala/de/tobias/playpad/server/project/loader/json/PathLoader.scala +++ b/src/main/scala/de/tobias/playpad/server/project/loader/json/PathLoader.scala @@ -22,7 +22,7 @@ class PathLoader { path.path = json.get(PATH_PATH).getAsString path.pad = pad - pad + path }).toList paths } diff --git a/src/main/scala/de/tobias/playpad/server/project/loader/sql/PadLoader.scala b/src/main/scala/de/tobias/playpad/server/project/loader/sql/PadLoader.scala index fb33d4c..19e0c13 100644 --- a/src/main/scala/de/tobias/playpad/server/project/loader/sql/PadLoader.scala +++ b/src/main/scala/de/tobias/playpad/server/project/loader/sql/PadLoader.scala @@ -23,10 +23,9 @@ class PadLoader(val connection: Connection) { pad.id = UUID.fromString(result.getString(PAD_ID)) pad.name = result.getString(PAD_NAME) pad.position = result.getInt(PAD_POSITION) - pad.pageIndex = result.getInt(PAD_PAGE) val pathLoader = new PathLoader(connection) - pad.paths = pathLoader.load(pad)) + pad.paths = pathLoader.load(pad) pad.page = page pads = pad :: pads diff --git a/src/main/scala/de/tobias/playpad/server/project/saver/json/PadSaver.scala b/src/main/scala/de/tobias/playpad/server/project/saver/json/PadSaver.scala index 39a62df..c7c0a2b 100644 --- a/src/main/scala/de/tobias/playpad/server/project/saver/json/PadSaver.scala +++ b/src/main/scala/de/tobias/playpad/server/project/saver/json/PadSaver.scala @@ -14,7 +14,6 @@ class PadSaver { jsonObject.addProperty(PAD_ID, pad.id.toString) jsonObject.addProperty(PAD_NAME, pad.name) jsonObject.addProperty(PAD_POSITION, pad.position) - jsonObject.addProperty(PAD_PAGE, pad.pageIndex) val pathSaver = new PathSaver() val pathArray = new JsonArray() diff --git a/src/main/scala/de/tobias/playpad/server/project/saver/sql/PadSaver.scala b/src/main/scala/de/tobias/playpad/server/project/saver/sql/PadSaver.scala index 1d998a3..47a330a 100644 --- a/src/main/scala/de/tobias/playpad/server/project/saver/sql/PadSaver.scala +++ b/src/main/scala/de/tobias/playpad/server/project/saver/sql/PadSaver.scala @@ -13,7 +13,6 @@ class PadSaver(val connection: Connection) { def save(pad: Pad): Unit = { SqlHelper.insertOrUpdate(connection, PAD, pad.id, PAD_NAME, pad.name) SqlHelper.insertOrUpdate(connection, PAD, pad.id, PAD_POSITION, pad.position) - SqlHelper.insertOrUpdate(connection, PAD, pad.id, PAD_PAGE, pad.pageIndex) SqlHelper.insertOrUpdate(connection, PAD, pad.id, PAD_PAGE_REF, pad.page.id) val pathSaver = new PathSaver(connection) diff --git a/src/main/scala/de/tobias/playpad/server/project/utils/JsonDef.scala b/src/main/scala/de/tobias/playpad/server/project/utils/JsonDef.scala index 3d869a1..2c75ffa 100644 --- a/src/main/scala/de/tobias/playpad/server/project/utils/JsonDef.scala +++ b/src/main/scala/de/tobias/playpad/server/project/utils/JsonDef.scala @@ -17,7 +17,6 @@ object JsonDef { val PAD_ID = "id" val PAD_NAME = "name" val PAD_POSITION = "position" - val PAD_PAGE = "page" val PAD_PATHS = "paths" val PATH_ID = "id" diff --git a/src/main/scala/de/tobias/playpad/server/project/utils/SqlDef.scala b/src/main/scala/de/tobias/playpad/server/project/utils/SqlDef.scala index 7b55076..29d701c 100644 --- a/src/main/scala/de/tobias/playpad/server/project/utils/SqlDef.scala +++ b/src/main/scala/de/tobias/playpad/server/project/utils/SqlDef.scala @@ -20,7 +20,6 @@ object SqlDef { val PAD_ID = "id" val PAD_NAME = "name" val PAD_POSITION = "position" - val PAD_PAGE = "page" val PAD_PAGE_REF = "page_id" val PATH = "Path" diff --git a/src/main/scala/de/tobias/playpad/server/server/project/sync/ProjectSyncHandler.scala b/src/main/scala/de/tobias/playpad/server/server/project/sync/ProjectSyncHandler.scala index 543e525..f76a22d 100644 --- a/src/main/scala/de/tobias/playpad/server/server/project/sync/ProjectSyncHandler.scala +++ b/src/main/scala/de/tobias/playpad/server/server/project/sync/ProjectSyncHandler.scala @@ -6,6 +6,7 @@ import com.google.gson.{JsonObject, JsonParser} import com.j256.ormlite.dao.Dao import de.tobias.playpad.server.account import de.tobias.playpad.server.account.Account +import de.tobias.playpad.server.server.project.sync.listener.pad.{PadAddListener, PadRemoveListener} import de.tobias.playpad.server.server.project.sync.listener.page.{PageAddListener, PageRemoveListener, PageUpdateListener} import de.tobias.playpad.server.server.project.sync.listener.project.{ProjectAddListener, ProjectRemoveListener, ProjectUpdateListener} import org.eclipse.jetty.websocket.api.Session @@ -30,7 +31,11 @@ import scala.collection.{Map, mutable} "page-add" -> new PageAddListener(), "page-update" -> new PageUpdateListener(), - "page-rm" -> new PageRemoveListener() + "page-rm" -> new PageRemoveListener(), + + "pad-add" -> new PadAddListener(), + //"page-update" -> new PageUpdateListener(), + "pad-rm" -> new PadRemoveListener() ) @OnWebSocketConnect def onConnect(serverSession: Session): Unit = { 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 new file mode 100644 index 0000000..c835bb0 --- /dev/null +++ b/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/pad/PadAddListener.scala @@ -0,0 +1,26 @@ +package de.tobias.playpad.server.server.project.sync.listener.pad + +import java.sql.Connection +import java.util.UUID + +import com.google.gson.JsonObject +import de.tobias.playpad.server.account.Session +import de.tobias.playpad.server.project.utils.SqlDef +import de.tobias.playpad.server.server.SqlHelper +import de.tobias.playpad.server.server.project.sync.listener.Listener + +/** + * Created by tobias on 19.02.17. + */ +class PadAddListener extends Listener { + override def onChange(json: JsonObject, connection: Connection, session: Session): Unit = { + val padId = UUID.fromString(json.get("id").getAsString) + val pageId = UUID.fromString(json.get("page").getAsString) + val padName = json.get("name").getAsString + val padPosition= json.get("position").getAsInt + + SqlHelper.insertOrUpdate(connection, SqlDef.PAD, padId, SqlDef.PAD_PAGE_REF, pageId) + SqlHelper.insertOrUpdate(connection, SqlDef.PAD, padId, SqlDef.PAD_NAME, padName) + SqlHelper.insertOrUpdate(connection, SqlDef.PAD, padId, SqlDef.PAD_POSITION, padPosition) + } +} diff --git a/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/pad/PadRemoveListener.scala b/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/pad/PadRemoveListener.scala new file mode 100644 index 0000000..6f31c8f --- /dev/null +++ b/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/pad/PadRemoveListener.scala @@ -0,0 +1,21 @@ +package de.tobias.playpad.server.server.project.sync.listener.pad + +import java.sql.Connection +import java.util.UUID + +import com.google.gson.JsonObject +import de.tobias.playpad.server.account.Session +import de.tobias.playpad.server.project.utils.SqlDef +import de.tobias.playpad.server.server.SqlHelper +import de.tobias.playpad.server.server.project.sync.listener.Listener + +/** + * Created by tobias on 19.02.17. + */ +class PadRemoveListener extends Listener { + override def onChange(json: JsonObject, connection: Connection, session: Session): Unit = { + val padId = UUID.fromString(json.get("id").getAsString) + + SqlHelper.delete(connection, SqlDef.PAD, padId) + } +} diff --git a/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/page/PageRemoveListener.scala b/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/page/PageRemoveListener.scala index 5b6c791..c9df625 100644 --- a/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/page/PageRemoveListener.scala +++ b/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/page/PageRemoveListener.scala @@ -14,8 +14,8 @@ import de.tobias.playpad.server.server.project.sync.listener.Listener */ class PageRemoveListener extends Listener { override def onChange(json: JsonObject, connection: Connection, session: Session): Unit = { - val projectId = UUID.fromString(json.get("id").getAsString) + val pageId = UUID.fromString(json.get("id").getAsString) - SqlHelper.delete(connection, SqlDef.PAGE, projectId) + SqlHelper.delete(connection, SqlDef.PAGE, pageId) } } -- GitLab