fixed a number of compilation issues with gwt-ws in our specific context with Jetty9 and GWT 2.5.1

This commit is contained in:
Axel Uhl committed 2013-08-08 17:06:27 +02:00
1 parent 1e6310e24a
commit 6dcafaae8f
4 files changed
+132 -120

No files matched your search

@@ -4,3 +4,4 @@ Bundle-Name: GWT Web Sockets
Bundle-SymbolicName: de.csenk.gwt.ws
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.jetty.websocket.api;bundle-version="9.0.4"
@@ -15,7 +15,7 @@
package de.csenk.gwt.ws.client.filter;
import com.allen_sauer.gwt.log.client.Log;
import java.util.logging.Logger;
import de.csenk.gwt.ws.shared.Connection;
import de.csenk.gwt.ws.shared.filter.DefaultFilter;
@@ -24,30 +24,33 @@ import de.csenk.gwt.ws.shared.filter.DefaultFilter;
* @author senk.christian@googlemail.com
* @date 01.09.2010
* @time 14:33:31
*
*
*/
public class ClientLoggingFilter extends DefaultFilter {
private static final Logger logger = Logger.getLogger(ClientLoggingFilter.class.getName());
/* (non-Javadoc)
* @see de.csenk.gwt.ws.shared.filter.FilterImpl#onMessageReceived(de.csenk.gwt.ws.shared.Filter.NextFilter, de.csenk.gwt.ws.shared.Connection, java.lang.Object)
*/
@Override
public void onMessageReceived(NextFilter nextFilter, Connection connection,
Object message) throws Throwable {
Log.info(message.toString());
super.onMessageReceived(nextFilter, connection, message);
}
/*
* (non-Javadoc)
*
* @see de.csenk.gwt.ws.shared.filter.FilterImpl#onMessageReceived(de.csenk.gwt.ws.shared.Filter.NextFilter,
* de.csenk.gwt.ws.shared.Connection, java.lang.Object)
*/
@Override
public void onMessageReceived(NextFilter nextFilter, Connection connection, Object message) throws Throwable {
logger.info(message.toString());
super.onMessageReceived(nextFilter, connection, message);
}
/* (non-Javadoc)
* @see de.csenk.gwt.ws.shared.filter.FilterImpl#onSend(de.csenk.gwt.ws.shared.Filter.NextFilter, de.csenk.gwt.ws.shared.Connection, java.lang.Object)
*/
@Override
public void onSend(NextFilter nextFilter, Connection connection,
Object message) throws Throwable {
Log.info(message.toString());
super.onSend(nextFilter, connection, message);
}
/*
* (non-Javadoc)
*
* @see de.csenk.gwt.ws.shared.filter.FilterImpl#onSend(de.csenk.gwt.ws.shared.Filter.NextFilter,
* de.csenk.gwt.ws.shared.Connection, java.lang.Object)
*/
@Override
public void onSend(NextFilter nextFilter, Connection connection, Object message) throws Throwable {
logger.info(message.toString());
super.onSend(nextFilter, connection, message);
}
}
@@ -15,7 +15,10 @@
package de.csenk.gwt.ws.server.jetty;
import org.eclipse.jetty.websocket.WebSocket;
import java.io.IOException;
import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.WebSocketAdapter;
import de.csenk.gwt.ws.shared.Connection;
import de.csenk.gwt.ws.shared.FilterChain;
@@ -27,96 +30,99 @@ import de.csenk.gwt.ws.shared.filter.DefaultFilterChain;
* @author senk.christian@googlemail.com
* @date 25.08.2010
* @time 13:56:30
*
*
*/
public class JettyWebSocketConnection implements WebSocket, Connection {
public class JettyWebSocketConnection extends WebSocketAdapter implements Connection {
private final Handler handler;
private Outbound outbound;
private Sender sender;
private final FilterChain filterChain;
/**
* @param handler
*/
public JettyWebSocketConnection(final Handler handler) {
this.handler = handler;
this.filterChain = new DefaultFilterChain(this);
}
private final Handler handler;
/* (non-Javadoc)
* @see org.eclipse.jetty.websocket.WebSocket#onConnect(org.eclipse.jetty.websocket.WebSocket.Outbound)
*/
@Override
public void onConnect(Outbound arg0) {
sender = new OutboundSender(arg0);
filterChain.fireConnectionOpened();
}
private Session session;
private Sender sender;
/* (non-Javadoc)
* @see org.eclipse.jetty.websocket.WebSocket#onDisconnect()
*/
@Override
public void onDisconnect() {
filterChain.fireConnectionClosed();
}
private final FilterChain filterChain;
/* (non-Javadoc)
* @see org.eclipse.jetty.websocket.WebSocket#onMessage(byte, java.lang.String)
*/
@Override
public void onMessage(byte arg0, String arg1) {
filterChain.fireMessageReceived(arg1);
}
/**
* @param handler
*/
public JettyWebSocketConnection(final Handler handler) {
this.handler = handler;
this.filterChain = new DefaultFilterChain(this);
}
/* (non-Javadoc)
* @see org.eclipse.jetty.websocket.WebSocket#onMessage(byte, byte[], int, int)
*/
@Override
public void onMessage(byte arg0, byte[] arg1, int arg2, int arg3) {
filterChain.fireMessageReceived(new String(arg1, arg2, arg3));
}
@Override
public void onWebSocketBinary(byte[] payload, int offset, int len) {
filterChain.fireMessageReceived(new String(payload, offset, len));
}
/* (non-Javadoc)
* @see de.csenk.gwt.ws.shared.Connection#close()
*/
@Override
public void close() {
outbound.disconnect();
}
@Override
public void onWebSocketClose(int statusCode, String reason) {
filterChain.fireConnectionClosed();
}
/* (non-Javadoc)
* @see de.csenk.gwt.ws.shared.Connection#getFilterChain()
*/
@Override
public FilterChain getFilterChain() {
return filterChain;
}
@Override
public void onWebSocketConnect(Session session) {
this.session = session;
sender = new OutboundSender(session);
filterChain.fireConnectionOpened();
}
/* (non-Javadoc)
* @see de.csenk.gwt.ws.shared.Connection#getHandler()
*/
@Override
public Handler getHandler() {
return handler;
}
@Override
public void onWebSocketText(String message) {
filterChain.fireMessageReceived(message);
}
/* (non-Javadoc)
* @see de.csenk.gwt.ws.shared.Connection#getSender()
*/
@Override
public Sender getSender() {
return sender;
}
/*
* (non-Javadoc)
*
* @see de.csenk.gwt.ws.shared.Connection#close()
*/
@Override
public void close() {
try {
session.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
/*
* (non-Javadoc)
*
* @see de.csenk.gwt.ws.shared.Connection#getFilterChain()
*/
@Override
public FilterChain getFilterChain() {
return filterChain;
}
/*
* (non-Javadoc)
*
* @see de.csenk.gwt.ws.shared.Connection#getHandler()
*/
@Override
public Handler getHandler() {
return handler;
}
/*
* (non-Javadoc)
*
* @see de.csenk.gwt.ws.shared.Connection#getSender()
*/
@Override
public Sender getSender() {
return sender;
}
/*
* (non-Javadoc)
*
* @see de.csenk.gwt.ws.shared.Connection#send(java.lang.Object)
*/
@Override
public void send(Object message) {
filterChain.fireSend(message);
}
/* (non-Javadoc)
* @see de.csenk.gwt.ws.shared.Connection#send(java.lang.Object)
*/
@Override
public void send(Object message) {
filterChain.fireSend(message);
}
}
@@ -17,7 +17,8 @@ package de.csenk.gwt.ws.server.jetty;
import java.io.IOException;
import org.eclipse.jetty.websocket.WebSocket.Outbound;
import org.eclipse.jetty.websocket.api.RemoteEndpoint;
import org.eclipse.jetty.websocket.api.Session;
import de.csenk.gwt.ws.shared.Sender;
@@ -25,22 +26,23 @@ import de.csenk.gwt.ws.shared.Sender;
* @author senk.christian@googlemail.com
* @date 30.08.2010
* @time 15:46:16
*
*
*/
public class OutboundSender implements Sender {
private final Outbound outbound;
public OutboundSender(Outbound outbound) {
this.outbound = outbound;
}
/* (non-Javadoc)
* @see de.csenk.gwt.ws.shared.Sender#send(java.lang.String)
*/
@Override
public void send(String message) throws IOException {
outbound.sendMessage(message);
}
private final RemoteEndpoint outbound;
public OutboundSender(Session session) {
this.outbound = session.getRemote();
}
/*
* (non-Javadoc)
*
* @see de.csenk.gwt.ws.shared.Sender#send(java.lang.String)
*/
@Override
public void send(String message) throws IOException {
outbound.sendString(message);
}
}