# HG changeset patch # User Jaroslav Tulach # Date 1461308288 -7200 # Node ID 6a59fdb91011ffe1256e4c370b780b1b33b40675 # Parent 2d0750864a98c86d99dafeea5179c0ac9b6d948e Can parse the message on the server to Query model class diff -r 2d0750864a98 -r 6a59fdb91011 chat/server/pom.xml --- a/chat/server/pom.xml Fri Apr 22 08:53:13 2016 +0200 +++ b/chat/server/pom.xml Fri Apr 22 08:58:08 2016 +0200 @@ -53,12 +53,6 @@ - org.netbeans.html - ko4j - ${net.java.html.version} - jar - - org.glassfish.grizzly grizzly-http-server-core ${grizzly.version} @@ -90,6 +84,11 @@ chat-shared ${project.version} + + org.netbeans.html + ko-ws-tyrus + ${net.java.html.version} + diff -r 2d0750864a98 -r 6a59fdb91011 chat/server/src/main/java/org/apidesign/demo/chat/server/ChatServerResource.java --- a/chat/server/src/main/java/org/apidesign/demo/chat/server/ChatServerResource.java Fri Apr 22 08:53:13 2016 +0200 +++ b/chat/server/src/main/java/org/apidesign/demo/chat/server/ChatServerResource.java Fri Apr 22 08:58:08 2016 +0200 @@ -23,10 +23,15 @@ */ package org.apidesign.demo.chat.server; +import java.io.ByteArrayInputStream; +import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.logging.Logger; +import net.java.html.BrwsrCtx; +import net.java.html.json.Models; import org.apidesign.demo.chat.shared.Message; +import org.apidesign.demo.chat.shared.Query; import org.glassfish.grizzly.websockets.WebSocket; import org.glassfish.grizzly.websockets.WebSocketApplication; @@ -93,6 +98,12 @@ @Override public void onMessage(WebSocket socket, String text) { - super.onMessage(socket, text); + try { + ByteArrayInputStream is = new ByteArrayInputStream(text.getBytes("UTF-8")); + Query q = Models.parse(BrwsrCtx.findDefault(ChatServerResource.class), Query.class, is); + super.onMessage(socket, text); + } catch (IOException ex) { + throw new IllegalStateException(ex); + } } }