I am working on migrating from jibx beta3c version to
1.1. The binding definition that used to work before
now generates 
java.lang.IllegalStateException: Stack size mismatch
on branch

Same code/definition works fine with beta3c binding
compiler.

Is something wrong with the binding definition and I
need to adjust it for version 1.1? Any idea/help is
appreciated.


binding.xml
-----------------------------------------------------------------
<binding>
    <mapping name="a" class="test.A" abstract="true">
        <value name="val-a" field="valA"/>
    </mapping>
    <mapping name="b" class="test.B" ordered="false">
        <structure  map-as="test.A" usage="optional"
/>
        <value name="val-b" field="valB" usage="optional"
/>
    </mapping>
</binding>
-----------------------------------------------------------------

A.java
-----------------------------------------------------------------
package test;
public class A
{
        String valA;
}
-----------------------------------------------------------------

B.java
-----------------------------------------------------------------

package test;
public class B
        extends A
{
        String valB;
}
-----------------------------------------------------------------

Binding output:
-----------------------------------------------------------------
 
    [bind] Running binding compiler version jibx_1_1
     [bind] Warning: Using a name on an abstract
mapping is deprecated; on mapping element at (line 3,
col 54, in jibx-test/bind.xml)
     [bind] binding jibx_test_bind:
     [bind] context (mp#=2) (cv#=0) (fm#=0)
     [bind] mapping class test.A to element a (#0)
(abstract)
     [bind] context (cv#=0) (fm#=0)
     [bind] element wrapper a
     [bind] object binding for test.A create class
test.A
     [bind] structure ordered
     [bind] element val-a from property valA
(java.lang.String)
     [bind] mapping class test.B to element b (#1)
     [bind] context (cv#=0) (fm#=0)
     [bind] element wrapper b
     [bind] object binding for test.B create class
test.B
     [bind] structure unordered
     [bind] mapping reference to test.A using optional
property "this" (test.B)
     [bind] element val-b from optional property valB
(java.lang.String)
     [bind] Generating code for mapping test.A
     [bind] Generating code for mapping test.B
     [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
test.B.JiBX_jibx_test_bind_unmarshal
     [bind] generated by
[EMAIL PROTECTED]
     [bind] from stack:
     [bind] 0: test.B
     [bind] 1: test.A
     [bind] to stack:
     [bind] 0: test.B
     [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:262)
     [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.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
     [bind] at
org.apache.tools.ant.Project.executeTargets(Project.java:1068)
     [bind] at
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
     [bind] at
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
 

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users

Reply via email to