Rename ResponseBodyInterceptor to ResponseBodyAdvice

Issue: SPR-10859
This commit is contained in:
Rossen Stoyanchev
2014-05-30 17:01:28 -04:00
parent 2655c507e0
commit c9d0ebd730
17 changed files with 123 additions and 121 deletions

View File

@@ -38,11 +38,11 @@ import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.HandlerMethodReturnValueHandler;
import org.springframework.web.method.support.ModelAndViewContainer;
import org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping;
import org.springframework.web.servlet.mvc.method.annotation.JsonViewResponseBodyInterceptor;
import org.springframework.web.servlet.mvc.method.annotation.JsonViewResponseBodyAdvice;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
import org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyInterceptor;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
import org.springframework.web.servlet.mvc.method.annotation.ServletWebArgumentResolverAdapter;
import org.springframework.web.util.UrlPathHelper;
@@ -95,8 +95,8 @@ public class AnnotationDrivenBeanDefinitionParserTests {
loadBeanDefinitions("mvc-config-message-converters.xml");
verifyMessageConverters(appContext.getBean(RequestMappingHandlerAdapter.class), true);
verifyMessageConverters(appContext.getBean(ExceptionHandlerExceptionResolver.class), true);
verifyResponseBodyInterceptors(appContext.getBean(RequestMappingHandlerAdapter.class));
verifyResponseBodyInterceptors(appContext.getBean(ExceptionHandlerExceptionResolver.class));
verifyResponseBodyAdvice(appContext.getBean(RequestMappingHandlerAdapter.class));
verifyResponseBodyAdvice(appContext.getBean(ExceptionHandlerExceptionResolver.class));
}
@Test
@@ -167,13 +167,13 @@ public class AnnotationDrivenBeanDefinitionParserTests {
}
@SuppressWarnings("unchecked")
private void verifyResponseBodyInterceptors(Object bean) {
private void verifyResponseBodyAdvice(Object bean) {
assertNotNull(bean);
Object value = new DirectFieldAccessor(bean).getPropertyValue("responseBodyInterceptors");
Object value = new DirectFieldAccessor(bean).getPropertyValue("responseBodyAdvice");
assertNotNull(value);
assertTrue(value instanceof List);
List<ResponseBodyInterceptor> converters = (List<ResponseBodyInterceptor>) value;
assertTrue(converters.get(0) instanceof JsonViewResponseBodyInterceptor);
List<ResponseBodyAdvice> converters = (List<ResponseBodyAdvice>) value;
assertTrue(converters.get(0) instanceof JsonViewResponseBodyAdvice);
}
}

View File

@@ -52,7 +52,7 @@ import org.springframework.web.servlet.handler.ConversionServiceExposingIntercep
import org.springframework.web.servlet.handler.HandlerExceptionResolverComposite;
import org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver;
import org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver;
import org.springframework.web.servlet.mvc.method.annotation.JsonViewResponseBodyInterceptor;
import org.springframework.web.servlet.mvc.method.annotation.JsonViewResponseBodyAdvice;
import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
@@ -161,9 +161,9 @@ public class WebMvcConfigurationSupportTests {
assertTrue(validator instanceof LocalValidatorFactoryBean);
DirectFieldAccessor fieldAccessor = new DirectFieldAccessor(adapter);
List<Object> interceptors = (List<Object>) fieldAccessor.getPropertyValue("responseBodyInterceptors");
List<Object> interceptors = (List<Object>) fieldAccessor.getPropertyValue("responseBodyAdvice");
assertEquals(1, interceptors.size());
assertEquals(JsonViewResponseBodyInterceptor.class, interceptors.get(0).getClass());
assertEquals(JsonViewResponseBodyAdvice.class, interceptors.get(0).getClass());
}
@Test
@@ -192,9 +192,9 @@ public class WebMvcConfigurationSupportTests {
assertNotNull(eher.getApplicationContext());
DirectFieldAccessor fieldAccessor = new DirectFieldAccessor(eher);
List<Object> interceptors = (List<Object>) fieldAccessor.getPropertyValue("responseBodyInterceptors");
List<Object> interceptors = (List<Object>) fieldAccessor.getPropertyValue("responseBodyAdvice");
assertEquals(1, interceptors.size());
assertEquals(JsonViewResponseBodyInterceptor.class, interceptors.get(0).getClass());
assertEquals(JsonViewResponseBodyAdvice.class, interceptors.get(0).getClass());
}

View File

