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 2bb19596377fbbe721801212ea3c9e171c313e78..9e73872d79d846312d02c77e64d469439cd2f3a9 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 +import de.tobias.playpad.server.server.project.sync.listener.project.{ProjectAddListener, ProjectUpdateListener} import org.eclipse.jetty.websocket.api.Session import org.eclipse.jetty.websocket.api.annotations.{OnWebSocketClose, OnWebSocketConnect, OnWebSocketMessage, WebSocket} @@ -21,7 +21,8 @@ import scala.collection.{Map, mutable} private var sessions: Map[Account, mutable.HashSet[Session]] = new mutable.HashMap[Account, mutable.HashSet[Session]]() private val listeners = Map( - "pro-add" -> new ProjectAddListener() + "pro-add" -> new ProjectAddListener(), + "pro-update" -> new ProjectUpdateListener() ) @OnWebSocketConnect def onConnect(serverSession: Session): Unit = { diff --git a/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/project/ProjectUpdateListener.scala b/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/project/ProjectUpdateListener.scala new file mode 100644 index 0000000000000000000000000000000000000000..6f8a143de3256aa5b1064a63bd49119e6cf43c92 --- /dev/null +++ b/src/main/scala/de/tobias/playpad/server/server/project/sync/listener/project/ProjectUpdateListener.scala @@ -0,0 +1,24 @@ +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 ProjectUpdateListener extends Listener { + override def onChange(json: JsonObject, connection: Connection, session: Session): Unit = { + val projectId = UUID.fromString(json.get("id").getAsString) + val field = json.get("field").getAsString + + field match { + case "name" => SqlHelper.insertOrUpdate(connection, SqlDef.PROJECT, projectId, SqlDef.PROJECT_NAME, json.get("value").getAsString) + } + } +}