1 2 3 4 Previous Next 52 Replies Latest reply: Mar 25, 2008 10:03 AM by Kabir Khan Go to original post RSS
      • 30. Re: Implementing JAXB style parsing for aop-mc-int
        Kabir Khan Master

         

        "adrian@jboss.org" wrote:
        "kabir.khan@jboss.com" wrote:
        Reading this thread http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4134204#4134204 I came back to this. Regarding 3) What would this xsd:refine map to in jaxb annotations? My understanding was that using jaxb it generates a schema from the annotations?


        It doesn't map to anything .

        The xsd:redefine, just specifies what is the default behaviour the JBossXBBuilder
        which is to include types reachable from your hierarchy in your namespace
        (absent any explicit namepace= in the annotations).

        You've confused me :-) Is this doable now, or is this a feature that needs adding to JBossXB? I know how to use xsd:redefine if there is a schema, but seeing as jbossxb doesn't use that musn't there be an annotation to set this up? If it is doable now, what do I need to do to make it happen?



        • 31. Re: Implementing JAXB style parsing for aop-mc-int
          Adrian Brock Master

           

          "kabir.khan@jboss.com" wrote:

          You've confused me :-) Is this doable now, or is this a feature that needs adding to JBossXB? I know how to use xsd:redefine if there is a schema, but seeing as jbossxb doesn't use that musn't there be an annotation to set this up?


          I'll repeat again. xsd:redefine is the default behaviour of the jbossxb builder from
          annotations.


          If it is doable now, what do I need to do to make it happen?


          Create a schema you can xsd:redefine.
          The schema document is still required for a validating xml parser
          or modifying the xml in some tools.


          • 32. Re: Implementing JAXB style parsing for aop-mc-int
            Kabir Khan Master

            I'm trying to decide which types and groups to put into mc-common_1_0.xsd. The easy way is to put everything apart from:

            deploymentType
            beanType
            beanFactoryType
            lazyType

            Does that sound about right, or do you think I should get rid of some more types?

            • 33. Re: Implementing JAXB style parsing for aop-mc-int
              Adrian Brock Master

              Correct. Everything except the top level elements.

              I'd actually call the schema something like:
              jboss-beans-common-2.0.xsd

              You probably want to sync with Ales since he has a similar requirement for the policy xsd.

              • 34. Re: Implementing JAXB style parsing for aop-mc-int
                Adrian Brock Master

                 

                "kabir.khan@jboss.com" wrote:

                Does that sound about right, or do you think I should get rid of some more types?


                Only if you think it causes you a problem. It is the elements that are the important thing
                since when you xsd:redefine they will become entry points into your schema
                so you don't want them in the common schema.

                • 36. Re: Implementing JAXB style parsing for aop-mc-int
                  Kabir Khan Master

                  As mentioned here http://www.jboss.com/index.html?module=bb&op=viewtopic&t=131367 I have implemented the xsd:refine stuff for bean-deployer_2_0.xsd.

                  This schema reuses the jboss-beans-common_2_0.xsd as follows (bean-deployer_2_0.xsd and jboss-beans-common_2_0.xsd live in the same folder):

                  <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                   targetNamespace="urn:jboss:bean-deployer:2.0"
                   xmlns="urn:jboss:bean-deployer:2.0"
                   elementFormDefault="qualified"
                   attributeFormDefault="unqualified"
                   version="1.0">
                  
                   <xsd:redefine schemaLocation="jboss-beans-common_2_0.xsd">
                   <xsd:complexType name="beanType">
                   <xsd:complexContent>
                   <xsd:extension base="beanType"/>
                   </xsd:complexContent>
                   </xsd:complexType>
                   ...
                   </xsd:redefine>
                   <xsd:element name="deployment" type="deploymentType">
                   ...
                   </xsd:element>
                  
                   <xsd:complexType name="deploymentType">
                   ...
                   <xsd:choice minOccurs="0" maxOccurs="unbounded">
                   ...
                   </xsd:choice>
                   <xsd:attribute name="name" type="xsd:string" use="optional"/>
                   <xsd:attribute name="scoped" type="xsd:boolean" use="optional"/>
                   <xsd:attribute name="mode" type="controllerModeType" use="optional"/>
                   </xsd:complexType>
                  
                   <xsd:element name="bean" type="beanType"/>
                  
                   <xsd:element name="beanfactory" type="beanfactoryType"/>
                  
                   <xsd:element name="lazy" type="lazyType"/>
                  
                  </xsd:schema>
                  


                  This seems to work, all the kernel tests are passing.

                  Now when I try to do the same thing from my aop-beans_1_0.xsd I get an error:

                  org.jboss.xb.binding.JBossXBException: Failed to parse source: file:/C:/cygwin/home/Kabir/sourcecontrol/microcontainer/aop-mc-int/target/tests-classes/org/jboss/test/microcontainer/beans/test/AspectSimpleAopTestCase.xml@9,99
                   at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:177)
                   at org.jboss.xb.binding.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:139)
                   at org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer.deploy(BasicXMLDeployer.java:147)
                   at org.jboss.test.kernel.junit.MicrocontainerTestDelegate.deploy(MicrocontainerTestDelegate.java:294)
                   at org.jboss.test.kernel.junit.MicrocontainerTestDelegate.deploy(MicrocontainerTestDelegate.java:438)
                   at org.jboss.test.aop.junit.AOPMicrocontainerTestDelegate.deploy(AOPMicrocontainerTestDelegate.java:76)
                   at org.jboss.test.kernel.junit.MicrocontainerTestDelegate.setUp(MicrocontainerTestDelegate.java:83)
                   at org.jboss.test.aop.junit.AOPMicrocontainerTestDelegate.setUp(AOPMicrocontainerTestDelegate.java:60)
                   at org.jboss.test.AbstractTestSetup.setUp(AbstractTestSetup.java:63)
                   at junit.extensions.TestSetup$1.protect(TestSetup.java:18)
                   at junit.framework.TestResult.runProtected(TestResult.java:124)
                   at junit.extensions.TestSetup.run(TestSetup.java:23)
                   at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
                   at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
                   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
                   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
                   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
                   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
                  Caused by: java.lang.StackOverflowError
                   at java.lang.String.indexOf(String.java:1352)
                   at java.net.URLStreamHandler.parseURL(URLStreamHandler.java:127)
                   at sun.net.www.protocol.file.Handler.parseURL(Handler.java:50)
                   at java.net.URL.<init>(URL.java:596)
                   at java.net.URL.<init>(URL.java:464)
                   at sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:881)
                   at sun.misc.URLClassPath$FileLoader.findResource(URLClassPath.java:871)
                   at sun.misc.URLClassPath.findResource(URLClassPath.java:142)
                   at java.net.URLClassLoader$2.run(URLClassLoader.java:362)
                   at java.security.AccessController.doPrivileged(Native Method)
                   at java.net.URLClassLoader.findResource(URLClassLoader.java:359)
                   at java.lang.ClassLoader.getResource(ClassLoader.java:977)
                   at org.jboss.util.xml.JBossEntityResolver.loadClasspathResource(JBossEntityResolver.java:521)
                   at org.jboss.util.xml.JBossEntityResolver.resolvePublicID(JBossEntityResolver.java:329)
                   at org.jboss.util.xml.JBossEntityResolver.resolveEntity(JBossEntityResolver.java:259)
                   at org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver.getInputSource(DefaultSchemaResolver.java:443)
                   at org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver.resolveAsLSInput(DefaultSchemaResolver.java:419)
                   at org.jboss.xb.binding.Util$1.resolveResource(Util.java:468)
                   at org.apache.xerces.util.DOMEntityResolverWrapper.resolveEntity(Unknown Source)
                   at org.apache.xerces.impl.XMLEntityManager.resolveEntity(Unknown Source)
                   at org.apache.xerces.impl.xs.XMLSchemaLoader.resolveDocument(Unknown Source)
                   at org.apache.xerces.impl.xs.traversers.XSDHandler.resolveSchema(Unknown Source)
                   at org.apache.xerces.impl.xs.traversers.XSDHandler.constructTrees(Unknown Source)
                   at org.apache.xerces.impl.xs.traversers.XSDHandler.constructTrees(Unknown Source)
                   at org.apache.xerces.impl.xs.traversers.XSDHandler.constructTrees(Unknown Source)
                   at org.apache.xerces.impl.xs.traversers.XSDHandler.constructTrees(Unknown Source)
                   at org.apache.xerces.impl.xs.traversers.XSDHandler.constructTrees(Unknown Source)
                   at org.apache.xerces.impl.xs.traversers.XSDHandler.constructTrees(Unknown Source)
                   at org.apache.xerces.impl.xs.traversers.XSDHandler.constructTrees(Unknown Source)
                   at org.apache.xerces.impl.xs.traversers.XSDHandler.constructTrees(Unknown Source)
                   at org.apache.xerces.impl.xs.traversers.XSDHandler.constructTrees(Unknown Source)
                   at org.apache.xerces.impl.xs.traversers.XSDHandler.constructTrees(Unknown Source)
                   at org.apache.xerces.impl.xs.traversers.XSDHandler.constructTrees(Unknown Source)
                  


                  The trigger for this seems to be the inclusion of something in the aop-beans.xsd. In other words, if I uncomment either the xsd:import or the xsd:redefine it falls over with the error seen. If left commented out it passes this stage, but since I've got rid of most elements from the schema to isolate this error it fails when it comes to doing the parsing.

                  <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                   targetNamespace="urn:jboss:aop-beans:1.0"
                   xmlns="urn:jboss:aop-beans:1.0"
                   xmlns:mc="urn:jboss:bean-deployer:2.0"
                   elementFormDefault="qualified"
                   attributeFormDefault="unqualified"
                   version="1.0"
                  >
                  
                   <!-- xsd:import namespace="urn:jboss:bean-deployer:2.0"/-->
                  
                   <!-- xsd:redefine schemaLocation="jboss-beans-common_2_0.xsd">
                   <xsd:simpleType name="classNameType"/>
                   </xsd:redefine -->
                  
                   ...
                  




                  • 37. Re: Implementing JAXB style parsing for aop-mc-int
                    Kabir Khan Master

                    To complete my previous stack trace, if I turn on the redefine part, the entry point into the infinite recursion is

                    ...
                     XSDHandler.constructTrees(Element, String, XSDDescription) line: not available
                     XSDHandler.constructTrees(Element, String, XSDDescription) line: not available
                     XSDHandler.parseSchema(XMLInputSource, XSDDescription, Hashtable) line: not available
                     XMLSchemaLoader.loadSchema(XSDDescription, XMLInputSource, Hashtable) line: not available
                     XMLSchemaLoader.loadGrammar(XMLInputSource) line: not available
                     XSLoaderImpl.load(LSInput) line: not available
                     Util.loadSchema(InputStream, String, SchemaBindingResolver) line: 395
                     XsdBinder.bind(InputStream, String, SchemaBindingResolver, boolean) line: 175
                     XsdBinder.bind(InputStream, String, String, boolean) line: 146
                     DefaultSchemaResolver.resolve(String, String, String) line: 330
                     WildcardBinding.getElement(QName, Attributes) line: 174
                     SequenceBinding$1.startElement(QName, Attributes, Set, List, boolean) line: 307
                     SequenceBinding$1.startElement(QName, Attributes, Set, List, boolean) line: 254
                     SequenceBinding$1(ModelGroupBinding$Cursor).startElement(QName, Attributes) line: 185
                     SundayContentHandler.startElement(String, String, String, Attributes, XSTypeDefinition) line: 447
                     SaxJBossXBParser$DelegatingContentHandler.startElement(String, String, String, Attributes) line: 407
                     SAXParserImpl$JAXPSAXParser(AbstractSAXParser).startElement(QName, XMLAttributes, Augmentations) line: not available
                     XIncludeHandler.startElement(QName, XMLAttributes, Augmentations) line: not available
                     XMLNSDocumentScannerImpl.scanStartElement() line: not available
                     XMLNSDocumentScannerImpl$NSContentDispatcher(XMLDocumentFragmentScannerImpl$FragmentContentDispatcher).dispatch(boolean) line: not available
                     XMLNSDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanDocument(boolean) line: not available
                     XIncludeAwareParserConfiguration(XML11Configuration).parse(boolean) line: not available
                     XIncludeAwareParserConfiguration(XML11Configuration).parse(XMLInputSource) line: not available
                     SAXParserImpl$JAXPSAXParser(XMLParser).parse(XMLInputSource) line: not available
                     SAXParserImpl$JAXPSAXParser(AbstractSAXParser).parse(String) line: not available
                     SAXParserImpl$JAXPSAXParser.parse(String) line: not available
                     SaxJBossXBParser.parse(String, JBossXBParser$ContentHandler) line: 173
                     UnmarshallerImpl.unmarshal(String, SchemaBindingResolver) line: 139
                     BasicXMLDeployer.deploy(URL) line: 147
                     AOPMicrocontainerTestDelegate(MicrocontainerTestDelegate).deploy(URL) line: 297
                     AOPMicrocontainerTestDelegate(MicrocontainerTestDelegate).deploy() line: 441
                     AOPMicrocontainerTestDelegate.deploy() line: 76
                     AOPMicrocontainerTestDelegate(MicrocontainerTestDelegate).setUp() line: 86
                     AOPMicrocontainerTestDelegate.setUp() line: 60
                    


                    Also, my jboss-beans-common_2_0.xsd header looks like
                    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                     targetNamespace="urn:jboss:beans-common:2.0"
                     xmlns="urn:jboss:beans-common:2.0"
                     elementFormDefault="qualified"
                     attributeFormDefault="unqualified"
                     version="1.0">
                    ...
                    

                    I will try removing the namespace from that, and see if that breaks it

                    • 38. Re: Implementing JAXB style parsing for aop-mc-int
                      Kabir Khan Master

                      The input to
                      org.jboss.util.xml.JBossEntityResolver.resolveEntity(JBossEntityResolver.java:259)
                      is:
                      nsURI "urn:jboss:aop-beans:1.0"
                      baseURI null
                      schemaLocation "jboss-beans-common_2_0.xsd"

                      If I modify the xsd:refefine to

                       <xsd:redefine schemaLocation="jboss-beans-common_2_0.xsd">
                       <xsd:simpleType name="classNameType"/>
                       </xsd:redefine>
                      

                      This input becomes:
                      nsURI "urn:jboss:aop-beans:1.0"
                      baseURI null
                      schemaLocation "jboss-beans-common_2_0.xsd"

                      It makes no difference, the call to resolveEntity() always seems to use the nsURI, which is always urn:jboss:aop-beans:1.0, and so always returns aop-beans_1_0.xsd.

                      I have turned on trace logging:

                      0 DEBUG [AspectSimpleAopTestCase] ==== setUp org.jboss.test.microcontainer.beans.test.AspectSimpleAopTestCase ====
                      XXXX turn off enabling trace!!!!
                      15 DEBUG [KernelFactory] Starting JBoss Kernel construction...
                      468 DEBUG [KernelFactory] Completed JBoss Kernel construction. Duration: 437 milliseconds
                      547 TRACE [SingletonSchemaResolverFactory] Mapped initializer 'urn:jboss:aop-beans:1.0' to 'org.jboss.aop.microcontainer.beans.xml.AOPBeansS
                      chemaInitializer'
                      547 TRACE [SingletonSchemaResolverFactory] Parse annotations 'urn:jboss:aop-beans:1.0' set to 'false'
                      547 TRACE [SingletonSchemaResolverFactory] Ignored:
                      593 TRACE [SingletonSchemaResolverFactory] Mapped 'urn:jboss:bean-deployer' to 'org.jboss.kernel.plugins.deployment.AbstractKernelDeployment
                      10'
                      593 TRACE [SingletonSchemaResolverFactory] Mapped 'urn:jboss:bean-deployer:2.0' to 'org.jboss.kernel.plugins.deployment.AbstractKernelDeploy
                      ment'
                      609 TRACE [SingletonSchemaResolverFactory] Mapped 'urn:jboss:javabean:1.0' to 'org.jboss.javabean.plugins.jaxb.JavaBean10'
                      609 TRACE [SingletonSchemaResolverFactory] Mapped 'urn:jboss:javabean:2.0' to 'org.jboss.javabean.plugins.jaxb.JavaBean20'
                      625 TRACE [SingletonSchemaResolverFactory] Mapped 'urn:jboss:policy:1.0' to 'org.jboss.beans.metadata.plugins.policy.AbstractPolicyMetaData'
                      640 DEBUG [AspectSimpleAopTestCase] No test specific deployment org/jboss/test/microcontainer/beans/test/AspectSimpleAopTestCase-aop.xml
                      640 DEBUG [AspectSimpleAopTestCase] Deploying file:/C:/cygwin/home/Kabir/sourcecontrol/microcontainer/aop-mc-int/target/tests-classes/org/jb
                      oss/test/microcontainer/beans/test/AspectSimpleAopTestCase.xml
                      859 DEBUG [SaxJBossXBParser] Created parser: org.apache.xerces.jaxp.SAXParserImpl@4a63d8, isNamespaceAware: true, isValidating: true, isXInc
                      ludeAware: true
                      875 DEBUG [SaxJBossXBParser] http://xml.org/sax/features/validation set to: true
                      875 DEBUG [SaxJBossXBParser] http://xml.org/sax/features/namespaces set to: true
                      875 DEBUG [SaxJBossXBParser] http://apache.org/xml/features/validation/dynamic set to: true
                      906 DEBUG [SaxJBossXBParser] Created parser: org.apache.xerces.jaxp.SAXParserImpl@4a63d8, isNamespaceAware: true, isValidating: true, isXInc
                      ludeAware: true
                      953 TRACE [DefaultSchemaResolver] Mapped schemaLocation to filename: deployment
                      953 TRACE [DefaultSchemaResolver] found bindingClass, nsURI=urn:jboss:bean-deployer:2.0, baseURI=null, schemaLocation=deployment, class=clas
                      s org.jboss.kernel.plugins.deployment.AbstractKernelDeployment
                      1656 TRACE [DefaultSchemaResolver] resolved schema: org.jboss.xb.binding.sunday.unmarshalling.SchemaBinding@1b60280
                      1656 TRACE [SundayContentHandler] pushed {urn:jboss:bean-deployer:2.0}deployment=org.jboss.xb.spi.DefaultBeanAdapter@15093f1, binding=org.jb
                      oss.xb.binding.sunday.unmarshalling.ElementBinding@120bf2c({urn:jboss:bean-deployer:2.0}deployment, type={urn:jboss:bean-deployer:2.0}deploy
                      mentType)
                      1687 TRACE [SequenceBinding] startElement {urn:jboss:bean-deployer:2.0}bean in org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding@e6f
                      7d2, 9: sequence {urn:jboss:bean-deployer:2.0}classloader sequence {urn:jboss:bean-deployer:2.0}create {urn:jboss:bean-deployer:2.0}start {u
                      rn:jboss:bean-deployer:2.0}stop {urn:jboss:bean-deployer:2.0}destroy sequence sequence ]
                      1687 TRACE [SequenceBinding] startElement {urn:jboss:bean-deployer:2.0}bean in org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding@198
                      36ed, 1: {urn:jboss:bean-deployer:2.0}annotation ]
                      1687 TRACE [SequenceBinding] startElement {urn:jboss:bean-deployer:2.0}bean in org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding@394
                      43f, 1: choice ]
                      1687 TRACE [ChoiceBinding] startElement {urn:jboss:bean-deployer:2.0}bean in org.jboss.xb.binding.sunday.unmarshalling.ChoiceBinding@1afae45
                      , 3: {urn:jboss:bean-deployer:2.0}bean {urn:jboss:bean-deployer:2.0}beanfactory {urn:jboss:bean-deployer:2.0}lazy ]
                      1687 TRACE [ChoiceBinding] found {urn:jboss:bean-deployer:2.0}bean in org.jboss.xb.binding.sunday.unmarshalling.ChoiceBinding@1afae45
                      1687 TRACE [ChoiceBinding] leaving org.jboss.xb.binding.sunday.unmarshalling.ChoiceBinding@1afae45 i=0, pos=0
                      1687 TRACE [SundayContentHandler] pushed cursor org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding$1@3e0ebb, o=org.jboss.xb.spi.Defau
                      ltBeanAdapter@15093f1
                      1687 TRACE [SundayContentHandler] start repeatable (2): org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding@39443f
                      1687 TRACE [SundayContentHandler] pushed cursor org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding$1@da4b71, o=org.jboss.xb.spi.Defau
                      ltBeanAdapter@15093f1
                      1687 TRACE [SundayContentHandler] pushed cursor org.jboss.xb.binding.sunday.unmarshalling.ChoiceBinding$1@18f1d7e, o=org.jboss.xb.spi.Defaul
                      tBeanAdapter@15093f1
                      1687 TRACE [SundayContentHandler] start repeatable (4): org.jboss.xb.binding.sunday.unmarshalling.ElementBinding@d9660d({urn:jboss:bean-dep
                      loyer:2.0}bean, type={urn:jboss:bean-deployer:2.0}beanType)
                      1703 TRACE [SundayContentHandler] pushed {urn:jboss:bean-deployer:2.0}bean=org.jboss.xb.spi.DefaultBeanAdapter@153f67e, binding=org.jboss.xb
                      .binding.sunday.unmarshalling.ElementBinding@d9660d({urn:jboss:bean-deployer:2.0}bean, type={urn:jboss:bean-deployer:2.0}beanType)
                      1703 TRACE [SequenceBinding] startElement {urn:jboss:bean-deployer:2.0}constructor in org.jboss.xb.binding.sunday.unmarshalling.SequenceBind
                      ing@15bdc50, 16: sequence sequence {urn:jboss:bean-deployer:2.0}classloader {urn:jboss:bean-deployer:2.0}constructor sequence {urn:jboss:bea
                      n-deployer:2.0}create {urn:jboss:bean-deployer:2.0}start {urn:jboss:bean-deployer:2.0}stop {urn:jboss:bean-deployer:2.0}destroy sequence seq
                      uence sequence sequence sequence sequence sequence ]
                      1703 TRACE [SequenceBinding] startElement {urn:jboss:bean-deployer:2.0}constructor in org.jboss.xb.binding.sunday.unmarshalling.SequenceBind
                      ing@1dd3812, 1: {urn:jboss:bean-deployer:2.0}alias ]
                      1703 TRACE [SequenceBinding] startElement {urn:jboss:bean-deployer:2.0}constructor in org.jboss.xb.binding.sunday.unmarshalling.SequenceBind
                      ing@9e5c73, 1: {urn:jboss:bean-deployer:2.0}annotation ]
                      1703 TRACE [SequenceBinding] found {urn:jboss:bean-deployer:2.0}constructor in org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding@15b
                      dc50
                      1703 TRACE [SundayContentHandler] pushed cursor org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding$1@8c436b, o=org.jboss.xb.spi.Defau
                      ltBeanAdapter@153f67e
                      1703 TRACE [SundayContentHandler] pushed {urn:jboss:bean-deployer:2.0}constructor=org.jboss.xb.spi.DefaultBeanAdapter@1b15692, binding=org.j
                      boss.xb.binding.sunday.unmarshalling.ElementBinding@1aa9f99({urn:jboss:bean-deployer:2.0}constructor, type={urn:jboss:bean-deployer:2.0}cons
                      tructorType)
                      1703 TRACE [SundayContentHandler] poped {urn:jboss:bean-deployer:2.0}constructor=[org.jboss.xb.binding.sunday.unmarshalling.ElementBinding@1
                      aa9f99({urn:jboss:bean-deployer:2.0}constructor, type={urn:jboss:bean-deployer:2.0}constructorType), minOccurs=0, maxOccurs=1]
                      1703 TRACE [SundayContentHandler] poped org.jboss.xb.binding.sunday.unmarshalling.ElementBinding@1aa9f99({urn:jboss:bean-deployer:2.0}constr
                      uctor, type={urn:jboss:bean-deployer:2.0}constructorType)
                      1703 TRACE [SundayContentHandler] poped {urn:jboss:bean-deployer:2.0}bean=[org.jboss.xb.binding.sunday.unmarshalling.ElementBinding@d9660d({
                      urn:jboss:bean-deployer:2.0}bean, type={urn:jboss:bean-deployer:2.0}beanType), minOccurs=0, maxOccurs=unbounded]
                      1703 TRACE [SundayContentHandler] end repeatable (4): org.jboss.xb.binding.sunday.unmarshalling.ElementBinding@d9660d({urn:jboss:bean-deplo
                      yer:2.0}bean, type={urn:jboss:bean-deployer:2.0}beanType)
                      1718 TRACE [SundayContentHandler] poped org.jboss.xb.binding.sunday.unmarshalling.ElementBinding@d9660d({urn:jboss:bean-deployer:2.0}bean, t
                      ype={urn:jboss:bean-deployer:2.0}beanType)
                      1718 TRACE [SequenceBinding] startElement {urn:jboss:aop-beans:1.0}aspect in org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding@39443
                      f, 1: choice ]
                      1718 TRACE [SundayContentHandler] poped org.jboss.xb.binding.sunday.unmarshalling.ChoiceBinding@1afae45
                      1718 TRACE [SequenceBinding] startElement {urn:jboss:aop-beans:1.0}aspect in org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding@e6f7d
                      2, 9: sequence {urn:jboss:bean-deployer:2.0}classloader sequence {urn:jboss:bean-deployer:2.0}create {urn:jboss:bean-deployer:2.0}start {urn
                      :jboss:bean-deployer:2.0}stop {urn:jboss:bean-deployer:2.0}destroy sequence sequence ]
                      1718 TRACE [SequenceBinding] startElement {urn:jboss:aop-beans:1.0}aspect in org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding@39443
                      f, 1: choice ]
                      1718 TRACE [ChoiceBinding] startElement {urn:jboss:aop-beans:1.0}aspect in org.jboss.xb.binding.sunday.unmarshalling.ChoiceBinding@1afae45,
                      3: {urn:jboss:bean-deployer:2.0}bean {urn:jboss:bean-deployer:2.0}beanfactory {urn:jboss:bean-deployer:2.0}lazy ]
                      1718 TRACE [ChoiceBinding] leaving org.jboss.xb.binding.sunday.unmarshalling.ChoiceBinding@1afae45 i=2, pos=-1
                      1718 TRACE [SequenceBinding] startElement {urn:jboss:aop-beans:1.0}aspect in org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding@7f4ec
                      , 1: {urn:jboss:bean-deployer:2.0}alias ]
                      1718 TRACE [SequenceBinding] startElement {urn:jboss:aop-beans:1.0}aspect in org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding@60e12
                      8, 1: ]
                      1718 TRACE [DefaultSchemaResolver] getInputSource, nsURI=urn:jboss:aop-beans:1.0, baseURI=null, schemaLocation=null
                      1718 TRACE [JBossEntityResolver] resolvePublicID, publicId=urn:jboss:aop-beans:1.0
                      1718 TRACE [JBossEntityResolver] Found entity from publicId=urn:jboss:aop-beans:1.0 fileName=aop-beans_1_0.xsd
                      1718 TRACE [JBossEntityResolver] schema/aop-beans_1_0.xsd maps to URL: file:/C:/cygwin/home/Kabir/sourcecontrol/microcontainer/aop-mc-int/ta
                      rget/classes/schema/aop-beans_1_0.xsd
                      1718 TRACE [DefaultSchemaResolver] Resolved schema using namespace as publicId and schemaLocation as systemId
                      1718 TRACE [DefaultSchemaResolver] getInputSource, nsURI=urn:jboss:aop-beans:1.0, baseURI=null, schemaLocation=null, is=org.xml.sax.InputSou
                      rce@5e1077
                      1718 TRACE [DefaultSchemaResolver] found schema InputSource, nsURI=urn:jboss:aop-beans:1.0, baseURI=null, schemaLocation=null
                      2172 TRACE [DefaultSchemaResolver] getInputSource, nsURI=urn:jboss:aop-beans:1.0, baseURI=null, schemaLocation=urn:jboss:beans-common:2.0
                      2172 TRACE [JBossEntityResolver] resolvePublicID, publicId=urn:jboss:aop-beans:1.0
                      2172 TRACE [JBossEntityResolver] Found entity from publicId=urn:jboss:aop-beans:1.0 fileName=aop-beans_1_0.xsd
                      2172 TRACE [JBossEntityResolver] schema/aop-beans_1_0.xsd maps to URL: file:/C:/cygwin/home/Kabir/sourcecontrol/microcontainer/aop-mc-int/ta
                      rget/classes/schema/aop-beans_1_0.xsd
                      2172 TRACE [DefaultSchemaResolver] Resolved schema using namespace as publicId and schemaLocation as systemId
                      2172 TRACE [DefaultSchemaResolver] getInputSource, nsURI=urn:jboss:aop-beans:1.0, baseURI=null, schemaLocation=urn:jboss:beans-common:2.0, i
                      s=org.xml.sax.InputSource@1f82982
                      2172 TRACE [DefaultSchemaResolver] getInputSource, nsURI=urn:jboss:aop-beans:1.0, baseURI=null, schemaLocation=urn:jboss:beans-common:2.0
                      2172 TRACE [JBossEntityResolver] resolvePublicID, publicId=urn:jboss:aop-beans:1.0
                      2172 TRACE [JBossEntityResolver] Found entity from publicId=urn:jboss:aop-beans:1.0 fileName=aop-beans_1_0.xsd
                      2172 TRACE [JBossEntityResolver] schema/aop-beans_1_0.xsd maps to URL: file:/C:/cygwin/home/Kabir/sourcecontrol/microcontainer/aop-mc-int/ta
                      rget/classes/schema/aop-beans_1_0.xsd
                      2172 TRACE [DefaultSchemaResolver] Resolved schema using namespace as publicId and schemaLocation as systemId
                      2172 TRACE [DefaultSchemaResolver] getInputSource, nsURI=urn:jboss:aop-beans:1.0, baseURI=null, schemaLocation=urn:jboss:beans-common:2.0, i
                      s=org.xml.sax.InputSource@154864a
                      2172 TRACE [DefaultSchemaResolver] getInputSource, nsURI=urn:jboss:aop-beans:1.0, baseURI=null, schemaLocation=urn:jboss:beans-common:2.0
                      2172 TRACE [JBossEntityResolver] resolvePublicID, publicId=urn:jboss:aop-beans:1.0
                      2172 TRACE [JBossEntityResolver] Found entity from publicId=urn:jboss:aop-beans:1.0 fileName=aop-beans_1_0.xsd
                      2172 TRACE [JBossEntityResolver] schema/aop-beans_1_0.xsd maps to URL: file:/C:/cygwin/home/Kabir/sourcecontrol/microcontainer/aop-mc-int/ta
                      rget/classes/schema/aop-beans_1_0.xsd
                      2172 TRACE [DefaultSchemaResolver] Resolved schema using namespace as publicId and schemaLocation as systemId
                      2172 TRACE [DefaultSchemaResolver] getInputSource, nsURI=urn:jboss:aop-beans:1.0, baseURI=null, schemaLocation=urn:jboss:beans-common:2.0, i
                      s=org.xml.sax.InputSource@1742700
                      2172 TRACE [DefaultSchemaResolver] getInputSource, nsURI=urn:jboss:aop-beans:1.0, baseURI=null, schemaLocation=urn:jboss:beans-common:2.0
                      2172 TRACE [JBossEntityResolver] resolvePublicID, publicId=urn:jboss:aop-beans:1.0
                      2172 TRACE [JBossEntityResolver] Found entity from publicId=urn:jboss:aop-beans:1.0 fileName=aop-beans_1_0.xsd
                      2187 TRACE [JBossEntityResolver] schema/aop-beans_1_0.xsd maps to URL: file:/C:/cygwin/home/Kabir/sourcecontrol/microcontainer/aop-mc-int/ta
                      rget/classes/schema/aop-beans_1_0.xsd
                      2203 TRACE [DefaultSchemaResolver] Resolved schema using namespace as publicId and schemaLocation as systemId
                      2203 TRACE [DefaultSchemaResolver] getInputSource, nsURI=urn:jboss:aop-beans:1.0, baseURI=null, schemaLocation=urn:jboss:beans-common:2.0, i
                      s=org.xml.sax.InputSource@17431b9
                      2203 TRACE [DefaultSchemaResolver] getInputSource, nsURI=urn:jboss:aop-beans:1.0, baseURI=null, schemaLocation=urn:jboss:beans-common:2.0
                      2203 TRACE [JBossEntityResolver] resolvePublicID, publicId=urn:jboss:aop-beans:1.0
                      2203 TRACE [JBossEntityResolver] Found entity from publicId=urn:jboss:aop-beans:1.0 fileName=aop-beans_1_0.xsd
                      2203 TRACE [JBossEntityResolver] schema/aop-beans_1_0.xsd maps to URL: file:/C:/cygwin/home/Kabir/sourcecontrol/microcontainer/aop-mc-int/ta
                      rget/classes/schema/aop-beans_1_0.xsd
                      2203 TRACE [DefaultSchemaResolver] Resolved schema using namespace as publicId and schemaLocation as systemId
                      


                      BTW I did not register urn:jboss:beans-common:2.0 anywhere yet, it returns the wrong thing before it gets that far

                      • 39. Re: Implementing JAXB style parsing for aop-mc-int
                        Kabir Khan Master

                        Maybe the way I did redefine in bean-deployer_2_0.xsd is wrong as well? Having set breakpoints similar to the ones in shown stack trace they do not get called, so I guess no validation is done of the schema when using jaxb?

                        • 40. Re: Implementing JAXB style parsing for aop-mc-int
                          Adrian Brock Master

                           

                          "kabir.khan@jboss.com" wrote:
                          Maybe the way I did redefine in bean-deployer_2_0.xsd is wrong as well? Having set breakpoints similar to the ones in shown stack trace they do not get called, so I guess no validation is done of the schema when using jaxb?


                          Not unless you enable schema validation.

                          For the rest, you need to speak to Alex about what the ScheamResolver is doing
                          (i.e. caching by namespace uri instead of the schema location when it is available).
                          There's already a thread on a similar issue from about a year ago.

                          • 41. Re: Implementing JAXB style parsing for aop-mc-int
                            Alexey Loubyansky Master

                            There is a bug in the DefaultSchemaResolver that I am going to fix. But there is another issue you are going to run into after that. I.e. redefine can only be used with schemas with the same targetNamespace or with no targetNamespace. So, in your example you'll get an error like

                            org.jboss.xb.binding.JBossXBRuntimeException: -1:-1 10:18 src-redefine.3.1: The targetNamespace of the referenced schema, currently 'urn:jboss:beans-common:2.0', must be identical to that of the redefining schema, currently 'urn:jboss:aop-beans:1.0'.
                             at org.jboss.xb.binding.sunday.unmarshalling.XsdBinderTerminatingErrorHandler.handleError(XsdBinderTerminatingErrorHandler.java:40)
                             at org.apache.xerces.impl.xs.XMLSchemaLoader.reportDOMFatalError(Unknown Source)
                             at org.apache.xerces.impl.xs.XSLoaderImpl.loadURI(Unknown Source)
                             at org.jboss.xb.binding.Util.loadSchema(Util.java:367)


                            PS: I saw you also tried the namespace as the schemaLocation, it should be the filename.

                            • 42. Re: Implementing JAXB style parsing for aop-mc-int
                              Adrian Brock Master

                              jboss-beans-common shouldn't have a namespace
                              I've said that every time I've mentioned this schema :-(

                              Anyway, I've reverted the xsd:redefine until the problem is fixed.

                              • 43. Re: Implementing JAXB style parsing for aop-mc-int
                                Alexey Loubyansky Master

                                I've fixed JBossEntityResolver in common-core. Issue http://jira.jboss.com/jira/browse/JBCOMMON-43 I left it open for now in case someone has concerns with the fix.
                                Do you need a release of the common[-core] now? Or do you have a workaround with the custom resolver and can wait?

                                In fact, to fix the issue you only need the updated common-core. There have been no related change in XB (except the testcase).

                                • 44. Re: Implementing JAXB style parsing for aop-mc-int
                                  Kabir Khan Master

                                  Thanks, I will try with a local snapshot of common-core.