diff --git a/spring-context-support/src/main/java/org/springframework/ui/freemarker/FreeMarkerTemplateUtils.java b/spring-context-support/src/main/java/org/springframework/ui/freemarker/FreeMarkerTemplateUtils.java index b2e7a85214..751ee13dc2 100644 --- a/spring-context-support/src/main/java/org/springframework/ui/freemarker/FreeMarkerTemplateUtils.java +++ b/spring-context-support/src/main/java/org/springframework/ui/freemarker/FreeMarkerTemplateUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2014 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. @@ -45,6 +45,7 @@ public abstract class FreeMarkerTemplateUtils { */ public static String processTemplateIntoString(Template template, Object model) throws IOException, TemplateException { + StringWriter result = new StringWriter(); template.process(model, result); return result.toString(); diff --git a/spring-context-support/src/main/java/org/springframework/ui/freemarker/SpringTemplateLoader.java b/spring-context-support/src/main/java/org/springframework/ui/freemarker/SpringTemplateLoader.java index 6f1c22a62d..9c72aa17ab 100644 --- a/spring-context-support/src/main/java/org/springframework/ui/freemarker/SpringTemplateLoader.java +++ b/spring-context-support/src/main/java/org/springframework/ui/freemarker/SpringTemplateLoader.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2014 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. @@ -63,6 +63,7 @@ public class SpringTemplateLoader implements TemplateLoader { } } + @Override public Object findTemplateSource(String name) throws IOException { if (logger.isDebugEnabled()) { @@ -86,7 +87,6 @@ public class SpringTemplateLoader implements TemplateLoader { } } - @Override public long getLastModified(Object templateSource) { Resource resource = (Resource) templateSource; diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/user/DefaultUserDestinationResolver.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/user/DefaultUserDestinationResolver.java index 1cf16436de..affd3fd475 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/user/DefaultUserDestinationResolver.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/user/DefaultUserDestinationResolver.java @@ -36,19 +36,20 @@ import org.springframework.util.StringUtils; * on the {@link org.springframework.messaging.simp.user.UserSessionRegistry} * provided to the constructor to find the sessionIds associated with a user * and then uses the sessionId to make the target destination unique. - *
- * When a user attempts to subscribe to "/user/queue/position-updates", the + * + *
When a user attempts to subscribe to "/user/queue/position-updates", the * "/user" prefix is removed and a unique suffix added, resulting in something * like "/queue/position-updates-useri9oqdfzo" where the suffix is based on the * user's session and ensures it does not collide with any other users attempting * to subscribe to "/user/queue/position-updates". - *
- * When a message is sent to a user with a destination such as + * + *
When a message is sent to a user with a destination such as
* "/user/{username}/queue/position-updates", the "/user/{username}" prefix is
* removed and the suffix added, resulting in something like
* "/queue/position-updates-useri9oqdfzo".
*
* @author Rossen Stoyanchev
+ * @author Brian Clozel
* @since 4.0
*/
public class DefaultUserDestinationResolver implements UserDestinationResolver {
@@ -71,6 +72,7 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
this.userSessionRegistry = userSessionRegistry;
}
+
/**
* The prefix used to identify user destinations. Any destinations that do not
* start with the given prefix are not be resolved.
@@ -108,9 +110,10 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
}
Set Default value is {@code Integer.MAX_VALUE}, meaning that it's non-ordered.
@@ -55,51 +57,49 @@ public abstract class AbstractHandlerMethodAdapter extends WebContentGenerator i
return this.order;
}
+
/**
- * {@inheritDoc} This implementation expects the handler to be an {@link HandlerMethod}.
- *
+ * This implementation expects the handler to be an {@link HandlerMethod}.
* @param handler the handler instance to check
* @return whether or not this adapter can adapt the given handler
*/
@Override
public final boolean supports(Object handler) {
- return handler instanceof HandlerMethod && supportsInternal((HandlerMethod) handler);
+ return (handler instanceof HandlerMethod && supportsInternal((HandlerMethod) handler));
}
/**
* Given a handler method, return whether or not this adapter can support it.
- *
* @param handlerMethod the handler method to check
* @return whether or not this adapter can adapt the given method
*/
protected abstract boolean supportsInternal(HandlerMethod handlerMethod);
/**
- * {@inheritDoc} This implementation expects the handler to be an {@link HandlerMethod}.
+ * This implementation expects the handler to be an {@link HandlerMethod}.
*/
@Override
public final ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
+
return handleInternal(request, response, (HandlerMethod) handler);
}
/**
* Use the given handler method to handle the request.
- *
* @param request current HTTP request
* @param response current HTTP response
* @param handlerMethod handler method to use. This object must have previously been passed to the
* {@link #supportsInternal(HandlerMethod)} this interface, which must have returned {@code true}.
- * @return ModelAndView object with the name of the view and the required model data, or {@code null} if
- * the request has been handled directly
+ * @return ModelAndView object with the name of the view and the required model data,
+ * or {@code null} if the request has been handled directly
* @throws Exception in case of errors
*/
protected abstract ModelAndView handleInternal(HttpServletRequest request,
- HttpServletResponse response,
- HandlerMethod handlerMethod) throws Exception;
+ HttpServletResponse response, HandlerMethod handlerMethod) throws Exception;
/**
- * {@inheritDoc} This implementation expects the handler to be an {@link HandlerMethod}.
+ * This implementation expects the handler to be an {@link HandlerMethod}.
*/
@Override
public final long getLastModified(HttpServletRequest request, Object handler) {
@@ -108,10 +108,10 @@ public abstract class AbstractHandlerMethodAdapter extends WebContentGenerator i
/**
* Same contract as for {@link javax.servlet.http.HttpServlet#getLastModified(HttpServletRequest)}.
- *
* @param request current HTTP request
* @param handlerMethod handler method to use
* @return the lastModified value for the given handler
*/
protected abstract long getLastModifiedInternal(HttpServletRequest request, HandlerMethod handlerMethod);
+
}