Polishing

This commit is contained in:
Juergen Hoeller 2017-03-07 15:42:04 +01:00
parent f30c498162
commit 94a7624c1f
8 changed files with 40 additions and 37 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2016 the original author or authors. * Copyright 2002-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -99,13 +99,14 @@ final class AnnotationAttributesReadingVisitor extends RecursiveAnnotationAttrib
// accessibility in a SecurityManager environment. // accessibility in a SecurityManager environment.
if (Modifier.isPublic(annotation.annotationType().getModifiers())) { if (Modifier.isPublic(annotation.annotationType().getModifiers())) {
String annotationName = annotation.annotationType().getName(); String annotationName = annotation.annotationType().getName();
this.attributesMap.add(annotationName, AnnotationUtils.getAnnotationAttributes(annotation, false, true)); this.attributesMap.add(annotationName,
AnnotationUtils.getAnnotationAttributes(annotation, false, true));
} }
for (Annotation metaMetaAnnotation : annotation.annotationType().getAnnotations()) { for (Annotation metaMetaAnnotation : annotation.annotationType().getAnnotations()) {
recursivelyCollectMetaAnnotations(visited, metaMetaAnnotation); recursivelyCollectMetaAnnotations(visited, metaMetaAnnotation);
} }
} }
catch (Exception ex) { catch (Throwable ex) {
if (logger.isDebugEnabled()) { if (logger.isDebugEnabled()) {
logger.debug("Failed to introspect meta-annotations on [" + annotation + "]: " + ex); logger.debug("Failed to introspect meta-annotations on [" + annotation + "]: " + ex);
} }

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2016 the original author or authors. * Copyright 2002-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -94,7 +94,7 @@ abstract class AnnotationReadingVisitorUtils {
} }
entry.setValue(value); entry.setValue(value);
} }
catch (Exception ex) { catch (Throwable ex) {
// Class not found - can't resolve class reference in annotation attribute. // Class not found - can't resolve class reference in annotation attribute.
result.put(entry.getKey(), ex); result.put(entry.getKey(), ex);
} }

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2015 the original author or authors. * Copyright 2002-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -46,7 +46,7 @@ public class RequestScopeTests {
@Before @Before
public void setUp() throws Exception { public void setup() throws Exception {
this.beanFactory.registerScope("request", new RequestScope()); this.beanFactory.registerScope("request", new RequestScope());
this.beanFactory.setBeanExpressionResolver(new StandardBeanExpressionResolver()); this.beanFactory.setBeanExpressionResolver(new StandardBeanExpressionResolver());
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this.beanFactory); XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this.beanFactory);
@ -59,6 +59,7 @@ public class RequestScopeTests {
RequestContextHolder.setRequestAttributes(null); RequestContextHolder.setRequestAttributes(null);
} }
@Test @Test
public void getFromScope() throws Exception { public void getFromScope() throws Exception {
MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletRequest request = new MockHttpServletRequest();

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2013 the original author or authors. * Copyright 2002-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -38,17 +38,18 @@ import static org.junit.Assert.*;
*/ */
public class RequestScopedProxyTests { public class RequestScopedProxyTests {
private DefaultListableBeanFactory beanFactory; private final DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
@Before @Before
public void setUp() throws Exception { public void setup() {
this.beanFactory = new DefaultListableBeanFactory();
this.beanFactory.registerScope("request", new RequestScope()); this.beanFactory.registerScope("request", new RequestScope());
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this.beanFactory); XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this.beanFactory);
reader.loadBeanDefinitions(new ClassPathResource("requestScopedProxyTests.xml", getClass())); reader.loadBeanDefinitions(new ClassPathResource("requestScopedProxyTests.xml", getClass()));
this.beanFactory.preInstantiateSingletons(); this.beanFactory.preInstantiateSingletons();
} }
@Test @Test
public void testGetFromScope() throws Exception { public void testGetFromScope() throws Exception {
String name = "requestScopedObject"; String name = "requestScopedObject";

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2016 the original author or authors. * Copyright 2002-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -16,8 +16,6 @@
package org.springframework.web.context.request; package org.springframework.web.context.request;
import static org.junit.Assert.*;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
@ -34,6 +32,8 @@ import org.junit.runners.Parameterized.Parameters;
import org.springframework.mock.web.test.MockHttpServletRequest; import org.springframework.mock.web.test.MockHttpServletRequest;
import org.springframework.mock.web.test.MockHttpServletResponse; import org.springframework.mock.web.test.MockHttpServletResponse;
import static org.junit.Assert.*;
/** /**
* Parameterized tests for ServletWebRequest * Parameterized tests for ServletWebRequest
* @author Juergen Hoeller * @author Juergen Hoeller
@ -66,8 +66,9 @@ public class ServletWebRequestHttpMethodsTests {
}); });
} }
@Before @Before
public void setUp() { public void setup() {
currentDate = new Date(); currentDate = new Date();
dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
@ -76,6 +77,7 @@ public class ServletWebRequestHttpMethodsTests {
request = new ServletWebRequest(servletRequest, servletResponse); request = new ServletWebRequest(servletRequest, servletResponse);
} }
@Test @Test
public void checkNotModifiedNon2xxStatus() { public void checkNotModifiedNon2xxStatus() {
long epochTime = currentDate.getTime(); long epochTime = currentDate.getTime();
@ -87,8 +89,7 @@ public class ServletWebRequestHttpMethodsTests {
assertNull(servletResponse.getHeader("Last-Modified")); assertNull(servletResponse.getHeader("Last-Modified"));
} }
// SPR-13516 @Test // SPR-13516
@Test
public void checkNotModifiedInvalidStatus() { public void checkNotModifiedInvalidStatus() {
long epochTime = currentDate.getTime(); long epochTime = currentDate.getTime();
servletRequest.addHeader("If-Modified-Since", epochTime); servletRequest.addHeader("If-Modified-Since", epochTime);
@ -97,7 +98,7 @@ public class ServletWebRequestHttpMethodsTests {
assertFalse(request.checkNotModified(epochTime)); assertFalse(request.checkNotModified(epochTime));
} }
@Test // SPR-14559 @Test // SPR-14559
public void checkNotModifiedInvalidIfNoneMatchHeader() { public void checkNotModifiedInvalidIfNoneMatchHeader() {
String eTag = "\"etagvalue\""; String eTag = "\"etagvalue\"";
servletRequest.addHeader("If-None-Match", "missingquotes"); servletRequest.addHeader("If-None-Match", "missingquotes");
@ -223,8 +224,7 @@ public class ServletWebRequestHttpMethodsTests {
assertEquals(dateFormat.format(currentDate.getTime()), servletResponse.getHeader("Last-Modified")); assertEquals(dateFormat.format(currentDate.getTime()), servletResponse.getHeader("Last-Modified"));
} }
// SPR-14224 @Test // SPR-14224
@Test
public void checkNotModifiedETagAndModifiedTimestamp() { public void checkNotModifiedETagAndModifiedTimestamp() {
String eTag = "\"Foo\""; String eTag = "\"Foo\"";
servletRequest.addHeader("If-None-Match", eTag); servletRequest.addHeader("If-None-Match", eTag);

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2015 the original author or authors. * Copyright 2002-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -16,11 +16,8 @@
package org.springframework.web.context.request; package org.springframework.web.context.request;
import static org.junit.Assert.*;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
import javax.servlet.ServletRequest; import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse; import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -35,6 +32,8 @@ import org.springframework.mock.web.test.MockHttpServletRequest;
import org.springframework.mock.web.test.MockHttpServletResponse; import org.springframework.mock.web.test.MockHttpServletResponse;
import org.springframework.web.multipart.MultipartRequest; import org.springframework.web.multipart.MultipartRequest;
import static org.junit.Assert.*;
/** /**
* @author Juergen Hoeller * @author Juergen Hoeller
*/ */
@ -46,13 +45,15 @@ public class ServletWebRequestTests {
private ServletWebRequest request; private ServletWebRequest request;
@Before @Before
public void setUp() { public void setup() {
servletRequest = new MockHttpServletRequest(); servletRequest = new MockHttpServletRequest();
servletResponse = new MockHttpServletResponse(); servletResponse = new MockHttpServletResponse();
request = new ServletWebRequest(servletRequest, servletResponse); request = new ServletWebRequest(servletRequest, servletResponse);
} }
@Test @Test
public void parameters() { public void parameters() {
servletRequest.addParameter("param1", "value1"); servletRequest.addParameter("param1", "value1");
@ -114,4 +115,4 @@ public class ServletWebRequestTests {
assertNull(request.getNativeResponse(MultipartRequest.class)); assertNull(request.getNativeResponse(MultipartRequest.class));
} }
} }

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2016 the original author or authors. * Copyright 2002-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -44,7 +44,7 @@ public class WebAsyncManagerTests {
@Before @Before
public void setUp() { public void setup() {
this.servletRequest = new MockHttpServletRequest(); this.servletRequest = new MockHttpServletRequest();
this.asyncManager = WebAsyncUtils.getAsyncManager(servletRequest); this.asyncManager = WebAsyncUtils.getAsyncManager(servletRequest);
this.asyncManager.setTaskExecutor(new SyncTaskExecutor()); this.asyncManager.setTaskExecutor(new SyncTaskExecutor());
@ -54,6 +54,7 @@ public class WebAsyncManagerTests {
reset(this.asyncWebRequest); reset(this.asyncWebRequest);
} }
@Test @Test
public void startAsyncProcessingWithoutAsyncWebRequest() throws Exception { public void startAsyncProcessingWithoutAsyncWebRequest() throws Exception {
WebAsyncManager manager = WebAsyncUtils.getAsyncManager(new MockHttpServletRequest()); WebAsyncManager manager = WebAsyncUtils.getAsyncManager(new MockHttpServletRequest());

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2016 the original author or authors. * Copyright 2002-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -28,12 +28,9 @@ import org.springframework.mock.web.test.MockHttpServletRequest;
import org.springframework.mock.web.test.MockHttpServletResponse; import org.springframework.mock.web.test.MockHttpServletResponse;
import org.springframework.web.context.request.NativeWebRequest; import org.springframework.web.context.request.NativeWebRequest;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.*;
import static org.junit.Assert.assertTrue; import static org.mockito.BDDMockito.*;
import static org.mockito.BDDMockito.given; import static org.springframework.web.context.request.async.CallableProcessingInterceptor.*;
import static org.mockito.BDDMockito.mock;
import static org.mockito.BDDMockito.verify;
import static org.springframework.web.context.request.async.CallableProcessingInterceptor.RESULT_NONE;
/** /**
* {@link WebAsyncManager} tests where container-triggered timeout/completion * {@link WebAsyncManager} tests where container-triggered timeout/completion
@ -53,8 +50,9 @@ public class WebAsyncManagerTimeoutTests {
private MockHttpServletResponse servletResponse; private MockHttpServletResponse servletResponse;
@Before @Before
public void setUp() { public void setup() {
this.servletRequest = new MockHttpServletRequest("GET", "/test"); this.servletRequest = new MockHttpServletRequest("GET", "/test");
this.servletRequest.setAsyncSupported(true); this.servletRequest.setAsyncSupported(true);
this.servletResponse = new MockHttpServletResponse(); this.servletResponse = new MockHttpServletResponse();
@ -67,9 +65,9 @@ public class WebAsyncManagerTimeoutTests {
this.asyncManager.setAsyncWebRequest(this.asyncWebRequest); this.asyncManager.setAsyncWebRequest(this.asyncWebRequest);
} }
@Test @Test
public void startCallableProcessingTimeoutAndComplete() throws Exception { public void startCallableProcessingTimeoutAndComplete() throws Exception {
StubCallable callable = new StubCallable(); StubCallable callable = new StubCallable();
CallableProcessingInterceptor interceptor = mock(CallableProcessingInterceptor.class); CallableProcessingInterceptor interceptor = mock(CallableProcessingInterceptor.class);