[
http://jira.codehaus.org/browse/JIBX-156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dennis Sosnoski resolved JIBX-156.
----------------------------------
Resolution: Fixed
Fix Version/s: 1.0-RC1
Fixed for 1.1.5 release.
> binding compiler is not aware of inherited interfaces
> -----------------------------------------------------
>
> Key: JIBX-156
> URL: http://jira.codehaus.org/browse/JIBX-156
> Project: JiBX
> Issue Type: Bug
> Components: core
> Affects Versions: JiBX 1.1.3
> Environment: win xp / java 1.4.2_08 / jibx 1.1.3 (December 18, 2006)
> Reporter: Pierre Kobylanski
> Assignee: Dennis Sosnoski
> Fix For: 1.0-RC1
>
> Attachments: bug.zip
>
>
> Here is a short exmple (see attachment for full code):
> ==========================
> public interface Bug_Itf
> { }
> public abstract class Bug_Abstract implements Bug_Itf
> { }
> public class Bug_Impl extends Bug_Abstract
> // implements Bug_Itf // ==> if not explicitly
> mentioned, JiBX is not aware of this relationship
> { }
> public class Bug_Test {
> private Bug_Itf m_impl; // ==> Note: If m_impl is of
> type Bug_Impl or Bug_Abstract, the pb doesn't appear
> public static void main (String[] args) throws Exception {
> Bug_Test t = new Bug_Test();
> IBindingFactory bfact = BindingDirectory.getFactory(Bug_Test.class);
> IMarshallingContext mctx = bfact.createMarshallingContext();
> mctx.marshalDocument(t, "UTF-8", null, System.out);
> }
> }
> ==========================
> when applying the binding (see it below),
> javac -classpath '.;jibx-run.jar' *.java
> java -jar jibx-bind.jar Bug_binding.xml
> I get the error
> Error: No compatible mapping defined for type Bug_Itf; on structure element
> at (line 20, col 50, in Bug_binding.xml)
> Error running binding compiler
> org.jibx.runtime.JiBXException: Binding Bug_binding.xml is unusable because
> of validation errors
> at org.jibx.binding.Utility.loadBinding(Utility.java:346)
> at org.jibx.binding.Utility.loadFileBinding(Utility.java:413)
> at org.jibx.binding.Compile.compile(Compile.java:296)
> at org.jibx.binding.Compile.main(Compile.java:385)
> Mentioning explicitly the Bug_Impl implements Bug_Itf resolves the pb.
> Bug_binding.xml:
> =============================
> <?xml version='1.0' encoding='UTF-8' ?>
> <binding>
> <!-- abstract mapping for
> Bug_Abstract (implements interface Bug_Itf) -->
> <mapping class="Bug_Abstract" abstract="true" type-name="A_abstract" />
> <!-- abstract and concrete mappings for
> Bug_Impl (extends abstract class Bug_Itf) -->
> <mapping class="Bug_Impl" abstract="true" type-name="A_impl">
> <structure map-as="A_abstract" />
> </mapping>
> <mapping name="impl" class="Bug_Impl">
> <structure map-as="A_impl" />
> </mapping>
> <!-- the test class, contains a "private Bug_Itf m_impl" -->
> <mapping class="Bug_Test" abstract="true" type-name="A_test">
> <structure field="m_impl" usage="optional" />
> </mapping>
> <mapping name="test" class="Bug_Test">
> <structure map-as="A_test" />
> </mapping>
> </binding>
> =============================
--
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
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
jibx-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-devs