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 6c88a746760ba8056f4afdd7a5e28e28bea64990..abf66a7b4fa96869904ef9f5e7c57b04b88d96bd 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 df1b32e2aaf172c96ef7f5f6ac9f26e7d2a38a0a..520f8e0e44dff700f35c7bd6ee42b7591a35042a 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 fb33d4c63427491cbdcb63d96d796ec8fa9ec988..19e0c133593cfda3ebe38f1895795e4a6c8626d4 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 39a62dfec2111080739610c810953d1acfc4968a..c7c0a2b2246ee4e30a31835f718ea6a98e671c43 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 1d998a372fcc242f63215b6ebc56f7756a829d56..47a330ad654b21e20ad1867695a5e9402f329ff5 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 3d869a121b7de40bb1d40e16bc30fbb090c19737..2c75ffa7c0efe94a83cbabda23c853d84445bf29 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 7b550763a1521a918a87bad443a5857d4a815db9..29d701cbade4dd46cf9469d2db1ed3407b725770 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 543e525d9e59675dd746617db1994373217b8f42..f76a22da120c77b7171f64257f43e44e4905891a 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 0000000000000000000000000000000000000000..c835bb0159318b4b83d7e11dc22893b71d9e7d11 --- /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 0000000000000000000000000000000000000000..6f31c8f4d92e21abf856c621a9835779984fae2e --- /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 5b6c791ed5ec86ceff79334901b29a2b1eaa3633..c9df6256de37f405c7b58a2afea2ead01857556b 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) } }