Issue Type: Bug Bug
Assignee: Ondrej Chytil
Created: 21/Feb/13 1:01 PM
Description:

Due to changes in Oracle java 7 bug was exposed in process of providing components by Guice. Possible constructor are checked in order provided by JVM but should check for exact match instead.

Test case - info.magnolia.test.mock.MockComponentProviderTest.testThrowsExceptionWhenEncounteringConstructorTakingStringArgument()
With Oracle JDK 1.6.0_39 - test passes
Constructors order for String type:

[public java.lang.String(), public java.lang.String(java.lang.String), public java.lang.String(char[]), public java.lang.String(char[],int,int), public java.lang.String(int[],int,int), public java.lang.String(byte[],int,int,int), public java.lang.String(byte[],int), public java.lang.String(byte[],int,int,java.lang.String) throws java.io.UnsupportedEncodingException, public java.lang.String(byte[],int,int,java.nio.charset.Charset), public java.lang.String(byte[],java.lang.String) throws java.io.UnsupportedEncodingException, public java.lang.String(byte[],java.nio.charset.Charset), public java.lang.String(byte[],int,int), public java.lang.String(byte[]), public java.lang.String(java.lang.StringBuffer), public java.lang.String(java.lang.StringBuilder), java.lang.String(int,int,char[])]

With Oracle JDK 1.7.0_13 - test fails
Constructors order for String type:

[public java.lang.String(byte[]), public java.lang.String(byte[],int,int), public java.lang.String(byte[],java.nio.charset.Charset), public java.lang.String(byte[],java.lang.String) throws java.io.UnsupportedEncodingException, public java.lang.String(byte[],int,int,java.nio.charset.Charset), java.lang.String(int,int,char[]), java.lang.String(char[],boolean), public java.lang.String(java.lang.StringBuilder), public java.lang.String(java.lang.StringBuffer), public java.lang.String(int[],int,int), public java.lang.String(char[],int,int), public java.lang.String(char[]), public java.lang.String(java.lang.String), public java.lang.String(), public java.lang.String(byte[],int,int,java.lang.String) throws java.io.UnsupportedEncodingException, public java.lang.String(byte[],int), public java.lang.String(byte[],int,int,int)]

Point of this test case is to catch CircularDependencyException (re-thrown as MgnlInstantiationException) thrown when certain type is checked for more times but with new order of possible constructors exception with message "No suitable constructor found for class" is thrown when wrong constructor is used to instantiate the object.

Fix Versions: 4.5.8
Project: Magnolia
Priority: Neutral Neutral
Reporter: Ondrej Chytil
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



----------------------------------------------------------------
For list details, see: http://www.magnolia-cms.com/community/mailing-lists.html
Alternatively, use our forums: http://forum.magnolia-cms.com/
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------

Reply via email to