@@ -19,7 +19,6 @@ package org.springframework.web.servlet.mvc.method.annotation;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -235,7 +234,7 @@ public class RequestMappingHandlerAdapterTests {
// SPR-10859
@Test
public void responseBodyInterceptor() throws Exception {
public void responseBodyAdvice() throws Exception {
List<HttpMessageConverter<?>> converters = new ArrayList<>();
converters.add(new MappingJackson2HttpMessageConverter());
this.handlerAdapter.setMessageConverters(converters);
@@ -339,7 +338,7 @@ public class RequestMappingHandlerAdapterTests {
}
@ControllerAdvice
private static class ResponseCodeSuppressingAdvice extends AbstractMappingJacksonResponseBodyInterceptor {
private static class ResponseCodeSuppressingAdvice extends AbstractMappingJacksonResponseBodyAdvice {
@SuppressWarnings("unchecked")
@Override
@@ -357,7 +356,7 @@ public class RequestMappingHandlerAdapterTests {
}
@ControllerAdvice
private static class JsonpAdvice extends AbstractJsonpResponseBodyInterceptor {
private static class JsonpAdvice extends AbstractJsonpResponseBodyAdvice {
public JsonpAdvice() {
super(Arrays.asList("c"));

View File

@@ -299,7 +299,7 @@ public class RequestResponseBodyMethodProcessorTests {
converters.add(new MappingJackson2HttpMessageConverter());
RequestResponseBodyMethodProcessor processor = new RequestResponseBodyMethodProcessor(
converters, null, Arrays.asList(new JsonViewResponseBodyInterceptor()));
converters, null, Arrays.asList(new JsonViewResponseBodyAdvice()));
Object returnValue = new JacksonViewController().handleResponseBody();
processor.handleReturnValue(returnValue, methodReturnType, this.mavContainer, this.webRequest);
@@ -320,7 +320,7 @@ public class RequestResponseBodyMethodProcessorTests {
converters.add(new MappingJackson2HttpMessageConverter());
HttpEntityMethodProcessor processor = new HttpEntityMethodProcessor(
converters, null, Arrays.asList(new JsonViewResponseBodyInterceptor()));
converters, null, Arrays.asList(new JsonViewResponseBodyAdvice()));
Object returnValue = new JacksonViewController().handleResponseEntity();
processor.handleReturnValue(returnValue, methodReturnType, this.mavContainer, this.webRequest);

View File

@@ -42,12 +42,12 @@ import static org.mockito.Mockito.*;
/**
* Unit tests for
* {@link org.springframework.web.servlet.mvc.method.annotation.ResponseBodyInterceptorChain}.
* {@link ResponseBodyAdviceChain}.
*
* @author Rossen Stoyanchev
* @since 4.1
*/
public class ResponseBodyInterceptorChainTests {
public class ResponseBodyAdviceChainTests {
private String body;
@@ -73,15 +73,15 @@ public class ResponseBodyInterceptorChainTests {
}
@Test
public void responseBodyInterceptor() {
public void responseBodyAdvice() {
@SuppressWarnings("unchecked")
ResponseBodyInterceptor<String> interceptor = Mockito.mock(ResponseBodyInterceptor.class);
ResponseBodyInterceptorChain chain = new ResponseBodyInterceptorChain(Arrays.asList(interceptor));
ResponseBodyAdvice<String> advice = Mockito.mock(ResponseBodyAdvice.class);
ResponseBodyAdviceChain chain = new ResponseBodyAdviceChain(Arrays.asList(advice));
String expected = "body++";
when(interceptor.supports(this.returnType, this.converterType)).thenReturn(true);
when(interceptor.beforeBodyWrite(eq(this.body), eq(this.returnType), eq(this.contentType),
when(advice.supports(this.returnType, this.converterType)).thenReturn(true);
when(advice.beforeBodyWrite(eq(this.body), eq(this.returnType), eq(this.contentType),
eq(this.converterType), same(this.request), same(this.response))).thenReturn(expected);
String actual = chain.invoke(this.body, this.returnType,
@@ -93,8 +93,8 @@ public class ResponseBodyInterceptorChainTests {
@Test
public void controllerAdvice() {
Object interceptor = new ControllerAdviceBean(new MyControllerAdvice());
ResponseBodyInterceptorChain chain = new ResponseBodyInterceptorChain(Arrays.asList(interceptor));
Object adviceBean = new ControllerAdviceBean(new MyControllerAdvice());
ResponseBodyAdviceChain chain = new ResponseBodyAdviceChain(Arrays.asList(adviceBean));
String actual = chain.invoke(this.body, this.returnType,
this.contentType, this.converterType, this.request, this.response);
@@ -105,8 +105,8 @@ public class ResponseBodyInterceptorChainTests {
@Test
public void controllerAdviceNotApplicable() {
Object interceptor = new ControllerAdviceBean(new TargetedControllerAdvice());
ResponseBodyInterceptorChain chain = new ResponseBodyInterceptorChain(Arrays.asList(interceptor));
Object adviceBean = new ControllerAdviceBean(new TargetedControllerAdvice());
ResponseBodyAdviceChain chain = new ResponseBodyAdviceChain(Arrays.asList(adviceBean));
String actual = chain.invoke(this.body, this.returnType,
this.contentType, this.converterType, this.request, this.response);
@@ -116,7 +116,7 @@ public class ResponseBodyInterceptorChainTests {
@ControllerAdvice
private static class MyControllerAdvice implements ResponseBodyInterceptor<String> {
private static class MyControllerAdvice implements ResponseBodyAdvice<String> {
@Override
public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {
@@ -134,7 +134,7 @@ public class ResponseBodyInterceptorChainTests {
}
@ControllerAdvice(annotations = Controller.class)
private static class TargetedControllerAdvice implements ResponseBodyInterceptor<String> {
private static class TargetedControllerAdvice implements ResponseBodyAdvice<String> {
@Override
public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {