[jboss-cvs] JBossAS SVN: r59621 - in projects/microcontainer/trunk: kernel/src/main/org/jboss/beans/metadata/plugins and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sun Jan 14 10:17:49 EST 2007
Author: alesj
Date: 2007-01-14 10:17:33 -0500 (Sun, 14 Jan 2007)
New Revision: 59621
Modified:
projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/spi/DispatchContext.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/registry/KernelRegistryEntry.java
Log:
additional DispatchContext re-write
Modified: projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/spi/DispatchContext.java
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/spi/DispatchContext.java 2007-01-14 11:35:14 UTC (rev 59620)
+++ projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/spi/DispatchContext.java 2007-01-14 15:17:33 UTC (rev 59621)
@@ -30,7 +30,7 @@
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
-public interface DispatchContext
+public interface DispatchContext extends ControllerContext
{
/**
* Getter property / attribute
@@ -71,10 +71,4 @@
*/
ClassLoader getClassLoader() throws Throwable;
- /**
- * Get context's target, if available.
- * @return target
- */
- Object getTarget();
-
}
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-01-14 11:35:14 UTC (rev 59620)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java 2007-01-14 15:17:33 UTC (rev 59621)
@@ -21,14 +21,12 @@
*/
package org.jboss.beans.metadata.plugins;
-import org.jboss.beans.info.spi.BeanInfo;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.dependency.plugins.AbstractDependencyItem;
import org.jboss.dependency.spi.ControllerContext;
import org.jboss.dependency.spi.ControllerState;
import org.jboss.dependency.spi.DependencyItem;
-import org.jboss.joinpoint.spi.TargettedJoinpoint;
-import org.jboss.kernel.spi.config.KernelConfigurator;
+import org.jboss.dependency.spi.DispatchContext;
import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.reflect.spi.TypeInfo;
@@ -146,13 +144,10 @@
if (context == null)
throw new Error("Should not be here - dependency failed! " + this);
Object result = context.getTarget();
- if (result != null && property != null)
+ if (property != null && context instanceof DispatchContext)
{
- KernelConfigurator configurator = controller.getKernel().getConfigurator();
- BeanInfo beanInfo = configurator.getBeanInfo(result.getClass());
- TargettedJoinpoint joinpoint = configurator.getPropertyGetterJoinPoint(beanInfo, property);
- joinpoint.setTarget(result);
- result = joinpoint.dispatch();
+ DispatchContext dc = (DispatchContext) context;
+ result = dc.get(property);
}
return info != null ? info.convertValue(result) : result;
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java 2007-01-14 11:35:14 UTC (rev 59620)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java 2007-01-14 15:17:33 UTC (rev 59621)
@@ -222,6 +222,11 @@
{
return execute(new JoinPointCreator()
{
+ public boolean isSecure()
+ {
+ return false;
+ }
+
public TargettedJoinpoint createJoinpoint(ClassLoader cl, KernelConfigurator configurator) throws Throwable
{
return configurator.getPropertyGetterJoinPoint(getBeanInfo(), name);
@@ -275,7 +280,15 @@
final ClassLoader cl = getClassLoader();
TargettedJoinpoint joinpoint = creator.createJoinpoint(cl, configurator);
joinpoint.setTarget(getTarget());
- return KernelControllerContextAction.dispatchJoinPoint(this, joinpoint);
+ // do we need this? - only GenericBeanFactoryPropertydependencyTC is failing
+ if (creator.isSecure())
+ {
+ return KernelControllerContextAction.dispatchJoinPoint(this, joinpoint);
+ }
+ else
+ {
+ return joinpoint.dispatch();
+ }
}
protected abstract class AbstractMetaDataVistor implements MetaDataVisitor, PrivilegedAction<Object>
@@ -477,9 +490,14 @@
}
}
- private interface JoinPointCreator
+ private abstract class JoinPointCreator
{
- TargettedJoinpoint createJoinpoint(ClassLoader cl, KernelConfigurator configurator) throws Throwable;
+ public boolean isSecure()
+ {
+ return true;
+ }
+
+ protected abstract TargettedJoinpoint createJoinpoint(ClassLoader cl, KernelConfigurator configurator) throws Throwable;
}
}
\ No newline at end of file
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/registry/KernelRegistryEntry.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/registry/KernelRegistryEntry.java 2007-01-14 11:35:14 UTC (rev 59620)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/registry/KernelRegistryEntry.java 2007-01-14 15:17:33 UTC (rev 59621)
@@ -46,10 +46,4 @@
*/
void setName(Object name);
- /**
- * Get any target
- *
- * @return the target
- */
- Object getTarget();
}
More information about the jboss-cvs-commits
mailing list