[jboss-cvs] JBossAS SVN: r61492 - projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Mar 20 10:41:05 EDT 2007
Author: kabir.khan at jboss.com
Date: 2007-03-20 10:41:05 -0400 (Tue, 20 Mar 2007)
New Revision: 61492
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ClassProxyContainer.java
projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerCache.java
projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/GeneratedAOPProxyFactory.java
projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/InstanceProxyContainer.java
Log:
Remove some commented-out imports
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ClassProxyContainer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ClassProxyContainer.java 2007-03-20 14:35:10 UTC (rev 61491)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ClassProxyContainer.java 2007-03-20 14:41:05 UTC (rev 61492)
@@ -36,7 +36,6 @@
import org.jboss.aop.introduction.InterfaceIntroduction;
import org.jboss.aop.util.ConstructorComparator;
import org.jboss.aop.util.MethodHashing;
-//import org.jboss.repository.spi.MetaDataContext;
/**
* Extension of ClassContainer needed because of Mixins
@@ -54,7 +53,7 @@
{
super(name, manager);
}
-
+
protected void createConstructorTables()
{
Class useClass = clazz;
@@ -88,7 +87,7 @@
try
{
Method[] declaredMethods = clazz.getMethods();
-
+
Class superclass = clazz.getSuperclass();
for (int i = 0; i < declaredMethods.length; i++)
{
@@ -109,13 +108,13 @@
advisedMethods.put(hash, method);
}
}
-
+
for (int i = 0; i < interfaceIntroductions.size(); ++i)
{
InterfaceIntroduction ii = (InterfaceIntroduction) interfaceIntroductions.get(i);
String[] intf = ii.getInterfaces();
addMethodsFromInterfaces(intf);
-
+
ArrayList mixins = ii.getMixins();
if (mixins.size() > 0)
{
@@ -144,7 +143,7 @@
for (int k = 0; k < ifaceMethods.length; k++)
{
long hash = MethodHashing.methodHash(ifaceMethods[k]);
-
+
if (advisedMethods.get(hash) == null)
{
advisedMethods.put(hash, ifaceMethods[k]);
@@ -153,7 +152,7 @@
}
}
}
-
+
public InstanceProxyContainer createInstanceProxyContainer()
{
//This seems to get thrown away with every invocation
@@ -162,7 +161,7 @@
domain.setInheritsDeclarations(true);
InstanceProxyContainer ia = new InstanceProxyContainer(super.getName(), domain, this, null);
-
+
return ia;
}
@@ -178,7 +177,7 @@
{
return null;
}
-
+
public void addPerClassAspect(AspectDefinition def)
{
Advisor parentAdvisor = getParentAdvisor();
@@ -191,19 +190,19 @@
}
/**
- * If this is an instance advisor, will check with parent advisor if the aspect
+ * If this is an instance advisor, will check with parent advisor if the aspect
* is already registered. If so, we should use the one from the parent advisor
*/
public Object getPerClassAspect(AspectDefinition def)
{
Advisor parentAdvisor = getParentAdvisor();
-
+
if (parentAdvisor != null)
{
Object aspect = parentAdvisor.getPerClassAspect(def);
if (aspect != null) return aspect;
}
-
+
return super.getPerClassAspect(def);
}
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerCache.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerCache.java 2007-03-20 14:35:10 UTC (rev 61491)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerCache.java 2007-03-20 14:41:05 UTC (rev 61492)
@@ -18,7 +18,7 @@
* 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.proxy.container;
import java.util.HashMap;
@@ -30,11 +30,10 @@
import org.jboss.aop.Domain;
import org.jboss.aop.introduction.InterfaceIntroduction;
import org.jboss.aop.metadata.SimpleMetaData;
-//import org.jboss.repository.spi.MetaDataContext;
import org.jboss.metadata.spi.MetaData;
/**
- *
+ *
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
* @version $Revision$
*/
@@ -47,7 +46,7 @@
private AspectManager manager;
private ContainerProxyCacheKey key;
/** This will be ClassAdvisor if class has been woven i.e implements Advised, or ClassProxyContainer*/
- private Advisor classAdvisor;
+ private Advisor classAdvisor;
private InstanceProxyContainer instanceContainer;
boolean isClassProxyContainer;
Class[] interfaces;
@@ -67,7 +66,7 @@
this.metaDataHasInstanceLevelData = metaDataHasInstanceLevelData;
key = new ContainerProxyCacheKey(manager.getManagerFQN(), proxiedClass, interfaces, mixins, metaData);
}
-
+
public static ContainerCache initialise(AspectManager manager, Class proxiedClass, MetaData metaData, boolean metaDataHasInstanceLevelData)
{
return initialise(manager, proxiedClass, null, null, metaData, metaDataHasInstanceLevelData, null);
@@ -84,7 +83,7 @@
params.getMetaDataHasInstanceLevelData(),
params.getSimpleMetaData());
}
-
+
private static ContainerCache initialise(AspectManager manager, Class proxiedClass, Class[] interfaces, AOPProxyFactoryMixin[] mixins, MetaData metaData, boolean metaDataHasInstanceLevelData, SimpleMetaData simpleMetaData)
{
ContainerCache factory = new ContainerCache(manager, proxiedClass, interfaces, mixins, metaData, metaDataHasInstanceLevelData, simpleMetaData);
@@ -93,7 +92,7 @@
factory.initClassContainer();
factory.initInstanceContainer();
}
-
+
return factory;
}
@@ -101,7 +100,7 @@
{
return key;
}
-
+
public Advisor getAdvisor()
{
return (instanceContainer != null) ? instanceContainer : classAdvisor;
@@ -125,12 +124,12 @@
}
return classAdvisor.hasAspects();
}
-
+
public boolean requiresInstanceAdvisor()
{
return hasInterfaceIntroductions() || hasMixins() || (metaData!= null && metaDataHasInstanceLevelData) || simpleMetaData != null;
}
-
+
public boolean isAdvised()
{
return Advised.class.isAssignableFrom(key.getClazz());
@@ -140,12 +139,12 @@
{
return interfaces != null && interfaces.length > 0;
}
-
+
private boolean hasMixins()
{
return mixins != null && mixins.length > 0;
}
-
+
private void initClassContainer()
{
if (Advised.class.isAssignableFrom(key.getClazz()))
@@ -171,14 +170,14 @@
}
return null;
}
-
+
private ClassProxyContainer createAndCacheContainer()
{
ClassProxyContainer container = createContainer();
cacheContainer(key, container);
return container;
}
-
+
private ClassProxyContainer createContainer()
{
String name = Domain.getDomainName(key.getClazz(), false);
@@ -187,10 +186,10 @@
ClassProxyContainer container = new ClassProxyContainer(classname /*+ " ClassProxy" + (counter++)*/, domain);
domain.setAdvisor(container);
container.initialise(key.getClazz());
-
+
return container;
}
-
+
private void cacheContainer(ContainerProxyCacheKey key, ClassProxyContainer container)
{
HashMap managerContainers = (HashMap)containerCache.get(key.getClazz());
@@ -201,7 +200,7 @@
}
managerContainers.put(key.getManagerFQN(), container);
}
-
+
private InterfaceIntroduction getInterfaceIntroduction()
{
int introductionLength = (hasInterfaceIntroductions()) ? interfaces.length : 0;
@@ -211,7 +210,7 @@
{
return null;
}
-
+
Class proxiedClass = classAdvisor.getClazz();
Class clazz = (proxiedClass != null) ? proxiedClass : Object.class;
String[] introducedNames = getClassNames(interfaces);
@@ -221,17 +220,17 @@
{
addMixins(intro);
}
-
+
return intro;
}
-
+
private void addMixins(InterfaceIntroduction intro)
{
for (int i = 0 ; i < mixins.length && mixins != null; i++)
{
Class[] mixinInterfaces = mixins[i].getInterfaces();
Class mixinClass = mixins[i].getMixin();
-
+
if (mixinInterfaces == null)
{
throw new RuntimeException("When defining a mixin, interfaces must be defined");
@@ -240,20 +239,20 @@
{
throw new RuntimeException("When defining a mixin, the mixin must be defined");
}
-
+
String[] mixinInterfaceNames = getClassNames(mixinInterfaces);
InterfaceIntroduction.Mixin mixin = new InterfaceIntroduction.Mixin(mixinClass.getName(), mixinInterfaceNames, mixins[i].getConstruction(), false);
intro.addMixin(mixin);
}
}
-
+
private String[] getClassNames(Class[] classes)
{
if (classes == null)
{
return null;
}
-
+
String[] names = new String[classes.length];
for (int i = 0 ; i < classes.length ; i++)
{
@@ -267,7 +266,7 @@
if (requiresInstanceAdvisor())
{
InterfaceIntroduction introduction = null;
- if (hasInterfaceIntroductions() || hasMixins())
+ if (hasInterfaceIntroductions() || hasMixins())
{
introduction = getInterfaceIntroduction();
}
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/GeneratedAOPProxyFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/GeneratedAOPProxyFactory.java 2007-03-20 14:35:10 UTC (rev 61491)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/GeneratedAOPProxyFactory.java 2007-03-20 14:41:05 UTC (rev 61492)
@@ -18,7 +18,7 @@
* 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.proxy.container;
import java.lang.reflect.Constructor;
@@ -26,18 +26,17 @@
import org.jboss.aop.Advised;
import org.jboss.aop.AspectManager;
import org.jboss.aop.instrument.Untransformable;
-//import org.jboss.repository.spi.MetaDataContext;
/**
- *
+ *
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
* @version $Revision$
*/
public class GeneratedAOPProxyFactory implements AOPProxyFactory
{
/**
- * Create a proxy
- *
+ * Create a proxy
+ *
* @param <T> the expected type
* @param target the target
* @param interfaceClass the interface class
@@ -58,7 +57,7 @@
System.out.println("[debug] Created proxy: "+proxy.getClass()+"@"+System.identityHashCode(proxy)+" target: "+target.getClass());
return interfaceClass.cast(proxy);
}
-
+
public Object createAdvisedProxy(AOPProxyFactoryParameters params)
{
if (params.getTarget() != null)
@@ -79,7 +78,7 @@
{
params.setProxiedClass(Object.class);
}
-
+
return getProxy(params);
}
@@ -88,15 +87,15 @@
try
{
Class proxyClass = null;
-
+
boolean isAdvised = Advised.class.isAssignableFrom(params.getProxiedClass());
-
+
if (params.getTarget() instanceof Untransformable || (isAdvised && params.getInterfaces() == null && params.getMixins() == null && (params.getMetaData() == null || !params.getMetaDataHasInstanceLevelData()) && params.getSimpleMetaData() == null))
{
return params.getTarget();
}
-
-
+
+
synchronized (ContainerCache.mapLock)
{
if (params.getContainerCache() == null)
@@ -104,17 +103,17 @@
params.setContainerCache(
ContainerCache.initialise(AspectManager.instance(), params));
}
-
+
if (!params.getContainerCache().hasAspects() && !params.getContainerCache().requiresInstanceAdvisor())
{
return params.getTarget();
}
else
- {
+ {
proxyClass = generateProxy(params);
}
}
-
+
return instantiateAndConfigureProxy(proxyClass, params);
}
catch (Exception e)
@@ -122,14 +121,14 @@
throw new RuntimeException(e);
}
}
-
+
private Class generateProxy(AOPProxyFactoryParameters params) throws Exception
{
Class proxyClass = ContainerProxyFactory.getProxyClass(params.isObjectAsSuperClass(), params.getContainerCache().getKey(), params.getContainerCache().getAdvisor());
-
+
return proxyClass;
}
-
+
// private Object instantiateAndConfigureProxy(Class proxyClass, ContainerCache cache, SimpleMetaData metadata, Object target, Constructor ctor, Object[] ctorArguments) throws Exception
private Object instantiateAndConfigureProxy(Class proxyClass, AOPProxyFactoryParameters params) throws Exception
{
@@ -143,19 +142,19 @@
{
proxy = (AspectManaged)proxyClass.newInstance();
}
-
+
proxy.setAdvisor(params.getContainerCache().getClassAdvisor());
-
+
if (params.getContainerCache().getInstanceContainer() != null)
{
proxy.setInstanceAdvisor(params.getContainerCache().getInstanceContainer());
}
-
+
if (params.getSimpleMetaData() != null)
{
proxy.setMetadata(params.getSimpleMetaData());
}
-
+
if (params.getTarget() != null)
{
((Delegate)proxy).setDelegate(params.getTarget());
@@ -164,7 +163,7 @@
{
((Delegate)proxy).setDelegate(new Object());
}
-
+
return proxy;
}
}
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/InstanceProxyContainer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/InstanceProxyContainer.java 2007-03-20 14:35:10 UTC (rev 61491)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/InstanceProxyContainer.java 2007-03-20 14:41:05 UTC (rev 61492)
@@ -18,7 +18,7 @@
* 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.proxy.container;
import org.jboss.aop.Advisor;
@@ -32,12 +32,11 @@
import org.jboss.aop.introduction.InterfaceIntroduction;
import org.jboss.aop.joinpoint.Joinpoint;
import org.jboss.aop.metadata.SimpleMetaData;
-//import org.jboss.repository.spi.MetaDataContext;
import org.jboss.metadata.spi.MetaData;
/**
* The InstanceAdvisor returned by ClassProxyContainer
- *
+ *
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
* @version $Revision$
*/
@@ -45,7 +44,7 @@
{
Advisor classAdvisor;
InstanceAdvisorDelegate delegate;
-
+
public InstanceProxyContainer(String name, ProxyAdvisorDomain instanceDomain, Advisor classAdvisor, MetaData metaData)
{
super(name, instanceDomain);
@@ -67,7 +66,7 @@
}
InstanceProxyContainer ia = new InstanceProxyContainer(classAdvisor.getName(), domain, classAdvisor, metaData);
-
+
return ia;
}
@@ -75,7 +74,7 @@
{
return classAdvisor;
}
-
+
public Object getPerInstanceAspect(String aspectName)
{
return delegate.getPerInstanceAspect(aspectName);
@@ -215,7 +214,7 @@
info.setUnadvisedMethod(superInfo.getUnadvisedMethod());
}
}
-
+
return info;
}
More information about the jboss-cvs-commits
mailing list