harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Qiu (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-5831) [classlib][beans] XMLDecoder will throw exception for restrict method type check
Date Tue, 20 May 2008 07:39:55 GMT
[classlib][beans] XMLDecoder will throw exception for restrict method type check
--------------------------------------------------------------------------------

                 Key: HARMONY-5831
                 URL: https://issues.apache.org/jira/browse/HARMONY-5831
             Project: Harmony
          Issue Type: Bug
          Components: Classlib
    Affects Versions: 5.0M6
            Reporter: Sean Qiu
             Fix For: 5.0M6


The java.beans.XMLDecoder gets NoSuchMethodExceptions when  method which take java.lang.Object
as parameters are invoked with a java.lang.String against an "owner" object. In general, XMLDecoder
throws a NoSuchMethodException unless the classes of the arguments match exactly with a method
signature.

xml file:
<java version='1.6.0' class='java.beans.XMLDecoder'>
    <void property='owner'>
        <void method='get' id='v'>
            <string>key</string>
        </void>
    </void>
    <object idref='v'/>
</java>

testcase:

        String expectedValue = "expected value";
        HashMap map = new HashMap();
        map.put("key", expectedValue);
        
        XMLDecoder decoder = new XMLDecoder(this.getClass().getResourceAsStream(
                "/xml/MockOwner.xml"), map);
        String actualValue = (String) decoder.readObject();
        assertEquals(expectedValue,actualValue);

stack trace:
java.lang.NoSuchMethodException: get(java.lang.String)
	at java.lang.Class.findMatchingMethod(Unknown Source)
	at java.lang.Class.getMethod(Unknown Source)
	at java.beans.XMLDecoder$SAXHandler.executeCommon(XMLDecoder.java:336)
	at java.beans.XMLDecoder$SAXHandler.execute(XMLDecoder.java:285)
	at java.beans.XMLDecoder$SAXHandler.endElement(XMLDecoder.java:250)
	at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
	at javax.xml.parsers.SAXParser.parse(Unknown Source)
	at java.beans.XMLDecoder.<init>(XMLDecoder.java:480)
	at java.beans.XMLDecoder.<init>(XMLDecoder.java:456)
	at DecoderTest.decode(DecoderTest.java:28)
	at DecoderTest.main(DecoderTest.java:108)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message