Author: stain Date: Wed Sep 21 16:41:39 2016 New Revision: 15476 Log: BEANUTILS_1_9_3_RC3
Based on https://svn.apache.org/repos/asf/commons/proper/beanutils/trunk@1761783 Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/RELEASE-NOTES.txt dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz (with props) dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz.asc dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz.md5 dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz.sha1 dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip (with props) dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip.asc dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip.md5 dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip.sha1 dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz (with props) dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz.asc dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz.md5 dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz.sha1 dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip (with props) dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip.asc dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip.md5 dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip.sha1 Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/RELEASE-NOTES.txt ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/RELEASE-NOTES.txt (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/RELEASE-NOTES.txt Wed Sep 21 16:41:39 2016 @@ -0,0 +1,287 @@ + Apache Commons BeanUtils 1.9.3 + RELEASE NOTES + +The Apache Commons team is pleased to announce the release of Apache +Commons BeanUtils 1.9.3 + +Apache Commons BeanUtils provides an easy-to-use but flexible wrapper around +reflection and introspection. + +This is a bug fix release, which also improves the tests for building on Java +8. + +Note that Java 8 and later no longer support indexed bean properties on +java.util.List, only on arrays like String[]. (BEANUTILS-492). This affects +PropertyUtils.getPropertyType() and PropertyUtils.getPropertyDescriptor(); +their javadoc have therefore been updated to reflect this change in the JDK. + + +Changes in this version include: + +Fixed Bugs: + +* BEANUTILS-477: Changed log level in FluentPropertyBeanIntrospector +* BEANUTILS-492: Fixed exception when setting indexed properties on DynaBeans. + Thanks to Bernhard Seebass. +* BEANUTILS-470: Precision lost when converting BigDecimal Thanks to Tommy + Tynjä. +* BEANUTILS-465: Indexed List Setters fixed. Thanks to Daniel Atallah. + +Changes: +* BEANUTILS-433: Update dependency from JUnit 3.8.1 to 4.12. + Thanks to Benedikt Ritter, Gary Gregory. +* BEANUTILS-469: Update commons-logging from 1.1.1 to 1.2. + Thanks to Gary Gregory. +* BEANUTILS-474: FluentPropertyBeanIntrospector does not use the same naming + algorithm as DefaultBeanIntrospector. Thanks to Michael Grove. +* BEANUTILS-490: Update Java requirement from Java 5 to 6. + Thanks to Gary Gregory. +* BEANUTILS-482: Update commons-collections from 3.2.1 to 3.2.2 + (CVE-2015-4852). Thanks to Gary Gregory. +* BEANUTILS-490: Update java requirement to Java 6. Thanks to Gary Gregory. +* BEANUTILS-492: IndexedPropertyDescriptor tests now pass on Java 8. + Thanks to Stian Soiland-Reyes. +* BEANUTILS-495: DateConverterTestBase fails on M/d/yy in Java 9. + Thanks to Stian Soiland-Reyes. +* BEANUTILS-496: testGetDescriptorInvalidBoolean fails on Java 9. + Thanks to Stian Soiland-Reyes. + + +Historical list of changes: http://commons.apache.org/proper/commons-beanutils/changes-report.html + +For complete information on Apache Commons BeanUtils, including instructions on +how to submit bug reports, patches, or suggestions for improvement, see the +Apache Apache Commons BeanUtils website: + +https://commons.apache.org/proper/commons-beanutils/ + +----------------------------------------------------------------------------- + + Commons BeanUtils Package + Version 1.9.2 + Release Notes + +INTRODUCTION: +============ + +This document contains the release notes for this version of the Commons +BeanUtils package, and highlights changes since the previous version. + +For more information on Commons BeanUtils, see +o http://commons.apache.org/beanutils/ + +Release 1.9.2 mainly addresses a potential security issue when accessing +properties in an uncontrolled way. In a nutshell, if an application that uses +Commons BeanUtils passes property paths from an external source directly to +the getProperty() method of BeanUtilsBean, an attacker can access the class +loader via the class property available on all Java objects. + +In version 1.9.2 now a special BeanIntrospector class was added which allows +suppressing this property. Note that this BeanIntrospector is NOT enabled by +default! Commons BeanUtils is a low-level library, and on this layer it cannot +be decided whether access to a certain property is legal or not. Therefore, +an application has to activate this suppressing BeanIntrospector explicitly. +This can be done with the following lines of code: + +BeanUtilsBean bub = new BeanUtilsBean(); +bub.getPropertyUtils().addBeanIntrospector( + SuppressPropertiesBeanIntrospector.SUPPRESS_CLASS); + +Now all access to properties has to be done via the specially configured +BeanUtilsBean instance. More information about this issue can be found at +https://issues.apache.org/jira/browse/BEANUTILS-463 or in section 2.5 of the +user's guide. + +BUGFIXES in version 1.9.2 +========================= +* [BEANUTILS-458] + BaseLocaleConverter.checkConversionResult() no longer throws a + ConversionException if the result of a conversion is null. + +New features in version 1.9.2 +============================= +* [BEANUTILS-463] + Added new SuppressPropertiesBeanIntrospector class to deal with a potential + class loader vulnerability. + +----------------------------------------------------------------------------- + + Release Notes for version 1.9.1 + +Release 1.9.1 is a bug fix release which addresses a problem with the new +feature of custom introspection introduced with release 1.9.0. It is fully +binary compatible with the previous release. The minimum required Java version +is 1.5. + +BUGFIXES in version 1.9.1 +========================= +* [BEANUTILS-456] + For PropertyDescriptors obtained via custom introspection now additional + information is stored to prevent that write methods are lost during + garbage collection. + +----------------------------------------------------------------------------- + + Release Notes for version 1.9.0 + +Release 1.9.0 contains some bug fixes and improvements that have accumulated +after the 1.8.3 release. The most obvious change is that the new version now +requires JDK 1.5 or higher, and that language features introduced with Java 5 +(mainly generics) are used. A new feature has been introduced, too: the support +for customizing bean introspection. + +Compatibility with 1.8.3 +======================== +Adding generics to the BeanUtils API has been done in a backwards compatible +way. This means that after type erasure the resulting classes look the same as +in the previous version. A drawback of this approach is that sometimes it is +not possible to use the logically correct type parameters because then +backwards compatibility would be broken. One example is the BeanMap class: The +class is now a Map<Object, Object> while its keys actually are strings. +However, implementing Map<String, Object> would change the signatures of some +methods in an incompatible way. More details about limitations of the +generification can be found at +https://issues.apache.org/jira/browse/BEANUTILS-452 + +One exception from the compatibility rule is the ResultSetIterator class which +now implements the Iterator<DynaBean> interface. This causes a change in the +return value of its next() method. ResultSetIterator is used internally as the +iterator implementation within ResultSetDynaClass (it is probably a mistake that +it is public). So chances are minimal that this change affects existing code. + +Another change which may affect compatibility is [BEANUTILS-379] (details can +be found at https://issues.apache.org/jira/browse/BEANUTILS-379). Older +versions of BeanUtils contained some classes that were copied from Commons +Collections. These classes have now been removed, and a dependency to Commons +Collections has been added; the collections jar now has to be contained in the +classpath, too. + +Except for the change on ResultSetIterator and the additional dependency to +Commons Collections, Commons BeanUtils 1.9.0 is fully binary compatible with +the previous version 1.8.3. + +Changes on Converters +===================== +The convert() method in the Converter interface now uses a type parameter in +the following way: + + <T> T convert(Class<T> type, Object value); + +This makes it possible to access the converter's result in a type-safe way. +Applying generics in this way revealed some inconsistencies in the Converter +implementations. There were situations in which converters could return a +result object of a different type as was requested. This was not a problem +before because the result type was just Object. Now the compiler complains if +a converter's result is not compatible with the desired target type. + +Because of that Converter implementations have been made more strict. A +converter now checks the passed in target type, and if it cannot handle it, +throws a ConversionException. This prevents unexpected results and makes +converters more reliable (it could be considered a bug that a converter returns +a result object of a different data type as the passed in target type). In a +typical scenario, when converters are accessed via ConvertUtils, this change +should not cause any problems because the converters are only called for the +data types they have been registered for. But if converters are used directly, +they might now throw ConversionExceptions when they did not in a previous +version. + +BUGFIXES in version 1.9.0 +========================= +* [BEANUTILS-454] + BeanUtilsBean.copyProperties() no longer throws a ConversionException for + null properties of certain data types. This fixes a regression introduced in + version 1.8.0. The issue is related to [BEANUTILS-387]. +* [BEANUTILS-411] + BeanUtilsBean.setProperty throws IllegalArgumentException if getter of nested + property returns null. +* [BEANUTILS-408] + MethodUtils.invokeMethod() throws NullPointerException when args==null. +* [BEANUTILS-426] + ConstructorUtils.invokeConstructor(Class klass, Object arg) throws + NullPointerException when arg==null. +* [BEANUTILS-380] + BeanMap methods should initialize the root cause of exceptions that are + thrown when running on JDK 1.4+. +* [BEANUTILS-379] + Remove copied Collection classes. +* [BEANUTILS-378] + BeanMap does not work in osgi (fixed by BEANUTILS-378). +* [BEANUTILS-381] + MethodUtils getMatchingAccessibleMethod() does not correctly handle + inheritance and method overloading. + +New features in version 1.9.0 +============================= +* [BEANUTILS-425] + Support customization of introspection mechanism. +* [BEANUTILS-428] + Provide a BeanIntrospector implementation which supports properties in a + fluent API. +* [BEANUTILS-455] + WrapDynaBeans can now be configured to use a specific instance of + PropertyUtilsBean for introspection or property access. + +Other changes in version 1.9.0 +============================== +* [BEANUTILS-452] + Add generics. +* [BEANUTILS-449] + LocaleConverters do not take the target type into account. +* [BEANUTILS-448] + LocaleConverters do not check their default value. +* [BEANUTILS-447] + LazyDynaList.toArray() is not conform to the contract defined by the + Collection interface. +* [BEANUTILS-446] + Some of the converters ignore the passed in target type. +* [BEANUTILS-445] + Converters can return an invalid result object if a default value is set. +* [BEANUTILS-441] + Replace UnmodifiableSet.decorate with Collections.unModifiableSet. +* [BEANUTILS-436] + Replace package.html with package-info.java. +* [BEANUTILS-438] + Add @Deprecated and @Override Annotations. +* [BEANUTILS-437] + Replace Date and Revision SVN keywords with Id. +* [BEANUTILS-431] + Remove @author tags and move missing authors to pom.xml. +* [BEANUTILS-432] + Switch to Java 1.5. +* [BEANUTILS-429] + Delete trailing white spaces and white spaces on empty lines from all files. +* [BEANUTILS-427] + Configure Checkstyle to check for trailing white spaces and white spaces on + empty lines. + +----------------------------------------------------------------------------- + + Release Notes for version 1.8.3 + +Compatibility with 1.8.2 +======================== +BeanUtils 1.8.3 is binary compatible release with Beanutils 1.8.2, containing only bug fixes. + +BeanUtils 1.8.3 requires a minimum of JDK 1.3. + +Memory Leak +=========== +A memory leak was found in BeanUtils 1.7.0 (see BEANUTILS-291) which was fixed +in BeanUtils 1.8.0 for JDK 1.5+. + +Testing of BeanUtils 1.8.1 revealed that the leak still appears to exist +in IBM's JDK 1.6 implementation. + + +see http://issues.apache.org/jira/browse/BEANUTILS-291 + http://issues.apache.org/jira/browse/BEANUTILS-366 + + +BUGS FIXED: +=========== + +The following is a list of the bugs fixed in this release, with their Jira issue number: + + * [BEANUTILS-373] - MethodUtils is not thread safe because WeakFastHashMap which uses WeakHashMap is not thread-safe + * [BEANUTILS-371] - Add constructors which have useColumnLabel parameter to ResultSetDynaClass and RowSetDynaClass + Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz ============================================================================== Binary file - no diff available. Propchange: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz.asc ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz.asc (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz.asc Wed Sep 21 16:41:39 2016 @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iD8DBQBX4rOHQRBjo6D/0RkRAjARAJ93FT4KrxcV3V9hQxk5SPatD/8e6wCgoDz5 +EAgahYQNCUKFEr8ikUxY2kw= +=a81q +-----END PGP SIGNATURE----- Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz.md5 ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz.md5 (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz.md5 Wed Sep 21 16:41:39 2016 @@ -0,0 +1 @@ +620a127d55ee5dc4fe253301daaa0c88 \ No newline at end of file Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz.sha1 ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz.sha1 (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.tar.gz.sha1 Wed Sep 21 16:41:39 2016 @@ -0,0 +1 @@ +4c285c2c9af35be0ea77e6ada9674e2c7b226fa6 \ No newline at end of file Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip ============================================================================== Binary file - no diff available. Propchange: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip.asc ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip.asc (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip.asc Wed Sep 21 16:41:39 2016 @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iD8DBQBX4rOHQRBjo6D/0RkRAqAsAJ9x6eEAUvfev0pqA4psHUdJovZ1/QCePOVC +KXv8VhDRcJGvoDYTZJXSAZY= +=0YdP +-----END PGP SIGNATURE----- Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip.md5 ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip.md5 (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip.md5 Wed Sep 21 16:41:39 2016 @@ -0,0 +1 @@ +a6f8e7d9774224aa390b422cec07d806 \ No newline at end of file Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip.sha1 ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip.sha1 (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/binaries/commons-beanutils-1.9.3-bin.zip.sha1 Wed Sep 21 16:41:39 2016 @@ -0,0 +1 @@ +b2e6f70aaa2ca500899cb149c919b6bbb0256f96 \ No newline at end of file Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz ============================================================================== Binary file - no diff available. Propchange: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz.asc ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz.asc (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz.asc Wed Sep 21 16:41:39 2016 @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iD8DBQBX4rOHQRBjo6D/0RkRApT1AJ9NGUGJzFi59vlrWvDzFKdROKXMvgCbBhL1 +/oUw+UyHw8Gh5YAeSN4PnuI= +=v7kQ +-----END PGP SIGNATURE----- Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz.md5 ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz.md5 (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz.md5 Wed Sep 21 16:41:39 2016 @@ -0,0 +1 @@ +624442c0c25f2ede8226e4459c3a1b7e \ No newline at end of file Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz.sha1 ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz.sha1 (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.tar.gz.sha1 Wed Sep 21 16:41:39 2016 @@ -0,0 +1 @@ +d9f237583ab7b8b4a4bdf55694e915b5af9e165a \ No newline at end of file Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip ============================================================================== Binary file - no diff available. Propchange: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip.asc ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip.asc (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip.asc Wed Sep 21 16:41:39 2016 @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iD8DBQBX4rOHQRBjo6D/0RkRAigPAJ9UkTFKi88g3i1efQ5pSihBifuJaACfYMZz +B5tTaW7BgBLKqHIEWrj7n10= +=mMCT +-----END PGP SIGNATURE----- Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip.md5 ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip.md5 (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip.md5 Wed Sep 21 16:41:39 2016 @@ -0,0 +1 @@ +95a04f4d289403a29a372d75ed9fe78e \ No newline at end of file Added: dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip.sha1 ============================================================================== --- dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip.sha1 (added) +++ dev/commons/beanutils/BEANUTILS_1_9_3_RC3/source/commons-beanutils-1.9.3-src.zip.sha1 Wed Sep 21 16:41:39 2016 @@ -0,0 +1 @@ +cc16e32ec4acdf8a78c3cae0c7b85cec3a773190 \ No newline at end of file