Browse Source

Remove PubSubMessageBuilder

pull/286/merge
Rossen Stoyanchev 13 years ago
parent
commit
8ab5f23643
  1. 2
      spring-websocket/src/main/java/org/springframework/web/messaging/service/AbstractWebMessageHandler.java
  2. 4
      spring-websocket/src/main/java/org/springframework/web/messaging/service/ReactorWebMessageHandler.java
  3. 6
      spring-websocket/src/main/java/org/springframework/web/messaging/service/method/AnnotationWebMessageHandler.java
  4. 6
      spring-websocket/src/main/java/org/springframework/web/messaging/stomp/support/StompRelayWebMessageHandler.java
  5. 76
      spring-websocket/src/main/java/org/springframework/web/messaging/support/PubSubMessageBuilder.java

2
spring-websocket/src/main/java/org/springframework/web/messaging/service/AbstractPubSubMessageHandler.java → spring-websocket/src/main/java/org/springframework/web/messaging/service/AbstractWebMessageHandler.java

@ -37,7 +37,7 @@ import org.springframework.web.messaging.support.WebMessageHeaderAccesssor; @@ -37,7 +37,7 @@ import org.springframework.web.messaging.support.WebMessageHeaderAccesssor;
* @author Rossen Stoyanchev
* @since 4.0
*/
public abstract class AbstractPubSubMessageHandler implements MessageHandler {
public abstract class AbstractWebMessageHandler implements MessageHandler {
protected final Log logger = LogFactory.getLog(getClass());

4
spring-websocket/src/main/java/org/springframework/web/messaging/service/ReactorPubSubMessageHandler.java → spring-websocket/src/main/java/org/springframework/web/messaging/service/ReactorWebMessageHandler.java

@ -43,7 +43,7 @@ import reactor.fn.selector.ObjectSelector; @@ -43,7 +43,7 @@ import reactor.fn.selector.ObjectSelector;
* @author Rossen Stoyanchev
* @since 4.0
*/
public class ReactorPubSubMessageHandler extends AbstractPubSubMessageHandler {
public class ReactorWebMessageHandler extends AbstractWebMessageHandler {
private MessageChannel clientChannel;
@ -57,7 +57,7 @@ public class ReactorPubSubMessageHandler extends AbstractPubSubMessageHandler { @@ -57,7 +57,7 @@ public class ReactorPubSubMessageHandler extends AbstractPubSubMessageHandler {
/**
* @param clientChannel the channel to which messages for clients should be sent.
*/
public ReactorPubSubMessageHandler(MessageChannel clientChannel, Reactor reactor) {
public ReactorWebMessageHandler(MessageChannel clientChannel, Reactor reactor) {
Assert.notNull(clientChannel, "clientChannel is required");
this.clientChannel = clientChannel;
this.reactor = reactor;

6
spring-websocket/src/main/java/org/springframework/web/messaging/service/method/AnnotationPubSubMessageHandler.java → spring-websocket/src/main/java/org/springframework/web/messaging/service/method/AnnotationWebMessageHandler.java

@ -43,7 +43,7 @@ import org.springframework.web.messaging.MessageType; @@ -43,7 +43,7 @@ import org.springframework.web.messaging.MessageType;
import org.springframework.web.messaging.annotation.SubscribeEvent;
import org.springframework.web.messaging.annotation.UnsubscribeEvent;
import org.springframework.web.messaging.converter.MessageConverter;
import org.springframework.web.messaging.service.AbstractPubSubMessageHandler;
import org.springframework.web.messaging.service.AbstractWebMessageHandler;
import org.springframework.web.messaging.support.MessageHolder;
import org.springframework.web.messaging.support.WebMessageHeaderAccesssor;
import org.springframework.web.method.HandlerMethod;
@ -54,7 +54,7 @@ import org.springframework.web.method.HandlerMethodSelector; @@ -54,7 +54,7 @@ import org.springframework.web.method.HandlerMethodSelector;
* @author Rossen Stoyanchev
* @since 4.0
*/
public class AnnotationPubSubMessageHandler extends AbstractPubSubMessageHandler
public class AnnotationWebMessageHandler extends AbstractWebMessageHandler
implements ApplicationContextAware, InitializingBean {
private final MessageChannel clientChannel;
@ -79,7 +79,7 @@ public class AnnotationPubSubMessageHandler extends AbstractPubSubMessageHandler @@ -79,7 +79,7 @@ public class AnnotationPubSubMessageHandler extends AbstractPubSubMessageHandler
private ReturnValueHandlerComposite returnValueHandlers = new ReturnValueHandlerComposite();
public AnnotationPubSubMessageHandler(MessageChannel clientChannel, MessageChannel brokerChannel) {
public AnnotationWebMessageHandler(MessageChannel clientChannel, MessageChannel brokerChannel) {
Assert.notNull(clientChannel, "clientChannel is required");
Assert.notNull(brokerChannel, "brokerChannel is required");
this.clientChannel = clientChannel;

6
spring-websocket/src/main/java/org/springframework/web/messaging/stomp/support/StompRelayPubSubMessageHandler.java → spring-websocket/src/main/java/org/springframework/web/messaging/stomp/support/StompRelayWebMessageHandler.java

@ -36,7 +36,7 @@ import org.springframework.util.StringUtils; @@ -36,7 +36,7 @@ import org.springframework.util.StringUtils;
import org.springframework.web.messaging.MessageType;
import org.springframework.web.messaging.converter.CompositeMessageConverter;
import org.springframework.web.messaging.converter.MessageConverter;
import org.springframework.web.messaging.service.AbstractPubSubMessageHandler;
import org.springframework.web.messaging.service.AbstractWebMessageHandler;
import org.springframework.web.messaging.stomp.StompCommand;
import org.springframework.web.messaging.support.WebMessageHeaderAccesssor;
@ -54,7 +54,7 @@ import reactor.tcp.netty.NettyTcpClient; @@ -54,7 +54,7 @@ import reactor.tcp.netty.NettyTcpClient;
* @author Rossen Stoyanchev
* @since 4.0
*/
public class StompRelayPubSubMessageHandler extends AbstractPubSubMessageHandler implements SmartLifecycle {
public class StompRelayWebMessageHandler extends AbstractWebMessageHandler implements SmartLifecycle {
private static final String STOMP_RELAY_SYSTEM_SESSION_ID = "stompRelaySystemSessionId";
@ -87,7 +87,7 @@ public class StompRelayPubSubMessageHandler extends AbstractPubSubMessageHandler @@ -87,7 +87,7 @@ public class StompRelayPubSubMessageHandler extends AbstractPubSubMessageHandler
/**
* @param clientChannel the channel to which messages for clients should be sent.
*/
public StompRelayPubSubMessageHandler(MessageChannel clientChannel) {
public StompRelayWebMessageHandler(MessageChannel clientChannel) {
Assert.notNull(clientChannel, "clientChannel is required");
this.clientChannel = clientChannel;
this.payloadConverter = new CompositeMessageConverter(null);

76
spring-websocket/src/main/java/org/springframework/web/messaging/support/PubSubMessageBuilder.java

@ -1,76 +0,0 @@ @@ -1,76 +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.messaging.support;
import org.springframework.http.MediaType;
import org.springframework.messaging.Message;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.util.Assert;
/**
* @author Rossen Stoyanchev
* @since 4.0
*/
public class PubSubMessageBuilder<T> {
private final WebMessageHeaderAccesssor headers = WebMessageHeaderAccesssor.create();
private final T payload;
private PubSubMessageBuilder(T payload) {
Assert.notNull(payload, "<T> is required");
this.payload = payload;
}
public static <T> PubSubMessageBuilder<T> withPayload(T payload) {
return new PubSubMessageBuilder<T>(payload);
}
public PubSubMessageBuilder<T> destination(String destination) {
Assert.notNull(destination, "destination is required");
this.headers.setDestination(destination);
return this;
}
public PubSubMessageBuilder<T> contentType(MediaType contentType) {
Assert.notNull(contentType, "contentType is required");
this.headers.setContentType(contentType);
return this;
}
public PubSubMessageBuilder<T> contentType(String contentType) {
Assert.notNull(contentType, "contentType is required");
this.headers.setContentType(MediaType.parseMediaType(contentType));
return this;
}
public Message<T> build() {
Message<?> message = MessageHolder.getMessage();
if (message != null) {
String sessionId = WebMessageHeaderAccesssor.wrap(message).getSessionId();
this.headers.setSessionId(sessionId);
}
return MessageBuilder.withPayload(this.payload).copyHeaders(this.headers.toMap()).build();
}
}
Loading…
Cancel
Save