Hi Jörg,
Thanks for testing, comments inline...
Niall
On Thu, Oct 8, 2009 at 7:16 PM, Jörg Schaible <joerg.schai...@gmx.de> wrote:
Hi Niall,
Niall Pemberton wrote:
We have fixed a number of bugs since BeanUtils 1.8.0 was released a
year ago and I'd like to release BeanUtils 1.8.1
[ ] +1 Yes go ahead an release based on RC1
[ ] -1 No, because...
BeanUtils 1.8.1 RC1 is available for review here:
http://people.apache.org/~niallp/beanutils-1.8.1-rc1/
Details of changes since 1.8.0 are in the release notes:
http://people.apache.org/~niallp/beanutils-1.8.1-rc1/RELEASE-NOTES.txt
http://people.apache.org/~niallp/beanutils-1.8.1-rc1/site/changes-report.html
I have tested this with JDK 1.3 & 1.4 using ant and JDK 1.5 & 1.6 using
maven2.
The tag is here:
http://svn.apache.org/viewvc/commons/proper/beanutils/tags/BEANUTILS_1_8_1_RC1/
Site:
http://people.apache.org/~niallp/beanutils-1.8.1-rc1/site/
(note some *relative* links are broken and the 1.8.1 directories are
not yet created - these will be OK once the site is deployed)
Clirr Report (compared to 1.8.0):
http://people.apache.org/~niallp/beanutils-1.8.1-rc1/site/clirr-report.html
RAT Report:
http://people.apache.org/~niallp/beanutils-1.8.1-rc1/site/rat-report.html
I'm building the package from the source tarball under Gentoo Linux x86 with
following combinations:
Maven 2.2.1/Sun JDK 1.7.0.0_alpha69: fine
Maven 2.2.1/Sun JDK 1.6.0.16: fine
Maven 2.2.1/Sun JDK 1.5.0.20: fine
Maven 2.1.0/Sun JDK 1.4.2.19: fine
Ant 1.6.5/Sun JDK 1.3.1.20: issues
Maven 2.2.1/IcedTea6 1.4.1: fine
Maven 2.1.0/Blackdown JDK 1.4.2.03: fine
Maven 2.2.1/IBM JDK 1.6.0.5: issues
Maven 1.1(*)/IBM JDK 1.5.0.10: issues
Maven 1.1(*)/IBM JDK 1.4.2.13: issues
Maven 2.2.1/JRockit JDK 1.5.0.16: fine
Maven 2.1.0/JRockit JDK 1.4.2.14: fine
*) Maven 2.x fails to run with IBM JDK 1.5 and 1.4.2
Issues with Sun JDK 1.3.1:
==========================
Source compilable, but a lot of tests fail.
All the tests pass for me - I was using Ant 1.7.1 and Sun's JDK
1.3.1_18 on Windows XP - but I tried Ant 1.6.5 and JDK 1.3.1_20 (again
on WinXP) and also had no problems. Are the tests actually failing or
are you just seeing alot of exceptions in the output? Because
BeanUtils uses reflection to intialise the "cause" when re-throwing
exceptions for JDK 1.4+, but for JDK 1.3 it logs the stack trace of
the original exception. For example:
http://commons.apache.org/beanutils/xref/org/apache/commons/beanutils/PropertyUtilsBean.html#2194
http://commons.apache.org/beanutils/xref/org/apache/commons/beanutils/BeanUtilsBean.html#1041
Issues with IBM JDK 1.4.2 and 1.5:
==================================
1/ strange warnings on console for one test:
The class thats being tested logs those warnings for null values:
http://commons.apache.org/beanutils/xref/org/apache/commons/beanutils/BeanPropertyValueChangeClosure.html#170
================ %< ====================
[junit] Running
org.apache.commons.beanutils.BeanPropertyValueChangeClosureTestCase
WARNING: Unable to execute Closure. Null value encountered in property
path...org.apache.commons.beanutils.NestedNullException: Null property
value for 'anotherNested.stringProperty' on bean class 'class
org.apache.commons.beanutils.TestBean'
[junit] Tests run: 26, Failures: 0, Errors: 0, Time elapsed: 0.147 sec
[junit] Running
org.apache.commons.beanutils.BeanPropertyValueEqualsPredicateTestCase
WARNING: Problem during evaluation. Null value encountered in property
path...org.apache.commons.beanutils.NestedNullException: Null property
value for 'anotherNested.stringProperty' on bean class 'class
org.apache.commons.beanutils.TestBean'
[junit] Tests run: 17, Failures: 0, Errors: 0, Time elapsed: 0.12 sec
[junit] Running
org.apache.commons.beanutils.BeanToPropertyValueTransformerTestCase
WARNING: Problem during transformation. Null value encountered in property
path...org.apache.commons.beanutils.NestedNullException: Null property
value for 'anotherNested.stringProperty' on bean class 'class
org.apache.commons.beanutils.TestBean'
[junit] Tests run: 17, Failures: 0, Errors: 0, Time elapsed: 0.114 sec
================ %< ====================
2/ org.apache.commons.beanutils.bugs.Jira347TestCase: 1 Error
This test was copied from MemoryLeakTestCase and the same problem
occurred for BeanUtils 1.8.0 when you tested with maven1 and IBM JDKs.
Would be nice to get these tests working (wonder if they work with IBM
JDK and ant, rather than maven1) but I can't seem to find anywhere to
download the IBM JDK for windows. So since its a problem in the test
rather than actual BeanUtils functionality I can only suggest that we
ignore this again, unless someone can come up with a fix for the test:
http://commons.markmail.org/message/6fhsjmrugz6c746y
================ %< ====================
Testcase:
testMappedPropertyDescriptor_AnyArgsProperty(org.apache.commons.beanutils.bugs.Jira347TestCase):
Caused an ERROR
org.apache.commons.beanutils.MappedPropertyTestBean
java.lang.ClassNotFoundException:
org.apache.commons.beanutils.MappedPropertyTestBean
at java.net.URLClassLoader.findClass(URLClassLoader.java:496)
at java.lang.ClassLoader.loadClass(ClassLoader.java:631)
at
java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:1065)
at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
at
org.apache.commons.beanutils.bugs.Jira347TestCase.testMappedPropertyDescriptor_AnyArgsProperty(Jira347TestCase.java:55)
at org.apache.commons.jelly.tags.ant.AntTag.doTag(AntTag.java:195)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:250)
at
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
at org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:42)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:250)
at
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at
org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(MavenGoalTag.java:83)
at
org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction(MavenGoalTag.java:116)
at org.apache.maven.werkz.Goal.fire(Goal.java:691)
at org.apache.maven.werkz.Goal.attain(Goal.java:623)
at org.apache.maven.werkz.Goal.attainPrecursors(Goal.java:526)
at org.apache.maven.werkz.Goal.attain(Goal.java:621)
at org.apache.maven.werkz.Goal.attainPrecursors(Goal.java:526)
at org.apache.maven.werkz.Goal.attain(Goal.java:621)
at
org.apache.maven.plugin.PluginManager.attainGoals(PluginManager.java:712)
at org.apache.maven.MavenSession.attainGoals(MavenSession.java:265)
at org.apache.maven.cli.App.doMain(App.java:307)
at org.apache.maven.cli.App.main(App.java:217)
at com.werken.forehead.Forehead.run(Forehead.java:551)
at com.werken.forehead.Forehead.main(Forehead.java:581)
================ %< ====================
Issues with IBM JDK 1.6:
========================
1/ org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase
================ %< ====================
OK so the IBM JDK 1.6 got past the setup problems and fails the actual
test. This is disappointing because it means the fix we put in for the
memory leak that works on Sun's JDK doesn't seem to work for IBM JDK
1.6. I've created a bug report for this:
https://issues.apache.org/jira/browse/BEANUTILS-366
...but its going to need someone to fix this or for me to get the IBM
JDK. Anyway those same tests fail in Sun's JDK 1.3 & JDK 1.4 - so
theres a check so they don't run on pre-1.5 JDKs - can't find anything
in the archives as to why they fail or the results of any
investigation. Anyway I don't believe this is something new in this
release and the attitude we took with the memory leak fixes is that if
they work in some JDKs (i.e Suns) then thats progress even if they
don't resolve it for all JDKs. Anyway I've logged the bug but I'm
hoping this won't stop this release since none of the changes made
since 1.8.0 go anywhere near the caching that causes/caused the memory
leaks.
Tests run: 8, Failures: 3, Errors: 0, Skipped: 0, Time elapsed: 16.575 sec
<<< FAILURE!
testPropertyUtilsBean_descriptorsCache_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
Time elapsed: 2.032 sec <<< FAILURE!
junit.framework.AssertionFailedError: PropertyUtilsBean is holding a
reference to the classLoader
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.Assert.assertTrue(Assert.java:20)
at junit.framework.Assert.assertNull(Assert.java:233)
at
org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase.testPropertyUtilsBean_descriptorsCache_memoryLeak(MemoryLeakTestCase.java:93)
testPropertyUtilsBean_mappedDescriptorsCache_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
Time elapsed: 1.711 sec <<< FAILURE!
junit.framework.AssertionFailedError: PropertyUtilsBean is holding a
reference to the classLoader
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.Assert.assertTrue(Assert.java:20)
at junit.framework.Assert.assertNull(Assert.java:233)
at
org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase.testPropertyUtilsBean_mappedDescriptorsCache_memoryLeak(MemoryLeakTestCase.java:148)
testWrapDynaClass_dynaClasses_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
Time elapsed: 1.991 sec <<< FAILURE!
junit.framework.AssertionFailedError: WrapDynaClass is holding a reference
to the classLoader
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.Assert.assertTrue(Assert.java:20)
at junit.framework.Assert.assertNull(Assert.java:233)
at
org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase.testWrapDynaClass_dynaClasses_memoryLeak(MemoryLeakTestCase.java:342)
================ %< ====================
Minor nits:
==========
xdocs/changes.xml: BEANUTILS-354 is reported twice
Thanks I fixed this in trunk:
Cheers,
Jörg
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org