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