[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