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
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-users