From f7b465390cf99a14bdbfe3c4dbfb17938f3332e2 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 4 Jun 2014 21:34:23 +0200 Subject: [PATCH] Moved @Uses annotations to org.springframework.lang; fixed Base64Utils to declare Java 8, and fixed PathResource's declaration to refer to Java 7. Issue: SPR-11604 --- build.gradle | 6 ++-- .../beans/propertyeditors/ZoneIdEditor.java | 2 +- .../datetime/standard/DateTimeContext.java | 2 +- .../standard/DateTimeContextHolder.java | 2 +- .../datetime/standard/DateTimeConverters.java | 2 +- .../standard/DateTimeFormatterFactory.java | 2 +- .../standard/DateTimeFormatterRegistrar.java | 2 +- .../datetime/standard/InstantFormatter.java | 2 +- .../standard/TemporalAccessorParser.java | 2 +- .../standard/TemporalAccessorPrinter.java | 2 +- .../support/SimpleHttpServerFactoryBean.java | 2 +- .../concurrent/ForkJoinPoolFactoryBean.java | 2 +- ...dardReflectionParameterNameDiscoverer.java | 2 ++ .../support/ZoneIdToTimeZoneConverter.java | 2 +- .../ZonedDateTimeToCalendarConverter.java | 2 +- .../springframework/core/io/PathResource.java | 31 +++++++++---------- .../{core => lang}/UsesJava7.java | 2 +- .../{core => lang}/UsesJava8.java | 2 +- .../{core => lang}/UsesSunHttpServer.java | 2 +- .../springframework/lang/package-info.java | 9 ++++++ .../org/springframework/util/Base64Utils.java | 3 ++ .../core/SqlRowSetResultSetExtractor.java | 2 +- .../jdbc/support/JdbcUtils.java | 4 +-- .../caucho/SimpleBurlapServiceExporter.java | 2 +- .../caucho/SimpleHessianServiceExporter.java | 2 +- .../SimpleHttpInvokerServiceExporter.java | 2 +- .../jaxws/AbstractJaxWsServiceExporter.java | 4 +-- .../jaxws/LocalJaxWsServiceFactory.java | 4 +-- .../SimpleHttpServerJaxWsServiceExporter.java | 3 +- .../ServletRequestMethodArgumentResolver.java | 2 +- .../standard/StandardWebSocketClient.java | 4 +-- 31 files changed, 63 insertions(+), 49 deletions(-) rename spring-core/src/main/java/org/springframework/{core => lang}/UsesJava7.java (97%) rename spring-core/src/main/java/org/springframework/{core => lang}/UsesJava8.java (97%) rename spring-core/src/main/java/org/springframework/{core => lang}/UsesSunHttpServer.java (97%) create mode 100644 spring-core/src/main/java/org/springframework/lang/package-info.java diff --git a/build.gradle b/build.gradle index 31a94caa60..1af7e61e76 100644 --- a/build.gradle +++ b/build.gradle @@ -135,9 +135,9 @@ configure(allprojects) { project -> signature: "$buildDir/javaApiSignature/javaApi.signature", classpath: sourceSets.main.compileClasspath.asPath) { path(path: sourceSets.main.output.classesDir) - annotation(className: "org.springframework.core.UsesJava7") - annotation(className: "org.springframework.core.UsesJava8") - annotation(className: "org.springframework.core.UsesSunHttpServer") + annotation(className: "org.springframework.lang.UsesJava7") + annotation(className: "org.springframework.lang.UsesJava8") + annotation(className: "org.springframework.lang.UsesSunHttpServer") } } } diff --git a/spring-beans/src/main/java/org/springframework/beans/propertyeditors/ZoneIdEditor.java b/spring-beans/src/main/java/org/springframework/beans/propertyeditors/ZoneIdEditor.java index e5b5ba2e4f..71b3bf7c40 100644 --- a/spring-beans/src/main/java/org/springframework/beans/propertyeditors/ZoneIdEditor.java +++ b/spring-beans/src/main/java/org/springframework/beans/propertyeditors/ZoneIdEditor.java @@ -19,7 +19,7 @@ package org.springframework.beans.propertyeditors; import java.beans.PropertyEditorSupport; import java.time.ZoneId; -import org.springframework.core.UsesJava8; +import org.springframework.lang.UsesJava8; /** * Editor for {@code java.time.ZoneId}, translating zone ID Strings into {@code ZoneId} diff --git a/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeContext.java b/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeContext.java index 257b213e74..a65754ab21 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeContext.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeContext.java @@ -24,7 +24,7 @@ import java.util.TimeZone; import org.springframework.context.i18n.LocaleContext; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.context.i18n.TimeZoneAwareLocaleContext; -import org.springframework.core.UsesJava8; +import org.springframework.lang.UsesJava8; /** * A context that holds user-specific java.time (JSR-310) settings diff --git a/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeContextHolder.java b/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeContextHolder.java index c9fef98bc2..e34149e389 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeContextHolder.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeContextHolder.java @@ -19,8 +19,8 @@ package org.springframework.format.datetime.standard; import java.time.format.DateTimeFormatter; import java.util.Locale; -import org.springframework.core.UsesJava8; import org.springframework.core.NamedThreadLocal; +import org.springframework.lang.UsesJava8; /** * A holder for a thread-local user {@link DateTimeContext}. diff --git a/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeConverters.java b/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeConverters.java index f4cb2bd6c8..0c48e74f5f 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeConverters.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeConverters.java @@ -26,10 +26,10 @@ import java.time.chrono.ChronoZonedDateTime; import java.util.Calendar; import java.util.GregorianCalendar; -import org.springframework.core.UsesJava8; import org.springframework.core.convert.converter.Converter; import org.springframework.core.convert.converter.ConverterRegistry; import org.springframework.format.datetime.DateFormatterRegistrar; +import org.springframework.lang.UsesJava8; /** * Installs lower-level type converters required to integrate diff --git a/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeFormatterFactory.java b/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeFormatterFactory.java index 71e9655e01..ca895d855e 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeFormatterFactory.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeFormatterFactory.java @@ -20,8 +20,8 @@ import java.time.format.DateTimeFormatter; import java.time.format.FormatStyle; import java.util.TimeZone; -import org.springframework.core.UsesJava8; import org.springframework.format.annotation.DateTimeFormat.ISO; +import org.springframework.lang.UsesJava8; import org.springframework.util.Assert; import org.springframework.util.StringUtils; diff --git a/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeFormatterRegistrar.java b/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeFormatterRegistrar.java index 1ce7e750e1..6cda2edd2a 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeFormatterRegistrar.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/standard/DateTimeFormatterRegistrar.java @@ -28,10 +28,10 @@ import java.time.format.FormatStyle; import java.util.HashMap; import java.util.Map; -import org.springframework.core.UsesJava8; import org.springframework.format.FormatterRegistrar; import org.springframework.format.FormatterRegistry; import org.springframework.format.annotation.DateTimeFormat.ISO; +import org.springframework.lang.UsesJava8; /** * Configures the JSR-310 java.time formatting system for use with Spring. diff --git a/spring-context/src/main/java/org/springframework/format/datetime/standard/InstantFormatter.java b/spring-context/src/main/java/org/springframework/format/datetime/standard/InstantFormatter.java index 1022c4d4d7..ee8d039a4e 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/standard/InstantFormatter.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/standard/InstantFormatter.java @@ -20,8 +20,8 @@ import java.text.ParseException; import java.time.Instant; import java.util.Locale; -import org.springframework.core.UsesJava8; import org.springframework.format.Formatter; +import org.springframework.lang.UsesJava8; /** * {@link Formatter} implementation for a JSR-310 {@link java.time.Instant}, diff --git a/spring-context/src/main/java/org/springframework/format/datetime/standard/TemporalAccessorParser.java b/spring-context/src/main/java/org/springframework/format/datetime/standard/TemporalAccessorParser.java index 9371879853..dc17e3064c 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/standard/TemporalAccessorParser.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/standard/TemporalAccessorParser.java @@ -27,8 +27,8 @@ import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAccessor; import java.util.Locale; -import org.springframework.core.UsesJava8; import org.springframework.format.Parser; +import org.springframework.lang.UsesJava8; /** * {@link Parser} implementation for a JSR-310 {@link java.time.temporal.TemporalAccessor}, diff --git a/spring-context/src/main/java/org/springframework/format/datetime/standard/TemporalAccessorPrinter.java b/spring-context/src/main/java/org/springframework/format/datetime/standard/TemporalAccessorPrinter.java index 336a3dfc20..f3c3c0c833 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/standard/TemporalAccessorPrinter.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/standard/TemporalAccessorPrinter.java @@ -20,8 +20,8 @@ import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAccessor; import java.util.Locale; -import org.springframework.core.UsesJava8; import org.springframework.format.Printer; +import org.springframework.lang.UsesJava8; /** * {@link Printer} implementation for a JSR-310 {@link java.time.temporal.TemporalAccessor}, diff --git a/spring-context/src/main/java/org/springframework/remoting/support/SimpleHttpServerFactoryBean.java b/spring-context/src/main/java/org/springframework/remoting/support/SimpleHttpServerFactoryBean.java index f8fdb6dbc2..ad5ce7bc77 100644 --- a/spring-context/src/main/java/org/springframework/remoting/support/SimpleHttpServerFactoryBean.java +++ b/spring-context/src/main/java/org/springframework/remoting/support/SimpleHttpServerFactoryBean.java @@ -33,7 +33,7 @@ import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.InitializingBean; -import org.springframework.core.UsesSunHttpServer; +import org.springframework.lang.UsesSunHttpServer; /** * {@link org.springframework.beans.factory.FactoryBean} that creates a simple diff --git a/spring-context/src/main/java/org/springframework/scheduling/concurrent/ForkJoinPoolFactoryBean.java b/spring-context/src/main/java/org/springframework/scheduling/concurrent/ForkJoinPoolFactoryBean.java index 9960fdc931..9189b676b9 100644 --- a/spring-context/src/main/java/org/springframework/scheduling/concurrent/ForkJoinPoolFactoryBean.java +++ b/spring-context/src/main/java/org/springframework/scheduling/concurrent/ForkJoinPoolFactoryBean.java @@ -22,7 +22,7 @@ import java.util.concurrent.TimeUnit; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.InitializingBean; -import org.springframework.core.UsesJava7; +import org.springframework.lang.UsesJava7; /** * A Spring {@link FactoryBean} that builds and exposes a preconfigured {@link ForkJoinPool}. diff --git a/spring-core/src/main/java/org/springframework/core/StandardReflectionParameterNameDiscoverer.java b/spring-core/src/main/java/org/springframework/core/StandardReflectionParameterNameDiscoverer.java index 420e0d0208..6ce5f08166 100644 --- a/spring-core/src/main/java/org/springframework/core/StandardReflectionParameterNameDiscoverer.java +++ b/spring-core/src/main/java/org/springframework/core/StandardReflectionParameterNameDiscoverer.java @@ -20,6 +20,8 @@ import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.lang.reflect.Parameter; +import org.springframework.lang.UsesJava8; + /** * {@link ParameterNameDiscoverer} implementation which uses JDK 8's reflection facilities * for introspecting parameter names (based on the "-parameters" compiler flag). diff --git a/spring-core/src/main/java/org/springframework/core/convert/support/ZoneIdToTimeZoneConverter.java b/spring-core/src/main/java/org/springframework/core/convert/support/ZoneIdToTimeZoneConverter.java index afedc6648f..e91a738c64 100644 --- a/spring-core/src/main/java/org/springframework/core/convert/support/ZoneIdToTimeZoneConverter.java +++ b/spring-core/src/main/java/org/springframework/core/convert/support/ZoneIdToTimeZoneConverter.java @@ -19,8 +19,8 @@ package org.springframework.core.convert.support; import java.time.ZoneId; import java.util.TimeZone; -import org.springframework.core.UsesJava8; import org.springframework.core.convert.converter.Converter; +import org.springframework.lang.UsesJava8; /** * Simple converter from Java 8's {@link java.time.ZoneId} to {@link java.util.TimeZone}. diff --git a/spring-core/src/main/java/org/springframework/core/convert/support/ZonedDateTimeToCalendarConverter.java b/spring-core/src/main/java/org/springframework/core/convert/support/ZonedDateTimeToCalendarConverter.java index d2bfb8a0d3..7fd16ee0b2 100644 --- a/spring-core/src/main/java/org/springframework/core/convert/support/ZonedDateTimeToCalendarConverter.java +++ b/spring-core/src/main/java/org/springframework/core/convert/support/ZonedDateTimeToCalendarConverter.java @@ -20,8 +20,8 @@ import java.time.ZonedDateTime; import java.util.Calendar; import java.util.GregorianCalendar; -import org.springframework.core.UsesJava8; import org.springframework.core.convert.converter.Converter; +import org.springframework.lang.UsesJava8; /** * Simple converter from Java 8's {@link java.time.ZonedDateTime} to {@link java.util.Calendar}. diff --git a/spring-core/src/main/java/org/springframework/core/io/PathResource.java b/spring-core/src/main/java/org/springframework/core/io/PathResource.java index df48b89508..52fd8d7441 100644 --- a/spring-core/src/main/java/org/springframework/core/io/PathResource.java +++ b/spring-core/src/main/java/org/springframework/core/io/PathResource.java @@ -28,7 +28,7 @@ import java.nio.file.OpenOption; import java.nio.file.Path; import java.nio.file.Paths; -import org.springframework.core.UsesJava8; +import org.springframework.lang.UsesJava7; import org.springframework.util.Assert; /** @@ -40,7 +40,7 @@ import org.springframework.util.Assert; * @since 4.0 * @see java.nio.file.Path */ -@UsesJava8 +@UsesJava7 public class PathResource extends AbstractResource implements WritableResource { private final Path path; @@ -49,8 +49,8 @@ public class PathResource extends AbstractResource implements WritableResource { /** * Create a new PathResource from a Path handle. *

Note: Unlike {@link FileSystemResource}, when building relative resources - * via {@link #createRelative}, the relative path will be built underneath the - * given root: + * via {@link #createRelative}, the relative path will be built underneath + * the given root: * e.g. Paths.get("C:/dir1/"), relative path "dir2" -> "C:/dir1/dir2"! * @param path a Path handle */ @@ -62,8 +62,8 @@ public class PathResource extends AbstractResource implements WritableResource { /** * Create a new PathResource from a Path handle. *

Note: Unlike {@link FileSystemResource}, when building relative resources - * via {@link #createRelative}, the relative path will be built underneath the - * given root: + * via {@link #createRelative}, the relative path will be built underneath + * the given root: * e.g. Paths.get("C:/dir1/"), relative path "dir2" -> "C:/dir1/dir2"! * @param path a path * @see java.nio.file.Paths#get(String, String...) @@ -76,8 +76,8 @@ public class PathResource extends AbstractResource implements WritableResource { /** * Create a new PathResource from a Path handle. *

Note: Unlike {@link FileSystemResource}, when building relative resources - * via {@link #createRelative}, the relative path will be built underneath the - * given root: + * via {@link #createRelative}, the relative path will be built underneath + * the given root: * e.g. Paths.get("C:/dir1/"), relative path "dir2" -> "C:/dir1/dir2"! * @see java.nio.file.Paths#get(URI) * @param uri a path URI @@ -121,11 +121,11 @@ public class PathResource extends AbstractResource implements WritableResource { */ @Override public InputStream getInputStream() throws IOException { - if(!exists()) { - throw new FileNotFoundException(getPath() + " (No such file or directory)"); + if (!exists()) { + throw new FileNotFoundException(getPath() + " (no such file or directory)"); } - if(Files.isDirectory(this.path)) { - throw new FileNotFoundException(getPath() + " (Is a directory)"); + if (Files.isDirectory(this.path)) { + throw new FileNotFoundException(getPath() + " (is a directory)"); } return Files.newInputStream(this.path); } @@ -160,8 +160,7 @@ public class PathResource extends AbstractResource implements WritableResource { catch (UnsupportedOperationException ex) { // only Paths on the default file system can be converted to a File // do exception translation for cases where conversion is not possible - throw new FileNotFoundException(this.path + " cannot be resolved to " - + "absolute file path"); + throw new FileNotFoundException(this.path + " cannot be resolved to " + "absolute file path"); } } @@ -228,7 +227,7 @@ public class PathResource extends AbstractResource implements WritableResource { @Override public OutputStream getOutputStream() throws IOException { if(Files.isDirectory(this.path)) { - throw new FileNotFoundException(getPath() + " (Is a directory)"); + throw new FileNotFoundException(getPath() + " (is a directory)"); } return Files.newOutputStream(this.path); } @@ -239,7 +238,7 @@ public class PathResource extends AbstractResource implements WritableResource { */ @Override public boolean equals(Object obj) { - return (obj == this || + return (this == obj || (obj instanceof PathResource && this.path.equals(((PathResource) obj).path))); } diff --git a/spring-core/src/main/java/org/springframework/core/UsesJava7.java b/spring-core/src/main/java/org/springframework/lang/UsesJava7.java similarity index 97% rename from spring-core/src/main/java/org/springframework/core/UsesJava7.java rename to spring-core/src/main/java/org/springframework/lang/UsesJava7.java index a57929f3bf..d88b27bdf2 100644 --- a/spring-core/src/main/java/org/springframework/core/UsesJava7.java +++ b/spring-core/src/main/java/org/springframework/lang/UsesJava7.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.core; +package org.springframework.lang; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; diff --git a/spring-core/src/main/java/org/springframework/core/UsesJava8.java b/spring-core/src/main/java/org/springframework/lang/UsesJava8.java similarity index 97% rename from spring-core/src/main/java/org/springframework/core/UsesJava8.java rename to spring-core/src/main/java/org/springframework/lang/UsesJava8.java index 21fed13b56..af6a84bdea 100644 --- a/spring-core/src/main/java/org/springframework/core/UsesJava8.java +++ b/spring-core/src/main/java/org/springframework/lang/UsesJava8.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.core; +package org.springframework.lang; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; diff --git a/spring-core/src/main/java/org/springframework/core/UsesSunHttpServer.java b/spring-core/src/main/java/org/springframework/lang/UsesSunHttpServer.java similarity index 97% rename from spring-core/src/main/java/org/springframework/core/UsesSunHttpServer.java rename to spring-core/src/main/java/org/springframework/lang/UsesSunHttpServer.java index 55e407987d..06daac43ab 100644 --- a/spring-core/src/main/java/org/springframework/core/UsesSunHttpServer.java +++ b/spring-core/src/main/java/org/springframework/lang/UsesSunHttpServer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.core; +package org.springframework.lang; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; diff --git a/spring-core/src/main/java/org/springframework/lang/package-info.java b/spring-core/src/main/java/org/springframework/lang/package-info.java new file mode 100644 index 0000000000..6a97fbccd2 --- /dev/null +++ b/spring-core/src/main/java/org/springframework/lang/package-info.java @@ -0,0 +1,9 @@ + +/** + * + * Annotations indicating the use of core Java/JDK API beyond the API level of JDK 6 update 18. + * Used descriptively within the framework codebase; validated by Animal Sniffer at build time. + * + */ +package org.springframework.lang; + diff --git a/spring-core/src/main/java/org/springframework/util/Base64Utils.java b/spring-core/src/main/java/org/springframework/util/Base64Utils.java index 80addd55fe..aabd743904 100644 --- a/spring-core/src/main/java/org/springframework/util/Base64Utils.java +++ b/spring-core/src/main/java/org/springframework/util/Base64Utils.java @@ -19,6 +19,8 @@ package org.springframework.util; import java.nio.charset.Charset; import java.util.Base64; +import org.springframework.lang.UsesJava8; + /** * A simple utility class for Base64 encoding and decoding. * @@ -131,6 +133,7 @@ public abstract class Base64Utils { } + @UsesJava8 private static class JdkBase64Delegate implements Base64Delegate { public byte[] encode(byte[] src) { diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/SqlRowSetResultSetExtractor.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/SqlRowSetResultSetExtractor.java index e254ff37eb..f0347bb577 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/SqlRowSetResultSetExtractor.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/SqlRowSetResultSetExtractor.java @@ -22,10 +22,10 @@ import javax.sql.rowset.CachedRowSet; import javax.sql.rowset.RowSetFactory; import javax.sql.rowset.RowSetProvider; -import org.springframework.core.UsesJava7; import org.springframework.core.JdkVersion; import org.springframework.jdbc.support.rowset.ResultSetWrappingSqlRowSet; import org.springframework.jdbc.support.rowset.SqlRowSet; +import org.springframework.lang.UsesJava7; import org.springframework.util.ClassUtils; /** diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/JdbcUtils.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/JdbcUtils.java index 89a2ec6956..0b50a3a660 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/JdbcUtils.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/JdbcUtils.java @@ -34,9 +34,9 @@ import javax.sql.DataSource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.core.UsesJava7; import org.springframework.jdbc.CannotGetJdbcConnectionException; import org.springframework.jdbc.datasource.DataSourceUtils; +import org.springframework.lang.UsesJava7; import org.springframework.util.ClassUtils; /** @@ -135,7 +135,7 @@ public abstract class JdbcUtils { * @return the value object * @throws SQLException if thrown by the JDBC API */ - @UsesJava7 // guard use of JDBC 4.1 (safe with 1.6) + @UsesJava7 // guard optional use of JDBC 4.1 (safe with 1.6 due to getObjectWithTypeAvailable check) public static Object getResultSetValue(ResultSet rs, int index, Class requiredType) throws SQLException { if (requiredType == null) { return getResultSetValue(rs, index); diff --git a/spring-web/src/main/java/org/springframework/remoting/caucho/SimpleBurlapServiceExporter.java b/spring-web/src/main/java/org/springframework/remoting/caucho/SimpleBurlapServiceExporter.java index cc35d4950e..6854a18074 100644 --- a/spring-web/src/main/java/org/springframework/remoting/caucho/SimpleBurlapServiceExporter.java +++ b/spring-web/src/main/java/org/springframework/remoting/caucho/SimpleBurlapServiceExporter.java @@ -22,7 +22,7 @@ import java.io.IOException; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; -import org.springframework.core.UsesSunHttpServer; +import org.springframework.lang.UsesSunHttpServer; import org.springframework.util.FileCopyUtils; /** diff --git a/spring-web/src/main/java/org/springframework/remoting/caucho/SimpleHessianServiceExporter.java b/spring-web/src/main/java/org/springframework/remoting/caucho/SimpleHessianServiceExporter.java index 5e218ae5c5..8324e1329d 100644 --- a/spring-web/src/main/java/org/springframework/remoting/caucho/SimpleHessianServiceExporter.java +++ b/spring-web/src/main/java/org/springframework/remoting/caucho/SimpleHessianServiceExporter.java @@ -22,7 +22,7 @@ import java.io.IOException; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; -import org.springframework.core.UsesSunHttpServer; +import org.springframework.lang.UsesSunHttpServer; import org.springframework.util.FileCopyUtils; /** diff --git a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/SimpleHttpInvokerServiceExporter.java b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/SimpleHttpInvokerServiceExporter.java index e8b78fb57c..6f3b016da9 100644 --- a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/SimpleHttpInvokerServiceExporter.java +++ b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/SimpleHttpInvokerServiceExporter.java @@ -25,7 +25,7 @@ import java.io.OutputStream; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; -import org.springframework.core.UsesSunHttpServer; +import org.springframework.lang.UsesSunHttpServer; import org.springframework.remoting.rmi.RemoteInvocationSerializingExporter; import org.springframework.remoting.support.RemoteInvocation; import org.springframework.remoting.support.RemoteInvocationResult; diff --git a/spring-web/src/main/java/org/springframework/remoting/jaxws/AbstractJaxWsServiceExporter.java b/spring-web/src/main/java/org/springframework/remoting/jaxws/AbstractJaxWsServiceExporter.java index 4971d9aa25..00914135af 100644 --- a/spring-web/src/main/java/org/springframework/remoting/jaxws/AbstractJaxWsServiceExporter.java +++ b/spring-web/src/main/java/org/springframework/remoting/jaxws/AbstractJaxWsServiceExporter.java @@ -34,7 +34,7 @@ import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.beans.factory.config.ConfigurableBeanFactory; -import org.springframework.core.UsesJava7; +import org.springframework.lang.UsesJava7; import org.springframework.util.Assert; import org.springframework.util.ClassUtils; @@ -190,7 +190,7 @@ public abstract class AbstractJaxWsServiceExporter implements BeanFactoryAware, * @see Endpoint#create(Object) * @see Endpoint#create(String, Object) */ - @UsesJava7 // Endpoint#create with WebServiceFeature[] + @UsesJava7 // optional use of Endpoint#create with WebServiceFeature[] protected Endpoint createEndpoint(Object bean) { if (this.endpointFeatures != null || this.webServiceFeatures != null) { WebServiceFeature[] endpointFeaturesToUse = this.endpointFeatures; diff --git a/spring-web/src/main/java/org/springframework/remoting/jaxws/LocalJaxWsServiceFactory.java b/spring-web/src/main/java/org/springframework/remoting/jaxws/LocalJaxWsServiceFactory.java index 2b3def780a..fd423cf30c 100644 --- a/spring-web/src/main/java/org/springframework/remoting/jaxws/LocalJaxWsServiceFactory.java +++ b/spring-web/src/main/java/org/springframework/remoting/jaxws/LocalJaxWsServiceFactory.java @@ -24,8 +24,8 @@ import javax.xml.ws.Service; import javax.xml.ws.WebServiceFeature; import javax.xml.ws.handler.HandlerResolver; -import org.springframework.core.UsesJava7; import org.springframework.core.io.Resource; +import org.springframework.lang.UsesJava7; import org.springframework.util.Assert; /** @@ -147,7 +147,7 @@ public class LocalJaxWsServiceFactory { * @see #setServiceName * @see #setWsdlDocumentUrl */ - @UsesJava7 // Service#create with WebServiceFeature[] + @UsesJava7 // optional use of Service#create with WebServiceFeature[] public Service createJaxWsService() { Assert.notNull(this.serviceName, "No service name specified"); Service service; diff --git a/spring-web/src/main/java/org/springframework/remoting/jaxws/SimpleHttpServerJaxWsServiceExporter.java b/spring-web/src/main/java/org/springframework/remoting/jaxws/SimpleHttpServerJaxWsServiceExporter.java index 4b65c01496..5b5414158f 100644 --- a/spring-web/src/main/java/org/springframework/remoting/jaxws/SimpleHttpServerJaxWsServiceExporter.java +++ b/spring-web/src/main/java/org/springframework/remoting/jaxws/SimpleHttpServerJaxWsServiceExporter.java @@ -28,7 +28,8 @@ import com.sun.net.httpserver.HttpContext; import com.sun.net.httpserver.HttpServer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.core.UsesSunHttpServer; + +import org.springframework.lang.UsesSunHttpServer; /** * Simple exporter for JAX-WS services, autodetecting annotated service beans diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ServletRequestMethodArgumentResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ServletRequestMethodArgumentResolver.java index c7e084d8f4..15a2489a66 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ServletRequestMethodArgumentResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ServletRequestMethodArgumentResolver.java @@ -27,9 +27,9 @@ import javax.servlet.ServletRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; -import org.springframework.core.UsesJava8; import org.springframework.core.MethodParameter; import org.springframework.http.HttpMethod; +import org.springframework.lang.UsesJava8; import org.springframework.web.bind.support.WebDataBinderFactory; import org.springframework.web.context.request.NativeWebRequest; import org.springframework.web.context.request.ServletWebRequest; diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/client/standard/StandardWebSocketClient.java b/spring-websocket/src/main/java/org/springframework/web/socket/client/standard/StandardWebSocketClient.java index 86e8b6f2b2..001a790542 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/client/standard/StandardWebSocketClient.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/client/standard/StandardWebSocketClient.java @@ -33,10 +33,10 @@ import javax.websocket.Extension; import javax.websocket.HandshakeResponse; import javax.websocket.WebSocketContainer; -import org.springframework.core.UsesJava7; import org.springframework.core.task.AsyncListenableTaskExecutor; import org.springframework.core.task.TaskExecutor; import org.springframework.http.HttpHeaders; +import org.springframework.lang.UsesJava7; import org.springframework.util.Assert; import org.springframework.util.concurrent.ListenableFuture; import org.springframework.util.concurrent.ListenableFutureTask; @@ -146,7 +146,7 @@ public class StandardWebSocketClient extends AbstractWebSocketClient { return result; } - @UsesJava7 + @UsesJava7 // fallback to InetAddress.getLoopbackAddress() private InetAddress getLocalHost() { try { return InetAddress.getLocalHost();