[ 
http://jira.codehaus.org/browse/JIBX-165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_95995
 ] 

Dennis Sosnoski commented on JIBX-165:
--------------------------------------

This appears to be a misunderstanding of how extends="..." works. The extends 
attribute is only used on a <mapping> when you want to be choose between a set 
of alternative classes, each identified by a unique element name. There should 
be no problems in using multiple layers of extends, but the "leaf" <mappings> 
(those which are not themselves extended) must be concrete mappings, with 
element names. In this case you've got a leaf <mapping> (for AbstractChild) 
which is abstract.

> "No unmarshaller defined for class at index " exception when defining / using 
> abstract mappings
> -----------------------------------------------------------------------------------------------
>
>                 Key: JIBX-165
>                 URL: http://jira.codehaus.org/browse/JIBX-165
>             Project: JiBX
>          Issue Type: Bug
>          Components: core
>    Affects Versions: JiBX 1.1.3
>         Environment: java 1.4.2, linux
>            Reporter: alex
>            Priority: Critical
>
> I have the following issue:
> Chain of inheritance -
> AbstractBase -> NonAbstractBase2 -> AbstractChild
> when defining mappings using
> {{
> <mapping abstract="true" class="AbstractBase">
> ...
> </mapping>
> <mapping name="non_abstract" class="NonAbstractBase2" extends="AbstractBase">
> ...
> </mapping>
> <mapping abstract="true" class="AbstractChild" extends="AbstractBase">
> ...
> </mapping>
> }}
> and trying to marshal and unmarshal a completely unrelated element (that 
> shares only the AbstractBase), I get "No unmarshaller defined for class at 
> index K" exception.
> I also tried the same with {{class="AbstractChild" extends="NonAbstractBase2" 
> }} (in my experience, in these chains  jibx is expecting the first base to 
> appear in extends attribute value - otherwise it just fails to unmarshal - 
> perhaps that's a bug as well), with same results.
> However, when I removed {{extends="AbstractBase" }}from AbstractChild, the 
> error disappeared.
> This also does not prevent me from using {{ <structure 
> map-as="NonAbstractBase2"/> }} in the AbstractChild mapping - and it 
> marshalls and unmarshalls correctly (seems to, anyway). It is however very 
> annoying and may have some other negative effects (like not being able to 
> substitute an AbstractChild for NonAbstractBase2).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
jibx-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-devs

Reply via email to