[jboss-cvs] JBossAS SVN: r88707 - projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue May 12 04:14:25 EDT 2009
Author: alesj
Date: 2009-05-12 04:14:24 -0400 (Tue, 12 May 2009)
New Revision: 88707
Modified:
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/DescribeAction.java
Log:
Check for DependencyBuilder in MetaData.
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/DescribeAction.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/DescribeAction.java 2009-05-12 07:54:42 UTC (rev 88706)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/DescribeAction.java 2009-05-12 08:14:24 UTC (rev 88707)
@@ -24,6 +24,8 @@
import java.util.List;
import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.kernel.Kernel;
import org.jboss.kernel.spi.config.KernelConfig;
import org.jboss.kernel.spi.dependency.DependencyBuilder;
import org.jboss.kernel.spi.dependency.DependencyBuilderListItem;
@@ -31,16 +33,35 @@
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.kernel.spi.metadata.KernelMetaDataRepository;
import org.jboss.metadata.spi.MetaData;
-import org.jboss.dependency.spi.ControllerState;
/**
* DescribeAction.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @version $Revision$
*/
public class DescribeAction extends AnnotationsAction
{
+ /**
+ * Get dependency builder.
+ *
+ * @param md the metadata
+ * @param kernel the kernel
+ * @return dependency builder
+ * @throws Throwable for any error
+ */
+ protected DependencyBuilder getDependencyBuilder(MetaData md, Kernel kernel) throws Throwable
+ {
+ DependencyBuilder dependencyBuilder = md.getMetaData(DependencyBuilder.class);
+ if (dependencyBuilder == null)
+ {
+ KernelConfig config = kernel.getConfig();
+ dependencyBuilder = config.getDependencyBuilder();
+ }
+ return dependencyBuilder;
+ }
+
@SuppressWarnings("unchecked")
protected void installActionInternal(KernelControllerContext context) throws Throwable
{
@@ -48,10 +69,10 @@
if (info != null)
{
KernelController controller = (KernelController)context.getController();
- KernelConfig config = controller.getKernel().getConfig();
- DependencyBuilder dependencyBuilder = config.getDependencyBuilder();
- KernelMetaDataRepository repository = controller.getKernel().getMetaDataRepository();
+ Kernel kernel = controller.getKernel();
+ KernelMetaDataRepository repository = kernel.getMetaDataRepository();
MetaData md = repository.getMetaData(context);
+ DependencyBuilder dependencyBuilder = getDependencyBuilder(md, kernel);
// add custom dependencies (e.g. AOP layer).
List<DependencyBuilderListItem> dependencies = dependencyBuilder.getDependencies(info, md);
if (log.isTraceEnabled())
@@ -77,20 +98,22 @@
cleanAnnotations(context);
KernelController controller = (KernelController)context.getController();
- KernelConfig config = controller.getKernel().getConfig();
+ Kernel kernel = controller.getKernel();
+ KernelMetaDataRepository repository = kernel.getMetaDataRepository();
+ MetaData md = repository.getMetaData(context);
+
DependencyBuilder dependencyBuilder;
try
{
- dependencyBuilder = config.getDependencyBuilder();
+ dependencyBuilder = getDependencyBuilder(md, kernel);
}
catch (Throwable e)
{
log.debug("Error while cleaning the annotations: " + e);
return;
}
- KernelMetaDataRepository repository = controller.getKernel().getMetaDataRepository();
- MetaData md = repository.getMetaData(context);
- // add custom dependencies (e.g. AOP layer).
+
+ // remove custom dependencies (e.g. AOP layer).
List<DependencyBuilderListItem> dependencies = dependencyBuilder.getDependencies(info, md);
if (log.isTraceEnabled())
log.trace("Unwind extra dependencies for " + context.getName() + " " + dependencies);
More information about the jboss-cvs-commits
mailing list