The problematic member variable definition in Java is:

private Map<String, List<com.xyz.Policy>> contextPolicies;

public Map<String, List<com.xyz.Policy>> getContextPolicies() {
                return contextPolicies;
        }
public void setContextPolicies(Map<String, List<com.xyz.Policy>>
contextPolicies1) {
                this.contextPolicies = contextPolicies1;
        }

Corresponding mapping is :

<field name="contextPolicies" collection="map">
                        <bind-xml name="contextPolicies" node="element">
                                <class name="org.exolab.castor.mapping.MapItem">
                                        <field name="key" type="string"/>
                                        <field name="value" 
type="com.xyz.Policy" collection="arraylist"/>
                                </class>
                        </bind-xml>
                </field>

As I mentioned earlier, why I think this is the problem is because when I
use Inputstream as the mode for Unmarshalling[I send the marshalled xml(
marshalled by Castor only) as InputStream] it shows problem with this
mapping saying Validation Exception for multiple value elements (same as
Castor-1175 bug)



Werner Guttmann-6 wrote:
> 
> Hi,
> 
> what does the Java member definition look like and the corresponding
> mapping ?
> 
> Kind Regards
> Werner Guttmann
> 
> On 09.03.2011 09:29, avner21J wrote:
>> 
>> I am using castor-xml-1.3.1 and castor-core-1.3.1
>> 
>> Please let me know if any solution or any workaround is there?
>> I would like to do Unmarshalling from a xml file generated through Castor
>> Marshaller. Here it is I get the InstantiationException for List even
>> though
>> in all my mapping files it has collection attribute as arraylist
>> 
>> I could see a bug 1175 for Validation Exception while unmarshalling a Map
>> having collection as value. Is it resolved in the 1.3.1 version?
>> 
>> Stack trace :
>> 
>> org.exolab.castor.xml.MarshalException: Unable to instantiate
>> java.util.List; {File: [not available]; line: 2; column: 300}
>>      at
>> org.exolab.castor.xml.Unmarshaller.convertSAXExceptionToMarshalException(Unmarshaller.java:794)
>>      at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:760)
>>      at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:626)
>>      at
>> com.cisco.epm.pdp.cache.CastorPolicyCacheConverter.getObjectFromXML(CastorPolicyCacheConverter.java:107)
>>      at
>> com.cisco.epm.pdp.cache.CastorPolicyCacheConverter.readPolicyCacheObjetcs(CastorPolicyCacheConverter.java:54)
>>      at com.cisco.epm.pdp.cache.DataLoader.loadFromXML(DataLoader.java:1143)
>>      at com.cisco.epm.pdp.PDPFacade.initialize(PDPFacade.java:1514)
>>      at com.cisco.epm.pdp.PDPFacade.init(PDPFacade.java:1348)
>>      at
>> com.cisco.epm.pdp.TestMarshallingScopeNode.testScopeNodeShouldbeMarshalled(TestMarshallingScopeNode.java:102)
>>      at
>> com.cisco.epm.pdp.TestMarshallingScopeNode.main(TestMarshallingScopeNode.java:58)
>> Caused by: java.lang.InstantiationException: java.util.List
>>      at
>> org.exolab.castor.xml.UnmarshalHandler.createInstance(UnmarshalHandler.java:2584)
>>      at
>> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:2348)
>>      at
>> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1436)
>>      at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
>> Source)
>>      at
>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(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.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:748)
>>      ... 8 more
>> Caused by: java.lang.InstantiationException: java.util.List
>>      at java.lang.Class.newInstance0(Class.java:340)
>>      at java.lang.Class.newInstance(Class.java:308)
>>      at
>> org.exolab.castor.util.DefaultObjectFactory.createInstance(DefaultObjectFactory.java:107)
>>      at
>> org.exolab.castor.xml.UnmarshalHandler.createInstance(UnmarshalHandler.java:2579)
>> 
>> 
>> 
>> avner21J wrote:
>>>
>>> I believe you saw the un-updated post.
>>> I have updated it with the code snippet.
>>>
>>>
>>> Werner Guttmann-6 wrote:
>>>>
>>>> Hi,
>>>>
>>>> looks like your mapping XML didn't make it through the various (spam)
>>>> filters .. ;-).
>>>>
>>>> Regards
>>>> Werner
>>>>
>>>> On 08.03.2011 14:54, avner21J wrote:
>>>>>
>>>>> I am facing a peculiar problem.
>>>>> If I use an xml file created by Castor Marshaller, for unmarshalling
>>>>> by
>>>>> Castor, it shows InstantiationException for java.util.List
>>>>> Same thing if I pass as InputStream to Castor Unmarshaller it says
>>>>> ValidationException: element "value" occurs more than once. (parent
>>>>> class:
>>>>> org.exolab.castor.mapping.MapItem)
>>>>>
>>>>> I believe the problem is with following mapping element in my file...
>>>>>
>>>>>
>>>>>                   
>>>>>                           
>>>>>                                   
>>>>>                                   
>>>>>                           
>>>>>                   
>>>>>
>>>>>
>>>>> Here the Collection for Policy  object in the Java file is List.....
>>>>>
>>>>> But Marshalling by Castor is working fine.
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe from this list, please visit:
>>>>
>>>>     http://xircles.codehaus.org/manage_email
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
> 
>     http://xircles.codehaus.org/manage_email
> 
> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/UnmarshalException-for-xml-created-by-Castor-Marshaller-tp31097277p31112821.html
Sent from the Castor - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to