[jboss-cvs] JBossAS SVN: r60562 - in projects/microcontainer/trunk: kernel/src/main/org/jboss/beans/metadata/plugins and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Feb 15 06:00:24 EST 2007


Author: alesj
Date: 2007-02-15 06:00:24 -0500 (Thu, 15 Feb 2007)
New Revision: 60562

Modified:
   projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/Aspect.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ThisValueMetaData.java
Log:
Moving Controller usage in MetaData to lazy usage - via ControllerContext.getController().

Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/Aspect.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/Aspect.java	2007-02-15 10:36:21 UTC (rev 60561)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/Aspect.java	2007-02-15 11:00:24 UTC (rev 60562)
@@ -28,7 +28,7 @@
 import org.jboss.aop.advice.ScopeUtil;
 import org.jboss.aop.instrument.Untransformable;
 import org.jboss.beans.metadata.plugins.factory.GenericBeanFactory;
-import org.jboss.dependency.spi.Controller;
+import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.kernel.Kernel;
 import org.jboss.kernel.spi.dependency.ConfigureKernelControllerContextAware;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
@@ -57,7 +57,7 @@
    
    protected GenericBeanFactory advice;
 
-   protected Controller controller;
+   protected ControllerContext context;
 
    /** The name of this bean */
    protected String myname;
@@ -180,13 +180,13 @@
    public void setKernelControllerContext(KernelControllerContext context) throws Exception
    {
       myname = (String)context.getName();
-      controller = context.getController();
+      this.context = context;
       kernel = context.getKernel();
    }
 
    public void unsetKernelControllerContext(KernelControllerContext context) throws Exception
    {
-      controller = null;
+      this.context = null;
    }
 
    public void install(GenericBeanFactory factory) throws Exception
@@ -207,7 +207,7 @@
          {
             definition = new ManagedAspectDefinition(aspectDefName, theScope, new GenericBeanAspectFactory(adviceName, advice));
          }
-         else if (adviceBean != null && controller != null)
+         else if (adviceBean != null && context.getController() != null)
          {
             definition = new ManagedAspectDefinition(aspectDefName, theScope, new GenericBeanAspectFactory(aspectDefName, advice), false);
          }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java	2007-02-15 10:36:21 UTC (rev 60561)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java	2007-02-15 11:00:24 UTC (rev 60562)
@@ -22,16 +22,31 @@
 package org.jboss.beans.metadata.plugins;
 
 import java.io.Serializable;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
 
-import org.jboss.beans.metadata.spi.*;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
+import org.jboss.beans.metadata.spi.ClassLoaderMetaData;
+import org.jboss.beans.metadata.spi.ConstructorMetaData;
+import org.jboss.beans.metadata.spi.DemandMetaData;
+import org.jboss.beans.metadata.spi.DependencyMetaData;
+import org.jboss.beans.metadata.spi.InstallMetaData;
+import org.jboss.beans.metadata.spi.LifecycleMetaData;
+import org.jboss.beans.metadata.spi.MetaDataVisitor;
+import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
+import org.jboss.beans.metadata.spi.PropertyMetaData;
+import org.jboss.beans.metadata.spi.SupplyMetaData;
 import org.jboss.dependency.plugins.AbstractDependencyItem;
+import org.jboss.dependency.spi.Controller;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerMode;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.dependency.spi.DependencyItem;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.kernel.spi.dependency.KernelControllerContext;
 import org.jboss.reflect.spi.TypeInfo;
 import org.jboss.util.JBossObject;
 import org.jboss.util.JBossStringBuilder;
@@ -92,8 +107,8 @@
    /** The uninstall operations List<InstallMetaData> */
    protected List<InstallMetaData> uninstalls;
 
