From 4d04bd5690c07c6f6ac739344755583532a39c1d Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Thu, 26 May 2016 15:22:03 -0400 Subject: [PATCH] Consolidate view resolution under result.view While View and ViewResolver play the same role as in spring-webmvc they are now abstracted behind the HandlerResultHandler abstraction so that top-level contracts don't reference them and the DispatcherHandler is also unaware of their existence. Furthermore view resolution and response body handling which are now at the same level of abstraction (each is a HandlerResultHandler) will also share code for content negotiation, so it makes sense for them to be side by side. This commit moves the reactive.view package to reactive.result.view with the View and ViewResolver contracts (previously in the top-level reactive package) also moving there. --- .../web/reactive/result/package-info.java | 4 ++- .../view/AbstractUrlBasedView.java | 2 +- .../{ => result}/view/AbstractView.java | 4 +-- .../view/UrlBasedViewResolver.java | 28 ++++++++----------- .../web/reactive/{ => result/view}/View.java | 3 +- .../{ => result/view}/ViewResolver.java | 6 ++-- .../view/ViewResolverResultHandler.java | 7 ++--- .../view/ViewResolverSupport.java | 5 ++-- .../view/freemarker/FreeMarkerConfig.java | 2 +- .../view/freemarker/FreeMarkerConfigurer.java | 2 +- .../view/freemarker/FreeMarkerView.java | 4 +-- .../freemarker/FreeMarkerViewResolver.java | 4 +-- .../{ => result}/view/package-info.java | 2 +- .../RequestMappingIntegrationTests.java | 14 ++++++---- .../view/UrlBasedViewResolverTests.java | 3 +- .../view/ViewResolverResultHandlerTests.java | 9 +++--- .../view/freemarker/FreeMarkerViewTests.java | 6 +--- .../{ => result}/view/freemarker/test.ftl | 0 18 files changed, 49 insertions(+), 56 deletions(-) rename spring-web-reactive/src/main/java/org/springframework/web/reactive/{ => result}/view/AbstractUrlBasedView.java (97%) rename spring-web-reactive/src/main/java/org/springframework/web/reactive/{ => result}/view/AbstractView.java (97%) rename spring-web-reactive/src/main/java/org/springframework/web/reactive/{ => result}/view/UrlBasedViewResolver.java (86%) rename spring-web-reactive/src/main/java/org/springframework/web/reactive/{ => result/view}/View.java (95%) rename spring-web-reactive/src/main/java/org/springframework/web/reactive/{ => result/view}/ViewResolver.java (76%) rename spring-web-reactive/src/main/java/org/springframework/web/reactive/{ => result}/view/ViewResolverResultHandler.java (95%) rename spring-web-reactive/src/main/java/org/springframework/web/reactive/{ => result}/view/ViewResolverSupport.java (94%) rename spring-web-reactive/src/main/java/org/springframework/web/reactive/{ => result}/view/freemarker/FreeMarkerConfig.java (95%) rename spring-web-reactive/src/main/java/org/springframework/web/reactive/{ => result}/view/freemarker/FreeMarkerConfigurer.java (98%) rename spring-web-reactive/src/main/java/org/springframework/web/reactive/{ => result}/view/freemarker/FreeMarkerView.java (98%) rename spring-web-reactive/src/main/java/org/springframework/web/reactive/{ => result}/view/freemarker/FreeMarkerViewResolver.java (91%) rename spring-web-reactive/src/main/java/org/springframework/web/reactive/{ => result}/view/package-info.java (54%) rename spring-web-reactive/src/test/java/org/springframework/web/reactive/{ => result}/view/UrlBasedViewResolverTests.java (95%) rename spring-web-reactive/src/test/java/org/springframework/web/reactive/{ => result}/view/ViewResolverResultHandlerTests.java (97%) rename spring-web-reactive/src/test/java/org/springframework/web/reactive/{ => result}/view/freemarker/FreeMarkerViewTests.java (95%) rename spring-web-reactive/src/test/resources/org/springframework/web/reactive/{ => result}/view/freemarker/test.ftl (100%) diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/package-info.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/package-info.java index 3c4228f0fd..289c322a51 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/package-info.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/package-info.java @@ -1,4 +1,6 @@ /** - * Provides various controller styles for request handling. + * Support for various programming model styles including the invocation of + * different types of handlers (e.g. annotated controllers, simple WebHandler, + * etc) as well as result handling (@ResponseBody, view resolution, etc). */ package org.springframework.web.reactive.result; diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/AbstractUrlBasedView.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/AbstractUrlBasedView.java similarity index 97% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/view/AbstractUrlBasedView.java rename to spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/AbstractUrlBasedView.java index 50ffac0b3c..6c582bebfd 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/AbstractUrlBasedView.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/AbstractUrlBasedView.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.web.reactive.view; +package org.springframework.web.reactive.result.view; import java.util.Locale; diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/AbstractView.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/AbstractView.java similarity index 97% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/view/AbstractView.java rename to spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/AbstractView.java index 436bb63fe7..b26fdd0d28 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/AbstractView.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/AbstractView.java @@ -13,10 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.web.reactive.view; +package org.springframework.web.reactive.result.view; import java.util.ArrayList; -import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -35,7 +34,6 @@ import org.springframework.http.MediaType; import org.springframework.ui.ModelMap; import org.springframework.util.Assert; import org.springframework.web.reactive.HandlerResult; -import org.springframework.web.reactive.View; import org.springframework.web.server.ServerWebExchange; /** diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/UrlBasedViewResolver.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/UrlBasedViewResolver.java similarity index 86% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/view/UrlBasedViewResolver.java rename to spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/UrlBasedViewResolver.java index e6db4c6f37..651205f385 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/UrlBasedViewResolver.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/UrlBasedViewResolver.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.web.reactive.view; +package org.springframework.web.reactive.result.view; import java.util.Locale; @@ -22,19 +22,17 @@ import reactor.core.publisher.Mono; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.InitializingBean; import org.springframework.util.PatternMatchUtils; -import org.springframework.web.reactive.View; /** - * A {@link org.springframework.web.reactive.ViewResolver ViewResolver} that - * allow direct resolution of symbolic view names to URLs without explicit - * mapping definition. This is useful if symbolic names match the names of view - * resources in a straightforward manner (i.e. the symbolic name is the unique - * part of the resource's filename), without the need for a dedicated mapping - * to be defined for each view. + * A {@link ViewResolver} that allow direct resolution of symbolic view names + * to URLs without explicit mapping definition. This is useful if symbolic names + * match the names of view resources in a straightforward manner (i.e. the + * symbolic name is the unique part of the resource's filename), without the need + * for a dedicated mapping to be defined for each view. * *

Supports {@link AbstractUrlBasedView} subclasses like - * {@link org.springframework.web.reactive.view.freemarker.FreeMarkerView}. + * {@link org.springframework.web.reactive.result.view.freemarker.FreeMarkerView}. * The view class for all views generated by this resolver can be specified * via the "viewClass" property. * @@ -54,7 +52,7 @@ import org.springframework.web.reactive.View; * a symbolic view name to different resources depending on the current locale. * * @author Rossen Stoyanchev */ -public class UrlBasedViewResolver extends ViewResolverSupport implements InitializingBean { +public class UrlBasedViewResolver extends ViewResolverSupport implements ViewResolver, InitializingBean { private Class viewClass; @@ -125,9 +123,8 @@ public class UrlBasedViewResolver extends ViewResolverSupport implements Initial /** * Set the view names (or name patterns) that can be handled by this - * {@link org.springframework.web.reactive.ViewResolver}. View names can - * contain simple wildcards such that 'my*', '*Report' and '*Repo*' will - * all match the view name 'myReport'. + * {@link ViewResolver}. View names can contain simple wildcards such that + * 'my*', '*Report' and '*Repo*' will all match the view name 'myReport'. * @see #canHandle */ public void setViewNames(String... viewNames) { @@ -136,7 +133,7 @@ public class UrlBasedViewResolver extends ViewResolverSupport implements Initial /** * Return the view names (or name patterns) that can be handled by this - * {@link org.springframework.web.reactive.ViewResolver}. + * {@link ViewResolver}. */ protected String[] getViewNames() { return this.viewNames; @@ -167,8 +164,7 @@ public class UrlBasedViewResolver extends ViewResolverSupport implements Initial } /** - * Indicates whether or not this - * {@link org.springframework.web.reactive.ViewResolver} can handle the + * Indicates whether or not this {@link ViewResolver} can handle the * supplied view name. If not, an empty result is returned. The default * implementation checks against the configured {@link #setViewNames * view names}. diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/View.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/View.java similarity index 95% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/View.java rename to spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/View.java index 91fb8c3dd0..b9b82f6faa 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/View.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/View.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.web.reactive; +package org.springframework.web.reactive.result.view; import java.util.List; import java.util.Optional; @@ -22,6 +22,7 @@ import reactor.core.publisher.Flux; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.http.MediaType; +import org.springframework.web.reactive.HandlerResult; import org.springframework.web.server.ServerWebExchange; /** diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/ViewResolver.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolver.java similarity index 76% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/ViewResolver.java rename to spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolver.java index 942f050193..4ba8e38669 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/ViewResolver.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolver.java @@ -1,4 +1,4 @@ -package org.springframework.web.reactive; +package org.springframework.web.reactive.result.view; import java.util.Locale; @@ -10,11 +10,11 @@ import reactor.core.publisher.Mono; * *

The process of view resolution is driven through a ViewResolver-based * {@code HandlerResultHandler} implementation called - * {@link org.springframework.web.reactive.view.ViewResolverResultHandler + * {@link org.springframework.web.reactive.result.view.ViewResolverResultHandler * ViewResolverResultHandler}. * * @author Rossen Stoyanchev - * @see org.springframework.web.reactive.view.ViewResolverResultHandler + * @see org.springframework.web.reactive.result.view.ViewResolverResultHandler */ public interface ViewResolver { diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/ViewResolverResultHandler.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolverResultHandler.java similarity index 95% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/view/ViewResolverResultHandler.java rename to spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolverResultHandler.java index d4a22dce13..1ea8a1b5c1 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/ViewResolverResultHandler.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolverResultHandler.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.web.reactive.view; +package org.springframework.web.reactive.result.view; import java.util.ArrayList; import java.util.Collections; @@ -31,8 +31,6 @@ import org.springframework.core.io.buffer.DataBuffer; import org.springframework.util.Assert; import org.springframework.web.reactive.HandlerResult; import org.springframework.web.reactive.HandlerResultHandler; -import org.springframework.web.reactive.View; -import org.springframework.web.reactive.ViewResolver; import org.springframework.web.server.ServerWebExchange; @@ -81,8 +79,7 @@ public class ViewResolverResultHandler implements HandlerResultHandler, Ordered return this.order; } - - // TODO: @ModelAttribute return value, declared Object return value (either String or View) + // TODO: Add support for model-related return value (Model, ModelAndView, @ModelAttribute) @Override public boolean supports(HandlerResult result) { diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/ViewResolverSupport.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolverSupport.java similarity index 94% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/view/ViewResolverSupport.java rename to spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolverSupport.java index 7bafe058ec..fb4d2a0f72 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/ViewResolverSupport.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolverSupport.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.web.reactive.view; +package org.springframework.web.reactive.result.view; import java.util.ArrayList; import java.util.List; @@ -25,7 +25,6 @@ import org.springframework.core.io.buffer.DataBufferAllocator; import org.springframework.core.io.buffer.DefaultDataBufferAllocator; import org.springframework.http.MediaType; import org.springframework.util.Assert; -import org.springframework.web.reactive.ViewResolver; /** * Base class for {@code ViewResolver} implementations with shared properties. @@ -33,7 +32,7 @@ import org.springframework.web.reactive.ViewResolver; * @author Rossen Stoyanchev * @since 4.3 */ -public abstract class ViewResolverSupport implements ViewResolver, ApplicationContextAware, Ordered { +public abstract class ViewResolverSupport implements ApplicationContextAware, Ordered { public static final MediaType DEFAULT_CONTENT_TYPE = MediaType.parseMediaType("text/html;charset=UTF-8"); diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/freemarker/FreeMarkerConfig.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfig.java similarity index 95% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/view/freemarker/FreeMarkerConfig.java rename to spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfig.java index 6502f3e182..79653256ba 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/freemarker/FreeMarkerConfig.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfig.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.web.reactive.view.freemarker; +package org.springframework.web.reactive.result.view.freemarker; import freemarker.template.Configuration; diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/freemarker/FreeMarkerConfigurer.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfigurer.java similarity index 98% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/view/freemarker/FreeMarkerConfigurer.java rename to spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfigurer.java index 5dc3901ea5..b812910282 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/freemarker/FreeMarkerConfigurer.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerConfigurer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.web.reactive.view.freemarker; +package org.springframework.web.reactive.result.view.freemarker; import java.io.IOException; import java.util.List; diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/freemarker/FreeMarkerView.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerView.java similarity index 98% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/view/freemarker/FreeMarkerView.java rename to spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerView.java index 9efd05265b..4ed672ece3 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/freemarker/FreeMarkerView.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerView.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.web.reactive.view.freemarker; +package org.springframework.web.reactive.result.view.freemarker; import java.io.FileNotFoundException; import java.io.IOException; @@ -36,7 +36,7 @@ import org.springframework.beans.factory.BeanFactoryUtils; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.ApplicationContextException; import org.springframework.core.io.buffer.DataBuffer; -import org.springframework.web.reactive.view.AbstractUrlBasedView; +import org.springframework.web.reactive.result.view.AbstractUrlBasedView; import org.springframework.web.server.ServerWebExchange; /** diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/freemarker/FreeMarkerViewResolver.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewResolver.java similarity index 91% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/view/freemarker/FreeMarkerViewResolver.java rename to spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewResolver.java index 631d6fbcd7..d8f9d8a97d 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/freemarker/FreeMarkerViewResolver.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewResolver.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.web.reactive.view.freemarker; +package org.springframework.web.reactive.result.view.freemarker; -import org.springframework.web.reactive.view.UrlBasedViewResolver; +import org.springframework.web.reactive.result.view.UrlBasedViewResolver; /** * A {@code ViewResolver} for resolving {@link FreeMarkerView} instances, i.e. diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/package-info.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/package-info.java similarity index 54% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/view/package-info.java rename to spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/package-info.java index 602c2ea992..c789bb2632 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/view/package-info.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/package-info.java @@ -1,4 +1,4 @@ /** * Support for result handling through view resolution. */ -package org.springframework.web.reactive.view; +package org.springframework.web.reactive.result.view; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingIntegrationTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingIntegrationTests.java index 5075cdbed7..2be8ca1eb1 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingIntegrationTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestMappingIntegrationTests.java @@ -75,16 +75,20 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; import org.springframework.web.reactive.DispatcherHandler; -import org.springframework.web.reactive.ViewResolver; import org.springframework.web.reactive.result.SimpleResultHandler; -import org.springframework.web.reactive.view.ViewResolverResultHandler; -import org.springframework.web.reactive.view.freemarker.FreeMarkerConfigurer; -import org.springframework.web.reactive.view.freemarker.FreeMarkerViewResolver; +import org.springframework.web.reactive.result.view.ViewResolver; +import org.springframework.web.reactive.result.view.ViewResolverResultHandler; +import org.springframework.web.reactive.result.view.freemarker.FreeMarkerConfigurer; +import org.springframework.web.reactive.result.view.freemarker.FreeMarkerViewResolver; import org.springframework.web.server.adapter.WebHttpHandlerBuilder; -import static org.junit.Assert.*; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + /** + * Integration tests with {@code @RequestMapping} methods. * @author Rossen Stoyanchev * @author Sebastien Deleuze * @author Stephane Maldini diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/view/UrlBasedViewResolverTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/UrlBasedViewResolverTests.java similarity index 95% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/view/UrlBasedViewResolverTests.java rename to spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/UrlBasedViewResolverTests.java index 1595dde4c2..c913427e6e 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/view/UrlBasedViewResolverTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/UrlBasedViewResolverTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.web.reactive.view; +package org.springframework.web.reactive.result.view; import java.util.Locale; import java.util.Map; @@ -24,7 +24,6 @@ import reactor.core.publisher.Mono; import org.springframework.context.support.StaticApplicationContext; import org.springframework.core.io.buffer.DataBuffer; -import org.springframework.web.reactive.View; import org.springframework.web.server.ServerWebExchange; import static org.junit.Assert.assertNotNull; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/view/ViewResolverResultHandlerTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/ViewResolverResultHandlerTests.java similarity index 97% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/view/ViewResolverResultHandlerTests.java rename to spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/ViewResolverResultHandlerTests.java index 8d6c2f38e3..1208a8e1ae 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/view/ViewResolverResultHandlerTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/ViewResolverResultHandlerTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.web.reactive.view; +package org.springframework.web.reactive.result.view; import java.lang.reflect.Method; import java.net.URI; @@ -50,15 +50,16 @@ import org.springframework.ui.ExtendedModelMap; import org.springframework.ui.ModelMap; import org.springframework.web.reactive.HandlerResult; import org.springframework.web.reactive.HandlerResultHandler; -import org.springframework.web.reactive.View; -import org.springframework.web.reactive.ViewResolver; import org.springframework.web.server.ServerWebExchange; import org.springframework.web.server.adapter.DefaultServerWebExchange; import org.springframework.web.server.session.DefaultWebSessionManager; import org.springframework.web.server.session.WebSessionManager; import static org.hamcrest.CoreMatchers.endsWith; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/view/freemarker/FreeMarkerViewTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewTests.java similarity index 95% rename from spring-web-reactive/src/test/java/org/springframework/web/reactive/view/freemarker/FreeMarkerViewTests.java rename to spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewTests.java index 7123553d47..7d705a0ac0 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/view/freemarker/FreeMarkerViewTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewTests.java @@ -13,12 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.web.reactive.view.freemarker; +package org.springframework.web.reactive.result.view.freemarker; import java.net.URI; import java.nio.ByteBuffer; import java.nio.charset.Charset; -import java.util.HashMap; import java.util.Locale; import java.util.Optional; @@ -39,17 +38,14 @@ import org.springframework.http.server.reactive.MockServerHttpRequest; import org.springframework.http.server.reactive.MockServerHttpResponse; import org.springframework.ui.ExtendedModelMap; import org.springframework.ui.ModelMap; -import org.springframework.web.context.WebApplicationContext; import org.springframework.web.reactive.HandlerResult; import org.springframework.web.server.ServerWebExchange; import org.springframework.web.server.adapter.DefaultServerWebExchange; import org.springframework.web.server.session.DefaultWebSessionManager; import org.springframework.web.server.session.WebSessionManager; -import static org.hamcrest.CoreMatchers.containsString; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; /** diff --git a/spring-web-reactive/src/test/resources/org/springframework/web/reactive/view/freemarker/test.ftl b/spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/freemarker/test.ftl similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/web/reactive/view/freemarker/test.ftl rename to spring-web-reactive/src/test/resources/org/springframework/web/reactive/result/view/freemarker/test.ftl