From dbb070841460acb19c3fbbf352476041399ac888 Mon Sep 17 00:00:00 2001 From: tobias <thinkdifferent055@gmail.com> Date: Sun, 19 Feb 2017 20:46:24 +0100 Subject: [PATCH] Add Project Remove Listener, mark old listener classes as deprecated --- .../server/project/ProjectHandler.scala | 1 + .../listener/CollectionAddListener.scala | 1 + .../listener/CollectionRemoveListener.scala | 1 + .../server/project/listener/Listener.scala | 1 + .../listener/PropertyUpdateListener.scala | 1 + .../project/sync/ProjectSyncHandler.scala | 5 +++-- .../project/ProjectRemoveListener.scala | 21 +++++++++++++++++++ 7 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 src/main/scala/de/tobias/playpad/server/server/project/sync/listener/project/ProjectRemoveListener.scala diff --git a/src/main/scala/de/tobias/playpad/server/server/project/ProjectHandler.scala b/src/main/scala/de/tobias/playpad/server/server/project/ProjectHandler.scala index 786d9f4..997bdd3 100644 --- a/src/main/scala/de/tobias/playpad/server/server/project/ProjectHandler.scala +++ b/src/main/scala/de/tobias/playpad/server/server/project/ProjectHandler.scala @@ -15,6 +15,7 @@ import scala.collection.{Map, mutable} /** * Created by tobias on 13.02.17. */ +@Deprecated @WebSocket class ProjectHandler(sessionDao: Dao[account.Session, Int], connection: Connection) { // TODO mutable.HashSet --> Set diff --git a/src/main/scala/de/tobias/playpad/server/server/project/listener/CollectionAddListener.scala b/src/main/scala/de/tobias/playpad/server/server/project/listener/CollectionAddListener.scala index 0bc3088..20fda78 100644 --- a/src/main/scala/de/tobias/playpad/server/server/project/listener/CollectionAddListener.scala +++ b/src/main/scala/de/tobias/playpad/server/server/project/listener/CollectionAddListener.scala @@ -11,6 +11,7 @@ import scala.collection.JavaConverters /** * Created by tobias on 18.02.17. */ +@Deprecated class CollectionAddListener extends Listener { override def onChange(json: JsonObject, connection: Connection): Unit = { val childClass = json.get("child_class").getAsString diff --git a/src/main/scala/de/tobias/playpad/server/server/project/listener/CollectionRemoveListener.scala b/src/main/scala/de/tobias/playpad/server/server/project/listener/CollectionRemoveListener.scala index 20875eb..9de3640 100644 --- a/src/main/scala/de/tobias/playpad/server/server/project/listener/CollectionRemoveListener.scala +++ b/src/main/scala/de/tobias/playpad/server/server/project/listener/CollectionRemoveListener.scala @@ -8,6 +8,7 @@ import de.tobias.playpad.server.server.SqlHelper /** * Created by tobias on 18.02.17. */ +@Deprecated class CollectionRemoveListener extends Listener { override def onChange(json: JsonObject, connection: Connection): Unit = { val childClass = json.get("child_class").getAsString diff --git a/src/main/scala/de/tobias/playpad/server/server/project/listener/Listener.scala b/src/main/scala/de/tobias/playpad/server/server/project/listener/Listener.scala index 7d8220b..76703a0 100644 --- a/src/main/scala/de/tobias/playpad/server/server/project/listener/Listener.scala +++ b/src/main/scala/de/tobias/playpad/server/server/project/listener/Listener.scala @@ -7,6 +7,7 @@ import com.google.gson.JsonObject /** * Created by tobias on 18.02.17. */ +@Deprecated trait Listener { def onChange(json: JsonObject, connection: Connection): Unit diff --git a/src/main/scala/de/tobias/playpad/server/server/project/listener/PropertyUpdateListener.scala b/src/main/scala/de/tobias/playpad/server/server/project/listener/PropertyUpdateListener.scala index 33aba2d..3bc5a2a 100644 --- a/src/main/scala/de/tobias/playpad/server/server/project/listener/PropertyUpdateListener.scala +++ b/src/main/scala/de/tobias/playpad/server/server/project/listener/PropertyUpdateListener.scala @@ -8,6 +8,7 @@ import de.tobias.playpad.server.server.SqlHelper /** * Created by tobias on 18.02.17. */ +@Deprecated class PropertyUpdateListener extends Listener { override def onChange(json: JsonObject, connection: Connection): Unit = { json match { 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 9e73872..24563e0 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,7 +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.project.{ProjectAddListener, ProjectUpdateListener} +import de.tobias.playpad.server.server.project.sync.listener.project.{ProjectAddListener, ProjectRemoveListener, ProjectUpdateListener} import org.eclipse.jetty.websocket.api.Session import org.eclipse.jetty.websocket.api.annotations.{OnWebSocketClose, OnWebSocketConnect, OnWebSocketMessage, WebSocket} @@ -22,7 +22,8 @@ import scala.collection.{Map, mutable} private val listeners = Map( "pro-add" -> new ProjectAddListener(), - "pro-update" -> new ProjectUpdateListener() + "pro-update" -> new ProjectUpdateListener(), + "pro-rm" -> new ProjectRemoveListener() ) @OnWebSocketConnect def onConnect(serverSession: Session): Unit = { diff --git a/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/project/ProjectRemoveListener.scala b/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/project/ProjectRemoveListener.scala new file mode 100644 index 0000000..2165680 --- /dev/null +++ b/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/project/ProjectRemoveListener.scala @@ -0,0 +1,21 @@ +package de.tobias.playpad.server.server.project.sync.listener.project + +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 ProjectRemoveListener extends Listener { + override def onChange(json: JsonObject, connection: Connection, session: Session): Unit = { + val projectId = UUID.fromString(json.get("id").getAsString) + + SqlHelper.delete(connection, SqlDef.PROJECT, projectId) + } +} -- GitLab