[jboss-dev-forums] [Design of AOP on JBoss (Aspects/JBoss)] - Re: Implementing JAXB style parsing for aop-mc-int

kabir.khan@jboss.com do-not-reply at jboss.com
Tue Feb 26 13:50:32 EST 2008


The output is too long to paste here, but I think this part of the dumped schema is relevant:

  | <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  |             targetNamespace="urn:jboss:aop-beans:1.0"
  |             xmlns="urn:jboss:aop-beans:1.0"
  | >
  | 
  |    <element name="{urn:jboss:aop-beans:1.0}bean" type="{urn:jboss:aop-beans:1.0}abstract-bean-meta-data">
  |    </element>
  |    <element name="{urn:jboss:bean-deployer:2.0}bean" type="{urn:jboss:aop-beans:1.0}abstract-bean-meta-data">
  |    </element>
  | ....
  |    <complexType name="{urn:jboss:aop-beans:1.0}abstract-bean-meta-data" base="xsd:anyType">
  |       <sequence>
  |          <sequence minOccurs="0">
  |             <element name="{urn:jboss:aop-beans:1.0}alias" minOccurs="0" type="{http://www.w3.org/2001/XMLSchema}string">
  |             </element>
  |          </sequence>
  |          <sequence minOccurs="0">
  |             <element name="{urn:jboss:aop-beans:1.0}annotation" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-annotation-meta-data">
  |             </element>
  |          </sequence>
  |          <element name="{urn:jboss:aop-beans:1.0}classloader" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-class-loader-meta-data">
  |          </element>
  |          <element name="{urn:jboss:aop-beans:1.0}constructor" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-constructor-meta-data">
  |          </element>
  |          <sequence minOccurs="0">
  |             <element name="{urn:jboss:aop-beans:1.0}property" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-property-meta-data">
  |             </element>
  |          </sequence>
  |          <element name="{urn:jboss:aop-beans:1.0}create" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-lifecycle-meta-data">
  |          </element>
  |          <element name="{urn:jboss:aop-beans:1.0}start" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-lifecycle-meta-data">
  |          </element>
  |          <element name="{urn:jboss:aop-beans:1.0}stop" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-lifecycle-meta-data">
  |          </element>
  |          <element name="{urn:jboss:aop-beans:1.0}destroy" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-lifecycle-meta-data">
  |          </element>
  |          <sequence minOccurs="0">
  |             <element name="{urn:jboss:aop-beans:1.0}depends" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-dependency-meta-data">
  |             </element>
  |          </sequence>
  |          <sequence minOccurs="0">
  |             <element name="{urn:jboss:aop-beans:1.0}demand" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-demand-meta-data">
  |             </element>
  |          </sequence>
  |          <sequence minOccurs="0">
  |             <element name="{urn:jboss:aop-beans:1.0}supply" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-supply-meta-data">
  |             </element>
  |          </sequence>
  |          <sequence minOccurs="0">
  |             <element name="{urn:jboss:aop-beans:1.0}install" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-install-meta-data">
  |             </element>
  |          </sequence>
  |          <sequence minOccurs="0">
  |             <element name="{urn:jboss:aop-beans:1.0}uninstall" minOccurs="0" type="{urn:jboss:aop-beans:1.0}abstract-install-meta-data">
  |             </element>
  |          </sequence>
  |          <sequence minOccurs="0">
  |             <element name="{urn:jboss:aop-beans:1.0}incallback" minOccurs="0" type="{urn:jboss:aop-beans:1.0}install-callback-meta-data">
  |             </element>
  |          </sequence>
  |          <sequence minOccurs="0">
  |             <element name="{urn:jboss:aop-beans:1.0}uncallback" minOccurs="0" type="{urn:jboss:aop-beans:1.0}uninstall-callback-meta-data">
  |             </element>
  |          </sequence>
  |       </sequence>
  |       <attribute name="autowire-type" type="CDATA" optional="true"/>
  |       <attribute name="abstract" type="{http://www.w3.org/2001/XMLSchema}boolean" optional="true"/>
  |       <attribute name="class" type="{http://www.w3.org/2001/XMLSchema}string" optional="true"/>
  |       <attribute name="mode" type="CDATA" optional="true"/>
  |       <attribute name="autowire-candidate" type="{http://www.w3.org/2001/XMLSchema}boolean" optional="true"/>
  |       <attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" optional="true"/>
  |       <attribute name="parent" type="{http://www.w3.org/2001/XMLSchema}string" optional="true"/>
  |    </complexType>
  | ...
  | 
My AOPDeployment class

  | @JBossXmlSchema(namespace="urn:jboss:aop-beans:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
  | @XmlRootElement(name="aop")
  | @XmlType(propOrder={"annotations", "classLoader", "beanFactories", "create", "start", "stop", "destroy", "aliases"})
  | public class AOPDeployment extends AbstractKernelDeployment
  | {
  |    private static final long serialVersionUID = 1L;
  |    
  |    
  |    @XmlElements
  |    ({
  |       @XmlElement(name="bean", type=AbstractBeanMetaData.class),
  |       @XmlElement(name="bean", namespace="urn:jboss:bean-deployer:2.0", type=AbstractBeanMetaData.class),
  |       @XmlElement(name="beanfactory", type=GenericBeanFactoryMetaData2.class),
  |       @XmlElement(name="beanfactory", namespace="urn:jboss:bean-deployer:2.0", type=GenericBeanFactoryMetaData2.class),
  |       @XmlElement(name="lazy", type=AbstractLazyMetaData.class),
  |       @XmlElement(name="lazy", namespace="urn:jboss:bean-deployer:2.0", type=AbstractLazyMetaData.class),
  |       @XmlElement(name="aspect", type=AspectBeanMetaDataFactory.class),
  |       @XmlElement(name="interceptor", type=InterceptorBeanMetaDataFactory.class),
  |       @XmlElement(name="bind", type=BindBeanMetaDataFactory.class),
  |       @XmlElement(name="stack", type=StackBeanMetaDataFactory.class),
  |       @XmlElement(name="typedef", type=TypeDefBeanMetaDataFactory.class),
  |       @XmlElement(name="cflow-stack", type=CFlowStackBeanMetaDataFactory.class)
  |    })
  |    @XmlAnyElement
  |    public void setBeanFactories(List<BeanMetaDataFactory> beanFactories)
  |    {
  |       super.setBeanFactories(beanFactories);
  |    }
  | }
  | 
If that is not enough, the code is commited and aop-mc-int/src/tests/org.jboss.test.microcontainer.beans.test.AspectSimpleJaxbAopTestCase demonstrates the problem

 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4132285#4132285

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4132285



More information about the jboss-dev-forums mailing list