-   /** The kernel controller */
-   protected KernelController controller;
+   /** The context */
+   protected transient ControllerContext context;
 
    /**
     * Create a new bean meta data
@@ -438,9 +453,8 @@
    {
       if (visitor.visitorNodeStack().isEmpty() == false || (classLoader != null && classLoader.getClassLoader() != this))
       {
-         KernelControllerContext controllerContext = visitor.getControllerContext();
-         controller = (KernelController) controllerContext.getController();
-         Object name = controllerContext.getName();
+         context = visitor.getControllerContext();
+         Object name = context.getName();
          Object iDependOn = getUnderlyingValue();
          if (name.equals(iDependOn) == false)
          {
@@ -452,11 +466,6 @@
       super.initialVisit(visitor);
    }
 
-   public void setController(KernelController controller)
-   {
-      this.controller = controller;
-   }
-
    protected void addChildren(Set<MetaDataVisitorNode> children)
    {
       super.addChildren(children);
@@ -499,8 +508,9 @@
    @SuppressWarnings("unchecked")
    public Object getValue(TypeInfo info, ClassLoader cl) throws Throwable
    {
-      ControllerContext context = controller.getInstalledContext(name);
-      if (context == null || context.getTarget() == null)
+      Controller controller = context.getController();
+      ControllerContext lookup = controller.getInstalledContext(name);
+      if (lookup == null || lookup.getTarget() == null)
       {
          // possible call for classloader
          if (info == null && classLoader != null && classLoader.getClassLoader() == this)
@@ -509,7 +519,7 @@
          }
          throw new IllegalArgumentException("Bean not yet installed: " + name);
       }
-      Object target = context.getTarget();
+      Object target = lookup.getTarget();
       // TODO - add progression here as well?
       if (info != null && info.getType().isAssignableFrom(target.getClass()) == false)
       {

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java	2007-02-15 10:36:21 UTC (rev 60561)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java	2007-02-15 11:00:24 UTC (rev 60562)
@@ -23,12 +23,11 @@
 
 import org.jboss.beans.metadata.spi.MetaDataVisitor;
 import org.jboss.dependency.plugins.AbstractDependencyItem;
+import org.jboss.dependency.spi.Controller;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.dependency.spi.DependencyItem;
 import org.jboss.dependency.spi.dispatch.AttributeDispatchContext;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.kernel.spi.dependency.KernelControllerContext;
 import org.jboss.reflect.spi.TypeInfo;
 import org.jboss.util.JBossStringBuilder;
 
@@ -40,10 +39,10 @@
  */
 public class AbstractDependencyValueMetaData extends AbstractValueMetaData
 {
-   private static final long serialVersionUID = 1L;
+   private static final long serialVersionUID = 2L;
 
-   /** The controller */
-   protected transient KernelController controller;
+   /** The context */
+   protected transient ControllerContext context;
    
    /** The property name */
    protected String property;
@@ -140,13 +139,14 @@
       ControllerState state = dependentState;
       if (state == null)
          state = ControllerState.INSTALLED;
-      ControllerContext context = controller.getContext(value, state);
-      if (context == null)
+      Controller controller = context.getController();
+      ControllerContext lookup = controller.getContext(value, state);
+      if (lookup == null)
          throw new Error("Should not be here - dependency failed! " + this);
-      Object result = context.getTarget();
-      if (property != null && context instanceof AttributeDispatchContext)
+      Object result = lookup.getTarget();
+      if (property != null && lookup instanceof AttributeDispatchContext)
       {
-         AttributeDispatchContext adc = (AttributeDispatchContext) context;
+         AttributeDispatchContext adc = (AttributeDispatchContext) lookup;
          result = adc.get(property);
       }
       return info != null ? info.convertValue(result) : result;
@@ -154,9 +154,8 @@
 
    public void initialVisit(MetaDataVisitor visitor)
    {
-      KernelControllerContext controllerContext = visitor.getControllerContext();
-      controller = (KernelController) controllerContext.getController();
-      Object name = controllerContext.getName();
+      context = visitor.getControllerContext();
+      Object name = context.getName();
       Object iDependOn = getUnderlyingValue();
       ControllerState whenRequired = whenRequiredState;
       if (whenRequired == null)

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java	2007-02-15 10:36:21 UTC (rev 60561)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java	2007-02-15 11:00:24 UTC (rev 60562)
@@ -23,11 +23,10 @@
 
 import org.jboss.beans.metadata.spi.MetaDataVisitor;
 import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
+import org.jboss.dependency.spi.Controller;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.DependencyItem;
 import org.jboss.kernel.plugins.dependency.ClassContextDependencyItem;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.kernel.spi.dependency.KernelControllerContext;
 import org.jboss.reflect.spi.TypeInfo;
 import org.jboss.util.JBossStringBuilder;
 
@@ -99,13 +98,14 @@
    {
       if (value == null)
       {
-         ControllerContext context = controller.getInstalledContext(info.getType());
-         if (context == null)
+         Controller controller = context.getController();
+         ControllerContext lookup = controller.getInstalledContext(info.getType());
+         if (lookup == null)
          {
             throw new IllegalArgumentException("Possible multiple matching beans, see log for info.");
          }
          // TODO - add progression here, then fix BeanMetaData as well
-         return context.getTarget();
+         return lookup.getTarget();
       }
       return super.getValue(info, cl);
    }
@@ -145,8 +145,7 @@
       {
          if (InjectionType.BY_CLASS.equals(injectionType))
          {
-            KernelControllerContext context = visitor.getControllerContext();
-            controller = (KernelController) context.getController(); // set controller
+            context = visitor.getControllerContext();
 
             // we pop it so that parent node has the same semantics as this one
             // meaning that his current peek is also his parent

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java	2007-02-15 10:36:21 UTC (rev 60561)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractTypeMetaData.java	2007-02-15 11:00:24 UTC (rev 60562)
@@ -24,18 +24,18 @@
 import java.io.Serializable;
 import java.util.Stack;
 
+import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.info.spi.PropertyInfo;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.MetaDataVisitor;
 import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
 import org.jboss.beans.metadata.spi.PropertyMetaData;
-import org.jboss.beans.info.spi.PropertyInfo;
-import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.dependency.spi.Controller;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.dependency.spi.dispatch.AttributeDispatchContext;
 import org.jboss.kernel.plugins.config.Configurator;
 import org.jboss.kernel.spi.config.KernelConfigurator;
-import org.jboss.kernel.spi.dependency.KernelController;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
 import org.jboss.reflect.spi.ClassInfo;
 import org.jboss.util.JBossStringBuilder;
@@ -49,7 +49,7 @@
 public abstract class AbstractTypeMetaData extends AbstractValueMetaData
    implements Serializable
 {
-   private static final long serialVersionUID = 1L;
+   private static final long serialVersionUID = 2L;
 
    /**
     * The type
@@ -57,9 +57,9 @@
    protected String type;
 
    /**
-    * The configurator
+    * The context
     */
-   protected transient KernelController controller;
+   protected transient ControllerContext context;
 
    /**
     * The configurator
@@ -110,7 +110,7 @@
 
    public void initialVisit(MetaDataVisitor visitor)
    {
-      controller = (KernelController)visitor.getControllerContext().getController();
+      context = visitor.getControllerContext();
       configurator = visitor.getControllerContext().getKernel().getConfigurator();
       preparePreinstantiatedLookup(visitor);
       visitor.initialVisit(this);
@@ -149,6 +149,7 @@
       {
          try
          {
+            Controller controller = context.getController();
             ControllerContext context = controller.getContext(beanName, ControllerState.INSTANTIATED);
             if (context != null && context instanceof AttributeDispatchContext)
             {

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ThisValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ThisValueMetaData.java	2007-02-15 10:36:21 UTC (rev 60561)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ThisValueMetaData.java	2007-02-15 11:00:24 UTC (rev 60562)
@@ -23,11 +23,10 @@
 
 import org.jboss.beans.metadata.spi.MetaDataVisitor;
 import org.jboss.dependency.plugins.AbstractDependencyItem;
+import org.jboss.dependency.spi.Controller;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.dependency.spi.DependencyItem;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.kernel.spi.dependency.KernelControllerContext;
 import org.jboss.reflect.spi.TypeInfo;
 
 /**
@@ -38,10 +37,10 @@
  */
 public class ThisValueMetaData extends AbstractValueMetaData
 {
-   private static final long serialVersionUID = 1L;
+   private static final long serialVersionUID = 2L;
 
-   /** The controller */
-   protected transient KernelController controller;
+   /** The context */
+   protected transient ControllerContext context;
 
    /**
     * Create a new dependency value
@@ -52,6 +51,7 @@
    
    public Object getValue(TypeInfo info, ClassLoader cl) throws Throwable
    {
+      Controller controller = context.getController();
       ControllerContext context = controller.getContext(value, ControllerState.INSTANTIATED);
       if (context == null)
          throw new Error("Could not deference this " + this);
@@ -61,9 +61,8 @@
 
    public void initialVisit(MetaDataVisitor visitor)
    {
-      KernelControllerContext controllerContext = visitor.getControllerContext();
-      controller = (KernelController) controllerContext.getController();
-      value = controllerContext.getName();
+      context = visitor.getControllerContext();
+      value = context.getName();
       ControllerState whenRequired = visitor.getContextState();
 
       DependencyItem item = new AbstractDependencyItem(value, value, whenRequired, ControllerState.INSTANTIATED);




More information about the jboss-cvs-commits mailing list