Skip to content
Snippets Groups Projects
Commit fd1721d0 authored by Tobias Ullerich's avatar Tobias Ullerich
Browse files

Add path add listener, add paths to pad

parent 13fd3229
No related branches found
No related tags found
No related merge requests found
...@@ -11,6 +11,7 @@ class Pad() { ...@@ -11,6 +11,7 @@ class Pad() {
var name: String = _ var name: String = _
var position: Int = _ var position: Int = _
var contentType: String = _
var paths: List[Path] = List() var paths: List[Path] = List()
var page: Page = _ var page: Page = _
......
...@@ -11,14 +11,16 @@ class PadSaver { ...@@ -11,14 +11,16 @@ class PadSaver {
def save(pad: Pad): JsonElement = { def save(pad: Pad): JsonElement = {
val jsonObject = new JsonObject() val jsonObject = new JsonObject()
jsonObject.addProperty(PAD_ID, pad.id.toString)
jsonObject.addProperty(PAD_NAME, pad.name)
jsonObject.addProperty(PAD_POSITION, pad.position)
val pathSaver = new PathSaver() val pathSaver = new PathSaver()
val pathArray = new JsonArray() val pathArray = new JsonArray()
pad.paths.foreach(path => pathArray.add(pathSaver.save(path))) pad.paths.foreach(path => pathArray.add(pathSaver.save(path)))
jsonObject.addProperty(PAD_ID, pad.id.toString)
jsonObject.addProperty(PAD_NAME, pad.name)
jsonObject.addProperty(PAD_POSITION, pad.position)
jsonObject.addProperty(PAD_CONTENT_TYPE, pad.contentType)
jsonObject.add(PAD_PATHS, pathArray)
jsonObject jsonObject
} }
} }
...@@ -17,6 +17,7 @@ object JsonDef { ...@@ -17,6 +17,7 @@ object JsonDef {
val PAD_ID = "id" val PAD_ID = "id"
val PAD_NAME = "name" val PAD_NAME = "name"
val PAD_POSITION = "position" val PAD_POSITION = "position"
val PAD_CONTENT_TYPE = "contentType"
val PAD_PATHS = "paths" val PAD_PATHS = "paths"
val PATH_ID = "id" val PATH_ID = "id"
......
...@@ -8,6 +8,7 @@ import de.tobias.playpad.server.account ...@@ -8,6 +8,7 @@ import de.tobias.playpad.server.account
import de.tobias.playpad.server.account.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.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.page.{PageAddListener, PageRemoveListener, PageUpdateListener}
import de.tobias.playpad.server.server.project.sync.listener.path.PathAddListener
import de.tobias.playpad.server.server.project.sync.listener.project.{ProjectAddListener, ProjectRemoveListener, 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.Session
import org.eclipse.jetty.websocket.api.annotations.{OnWebSocketClose, OnWebSocketConnect, OnWebSocketMessage, WebSocket} import org.eclipse.jetty.websocket.api.annotations.{OnWebSocketClose, OnWebSocketConnect, OnWebSocketMessage, WebSocket}
...@@ -34,8 +35,10 @@ import scala.collection.{Map, mutable} ...@@ -34,8 +35,10 @@ import scala.collection.{Map, mutable}
"page-rm" -> new PageRemoveListener(), "page-rm" -> new PageRemoveListener(),
"pad-add" -> new PadAddListener(), "pad-add" -> new PadAddListener(),
//"page-update" -> new PageUpdateListener(), //"pad-update" -> new PadUpdateListener(),
"pad-rm" -> new PadRemoveListener() "pad-rm" -> new PadRemoveListener(),
"path-add" -> new PathAddListener()
) )
@OnWebSocketConnect def onConnect(serverSession: Session): Unit = { @OnWebSocketConnect def onConnect(serverSession: Session): Unit = {
......
package de.tobias.playpad.server.server.project.sync.listener.path
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 PathAddListener extends Listener {
override def onChange(json: JsonObject, connection: Connection, session: Session): Unit = {
val pathId = UUID.fromString(json.get("id").getAsString)
val padId = UUID.fromString(json.get("pad").getAsString)
val path = json.get("path").getAsString
SqlHelper.insertOrUpdate(connection, SqlDef.PATH, pathId, SqlDef.PAD_PAGE_REF, padId)
SqlHelper.insertOrUpdate(connection, SqlDef.PATH, pathId, SqlDef.PAD_NAME, path)
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment