[jboss-cvs] JBossAS SVN: r70373 - in projects/microcontainer/trunk/aop-mc-int/src: main/org/jboss/aop/microcontainer/beans/metadata and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Mar 4 16:05:38 EST 2008
Author: kabir.khan at jboss.com
Date: 2008-03-04 16:05:37 -0500 (Tue, 04 Mar 2008)
New Revision: 70373
Added:
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AOPDeployment.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AdviceData.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AdviceOrInterceptorData.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AfterAdviceData.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AspectBeanMetaDataFactory.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AspectManagerAwareBeanMetaDataFactory.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AspectManagerUtil.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/BaseInterceptorData.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/BeforeAdviceData.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/BindBeanMetaDataFactory.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowCalled.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowEntry.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowNotCalled.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowStackBeanMetaDataFactory.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/FinallyAdviceData.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/InterceptorBeanMetaDataFactory.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/InterceptorRefData.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/StackBeanMetaDataFactory.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/StackRefData.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/ThrowingAdviceData.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/TypeDefBeanMetaDataFactory.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/package-info.java
Modified:
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/CFlowJaxbAopTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/aop/junit/JBossXBDeployer.java
Log:
[JBAOP-526] Start using the new GenericBeanMetaDataFactory
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AOPDeployment.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AOPDeployment.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AOPDeployment.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,67 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
+import org.jboss.kernel.plugins.deployment.AbstractKernelDeployment;
+import org.jboss.managed.api.annotation.ManagementObject;
+import org.jboss.managed.api.annotation.ManagementProperties;
+import org.jboss.xb.annotations.JBossXmlSchema;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+ at ManagementObject(properties = ManagementProperties.EXPLICIT) // TODO - explicitly add props we want to manage
+ at JBossXmlSchema(namespace="urn:jboss:aop-beans:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
+ at XmlRootElement(name="aop")
+ at XmlType(propOrder={"annotations", "classLoader", "beanFactories", "create", "start", "stop", "destroy", "aliases"})
+public class AOPDeployment extends AbstractKernelDeployment
+{
+ private static final long serialVersionUID = 1L;
+
+
+ @XmlElements
+ ({
+ @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);
+ }
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AdviceData.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AdviceData.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AdviceData.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,46 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import javax.xml.bind.annotation.XmlAttribute;
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class AdviceData extends AdviceOrInterceptorData
+{
+ String adviceMethod;
+
+ public String getAdviceMethod()
+ {
+ return adviceMethod;
+ }
+
+ @XmlAttribute(name="name")
+ public void setAdviceMethod(String method)
+ {
+ this.adviceMethod = method;
+ }
+}
\ No newline at end of file
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AdviceOrInterceptorData.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AdviceOrInterceptorData.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AdviceOrInterceptorData.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlTransient;
+
+import org.jboss.aop.advice.AdviceType;
+import org.jboss.aop.microcontainer.beans.InterceptorEntry;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class AdviceOrInterceptorData extends BaseInterceptorData
+{
+
+ AdviceType type = AdviceType.AROUND;
+
+ @XmlAttribute(name = "aspect")
+ public void setRefName(String name)
+ {
+ super.setRefName(name);
+ }
+
+ public AdviceType getType()
+ {
+ return type;
+ }
+
+ @XmlTransient
+ public void setType(AdviceType type)
+ {
+ this.type = type;
+ }
+
+ @Override
+ public String getBeanClassName()
+ {
+ return InterceptorEntry.class.getName();
+ }
+
+ public String getAdviceMethod()
+ {
+ return null;
+ }
+
+
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AfterAdviceData.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AfterAdviceData.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AfterAdviceData.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,37 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import org.jboss.aop.advice.AdviceType;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class AfterAdviceData extends AdviceData
+{
+ public AfterAdviceData()
+ {
+ setType(AdviceType.AFTER);
+ }
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AspectBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AspectBeanMetaDataFactory.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AspectBeanMetaDataFactory.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,199 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.aop.microcontainer.beans.Aspect;
+import org.jboss.beans.metadata.plugins.AbstractDependencyValueMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
+import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
+import org.jboss.beans.metadata.spi.ValueMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+import org.jboss.xb.annotations.JBossXmlSchema;
+
+/**
+ * AspectBeanMetaDataFactory.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 61194 $
+ */
+ at JBossXmlSchema(namespace="urn:jboss:aop-beans:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
+ at XmlRootElement(name="aspect")
+ at XmlType(propOrder={"aliases", "annotations", "classLoader", "constructor", "properties", "create", "start", "depends", "demands", "supplies", "installs", "uninstalls"})
+public class AspectBeanMetaDataFactory extends AspectManagerAwareBeanMetaDataFactory
+ implements BeanMetaDataFactory
+{
+ private static final long serialVersionUID = 1L;
+
+ private String scope = "PER_VM";
+
+ private String factory;
+
+ String aspectName;
+
+ boolean initialisedName;
+
+ @XmlAttribute
+ public void setScope(String scope)
+ {
+ this.scope = scope;
+ }
+
+ public String getScope()
+ {
+ return scope;
+ }
+
+ @XmlAttribute
+ public void setFactory(String clazz)
+ {
+ this.factory = clazz;
+ if (getBean() != null)
+ {
+ throw new RuntimeException("Cannot set both factory and clazz");
+ }
+ //Meeded to satisfy validation in BeanFactoryHandler.endElement()
+ super.setBean(clazz);
+ }
+
+ public String getFactory()
+ {
+ return factory;
+ }
+
+ @Override
+ @XmlAttribute(name="class")
+ public void setBean(String bean)
+ {
+ if (factory != null)
+ {
+ throw new RuntimeException("Cannot set both factory and clazz");
+ }
+ super.setBean(bean);
+ }
+
+ @Override
+ public List<BeanMetaData> getBeans()
+ {
+ ArrayList<BeanMetaData> result = new ArrayList<BeanMetaData>();
+
+ if (this.name == null)
+ {
+ this.name = super.getBean();
+ }
+
+ //Add the bean factory
+ if (!initialisedName)
+ {
+ aspectName = this.name;
+ this.name = "Factory$" + name;
+ initialisedName = true;
+ }
+ List<BeanMetaData> beans = super.getBeans();
+ if (beans.size() != 1)
+ {
+ throw new RuntimeException("Wrong number of beans" + beans);
+ }
+ BeanMetaData factory = beans.get(0);
+ BeanMetaDataBuilder factoryBuilder = BeanMetaDataBuilder.createBuilder(factory);
+ result.add(factory);
+
+ //Add the Aspect
+ BeanMetaDataBuilder aspectBuilder = BeanMetaDataBuilder.createBuilder(aspectName, Aspect.class.getName());
+ aspectBuilder.addPropertyMetaData("scope", scope);
+ util.setAspectManagerProperty(aspectBuilder, "manager");
+
+ if (this.factory != null)
+ {
+ aspectBuilder.addPropertyMetaData("factory", Boolean.TRUE);
+ }
+ result.add(aspectBuilder.getBeanMetaData());
+
+ if (hasInjectedBeans(factory))
+ {
+ configureWithDependencies(factoryBuilder, aspectBuilder);
+ }
+ else
+ {
+ configureNoDependencies(aspectBuilder);
+ }
+
+ return result;
+ }
+
+ private void configureWithDependencies(BeanMetaDataBuilder factoryBuilder, BeanMetaDataBuilder aspectBuilder)
+ {
+ aspectBuilder.addPropertyMetaData("adviceBean", name);
+
+ factoryBuilder.addInstallWithThis("install", aspectBuilder.getBeanMetaData().getName());
+ factoryBuilder.addUninstall("uninstall", aspectBuilder.getBeanMetaData().getName());
+ }
+
+ private void configureNoDependencies(BeanMetaDataBuilder aspectBuilder)
+ {
+ ValueMetaData inject = aspectBuilder.createInject(name);
+ aspectBuilder.addPropertyMetaData("advice", inject);
+ }
+
+
+ private boolean hasInjectedBeans(BeanMetaData beanMetaData)
+ {
+ ArrayList<ValueMetaData> dependencies = new ArrayList<ValueMetaData>();
+ getDependencies(dependencies, beanMetaData);
+
+ for (ValueMetaData dep : dependencies)
+ {
+ if(!((String)dep.getUnderlyingValue()).startsWith("jboss.kernel:service="))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private void getDependencies(ArrayList<ValueMetaData> dependencies, MetaDataVisitorNode node)
+ {
+ Iterator<? extends MetaDataVisitorNode> children = node.getChildren();
+
+ if (children != null)
+ {
+ while (children.hasNext())
+ {
+ MetaDataVisitorNode child = children.next();
+ if (child instanceof AbstractDependencyValueMetaData)
+ {
+ dependencies.add((AbstractDependencyValueMetaData)child);
+ }
+ getDependencies(dependencies, child);
+ }
+ }
+ }
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AspectManagerAwareBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AspectManagerAwareBeanMetaDataFactory.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AspectManagerAwareBeanMetaDataFactory.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,60 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import javax.xml.bind.annotation.XmlAttribute;
+
+import org.jboss.beans.metadata.spi.factory.GenericBeanFactoryMetaData;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class AspectManagerAwareBeanMetaDataFactory extends GenericBeanFactoryMetaData
+{
+ private static final long serialVersionUID = 1L;
+
+ protected AspectManagerUtil util = new AspectManagerUtil();
+
+ @XmlAttribute(name="manager-bean")
+ public void setManagerBean(String managerBean)
+ {
+ util.setManagerBean(managerBean);
+ }
+
+ public String getManagerBean()
+ {
+ return util.getManagerBean();
+ }
+
+ @XmlAttribute(name="manager-property")
+ public void setManagerProperty(String aspectManagerProperty)
+ {
+ util.setManagerProperty(aspectManagerProperty);
+ }
+
+ public String getManagerProperty()
+ {
+ return util.getManagerProperty();
+ }
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AspectManagerUtil.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AspectManagerUtil.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/AspectManagerUtil.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,74 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+
+import java.io.Serializable;
+
+import org.jboss.beans.metadata.spi.ValueMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class AspectManagerUtil implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+ /** Unless specified use the bean with this name as the aspect manager */
+ protected final static String DEFAULT_ASPECT_MANAGER = "AspectManager";
+
+ /** The bean name of the aspect manager to use */
+ protected String managerBean = DEFAULT_ASPECT_MANAGER;
+
+ /** The property of the aspect manager bean, if any, containing the aspect manager */
+ protected String managerProperty;
+
+
+ public String getManagerBean()
+ {
+ return managerBean;
+ }
+
+ public void setManagerBean(String managerBean)
+ {
+ this.managerBean = managerBean;
+ }
+
+ public String getManagerProperty()
+ {
+ return managerProperty;
+ }
+
+ public void setManagerProperty(String aspectManagerProperty)
+ {
+ this.managerProperty = aspectManagerProperty;
+ }
+
+ public void setAspectManagerProperty(BeanMetaDataBuilder builder, String propertyName)
+ {
+ ValueMetaData value = builder.createInject(managerBean, managerProperty);
+ builder.addPropertyMetaData(propertyName, value);
+ }
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/BaseInterceptorData.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/BaseInterceptorData.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/BaseInterceptorData.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,53 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import javax.xml.bind.annotation.XmlAttribute;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class BaseInterceptorData
+{
+
+ String refName;
+
+ public BaseInterceptorData()
+ {
+ super();
+ }
+
+ public String getRefName()
+ {
+ return refName;
+ }
+
+ @XmlAttribute(name="name")
+ public void setRefName(String name)
+ {
+ this.refName = name;
+ }
+
+ public abstract String getBeanClassName();
+}
\ No newline at end of file
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/BeforeAdviceData.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/BeforeAdviceData.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/BeforeAdviceData.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,37 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import org.jboss.aop.advice.AdviceType;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class BeforeAdviceData extends AdviceData
+{
+ public BeforeAdviceData()
+ {
+ setType(AdviceType.BEFORE);
+ }
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/BindBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/BindBeanMetaDataFactory.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/BindBeanMetaDataFactory.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,156 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.jboss.aop.microcontainer.beans.AspectBinding;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.ValueMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.util.id.GUID;
+import org.jboss.xb.annotations.JBossXmlSchema;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+ at JBossXmlSchema(namespace="urn:jboss:aop-beans:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
+ at XmlRootElement(name="bind")
+public class BindBeanMetaDataFactory extends AspectManagerAwareBeanMetaDataFactory
+{
+ private static final long serialVersionUID = 1L;
+ private String pointcut;
+ private String cflow;
+ private List<BaseInterceptorData> interceptors = new ArrayList<BaseInterceptorData>();
+
+ public BindBeanMetaDataFactory()
+ {
+ }
+
+ @XmlAttribute
+ public void setPointcut(String pointcut)
+ {
+ this.pointcut = pointcut;
+ }
+
+ @XmlAttribute
+ public void setCflow(String cflow)
+ {
+ this.cflow = cflow;
+ }
+
+ @Override
+ public List<BeanMetaData> getBeans()
+ {
+ ArrayList<BeanMetaData> result = new ArrayList<BeanMetaData>();
+
+ //Create AspectBinding
+ if (name == null)
+ {
+ name = GUID.asString();
+ }
+ BeanMetaDataBuilder bindingBuilder = BeanMetaDataBuilder.createBuilder(name, AspectBinding.class.getName());
+ bindingBuilder.addPropertyMetaData("name", name);
+ if (cflow != null)
+ {
+ bindingBuilder.addPropertyMetaData("cflow", cflow);
+ }
+ bindingBuilder.addPropertyMetaData("pointcut", pointcut);
+ util.setAspectManagerProperty(bindingBuilder, "manager");
+ result.add(bindingBuilder.getBeanMetaData());
+
+ if (interceptors.size() > 0)
+ {
+ List<ValueMetaData> bindingInterceptors = bindingBuilder.createList();
+ int i = 0;
+ for (BaseInterceptorData interceptor : interceptors)
+ {
+ String intName = name + "$" + i++;
+ BeanMetaDataBuilder interceptorBuilder = BeanMetaDataBuilder.createBuilder(intName, interceptor.getBeanClassName());
+ util.setAspectManagerProperty(interceptorBuilder, "manager");
+ ValueMetaData injectBinding = interceptorBuilder.createInject(name, null, null, ControllerState.INSTANTIATED);
+ interceptorBuilder.addPropertyMetaData("binding", injectBinding);
+
+ if (interceptor instanceof AdviceOrInterceptorData)
+ {
+ ValueMetaData injectAspect = interceptorBuilder.createInject(interceptor.getRefName());
+ interceptorBuilder.addPropertyMetaData("aspect", injectAspect);
+ if (((AdviceOrInterceptorData)interceptor).getAdviceMethod() != null)
+ {
+ interceptorBuilder.addPropertyMetaData("aspectMethod", ((AdviceOrInterceptorData)interceptor).getAdviceMethod());
+ }
+ interceptorBuilder.addPropertyMetaData("type", ((AdviceOrInterceptorData)interceptor).getType());
+ }
+ else
+ {
+ ValueMetaData injectStack = interceptorBuilder.createInject(interceptor.getRefName());
+ interceptorBuilder.addPropertyMetaData("stack", injectStack);
+ }
+ result.add(interceptorBuilder.getBeanMetaData());
+ ValueMetaData injectInterceptor = bindingBuilder.createInject(intName);
+ bindingInterceptors.add(injectInterceptor);
+ }
+ bindingBuilder.addPropertyMetaData("advices", bindingInterceptors);
+ }
+
+ return result;
+ }
+
+ public void addInterceptor(BaseInterceptorData interceptorData)
+ {
+ interceptors.add(interceptorData);
+ }
+
+
+ @XmlElements
+ ({
+ @XmlElement(name="advice", type=AdviceData.class),
+ @XmlElement(name="around", type=AdviceData.class),
+ @XmlElement(name="before", type=BeforeAdviceData.class),
+ @XmlElement(name="after", type=AfterAdviceData.class),
+ @XmlElement(name="throwing", type=ThrowingAdviceData.class),
+ @XmlElement(name="finally", type=FinallyAdviceData.class),
+ @XmlElement(name="interceptor-ref", type=InterceptorRefData.class),
+ @XmlElement(name="stack-ref", type=StackRefData.class)
+ })
+ public List<BaseInterceptorData> getInterceptors()
+ {
+ return interceptors;
+ }
+
+ public void setInterceptors(List<BaseInterceptorData> interceptors)
+ {
+ this.interceptors = interceptors;
+ }
+
+
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowCalled.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowCalled.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowCalled.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,35 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class CFlowCalled extends CFlowEntry
+{
+ public boolean getCalled()
+ {
+ return true;
+ }
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowEntry.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowEntry.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowEntry.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,56 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import javax.xml.bind.annotation.XmlAttribute;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class CFlowEntry
+{
+ private String expr;
+ private boolean called;
+
+ public String getExpr()
+ {
+ return expr;
+ }
+
+ @XmlAttribute
+ public void setExpr(String expr)
+ {
+ this.expr = expr;
+ }
+
+ public boolean getCalled()
+ {
+ return called;
+ }
+
+ public void setCalled(boolean called)
+ {
+ this.called = called;
+ }
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowNotCalled.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowNotCalled.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowNotCalled.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,35 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class CFlowNotCalled extends CFlowEntry
+{
+ public boolean getCalled()
+ {
+ return false;
+ }
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowStackBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowStackBeanMetaDataFactory.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/CFlowStackBeanMetaDataFactory.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,104 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.jboss.aop.microcontainer.beans.CFlowStack;
+import org.jboss.aop.microcontainer.beans.CFlowStackEntry;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
+import org.jboss.beans.metadata.spi.ValueMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+import org.jboss.xb.annotations.JBossXmlSchema;
+
+/**
+ * AspectBeanMetaDataFactory.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 61194 $
+ */
+ at JBossXmlSchema(namespace="urn:jboss:aop-beans:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
+ at XmlRootElement(name="cflow")
+public class CFlowStackBeanMetaDataFactory extends AspectManagerAwareBeanMetaDataFactory
+ implements BeanMetaDataFactory
+{
+ private static final long serialVersionUID = 1L;
+
+ private List<CFlowEntry> calledEntries = new ArrayList<CFlowEntry>();
+
+ public CFlowStackBeanMetaDataFactory()
+ {
+ }
+
+ @Override
+ public List<BeanMetaData> getBeans()
+ {
+ ArrayList<BeanMetaData> result = new ArrayList<BeanMetaData>();
+
+ //Add the Aspect
+ BeanMetaDataBuilder cflowStackBuilder = BeanMetaDataBuilder.createBuilder(getName(), CFlowStack.class.getName());
+ cflowStackBuilder.addPropertyMetaData("name", getName());
+ util.setAspectManagerProperty(cflowStackBuilder, "manager");
+ result.add(cflowStackBuilder.getBeanMetaData());
+
+ List<ValueMetaData> entryList = cflowStackBuilder.createList(null, ArrayList.class.getName());
+ cflowStackBuilder.addPropertyMetaData("entries", entryList);
+ int i = 0;
+ if (calledEntries != null)
+ {
+ for (CFlowEntry entry : calledEntries)
+ {
+ String entryName = getName() + "$" + i++;
+ BeanMetaDataBuilder entryBuilder = BeanMetaDataBuilder.createBuilder(entryName, CFlowStackEntry.class.getName());
+ entryBuilder.addPropertyMetaData("called", entry.getCalled());
+ entryBuilder.addPropertyMetaData("expr", entry.getExpr());
+ ValueMetaData injectEntry = entryBuilder.createInject(entryName);
+ entryList.add(injectEntry);
+ result.add(entryBuilder.getBeanMetaData());
+ }
+ }
+
+ return result;
+ }
+
+ public List<CFlowEntry> getCalledEntries()
+ {
+ return calledEntries;
+ }
+
+ @XmlElements({
+ @XmlElement(name="called", type=CFlowCalled.class),
+ @XmlElement(name="not-called", type=CFlowNotCalled.class)
+ })
+ public void setCalledEntries(List<CFlowEntry> calledEntries)
+ {
+ this.calledEntries = calledEntries;
+ }
+
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/FinallyAdviceData.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/FinallyAdviceData.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/FinallyAdviceData.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,37 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import org.jboss.aop.advice.AdviceType;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class FinallyAdviceData extends AdviceData
+{
+ public FinallyAdviceData()
+ {
+ setType(AdviceType.FINALLY);
+ }
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/InterceptorBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/InterceptorBeanMetaDataFactory.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/InterceptorBeanMetaDataFactory.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,39 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.jboss.xb.annotations.JBossXmlSchema;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+ at JBossXmlSchema(namespace="urn:jboss:aop-beans:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
+ at XmlRootElement(name="interceptor")
+public class InterceptorBeanMetaDataFactory extends AspectBeanMetaDataFactory
+{
+ private static final long serialVersionUID = 1L;
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/InterceptorRefData.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/InterceptorRefData.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/InterceptorRefData.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,44 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import javax.xml.bind.annotation.XmlAttribute;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class InterceptorRefData extends AdviceOrInterceptorData
+{
+ public InterceptorRefData()
+ {
+ super();
+ }
+
+ @XmlAttribute(name="name")
+ public void setRefName(String name)
+ {
+ super.refName = name;
+ }
+
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/StackBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/StackBeanMetaDataFactory.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/StackBeanMetaDataFactory.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,127 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.jboss.aop.microcontainer.beans.Stack;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.ValueMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+import org.jboss.xb.annotations.JBossXmlSchema;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+ at JBossXmlSchema(namespace="urn:jboss:aop-beans:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
+ at XmlRootElement(name="stack")
+public class StackBeanMetaDataFactory extends AspectManagerAwareBeanMetaDataFactory
+{
+ private static final long serialVersionUID = 1L;
+ private List<BaseInterceptorData> interceptors = new ArrayList<BaseInterceptorData>();
+
+ public StackBeanMetaDataFactory()
+ {
+ }
+
+ @Override
+ public List<BeanMetaData> getBeans()
+ {
+ ArrayList<BeanMetaData> result = new ArrayList<BeanMetaData>();
+
+ //Create Stack
+ BeanMetaDataBuilder stackBuilder = BeanMetaDataBuilder.createBuilder(name, Stack.class.getName());
+ stackBuilder.addPropertyMetaData("name", name);
+ util.setAspectManagerProperty(stackBuilder, "manager");
+ result.add(stackBuilder.getBeanMetaData());
+
+ if (interceptors.size() > 0)
+ {
+ List<ValueMetaData> advices = stackBuilder.createList();
+ int i = 0;
+ for (BaseInterceptorData interceptor : interceptors)
+ {
+ String intName = name + "$" + i++;
+ BeanMetaDataBuilder interceptorBuilder = BeanMetaDataBuilder.createBuilder(intName, interceptor.getBeanClassName());
+ util.setAspectManagerProperty(interceptorBuilder, "manager");
+ interceptorBuilder.addPropertyMetaData("forStack", Boolean.TRUE);
+
+ if (interceptor instanceof AdviceOrInterceptorData)
+ {
+ ValueMetaData injectAspect = interceptorBuilder.createInject(interceptor.getRefName());
+ interceptorBuilder.addPropertyMetaData("aspect", injectAspect);
+ if (((AdviceOrInterceptorData)interceptor).getAdviceMethod() != null)
+ {
+ interceptorBuilder.addPropertyMetaData("aspectMethod", ((AdviceOrInterceptorData)interceptor).getAdviceMethod());
+ }
+ interceptorBuilder.addPropertyMetaData("type", ((AdviceOrInterceptorData)interceptor).getType());
+ }
+ else
+ {
+ ValueMetaData injectStack = interceptorBuilder.createInject(interceptor.getRefName());
+ interceptorBuilder.addPropertyMetaData("stack", injectStack);
+ }
+ result.add(interceptorBuilder.getBeanMetaData());
+ ValueMetaData injectAdvice = stackBuilder.createInject(intName);
+ advices.add(injectAdvice);
+ }
+ stackBuilder.addPropertyMetaData("advices", advices);
+ }
+
+ return result;
+ }
+
+ public void addInterceptor(BaseInterceptorData interceptorData)
+ {
+ interceptors.add(interceptorData);
+ }
+
+ @XmlElements
+ ({
+ @XmlElement(name="advice", type=AdviceData.class),
+ @XmlElement(name="around", type=AdviceData.class),
+ @XmlElement(name="before", type=BeforeAdviceData.class),
+ @XmlElement(name="after", type=AfterAdviceData.class),
+ @XmlElement(name="throwing", type=ThrowingAdviceData.class),
+ @XmlElement(name="finally", type=FinallyAdviceData.class),
+ @XmlElement(name="interceptor-ref", type=InterceptorRefData.class),
+ @XmlElement(name="stack-ref", type=StackRefData.class)
+ })
+ public List<BaseInterceptorData> getInterceptors()
+ {
+ return interceptors;
+ }
+
+ public void setInterceptors(List<BaseInterceptorData> interceptors)
+ {
+ this.interceptors = interceptors;
+ }
+
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/StackRefData.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/StackRefData.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/StackRefData.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,38 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import org.jboss.aop.microcontainer.beans.StackEntry;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class StackRefData extends BaseInterceptorData
+{
+ @Override
+ public String getBeanClassName()
+ {
+ return StackEntry.class.getName();
+ }
+}
\ No newline at end of file
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/ThrowingAdviceData.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/ThrowingAdviceData.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/ThrowingAdviceData.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,37 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import org.jboss.aop.advice.AdviceType;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class ThrowingAdviceData extends AdviceData
+{
+ public ThrowingAdviceData()
+ {
+ setType(AdviceType.THROWING);
+ }
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/TypeDefBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/TypeDefBeanMetaDataFactory.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/TypeDefBeanMetaDataFactory.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,79 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.jboss.aop.microcontainer.beans.TypeDef;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+import org.jboss.xb.annotations.JBossXmlSchema;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+ at JBossXmlSchema(namespace="urn:jboss:aop-beans:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
+ at XmlRootElement(name="typedef")
+public class TypeDefBeanMetaDataFactory extends AspectManagerAwareBeanMetaDataFactory
+{
+ private static final long serialVersionUID = 1L;
+ private String expr;
+
+ public TypeDefBeanMetaDataFactory()
+ {
+ }
+
+ public String getExpr()
+ {
+ return expr;
+ }
+
+ @XmlAttribute
+ public void setExpr(String expr)
+ {
+ this.expr = expr;
+ }
+
+ @Override
+ public List<BeanMetaData> getBeans()
+ {
+ ArrayList<BeanMetaData> beans = new ArrayList<BeanMetaData>();
+
+ BeanMetaDataBuilder typedefBuilder = BeanMetaDataBuilder.createBuilder(getName(), TypeDef.class.getName());
+ typedefBuilder.addPropertyMetaData("name", getName());
+ typedefBuilder.addPropertyMetaData("expr", expr);
+
+ util.setAspectManagerProperty(typedefBuilder, "manager");
+
+ beans.add(typedefBuilder.getBeanMetaData());
+
+ return beans;
+ }
+
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/package-info.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/package-info.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/metadata/package-info.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -0,0 +1,47 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+ at JBossXmlAdaptedTypes
+({
+ @JBossXmlAdaptedType(type=Cardinality.class, valueAdapter=CardinalityValueAdapter.class),
+ @JBossXmlAdaptedType(type=ControllerMode.class, valueAdapter=ControllerModeValueAdapter.class),
+ @JBossXmlAdaptedType(type=ControllerState.class, valueAdapter=ControllerStateValueAdapter.class),
+ @JBossXmlAdaptedType(type=FromContext.class, valueAdapter=FromContextValueAdapter.class),
+ @JBossXmlAdaptedType(type=InjectionOption.class, valueAdapter=InjectionOptionValueAdapter.class),
+ @JBossXmlAdaptedType(type=AutowireType.class, valueAdapter=AutowireTypeValueAdapter.class)
+})
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import org.jboss.beans.metadata.plugins.AutowireTypeValueAdapter;
+import org.jboss.beans.metadata.plugins.CardinalityValueAdapter;
+import org.jboss.beans.metadata.plugins.ControllerModeValueAdapter;
+import org.jboss.beans.metadata.plugins.ControllerStateValueAdapter;
+import org.jboss.beans.metadata.plugins.FromContext;
+import org.jboss.beans.metadata.plugins.FromContextValueAdapter;
+import org.jboss.beans.metadata.plugins.InjectionOption;
+import org.jboss.beans.metadata.plugins.InjectionOptionValueAdapter;
+import org.jboss.beans.metadata.spi.AutowireType;
+import org.jboss.dependency.spi.Cardinality;
+import org.jboss.dependency.spi.ControllerMode;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.xb.annotations.JBossXmlAdaptedType;
+import org.jboss.xb.annotations.JBossXmlAdaptedTypes;
+
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/CFlowJaxbAopTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/CFlowJaxbAopTestCase.xml 2008-03-04 20:49:43 UTC (rev 70372)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/CFlowJaxbAopTestCase.xml 2008-03-04 21:05:37 UTC (rev 70373)
@@ -19,4 +19,4 @@
<bean xmlns="urn:jboss:bean-deployer:2.0" name="Bean" class="org.jboss.test.microcontainer.beans.POJO"/>
-</deployment>
+</aop>
Modified: projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/aop/junit/JBossXBDeployer.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/aop/junit/JBossXBDeployer.java 2008-03-04 20:49:43 UTC (rev 70372)
+++ projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/aop/junit/JBossXBDeployer.java 2008-03-04 21:05:37 UTC (rev 70373)
@@ -23,7 +23,7 @@
import java.net.URL;
-import org.jboss.aop.microcontainer.beans.beanmetadatafactory.AOPDeployment;
+import org.jboss.aop.microcontainer.beans.metadata.AOPDeployment;
import org.jboss.dependency.spi.ControllerMode;
import org.jboss.javabean.plugins.jaxb.JavaBean10;
import org.jboss.javabean.plugins.jaxb.JavaBean20;
More information about the jboss-cvs-commits
mailing list