diff --git a/spring-aop/src/main/java/org/springframework/aop/target/CommonsPoolTargetSource.java b/spring-aop/src/main/java/org/springframework/aop/target/CommonsPoolTargetSource.java index 5392d3c2997..c642820f694 100644 --- a/spring-aop/src/main/java/org/springframework/aop/target/CommonsPoolTargetSource.java +++ b/spring-aop/src/main/java/org/springframework/aop/target/CommonsPoolTargetSource.java @@ -78,7 +78,7 @@ public class CommonsPoolTargetSource extends AbstractPoolingTargetSource impleme private byte whenExhaustedAction = GenericObjectPool.DEFAULT_WHEN_EXHAUSTED_ACTION; /** - * The Jakarta Commons {@code ObjectPool} used to pool target objects + * The Apache Commons {@code ObjectPool} used to pool target objects */ private ObjectPool pool; diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java index 3052a398e55..8c3850b3e3f 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java @@ -804,7 +804,7 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto oldBeanDefinition = this.beanDefinitionMap.get(beanName); if (oldBeanDefinition != null) { - if (!this.allowBeanDefinitionOverriding) { + if (!isAllowBeanDefinitionOverriding()) { throw new BeanDefinitionStoreException(beanDefinition.getResourceDescription(), beanName, "Cannot register bean definition [" + beanDefinition + "] for bean '" + beanName + "': There is already [" + oldBeanDefinition + "] bound."); diff --git a/spring-context/src/main/java/org/springframework/format/annotation/NumberFormat.java b/spring-context/src/main/java/org/springframework/format/annotation/NumberFormat.java index 7418ec6b2f1..9dde8214918 100644 --- a/spring-context/src/main/java/org/springframework/format/annotation/NumberFormat.java +++ b/spring-context/src/main/java/org/springframework/format/annotation/NumberFormat.java @@ -28,12 +28,14 @@ import java.lang.annotation.Target; *

Supports formatting by style or custom pattern string. * Can be applied to any JDK {@code java.lang.Number} type. * - *

For style-based formatting, set the {@link #style} attribute to be the desired {@link Style}. - * For custom formatting, set the {@link #pattern} attribute to be the number pattern, such as {@code #, ###.##}. + *

For style-based formatting, set the {@link #style} attribute to be the + * desired {@link Style}. For custom formatting, set the {@link #pattern} + * attribute to be the number pattern, such as {@code #, ###.##}. * - *

Each attribute is mutually exclusive, so only set one attribute per annotation instance - * (the one most convenient one for your formatting needs). When the pattern attribute is specified, - * it takes precedence over the style attribute. When no annotation attributes are specified, + *

Each attribute is mutually exclusive, so only set one attribute per + * annotation instance (the one most convenient one for your formatting needs). + * When the {@link #pattern} attribute is specified, it takes precedence over + * the {@link #style} attribute. When no annotation attributes are specified, * the default format applied is style-based with a style of {@link Style#NUMBER}. * * @author Keith Donald diff --git a/spring-core/src/main/java/org/springframework/util/Assert.java b/spring-core/src/main/java/org/springframework/util/Assert.java index 0a28cac76f8..ed55aa13b4a 100644 --- a/spring-core/src/main/java/org/springframework/util/Assert.java +++ b/spring-core/src/main/java/org/springframework/util/Assert.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2015 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 @@ -41,7 +41,7 @@ import java.util.Map; * Assert.notNull(clazz, "The class must not be null"); * Assert.isTrue(i > 0, "The value must be greater than zero"); * - * Mainly for internal use within the framework; consider Jakarta's Commons Lang + * Mainly for internal use within the framework; consider Apache's Commons Lang * >= 2.0 for a more comprehensive suite of assertion utilities. * * @author Keith Donald diff --git a/spring-core/src/main/java/org/springframework/util/NumberUtils.java b/spring-core/src/main/java/org/springframework/util/NumberUtils.java index c43ebaaf553..6f902081510 100644 --- a/spring-core/src/main/java/org/springframework/util/NumberUtils.java +++ b/spring-core/src/main/java/org/springframework/util/NumberUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 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. @@ -27,7 +27,7 @@ import java.util.Set; /** * Miscellaneous utility methods for number conversion and parsing. - * Mainly for internal use within the framework; consider Jakarta's + * Mainly for internal use within the framework; consider Apache's * Commons Lang for a more comprehensive suite of string utilities. * * @author Juergen Hoeller diff --git a/spring-core/src/main/java/org/springframework/util/StringUtils.java b/spring-core/src/main/java/org/springframework/util/StringUtils.java index febb796103b..34d49c4d21c 100644 --- a/spring-core/src/main/java/org/springframework/util/StringUtils.java +++ b/spring-core/src/main/java/org/springframework/util/StringUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 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. @@ -35,7 +35,7 @@ import java.util.TreeSet; * Miscellaneous {@link String} utility methods. * *

Mainly for internal use within the framework; consider - * Jakarta's Commons Lang + * Apache's Commons Lang * for a more comprehensive suite of String utilities. * *

This class delivers some simple functionality that should really diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceTransactionManager.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceTransactionManager.java index 421ecb787ef..fed12997c8e 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceTransactionManager.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceTransactionManager.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 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. @@ -83,7 +83,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager *

This transaction manager can be used as a replacement for the * {@link org.springframework.transaction.jta.JtaTransactionManager} in the single * resource case, as it does not require a container that supports JTA, typically - * in combination with a locally defined JDBC DataSource (e.g. a Jakarta Commons + * in combination with a locally defined JDBC DataSource (e.g. an Apache Commons * DBCP connection pool). Switching between this local strategy and a JTA * environment is just a matter of configuration! * @@ -126,8 +126,8 @@ public class DataSourceTransactionManager extends AbstractPlatformTransactionMan /** * Set the JDBC DataSource that this instance should manage transactions for. - *

This will typically be a locally defined DataSource, for example a - * Jakarta Commons DBCP connection pool. Alternatively, you can also drive + *

This will typically be a locally defined DataSource, for example an + * Apache Commons DBCP connection pool. Alternatively, you can also drive * transactions for a non-XA J2EE DataSource fetched from JNDI. For an XA * DataSource, use JtaTransactionManager. *

The DataSource specified here should be the target DataSource to manage diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DriverManagerDataSource.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DriverManagerDataSource.java index b272b572bd4..8fcdb5d62f8 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DriverManagerDataSource.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DriverManagerDataSource.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2015 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. @@ -53,7 +53,7 @@ import org.springframework.util.ClassUtils; * bean definition to a local DataSource (which is simpler and thus recommended). * *

If you need a "real" connection pool outside of a J2EE container, consider - * Apache's Jakarta Commons DBCP + * Apache Commons DBCP * or C3P0. * Commons DBCP's BasicDataSource and C3P0's ComboPooledDataSource are full * connection pool beans, supporting the same basic properties as this class diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/SimpleDriverDataSource.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/SimpleDriverDataSource.java index aae634f2ffd..73433728d8a 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/SimpleDriverDataSource.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/SimpleDriverDataSource.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2015 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. @@ -26,8 +26,8 @@ import org.springframework.util.Assert; /** * Simple implementation of the standard JDBC {@link javax.sql.DataSource} interface, - * configuring a plain old JDBC {@link java.sql.Driver} via bean properties, and returning - * a new {@link java.sql.Connection} from every {@code getConnection} call. + * configuring a plain old JDBC {@link java.sql.Driver} via bean properties, and + * returning a new {@link java.sql.Connection} from every {@code getConnection} call. * *

NOTE: This class is not an actual connection pool; it does not actually * pool Connections. It just serves as simple replacement for a full-blown @@ -40,7 +40,7 @@ import org.springframework.util.Assert; * for seamless switching to and from a local DataSource bean like this class. * *

If you need a "real" connection pool outside of a J2EE container, consider - * Apache's Jakarta Commons DBCP + * Apache Commons DBCP * or C3P0. * Commons DBCP's BasicDataSource and C3P0's ComboPooledDataSource are full * connection pool beans, supporting the same basic properties as this class diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/CommonsDbcpNativeJdbcExtractor.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/CommonsDbcpNativeJdbcExtractor.java index ee7d46f0c47..33045f9b1d8 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/CommonsDbcpNativeJdbcExtractor.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/CommonsDbcpNativeJdbcExtractor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2015 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. @@ -29,7 +29,7 @@ import org.springframework.util.ReflectionUtils; /** * Implementation of the {@link NativeJdbcExtractor} interface for the - * Jakarta Commons DBCP connection pool, version 1.1 or higher. + * Apache Commons DBCP connection pool, version 1.1 or higher. * *

Returns the underlying native Connection, Statement, etc to application * code instead of DBCP's wrapper implementations. The returned JDBC classes diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/NativeJdbcExtractor.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/NativeJdbcExtractor.java index 7a18b6d71d9..ca6d2ebb7de 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/NativeJdbcExtractor.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/NativeJdbcExtractor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2015 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. @@ -42,7 +42,7 @@ import java.sql.Statement; * *

When working with a simple connection pool that wraps Connections but not * Statements, a {@link SimpleNativeJdbcExtractor} is often sufficient. However, - * some pools (like Jakarta's Commons DBCP) wrap all JDBC objects that they + * some pools (like Apache's Commons DBCP) wrap all JDBC objects that they * return: Therefore, you need to use a specific {@code NativeJdbcExtractor} * (like {@link CommonsDbcpNativeJdbcExtractor}) with them. * diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/SimpleNativeJdbcExtractor.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/SimpleNativeJdbcExtractor.java index fa0a1efc9dc..5a6939c59cc 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/SimpleNativeJdbcExtractor.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/SimpleNativeJdbcExtractor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2015 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. @@ -17,7 +17,7 @@ package org.springframework.jdbc.support.nativejdbc; /** - * Simple implementation of the {@link NativeJdbcExtractor} interface. + * A simple implementation of the {@link NativeJdbcExtractor} interface. * Assumes a pool that wraps Connection handles but not DatabaseMetaData: * In this case, the underlying native Connection can be retrieved by simply * calling {@code conHandle.getMetaData().getConnection()}. @@ -35,10 +35,9 @@ package org.springframework.jdbc.support.nativejdbc; * flags to "true". If none of the statement types is wrapped - or you solely need * Connection unwrapping in the first place -, the defaults are fine. * - *

SimpleNativeJdbcExtractor is a common choice for use with OracleLobHandler, - * which just needs Connection unwrapping via the - * {@link #getNativeConnectionFromStatement} method. This usage will work - * with almost any connection pool. + *

SimpleNativeJdbcExtractor is a common choice for use with OracleLobHandler, which + * just needs Connection unwrapping via the {@link #getNativeConnectionFromStatement} + * method. This usage will work with almost any connection pool. * *

For full usage with JdbcTemplate, i.e. to also provide Statement unwrapping: *

* diff --git a/spring-test/src/main/java/org/springframework/mock/jndi/SimpleNamingContextBuilder.java b/spring-test/src/main/java/org/springframework/mock/jndi/SimpleNamingContextBuilder.java index 2c48c2507fb..d12a968fbd4 100644 --- a/spring-test/src/main/java/org/springframework/mock/jndi/SimpleNamingContextBuilder.java +++ b/spring-test/src/main/java/org/springframework/mock/jndi/SimpleNamingContextBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 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. @@ -41,7 +41,7 @@ import org.springframework.util.ClassUtils; * * *

Typical usage in bootstrap code: diff --git a/spring-test/src/main/java/org/springframework/mock/web/MockExpressionEvaluator.java b/spring-test/src/main/java/org/springframework/mock/web/MockExpressionEvaluator.java index fdb9a9f8fe2..3a70b66c1e8 100644 --- a/spring-test/src/main/java/org/springframework/mock/web/MockExpressionEvaluator.java +++ b/spring-test/src/main/java/org/springframework/mock/web/MockExpressionEvaluator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2015 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. @@ -22,14 +22,13 @@ import javax.servlet.jsp.PageContext; import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager; /** - * Mock implementation of the JSP 2.0 - * {@link javax.servlet.jsp.el.ExpressionEvaluator} interface, delegating to the - * Jakarta JSTL ExpressionEvaluatorManager. - *

- * Used for testing the web framework; only necessary for testing applications + * Mock implementation of the JSP 2.0 {@link javax.servlet.jsp.el.ExpressionEvaluator} + * interface, delegating to the Apache JSTL ExpressionEvaluatorManager. + * + *

Used for testing the web framework; only necessary for testing applications * when testing custom JSP tags. - *

- * Note that the Jakarta JSTL implementation (jstl.jar, standard.jar) has to be + * + *

Note that the Apache JSTL implementation (jstl.jar, standard.jar) has to be * available on the class path to use this expression evaluator. * * @author Juergen Hoeller @@ -44,20 +43,19 @@ public class MockExpressionEvaluator extends javax.servlet.jsp.el.ExpressionEval /** * Create a new MockExpressionEvaluator for the given PageContext. - * * @param pageContext the JSP PageContext to run in */ public MockExpressionEvaluator(PageContext pageContext) { this.pageContext = pageContext; } + @Override @SuppressWarnings("rawtypes") public javax.servlet.jsp.el.Expression parseExpression(final String expression, final Class expectedType, final javax.servlet.jsp.el.FunctionMapper functionMapper) throws javax.servlet.jsp.el.ELException { return new javax.servlet.jsp.el.Expression() { - @Override public Object evaluate(javax.servlet.jsp.el.VariableResolver variableResolver) throws javax.servlet.jsp.el.ELException { return doEvaluate(expression, expectedType, functionMapper); diff --git a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerRequestExecutor.java b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerRequestExecutor.java index 56b9f3a1aeb..433edd83105 100644 --- a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerRequestExecutor.java +++ b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerRequestExecutor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 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. @@ -29,10 +29,10 @@ import org.springframework.remoting.support.RemoteInvocationResult; *

Two implementations are provided out of the box: *

diff --git a/spring-web/src/main/java/org/springframework/web/multipart/MultipartResolver.java b/spring-web/src/main/java/org/springframework/web/multipart/MultipartResolver.java index 3fd05f91518..79898d9646a 100644 --- a/spring-web/src/main/java/org/springframework/web/multipart/MultipartResolver.java +++ b/spring-web/src/main/java/org/springframework/web/multipart/MultipartResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2015 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. @@ -26,8 +26,10 @@ import javax.servlet.http.HttpServletRequest; * *

There are two concrete implementations included in Spring, as of Spring 3.1: *

* *

There is no default resolver implementation used for Spring @@ -38,14 +40,11 @@ import javax.servlet.http.HttpServletRequest; * application context. Such a resolver gets applied to all requests handled * by that {@link org.springframework.web.servlet.DispatcherServlet}. * - *

If a {@link org.springframework.web.servlet.DispatcherServlet} detects - * a multipart request, it will resolve it via the configured - * {@link MultipartResolver} and pass on a - * wrapped {@link javax.servlet.http.HttpServletRequest}. - * Controllers can then cast their given request to the - * {@link MultipartHttpServletRequest} - * interface, which permits access to any - * {@link MultipartFile MultipartFiles}. + *

If a {@link org.springframework.web.servlet.DispatcherServlet} detects a + * multipart request, it will resolve it via the configured {@link MultipartResolver} + * and pass on a wrapped {@link javax.servlet.http.HttpServletRequest}. Controllers + * can then cast their given request to the {@link MultipartHttpServletRequest} + * interface, which allows for access to any {@link MultipartFile MultipartFiles}. * Note that this cast is only supported in case of an actual multipart request. * *

@@ -58,23 +57,19 @@ import javax.servlet.http.HttpServletRequest;
  * Instead of direct access, command or form controllers can register a
  * {@link org.springframework.web.multipart.support.ByteArrayMultipartFileEditor}
  * or {@link org.springframework.web.multipart.support.StringMultipartFileEditor}
- * with their data binder, to automatically apply multipart content to command
+ * with their data binder, to automatically apply multipart content to form
  * bean properties.
  *
- * 

As an alternative to using a - * {@link MultipartResolver} with a + *

As an alternative to using a {@link MultipartResolver} with a * {@link org.springframework.web.servlet.DispatcherServlet}, * a {@link org.springframework.web.multipart.support.MultipartFilter} can be * registered in {@code web.xml}. It will delegate to a corresponding - * {@link MultipartResolver} bean in the root - * application context. This is mainly intended for applications that do not - * use Spring's own web MVC framework. + * {@link MultipartResolver} bean in the root application context. This is mainly + * intended for applications that do not use Spring's own web MVC framework. * - *

Note: There is hardly ever a need to access the - * {@link MultipartResolver} itself - * from application code. It will simply do its work behind the scenes, - * making - * {@link MultipartHttpServletRequest MultipartHttpServletRequests} + *

Note: There is hardly ever a need to access the {@link MultipartResolver} + * itself from application code. It will simply do its work behind the scenes, + * making {@link MultipartHttpServletRequest MultipartHttpServletRequests} * available to controllers. * * @author Juergen Hoeller @@ -101,8 +96,8 @@ public interface MultipartResolver { /** * Parse the given HTTP request into multipart files and parameters, * and wrap the request inside a - * {@link org.springframework.web.multipart.MultipartHttpServletRequest} object - * that provides access to file descriptors and makes contained + * {@link org.springframework.web.multipart.MultipartHttpServletRequest} + * object that provides access to file descriptors and makes contained * parameters accessible via the standard ServletRequest methods. * @param request the servlet request to wrap (must be of a multipart content type) * @return the wrapped servlet request diff --git a/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsFileUploadSupport.java b/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsFileUploadSupport.java index e05e110a7d8..f6e6f6c6bce 100644 --- a/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsFileUploadSupport.java +++ b/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsFileUploadSupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2015 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. @@ -39,7 +39,7 @@ import org.springframework.web.multipart.MultipartFile; import org.springframework.web.util.WebUtils; /** - * Base class for multipart resolvers that use Jakarta Commons FileUpload + * Base class for multipart resolvers that use Apache Commons FileUpload * 1.2 or above. * *

Provides common configuration properties and parsing functionality diff --git a/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsMultipartFile.java b/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsMultipartFile.java index 83fc1e36213..82a384b27b9 100644 --- a/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsMultipartFile.java +++ b/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsMultipartFile.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2015 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. @@ -31,7 +31,7 @@ import org.apache.commons.logging.LogFactory; import org.springframework.web.multipart.MultipartFile; /** - * MultipartFile implementation for Jakarta Commons FileUpload. + * MultipartFile implementation for Apache Commons FileUpload. * * @author Trevor D. Cook * @author Juergen Hoeller diff --git a/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsMultipartResolver.java b/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsMultipartResolver.java index 29b4408cf49..22960e3811c 100644 --- a/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsMultipartResolver.java +++ b/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsMultipartResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2015 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. @@ -37,8 +37,8 @@ import org.springframework.web.multipart.support.DefaultMultipartHttpServletRequ import org.springframework.web.util.WebUtils; /** - * Servlet-based {@link org.springframework.web.multipart.MultipartResolver} implementation - * for Jakarta Commons FileUpload + * Servlet-based {@link MultipartResolver} implementation for + * Apache Commons FileUpload * 1.2 or above. * *

Provides "maxUploadSize", "maxInMemorySize" and "defaultEncoding" settings as diff --git a/spring-web/src/main/java/org/springframework/web/multipart/commons/package-info.java b/spring-web/src/main/java/org/springframework/web/multipart/commons/package-info.java index 0c5ee00f94b..001283a1fe9 100644 --- a/spring-web/src/main/java/org/springframework/web/multipart/commons/package-info.java +++ b/spring-web/src/main/java/org/springframework/web/multipart/commons/package-info.java @@ -1,5 +1,5 @@ /** * MultipartResolver implementation for - * Jakarta Commons FileUpload. + * Apache Commons FileUpload. */ package org.springframework.web.multipart.commons; diff --git a/spring-web/src/main/java/org/springframework/web/util/HtmlUtils.java b/spring-web/src/main/java/org/springframework/web/util/HtmlUtils.java index 925d96e82f6..cb43aa9e042 100644 --- a/spring-web/src/main/java/org/springframework/web/util/HtmlUtils.java +++ b/spring-web/src/main/java/org/springframework/web/util/HtmlUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 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. @@ -27,7 +27,7 @@ import org.springframework.util.Assert; * http://www.w3.org/TR/html4/charset.html * *

For a comprehensive set of String escaping utilities, - * consider Jakarta Commons Lang and its StringEscapeUtils class. + * consider Apache Commons Lang and its StringEscapeUtils class. * We are not using that class here to avoid a runtime dependency * on Commons Lang just for HTML escaping. Furthermore, Spring's * HTML escaping is more flexible and 100% HTML 4.0 compliant. diff --git a/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java b/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java index 787cc6fa103..e93f73860f1 100644 --- a/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java +++ b/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java @@ -135,7 +135,7 @@ public class UriComponentsBuilder implements Cloneable { // Factory methods /** - * Returns a new, empty builder. + * Create a new, empty builder. * @return the new {@code UriComponentsBuilder} */ public static UriComponentsBuilder newInstance() { @@ -143,7 +143,7 @@ public class UriComponentsBuilder implements Cloneable { } /** - * Returns a builder that is initialized with the given path. + * Create a builder that is initialized with the given path. * @param path the path to initialize with * @return the new {@code UriComponentsBuilder} */ @@ -154,7 +154,7 @@ public class UriComponentsBuilder implements Cloneable { } /** - * Returns a builder that is initialized with the given {@code URI}. + * Create a builder that is initialized with the given {@code URI}. * @param uri the URI to initialize with * @return the new {@code UriComponentsBuilder} */ @@ -165,7 +165,7 @@ public class UriComponentsBuilder implements Cloneable { } /** - * Returns a builder that is initialized with the given URI string. + * Create a builder that is initialized with the given URI string. *

Note: The presence of reserved characters can prevent * correct parsing of the URI string. For example if a query parameter * contains {@code '='} or {@code '&'} characters, the query string cannot @@ -225,7 +225,7 @@ public class UriComponentsBuilder implements Cloneable { } /** - * Creates a new {@code UriComponents} object from the string HTTP URL. + * Create a URI components builder from the given HTTP URL String. *

Note: The presence of reserved characters can prevent * correct parsing of the URI string. For example if a query parameter * contains {@code '='} or {@code '&'} characters, the query string cannot @@ -286,7 +286,7 @@ public class UriComponentsBuilder implements Cloneable { String hostToUse = hosts[0]; if (hostToUse.contains(":")) { String[] hostAndPort = StringUtils.split(hostToUse, ":"); - host = hostAndPort[0]; + host = hostAndPort[0]; port = Integer.parseInt(hostAndPort[1]); } else { diff --git a/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/DispatcherPortlet.java b/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/DispatcherPortlet.java index 844f1cfd3e4..98c243fee30 100644 --- a/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/DispatcherPortlet.java +++ b/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/DispatcherPortlet.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2015 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. @@ -66,9 +66,8 @@ import org.springframework.web.servlet.ViewResolver; * controllers. Dispatches to registered handlers for processing a portlet request. * *

This portlet is very flexible: It can be used with just about any workflow, - * with the installation of the appropriate adapter classes. It offers the - * following functionality that distinguishes it from other request-driven - * portlet MVC frameworks: + * with the installation of the appropriate adapter classes. It offers the following + * functionality that distinguishes it from other request-driven Portlet MVC frameworks: * *

* - *

NOTE: The {@code @RequestMapping} annotation will only be processed - * if a corresponding {@code HandlerMapping} (for type level annotations) - * and/or {@code HandlerAdapter} (for method level annotations) - * is present in the dispatcher. This is the case by default. - * However, if you are defining custom {@code HandlerMappings} or - * {@code HandlerAdapters}, then you need to make sure that a - * corresponding custom {@code DefaultAnnotationHandlerMapping} - * and/or {@code AnnotationMethodHandlerAdapter} is defined as well - * - provided that you intend to use {@code @RequestMapping}. + *

NOTE: The {@code @RequestMapping} annotation will only be processed if a + * corresponding {@code HandlerMapping} (for type-level annotations) and/or + * {@code HandlerAdapter} (for method-level annotations) is present in the dispatcher. + * This is the case by default. However, if you are defining custom {@code HandlerMappings} + * or {@code HandlerAdapters}, then you need to make sure that a corresponding custom + * {@code DefaultAnnotationHandlerMapping} and/or {@code AnnotationMethodHandlerAdapter} + * is defined as well - provided that you intend to use {@code @RequestMapping}. * *

A web application can define any number of DispatcherPortlets. - * Each portlet will operate in its own namespace, loading its own application - * context with mappings, handlers, etc. Only the root application context - * as loaded by {@link org.springframework.web.context.ContextLoaderListener}, - * if any, will be shared. + * Each portlet will operate in its own namespace, loading its own application context + * with mappings, handlers, etc. Only the root application context as loaded by + * {@link org.springframework.web.context.ContextLoaderListener}, if any, will be shared. * *

Thanks to Rainer Schmitz, Nick Lothian and Eric Dalquist for their suggestions! * diff --git a/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/multipart/CommonsPortletMultipartResolver.java b/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/multipart/CommonsPortletMultipartResolver.java index 4e4cf8499ed..aa17131413a 100644 --- a/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/multipart/CommonsPortletMultipartResolver.java +++ b/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/multipart/CommonsPortletMultipartResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2015 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. @@ -36,7 +36,7 @@ import org.springframework.web.portlet.util.PortletUtils; /** * {@link PortletMultipartResolver} implementation for - * Jakarta Commons FileUpload + * Apache Commons FileUpload * 1.2 or above. * *

Provides "maxUploadSize", "maxInMemorySize" and "defaultEncoding" settings as diff --git a/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/multipart/PortletMultipartResolver.java b/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/multipart/PortletMultipartResolver.java index 2cb58beffd7..81ec128966c 100644 --- a/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/multipart/PortletMultipartResolver.java +++ b/spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/multipart/PortletMultipartResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2015 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. @@ -30,25 +30,23 @@ import org.springframework.web.multipart.MultipartException; *

There is one concrete implementation included in Spring: *

* *

There is no default resolver implementation used for Spring * {@link org.springframework.web.portlet.DispatcherPortlet DispatcherPortlets}, * as an application might choose to parse its multipart requests itself. To - * define an implementation, create a bean with the id - * {@link org.springframework.web.portlet.DispatcherPortlet#MULTIPART_RESOLVER_BEAN_NAME "portletMultipartResolver"} + * define an implementation, create a bean with the id "portletMultipartResolver" * in a {@code DispatcherPortlet's} application context. Such a resolver * gets applied to all requests handled by that {@code DispatcherPortlet}. * *

If a {@code DispatcherPortlet} detects a multipart request, it will * resolve it via the configured - * {@link org.springframework.web.multipart.MultipartResolver} and pass on a - * wrapped Portlet {@link ActionRequest}. - * {@link org.springframework.web.portlet.mvc.Controller Controllers} can then + * {@link org.springframework.web.portlet.multipart.PortletMultipartResolver} + * and pass on a wrapped Portlet {@link ActionRequest}. Controllers can then * cast their given request to the {@link MultipartActionRequest} interface, - * being able to access {@code MultipartFiles}. Note that this cast is - * only supported in case of an actual multipart request. + * being able to access {@code MultipartFiles}. Note that this cast is only + * supported in case of an actual multipart request. * *

 public void handleActionRequest(ActionRequest request, ActionResponse response) {
  *   MultipartActionRequest multipartRequest = (MultipartActionRequest) request;
@@ -59,13 +57,12 @@ import org.springframework.web.multipart.MultipartException;
  * Instead of direct access, command or form controllers can register a
  * {@link org.springframework.web.multipart.support.ByteArrayMultipartFileEditor}
  * or {@link org.springframework.web.multipart.support.StringMultipartFileEditor}
- * with their data binder, to automatically apply multipart content to command
+ * with their data binder, to automatically apply multipart content to form
  * bean properties.
  *
- * 

Note: There is hardly ever a need to access the - * {@code MultipartResolver} itself from application code. It will simply - * do its work behind the scenes, making {@code MultipartActionRequests} - * available to controllers. + *

Note: There is hardly ever a need to access the {@code MultipartResolver} + * itself from application code. It will simply do its work behind the scenes, + * making {@code MultipartActionRequests} available to controllers. * * @author Juergen Hoeller * @since 2.0 diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java index b6190911f23..32b429483ab 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 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. @@ -60,73 +60,89 @@ import org.springframework.web.util.NestedServletException; import org.springframework.web.util.WebUtils; /** - * Central dispatcher for HTTP request handlers/controllers, e.g. for web UI controllers or HTTP-based remote service - * exporters. Dispatches to registered handlers for processing a web request, providing convenient mapping and exception - * handling facilities. + * Central dispatcher for HTTP request handlers/controllers, e.g. for web UI controllers + * or HTTP-based remote service exporters. Dispatches to registered handlers for processing + * a web request, providing convenient mapping and exception handling facilities. * - *

This servlet is very flexible: It can be used with just about any workflow, with the installation of the - * appropriate adapter classes. It offers the following functionality that distinguishes it from other request-driven - * web MVC frameworks: + *

This servlet is very flexible: It can be used with just about any workflow, with the + * installation of the appropriate adapter classes. It offers the following functionality + * that distinguishes it from other request-driven web MVC frameworks: * - *

* - *

NOTE: The {@code @RequestMapping} annotation will only be processed if a corresponding - * {@code HandlerMapping} (for type level annotations) and/or {@code HandlerAdapter} (for method level - * annotations) is present in the dispatcher. This is the case by default. However, if you are defining custom - * {@code HandlerMappings} or {@code HandlerAdapters}, then you need to make sure that a corresponding custom - * {@code DefaultAnnotationHandlerMapping} and/or {@code AnnotationMethodHandlerAdapter} is defined as well - - * provided that you intend to use {@code @RequestMapping}. + *

NOTE: The {@code @RequestMapping} annotation will only be processed if a + * corresponding {@code HandlerMapping} (for type-level annotations) and/or + * {@code HandlerAdapter} (for method-level annotations) is present in the dispatcher. + * This is the case by default. However, if you are defining custom {@code HandlerMappings} + * or {@code HandlerAdapters}, then you need to make sure that a corresponding custom + * {@code DefaultAnnotationHandlerMapping} and/or {@code AnnotationMethodHandlerAdapter} + * is defined as well - provided that you intend to use {@code @RequestMapping}. * - *

A web application can define any number of DispatcherServlets. Each servlet will operate in its own - * namespace, loading its own application context with mappings, handlers, etc. Only the root application context as - * loaded by {@link org.springframework.web.context.ContextLoaderListener}, if any, will be shared. + *

A web application can define any number of DispatcherServlets. + * Each servlet will operate in its own namespace, loading its own application context + * with mappings, handlers, etc. Only the root application context as loaded by + * {@link org.springframework.web.context.ContextLoaderListener}, if any, will be shared. * *

As of Spring 3.1, {@code DispatcherServlet} may now be injected with a web * application context, rather than creating its own internally. This is useful in Servlet - * 3.0+ environments, which support programmatic registration of servlet instances. See - * {@link #DispatcherServlet(WebApplicationContext)} Javadoc for details. + * 3.0+ environments, which support programmatic registration of servlet instances. + * See the {@link #DispatcherServlet(WebApplicationContext)} javadoc for details. * * @author Rod Johnson * @author Juergen Hoeller diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ExceptionHandlerExceptionResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ExceptionHandlerExceptionResolver.java index e69fe2fdb4b..a708cc2cc3a 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ExceptionHandlerExceptionResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ExceptionHandlerExceptionResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 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. @@ -258,7 +258,7 @@ public class ExceptionHandlerExceptionResolver extends AbstractHandlerMethodExce } List adviceBeans = ControllerAdviceBean.findAnnotatedBeans(getApplicationContext()); - Collections.sort(adviceBeans, new OrderComparator()); + OrderComparator.sort(adviceBeans); for (ControllerAdviceBean adviceBean : adviceBeans) { ExceptionHandlerMethodResolver resolver = new ExceptionHandlerMethodResolver(adviceBean.getBeanType()); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerAdapter.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerAdapter.java index 36c23126354..0d746b60941 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerAdapter.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerAdapter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 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. @@ -18,7 +18,6 @@ package org.springframework.web.servlet.mvc.method.annotation; import java.lang.reflect.Method; import java.util.ArrayList; -import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -519,7 +518,7 @@ public class RequestMappingHandlerAdapter extends AbstractHandlerMethodAdapter } List beans = ControllerAdviceBean.findAnnotatedBeans(getApplicationContext()); - Collections.sort(beans, new OrderComparator()); + OrderComparator.sort(beans); List responseBodyAdviceBeans = new ArrayList(); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlProvider.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlProvider.java index 9a3b1dea0fc..47c0eb9c8f3 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlProvider.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlProvider.java @@ -141,7 +141,7 @@ public class ResourceUrlProvider implements ApplicationListener map = appContext.getBeansOfType(SimpleUrlHandlerMapping.class); List handlerMappings = new ArrayList(map.values()); - Collections.sort(handlerMappings, new OrderComparator()); + OrderComparator.sort(handlerMappings); for (SimpleUrlHandlerMapping hm : handlerMappings) { for (String pattern : hm.getHandlerMap().keySet()) { diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/ContentNegotiatingViewResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/ContentNegotiatingViewResolver.java index 42302afbe78..52976c0a814 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/ContentNegotiatingViewResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/ContentNegotiatingViewResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2015 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. @@ -55,29 +55,31 @@ import org.springframework.web.servlet.View; import org.springframework.web.servlet.ViewResolver; /** - * Implementation of {@link ViewResolver} that resolves a view based on the request file name or {@code Accept} header. + * Implementation of {@link ViewResolver} that resolves a view based on the request file name + * or {@code Accept} header. * - *

The {@code ContentNegotiatingViewResolver} does not resolve views itself, but delegates to other {@link - * ViewResolver}s. By default, these other view resolvers are picked up automatically from the application context, - * though they can also be set explicitly by using the {@link #setViewResolvers(List) viewResolvers} property. - * Note that in order for this view resolver to work properly, the {@link #setOrder(int) order} - * property needs to be set to a higher precedence than the others (the default is {@link Ordered#HIGHEST_PRECEDENCE}.) + *

The {@code ContentNegotiatingViewResolver} does not resolve views itself, but delegates to + * other {@link ViewResolver}s. By default, these other view resolvers are picked up automatically + * from the application context, though they can also be set explicitly by using the + * {@link #setViewResolvers viewResolvers} property. Note that in order for this + * view resolver to work properly, the {@link #setOrder order} property needs to be set to a higher + * precedence than the others (the default is {@link Ordered#HIGHEST_PRECEDENCE}). * - *

This view resolver uses the requested {@linkplain MediaType media type} to select a suitable {@link View} for a - * request. The requested media type is determined through the configured {@link ContentNegotiationManager}. - * Once the requested media type has been determined, this resolver queries each delegate view resolver for a - * {@link View} and determines if the requested media type is {@linkplain MediaType#includes(MediaType) compatible} - * with the view's {@linkplain View#getContentType() content type}). The most compatible view is returned. + *

This view resolver uses the requested {@linkplain MediaType media type} to select a suitable + * {@link View} for a request. The requested media type is determined through the configured + * {@link ContentNegotiationManager}. Once the requested media type has been determined, this resolver + * queries each delegate view resolver for a {@link View} and determines if the requested media type + * is {@linkplain MediaType#includes(MediaType) compatible} with the view's + * {@linkplain View#getContentType() content type}). The most compatible view is returned. * - *

Additionally, this view resolver exposes the {@link #setDefaultViews(List) defaultViews} property, allowing you to - * override the views provided by the view resolvers. Note that these default views are offered as candidates, and - * still need have the content type requested (via file extension, parameter, or {@code Accept} header, described above). - * You can also set the {@linkplain #setDefaultContentType(MediaType) default content type} directly, which will be - * returned when the other mechanisms ({@code Accept} header, file extension or parameter) do not result in a match. + *

Additionally, this view resolver exposes the {@link #setDefaultViews(List) defaultViews} property, + * allowing you to override the views provided by the view resolvers. Note that these default views are + * offered as candidates, and still need have the content type requested (via file extension, parameter, + * or {@code Accept} header, described above). * - *

For example, if the request path is {@code /view.html}, this view resolver will look for a view that has the - * {@code text/html} content type (based on the {@code html} file extension). A request for {@code /view} with a {@code - * text/html} request {@code Accept} header has the same result. + *

For example, if the request path is {@code /view.html}, this view resolver will look for a view + * that has the {@code text/html} content type (based on the {@code html} file extension). A request + * for {@code /view} with a {@code text/html} request {@code Accept} header has the same result. * * @author Arjen Poutsma * @author Juergen Hoeller diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractExcelView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractExcelView.java index e6711fdec7d..c3ff4f5d8cb 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractExcelView.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractExcelView.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2015 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. @@ -51,7 +51,7 @@ import org.springframework.web.servlet.view.AbstractView; * * *

For working with the workbook in the subclass, see - * Jakarta's POI site + * Apache's POI site * *

As an example, you can try this snippet: *