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
Branches
No related tags found
No related merge requests found
......@@ -11,6 +11,7 @@ class Pad() {
var name: String = _
var position: Int = _
var contentType: String = _
var paths: List[Path] = List()
var page: Page = _
......
......@@ -11,14 +11,16 @@ class PadSaver {
def save(pad: Pad): JsonElement = {
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 pathArray = new JsonArray()
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
}
}
......@@ -17,6 +17,7 @@ object JsonDef {
val PAD_ID = "id"
val PAD_NAME = "name"
val PAD_POSITION = "position"
val PAD_CONTENT_TYPE = "contentType"
val PAD_PATHS = "paths"
val PATH_ID = "id"
......
......@@ -8,6 +8,7 @@ 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.path.PathAddListener
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}
......@@ -34,8 +35,10 @@ import scala.collection.{Map, mutable}
"page-rm" -> new PageRemoveListener(),
"pad-add" -> new PadAddListener(),
//"page-update" -> new PageUpdateListener(),
"pad-rm" -> new PadRemoveListener()
//"pad-update" -> new PadUpdateListener(),
"pad-rm" -> new PadRemoveListener(),
"path-add" -> new PathAddListener()
)
@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