Hi All,
I am narrowing down the problem with the latest JiBX code. It looks
like there is a problem with unordered containers and inheritance. I
am attaching the binding file. Binding it, I get the following error:

run-bind:
    [bind] java.lang.IllegalStateException: Stack size mismatch on branch
    [bind]  in method com.funambol.framework.core.Add.JiBX_binding_unmarshal
    [bind]  generated by [EMAIL PROTECTED]
    [bind]  from stack:
    [bind]   0: com.funambol.framework.core.Add
    [bind]   1: com.funambol.framework.core.AbstractCommand
    [bind]  to stack:
    [bind]   0: com.funambol.framework.core.Add

    [bind]     at
org.jibx.binding.classes.BranchWrapper.setTarget(BranchWrapper.java:183)
    [bind]     at
org.jibx.binding.classes.BranchWrapper.setTarget(BranchWrapper.java:200)
    [bind]     at
org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:257)
    [bind]     at
org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:795)
    [bind]     at
org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:940)
    [bind]     at
org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
    [bind]     at
org.jibx.binding.def.MappingDefinition.generateCode(MappingDefinition.java:582)
    [bind]     at
org.jibx.binding.def.DefinitionContext.generateCode(DefinitionContext.java:603)
    [bind]     at
org.jibx.binding.def.BindingDefinition.generateCode(BindingDefinition.java:661)
    [bind]     at org.jibx.binding.Compile.compile(Compile.java:305)
    [bind]     at
org.jibx.binding.ant.CompileTask.execute(CompileTask.java:248)
    [bind]     at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
    [bind]     at org.apache.tools.ant.Task.perform(Task.java:364)
    [bind]     at org.apache.tools.ant.Target.execute(Target.java:341)
    [bind]     at org.apache.tools.ant.Target.performTasks(Target.java:369)
    [bind]     at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
    [bind]     at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
    [bind]     at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
    [bind]     at
org.apache.tools.ant.Project.executeTargets(Project.java:1068)
    [bind]     at org.apache.tools.ant.Main.runBuild(Main.java:668)
    [bind]     at org.apache.tools.ant.Main.startAnt(Main.java:187)
    [bind]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
    [bind]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
    [bind] Error running binding compiler

    [bind] *** Error during code generation - please enter a bug
report for this error in Jira if the problem is not listed as fixed on
the online status page ***

    [bind] java.lang.IllegalStateException: Stack size mismatch on branch
    [bind]  in method com.funambol.framework.core.Add.JiBX_binding_unmarshal
    [bind]  generated by [EMAIL PROTECTED]
    [bind]  from stack:
    [bind]   0: com.funambol.framework.core.Add
    [bind]   1: com.funambol.framework.core.AbstractCommand
    [bind]  to stack:
    [bind]   0: com.funambol.framework.core.Add

    [bind]     at
org.jibx.binding.classes.BranchWrapper.setTarget(BranchWrapper.java:183)
    [bind]     at
org.jibx.binding.classes.BranchWrapper.setTarget(BranchWrapper.java:200)
    [bind]     at
org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:257)
    [bind]     at
org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:795)
    [bind]     at
org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:940)
    [bind]     at
org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
    [bind]     at
org.jibx.binding.def.MappingDefinition.generateCode(MappingDefinition.java:582)
    [bind]     at
org.jibx.binding.def.DefinitionContext.generateCode(DefinitionContext.java:603)
    [bind]     at
org.jibx.binding.def.BindingDefinition.generateCode(BindingDefinition.java:661)
    [bind]     at org.jibx.binding.Compile.compile(Compile.java:305)
    [bind]     at
org.jibx.binding.ant.CompileTask.execute(CompileTask.java:248)
    [bind]     at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
    [bind]     at org.apache.tools.ant.Task.perform(Task.java:364)
    [bind]     at org.apache.tools.ant.Target.execute(Target.java:341)
    [bind]     at org.apache.tools.ant.Target.performTasks(Target.java:369)
    [bind]     at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
    [bind]     at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
    [bind]     at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
    [bind]     at
org.apache.tools.ant.Project.executeTargets(Project.java:1068)
    [bind]     at org.apache.tools.ant.Main.runBuild(Main.java:668)
    [bind]     at org.apache.tools.ant.Main.startAnt(Main.java:187)
    [bind]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
    [bind]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)



BUILD FAILED

If I remove "ordered="false"" from the Add mapping, the binding works.

Any help is very appreciated.

Note that it worked with 1.0beta3.

Stefano

--
Stefano Fornari - Funambol Chief Architect / Funambol CTO
=======================================================
Home:
http://www.funambol.org

Documents:
http://www.funambol.org/documentation/documents.html

FAQ:
http://www.funambol.org/support/faq.html

WIKI:
https://wiki.objectweb.org/sync4j/

Mailinglist archives:
http://groups.yahoo.com/group/Sync4j (login required)
http://sourceforge.net/mailarchive/forum.php?forum_id=215 (sync4j-users)
http://sourceforge.net/mailarchive/forum.php?forum_id=48877
(funambol-dev)
<binding>
    <format type="java.lang.Boolean" serializer="com.funambol.framework.core.Util.serializeBoolean"
               deserializer="com.funambol.framework.core.Util.deserializeBoolean"
               label="formatBoolean"/>

    <format type="java.lang.Long" serializer="com.funambol.framework.core.Util.serializeWrapLong"
               deserializer="com.funambol.framework.core.Util.deserializeWrapLong"
               label="formatWrapLong"/>

    <mapping name="SyncML" class="com.funambol.framework.core.SyncML" ordered="false">
        <structure field="header"/>
        <structure field="body"/>
    </mapping>

    <mapping name="SyncHdr" class="com.funambol.framework.core.SyncHdr" ordered="false">
    </mapping>

    <mapping name="SyncBody" class="com.funambol.framework.core.SyncBody">
        <collection field="commands" item-type="com.funambol.framework.core.AbstractCommand" />
    </mapping>

    <mapping class="com.funambol.framework.core.AbstractCommand" abstract="true">
        <structure name="CmdID" field="cmdID" usage="optional">
            <value field="cmdID" style="text"/>
        </structure>
        <value name="NoResp" field="noResp" format="formatBoolean" usage="optional"/>
    </mapping>


    <mapping name="Add" class="com.funambol.framework.core.Add" extends="com.funambol.framework.core.AbstractCommand" ordered="false">
        <structure  map-as="com.funambol.framework.core.AbstractCommand"/>
        <!-- other bindings -->
    </mapping>

</binding>
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users

Reply via email to