Update deps for spring-websocket

This commit is contained in:
Rossen Stoyanchev 2013-05-06 16:42:42 -04:00
parent e7f38e5b17
commit 37c6a94905
5 changed files with 22 additions and 114 deletions

View File

@ -506,8 +506,8 @@ project("spring-websocket") {
compile(project(":spring-context"))
compile(project(":spring-web"))
optional("org.apache.tomcat:tomcat-servlet-api:8.0-SNAPSHOT") // TODO: replace with "javax.servlet:javax.servlet-api"
optional("org.apache.tomcat:tomcat-websocket-api:8.0-SNAPSHOT") // TODO: replace with "javax.websocket:javax.websocket-api"
optional("javax.servlet:javax.servlet-api:3.1-b09")
optional("javax.websocket:javax.websocket-api:1.0-rc5")
optional("org.apache.tomcat:tomcat-websocket:8.0-SNAPSHOT") {
exclude group: "org.apache.tomcat", module: "tomcat-websocket-api"
@ -528,10 +528,9 @@ project("spring-websocket") {
}
repositories {
maven { url "http://repo.springsource.org/libs-release" }
maven { url "https://maven.java.net/content/groups/public/" } // javax.websocket-*
maven { url "https://repository.apache.org/content/repositories/snapshots" } // tomcat-websocket snapshots
maven { url "https://maven.java.net/content/repositories/snapshots" } // tyrus/glassfish snapshots
maven { url "https://repository.apache.org/content/repositories/snapshots" } // tomcat-websocket-* snapshots
maven { url "https://maven.java.net/content/repositories/snapshots" } // tyrus snapshots
}
}

View File

@ -22,6 +22,7 @@ import java.net.URI;
import java.util.Arrays;
import java.util.Random;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
@ -102,7 +103,13 @@ public class GlassFishRequestUpgradeStrategy extends AbstractEndpointUpgradeStra
private boolean performUpgrade(HttpServletRequest request, HttpServletResponse response,
HttpHeaders headers, TyrusEndpoint tyrusEndpoint) throws IOException {
final TyrusHttpUpgradeHandler upgradeHandler = request.upgrade(TyrusHttpUpgradeHandler.class);
final TyrusHttpUpgradeHandler upgradeHandler;
try {
upgradeHandler = request.upgrade(TyrusHttpUpgradeHandler.class);
}
catch (ServletException e) {
throw new HandshakeFailureException("Unable to create UpgardeHandler", e);
}
Connection connection = createConnection(upgradeHandler, response);

View File

@ -20,6 +20,7 @@ import java.io.IOException;
import java.lang.reflect.Method;
import java.util.Collections;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.websocket.Endpoint;
import javax.websocket.server.ServerEndpointConfig;
@ -55,7 +56,13 @@ public class TomcatRequestUpgradeStrategy extends AbstractEndpointUpgradeStrateg
Assert.isTrue(request instanceof ServletServerHttpRequest);
HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest();
WsHttpUpgradeHandler upgradeHandler = servletRequest.upgrade(WsHttpUpgradeHandler.class);
WsHttpUpgradeHandler upgradeHandler;
try {
upgradeHandler = servletRequest.upgrade(WsHttpUpgradeHandler.class);
}
catch (ServletException e) {
throw new HandshakeFailureException("Unable to create UpgardeHandler", e);
}
WsHandshakeRequest webSocketRequest = new WsHandshakeRequest(servletRequest);
try {

View File

@ -1,87 +0,0 @@
/*
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.web.socket.sockjs;
import java.util.Date;
import java.util.concurrent.Callable;
import java.util.concurrent.Delayed;
import java.util.concurrent.FutureTask;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.Trigger;
/**
* @author Rossen Stoyanchev
*/
public class StubTaskScheduler implements TaskScheduler {
@Override
public ScheduledFuture schedule(Runnable task, Trigger trigger) {
return new StubScheduledFuture();
}
@Override
public ScheduledFuture schedule(Runnable task, Date startTime) {
return new StubScheduledFuture();
}
@Override
public ScheduledFuture scheduleAtFixedRate(Runnable task, Date startTime, long period) {
return new StubScheduledFuture();
}
@Override
public ScheduledFuture scheduleAtFixedRate(Runnable task, long period) {
return new StubScheduledFuture();
}
@Override
public ScheduledFuture scheduleWithFixedDelay(Runnable task, Date startTime, long delay) {
return new StubScheduledFuture();
}
@Override
public ScheduledFuture scheduleWithFixedDelay(Runnable task, long delay) {
return new StubScheduledFuture();
}
private static class StubScheduledFuture extends FutureTask implements ScheduledFuture {
@SuppressWarnings("unchecked")
public StubScheduledFuture() {
super(new Callable() {
public Object call() throws Exception {
return null;
}
});
}
@Override
public long getDelay(TimeUnit unit) {
return 0;
}
@Override
public int compareTo(Delayed o) {
return 0;
}
}
}

View File

@ -20,9 +20,8 @@ import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.web.socket.AbstractHttpRequestTests;
import org.springframework.web.socket.adapter.TextWebSocketHandlerAdapter;
import org.springframework.web.socket.sockjs.StubTaskScheduler;
import org.springframework.web.socket.sockjs.TransportHandler;
import org.springframework.web.socket.sockjs.TransportType;
@ -42,7 +41,7 @@ public class DefaultSockJsServiceTests extends AbstractHttpRequestTests {
@Before
public void setUp() {
super.setUp();
this.service = new DefaultSockJsService(new StubTaskScheduler());
this.service = new DefaultSockJsService(new ThreadPoolTaskScheduler());
this.service.setValidSockJsPrefixes("/echo");
}
@ -62,21 +61,4 @@ public class DefaultSockJsServiceTests extends AbstractHttpRequestTests {
assertNotNull(handlers.get(TransportType.EVENT_SOURCE));
}
@Test
public void xhrSend() throws Exception {
setRequest("POST", "/echo/000/c5839f69/xhr");
this.service.handleRequest(this.request, this.response, new TextWebSocketHandlerAdapter());
resetResponse();
setRequest("POST", "/echo/000/c5839f69/xhr_send");
this.servletRequest.setContent("[\"x\"]".getBytes("UTF-8"));
this.service.handleRequest(this.request, this.response, new TextWebSocketHandlerAdapter());
assertEquals(204, this.servletResponse.getStatus());
assertEquals("text/plain;charset=UTF-8", this.servletResponse.getContentType());
}
}