Issue binding multiple elements in collection after upgrading from 1.1.5 -> 
1.2.1
---------------------------------------------------------------------------------

                 Key: JIBX-306
                 URL: http://jira.codehaus.org/browse/JIBX-306
             Project: JiBX
          Issue Type: Bug
          Components: BindGen
    Affects Versions: JiBX 1.2.1
         Environment: Windows XP,  OSX ,JDK 1.5
            Reporter: Aidan OLoan
         Attachments: jibx-test.zip

NOTE: attached is a runnable sample: run "mvn test" to see it running 
successfully, then changed the jibx.version property in pom.xml and re-run to 
see it failing with a similar error to below.



We marshall the following type of XML where Option, Color and UsedFeature all 
extend a Feature class:

<features>
  <option>
    <feature ..
  </option>
  <option>
    <feature ..
  </option
  <color>
    <feature ..
  </color>
  <color>
    <feature ..
  </color>
  <usedFeature>
    <feature...
  </usedFeature>
</features>


The following bindings XML is used to define a  Set of Features belonging to 
another object. Any one of option, color or usedFeature can occur any number of 
times:

<mapping ns="http://www.edmunds.com/esbservices/schemas"; 
class="com.edmunds.vehicle.coherence.ModelYearImpl"
             name="modelYear" post-set="postset">
...
        <structure name="features" field="features" usage="optional" 
map-as="features-set"/>
....
    </mapping>


    <mapping abstract="true" type-name="features-set" class="java.util.Set" 
create-type="java.util.HashSet">
        <collection ordered="false">
            <structure name="option" 
type="com.edmunds.vehicle.coherence.OptionImpl"
                       
marshaller="com.edmunds.vehicle.util.jibx.FeatureIdRefMapper"
                       
unmarshaller="com.edmunds.vehicle.util.jibx.FeatureIdRefMapper"/>
            <structure name="color" 
type="com.edmunds.vehicle.coherence.ColorImpl"
                       
marshaller="com.edmunds.vehicle.util.jibx.FeatureIdRefMapper"
                       
unmarshaller="com.edmunds.vehicle.util.jibx.FeatureIdRefMapper"/>
            <structure name="usedFeature" 
type="com.edmunds.vehicle.coherence.UsedFeatureImpl"
                       
marshaller="com.edmunds.vehicle.util.jibx.FeatureIdRefMapper"
                       
unmarshaller="com.edmunds.vehicle.util.jibx.FeatureIdRefMapper"/>
        </collection>
    </mapping>




This all worked fine with Jibx 1.1.5, but with 1.2.1 I get an error informing 
me that it was expecting all of the elements to be of the same type (option OR 
color OR usedFeature), i.e.

java.lang.RuntimeException: org.jibx.runtime.JiBXException: Expected 
"{http://www.edmunds.com/esbservices/schemas}features"; end tag, found 
"{http://www.edmunds.com/esbservices/schemas}color"; start tag (line 1, col 
75244)
        at 
com.edmunds.vehicle.end2end.VehicleEndToEndTest.saveMakeTree(VehicleEndToEndTest.java:135)
Caused by: org.jibx.runtime.JiBXException: Expected 
"{http://www.edmunds.com/esbservices/schemas}features"; end tag, found 
"{http://www.edmunds.com/esbservices/schemas}color"; start tag (line 1, col 
75244)
        at 
org.jibx.runtime.impl.UnmarshallingContext.parsePastCurrentEndTag(UnmarshallingContext.java:736)


-- 
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

        

------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
jibx-devs mailing list
jibx-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-devs

Reply via email to