diff -r a0f15cb8c730 -r 2d0750864a98 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 05:56:47 2016 +0200 +++ b/chat/server/src/main/java/org/apidesign/demo/chat/server/ChatServerResource.java Fri Apr 22 08:53:13 2016 +0200 @@ -24,27 +24,14 @@ package org.apidesign.demo.chat.server; import java.util.ArrayList; -import java.util.IdentityHashMap; import java.util.List; -import java.util.Map; import java.util.logging.Logger; -import javax.inject.Singleton; -import javax.ws.rs.Consumes; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.MediaType; 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; /** Server side of the chat application.*/ -@Path("/chat/") @Singleton -public final class ChatServerResource { +public final class ChatServerResource extends WebSocketApplication { private static final Logger LOG = Logger.getLogger(ChatServerResource.class.getName()); private static final long started = System.currentTimeMillis() - 10; @@ -56,7 +43,9 @@ welcome.setSince(10); msgs.add(welcome); } - + + +/* private final Map awaiting = new IdentityHashMap<>(); @Produces(MediaType.APPLICATION_JSON) @@ -100,4 +89,10 @@ handleAwaiting(msg.getSince()); return msg; } +*/ + + @Override + public void onMessage(WebSocket socket, String text) { + super.onMessage(socket, text); + } }