Hi Stephen,

thanks for pointing me to that bug report. It basically refers to the same 
situation. 
However, I wonder why it used to work in all previous versions of Castor. 
(1.0.5 and below)

Is there an option to configure that the mapping shall not be validated, either 
in the Castor properties file or otherwise?

Best regards,
Uwe
-----Ursprüngliche Nachricht-----
Von: Stephen Bash [mailto:[EMAIL PROTECTED] 
Gesendet: Mittwoch, 31. Januar 2007 19:45
An: [email protected]
Betreff: Re: [castor-user] Mapping broken in 1.1M3 - duplicate ID


Uwe-

This problem has previously been reported in issue 1198:

http://jira.codehaus.org/browse/CASTOR-1198

Can you read through the issue and add any pertinent information to it?  I 
don't think anyone has worked on it since it was reported, but it is an issue 
for parsing and validation of the mapping file.

Thanks,
Stephen


On 1/31/07, Langbecker, Uwe <[EMAIL PROTECTED]> wrote:
> Hi,
>
> there seems to be a problem with the new milestone M3 of version 1.1. 
> A mapping that worked fine with version 1.0.5 does not work anymore. 
> The problem is related to mapping a class in different ways, dependend 
> on the context. For example, the class "Point" shall be mapped 
> differently, see the following mapping.
>
> <?xml version="1.0"?>
> <mapping xmlns:n="http://castor.exolab.org/";>
>
>         <class name="sample.Point">
>                 <map-to xml="Point" />
>                 <field name="x" type="double">
>                         <bind-xml name="x" node="attribute" />
>                 </field>
>                 <field name="y" type="double">
>                         <bind-xml name="y" node="attribute" />
>                 </field>
>         </class>
>
>         <class name="sample.Location">
>                 <map-to xml="Location" />
>                 <field name="angles">
>                         <bind-xml name="Angle" >
>                                 <class name="sample.Point">
>                                         <field name="x" type="double">
>                                                 <bind-xml name="alpha" 
> node="attribute" />
>                                         </field>
>                                 </class>
>                         </bind-xml>
>                 </field>
>                 <field name="origin.x" type="double">
>                         <bind-xml name="x" node="attribute" />
>                 </field>
>                 <field name="origin.y" type="double">
>                         <bind-xml name="y" node="attribute" />
>                 </field>
>         </class>
>
> </mapping>
>
> The following XML structure needs to be unmarshalled:
>
> <Location x="5.0" y="3.0">
>         <Angle alpha="30.0"/>
> </Location>"
>
> However, the unmarshaller complains when loading the mapping file:
>
> Duplicate ID sample.Point encountered{File: [not available]; line: 18;
> column: 32}
>         at
> org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:740)
>         at 
> org.castor.mapping.MappingUnmarshaller.loadMappingInternal(MappingUnma
> rs
> haller.java:214)
>         at
> org.castor.mapping.MappingUnmarshaller.getMappingLoader(MappingUnmarshal
> ler.java:124)
>         at
> org.castor.mapping.MappingUnmarshaller.getMappingLoader(MappingUnmarshal
> ler.java:99)
>         at
> org.exolab.castor.xml.Unmarshaller.setMapping(Unmarshaller.java:501)
>         at
> org.exolab.castor.xml.Unmarshaller.<init>(Unmarshaller.java:254)
>         at
> sample.CastorCompatibilityTest.testCompatibility(CastorCompatibilityTest
> .java:28)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at junit.framework.TestCase.runTest(TestCase.java:154)
>         at junit.framework.TestCase.runBare(TestCase.java:127)
>         at junit.framework.TestResult$1.protect(TestResult.java:106)
>         at junit.framework.TestResult.runProtected(TestResult.java:124)
>         at junit.framework.TestResult.run(TestResult.java:109)
>         at junit.framework.TestCase.run(TestCase.java:118)
>         at junit.framework.TestSuite.runTest(TestSuite.java:208)
>         at junit.framework.TestSuite.run(TestSuite.java:203)
>         at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUn
> it3TestReference.java:128)
>         at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.ja
> va:38)
>         at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTe
> stRunner.java:460)
>         at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTe
> stRunner.java:673)
>         at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRun
> ner.java:386)
>         at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRu
> nner.java:196)
> Caused by: ValidationException: Duplicate ID sample.Point encountered
>         at
> org.exolab.castor.xml.IDResolverImpl.bind(IDResolverImpl.java:41)
>         at
> org.exolab.castor.xml.UnmarshalHandler.processAttribute(UnmarshalHandler
> .java:2934)
>         at
> org.exolab.castor.xml.UnmarshalHandler.processAttributes(UnmarshalHandle
> r.java:2667)
>         at
> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.jav
> a:2313)
>         at
> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.jav
> a:1362)
>         at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElemen
> t(Unknown Source)
>         at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.s
> canStartElement(Unknown Source)
>         at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$F
> ragmentContentDispatcher.dispatch(Unknown Source)
>         at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.s
> canDocument(Unknown Source)
>         at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unkn
> own Source)
>         at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unkn
> own Source)
>         at
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
> Source)
>         at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unkno
> wn Source)
>         at
> org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:726)
>         ... 24 more
> Caused by: ValidationException: Duplicate ID sample.Point encountered
>         at
> org.exolab.castor.xml.IDResolverImpl.bind(IDResolverImpl.java:41)
>         at
> org.exolab.castor.xml.UnmarshalHandler.processAttribute(UnmarshalHandler
> .java:2934)
>         at
> org.exolab.castor.xml.UnmarshalHandler.processAttributes(UnmarshalHandle
> r.java:2667)
>         at
> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.jav
> a:2313)
>         at
> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.jav
> a:1362)
>         at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElemen
> t(Unknown Source)
>         at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.s
> canStartElement(Unknown Source)
>         at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$F
> ragmentContentDispatcher.dispatch(Unknown Source)
>         at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.s
> canDocument(Unknown Source)
>         at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unkn
> own Source)
>         at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unkn
> own Source)
>         at
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
> Source)
>         at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unkno
> wn Source)
>         at
> org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:726)
>         at
> org.castor.mapping.MappingUnmarshaller.loadMappingInternal(MappingUnmars
> haller.java:214)
>         at
> org.castor.mapping.MappingUnmarshaller.getMappingLoader(MappingUnmarshal
> ler.java:124)
>         at
> org.castor.mapping.MappingUnmarshaller.getMappingLoader(MappingUnmarshal
> ler.java:99)
>         at
> org.exolab.castor.xml.Unmarshaller.setMapping(Unmarshaller.java:501)
>         at
> org.exolab.castor.xml.Unmarshaller.<init>(Unmarshaller.java:254)
>         at
> sample.CastorCompatibilityTest.testCompatibility(CastorCompatibilityTest
> .java:28)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at junit.framework.TestCase.runTest(TestCase.java:154)
>         at junit.framework.TestCase.runBare(TestCase.java:127)
>         at junit.framework.TestResult$1.protect(TestResult.java:106)
>         at junit.framework.TestResult.runProtected(TestResult.java:124)
>         at junit.framework.TestResult.run(TestResult.java:109)
>         at junit.framework.TestCase.run(TestCase.java:118)
>         at junit.framework.TestSuite.runTest(TestSuite.java:208)
>         at junit.framework.TestSuite.run(TestSuite.java:203)
>         at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUn
> it3TestReference.java:128)
>         at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.ja
> va:38)
>         at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTe
> stRunner.java:460)
>         at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTe
> stRunner.java:673)
>         at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRun
> ner.java:386)
>         at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRu
> nner.java:196)
>
> Best regards,
>
> Uwe
>
>
>
> This e-mail and any attachment thereto may contain confidential 
> information and/or information protected by intellectual property 
> rights for the exclusive attention of the intended addressees named 
> above. Any access of third parties to this e-mail is unauthorised. Any 
> use of this e-mail by unintended recipients such as total or partial 
> copying, distribution, disclosure etc. is prohibited and may be 
> unlawful. When addressed to our clients the content of this e-mail is 
> subject to the General Terms and Conditions of GL's Group of Companies 
> applicable at the date of this e-mail.
>
> If you have received this e-mail in error, please notify the sender 
> either by telephone or by e-mail and delete the material from any 
> computer.
>
> GL's Group of Companies does not warrant and/or guarantee that this 
> message at the moment of receipt is authentic, correct and its 
> communication free of errors, interruption etc.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
>
>     http://xircles.codehaus.org/manage_email
>
>

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email



This e-mail and any attachment thereto may contain confidential information 
and/or information protected by intellectual property rights for the exclusive 
attention of the intended addressees named above. Any access of third parties 
to this e-mail is unauthorised. Any use of this e-mail by unintended recipients 
such as total or partial copying, distribution, disclosure etc. is prohibited 
and may be unlawful. When addressed to our clients the content of this e-mail 
is subject to the General Terms and Conditions of GL's Group of Companies 
applicable at the date of this e-mail. 

If you have received this e-mail in error, please notify the sender either by 
telephone or by e-mail and delete the material from any computer.

GL's Group of Companies does not warrant and/or guarantee that this message at 
the moment of receipt is authentic, correct and its communication free of 
errors, interruption etc.

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to