[jboss-cvs] JBossAS SVN: r59377 - in projects/aop/trunk/aop/src/main/org/jboss/aop: . proxy/container util
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jan 5 13:23:21 EST 2007
Author: kabir.khan at jboss.com
Date: 2007-01-05 13:23:16 -0500 (Fri, 05 Jan 2007)
New Revision: 59377
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/Advisor.java
projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/AOPProxyFactoryParameters.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/ContainerProxyCacheKey.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
projects/aop/trunk/aop/src/main/org/jboss/aop/util/ClassInfoMethodHashing.java
Log:
Fixes to get aop/mc integration working following new metadata crossover
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/Advisor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/Advisor.java 2007-01-05 17:34:51 UTC (rev 59376)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/Advisor.java 2007-01-05 18:23:16 UTC (rev 59377)
@@ -611,9 +611,9 @@
* FIXME why does this have java.lang.Object signature?
* @param metadata the metadata
*/
- public void setMetadata(/*MetaData*/ Object metadata)
+ public void setMetadata(MetaData metadata)
{
- this.metadata = (MetaData) metadata;
+ this.metadata = metadata;
}
public String getName()
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/AOPProxyFactoryParameters.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/AOPProxyFactoryParameters.java 2007-01-05 17:34:51 UTC (rev 59376)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/AOPProxyFactoryParameters.java 2007-01-05 18:23:16 UTC (rev 59377)
@@ -21,10 +21,8 @@
*/
package org.jboss.aop.proxy.container;
-import java.lang.reflect.Constructor;
-
import org.jboss.aop.metadata.SimpleMetaData;
-//import org.jboss.repository.spi.MetaDataContext;
+import org.jboss.metadata.spi.MetaData;
/**
*
@@ -35,9 +33,8 @@
{
private Class proxiedClass;
private Object target;
- //FIXME convert back to MetaDataContext once the mc 2.0 has been released
- //private MetaData metaDataContext;
- private Object metaDataContext;
+ private MetaData metaData;
+ private boolean metaDataHasInstanceLevelData;
private Class[] interfaces;
private AOPProxyFactoryMixin[] mixins;
private boolean objectAsSuperClass;
@@ -54,21 +51,24 @@
Object target,
Class[] interfaces,
AOPProxyFactoryMixin[] mixins,
- Object context,
+ MetaData metaData,
+ boolean metaDataHasInstanceLevelData,
boolean objectAsSuperClass,
SimpleMetaData simpleMetaData,
ContainerCache containerCache,
Class[] ctorSignature,
Object[] ctorArguments)
{
+ this.proxiedClass = proxiedClass;
+ this.target = target;
this.interfaces = interfaces;
- this.metaDataContext = context;
+ this.mixins = mixins;
+ this.metaData = metaData;
+ this.metaDataHasInstanceLevelData = metaDataHasInstanceLevelData;
this.objectAsSuperClass = objectAsSuperClass;
- this.proxiedClass = proxiedClass;
- this.target = target;
this.simpleMetaData = simpleMetaData;
this.containerCache = containerCache;
- setCtor(ctorSignature, ctorArguments);
+ setCtor(ctorSignature, ctorArguments);
}
public Class[] getInterfaces()
@@ -81,14 +81,14 @@
this.interfaces = interfaces;
}
- public Object getMetaDataContext()
+ public MetaData getMetaData()
{
- return metaDataContext;
+ return metaData;
}
- public void setMetaDataContext(Object metaDataContext)
+ public void setMetaData(MetaData metaData)
{
- this.metaDataContext = metaDataContext;
+ this.metaData = metaData;
}
public boolean isObjectAsSuperClass()
@@ -156,6 +156,16 @@
return ctor;
}
+ public boolean getMetaDataHasInstanceLevelData()
+ {
+ return metaDataHasInstanceLevelData;
+ }
+
+ public void setMetaDataHasInstanceLevelData(boolean metaDataHasInstanceLevelData)
+ {
+ this.metaDataHasInstanceLevelData = metaDataHasInstanceLevelData;
+ }
+
public void setCtor(Class[] ctorSignature, Object[] ctorArguments)
{
boolean haveSig = (ctorSignature != null && ctorSignature.length > 0);
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-01-05 17:34:51 UTC (rev 59376)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerCache.java 2007-01-05 18:23:16 UTC (rev 59377)
@@ -30,6 +30,7 @@
import org.jboss.aop.introduction.InterfaceIntroduction;
import org.jboss.aop.metadata.SimpleMetaData;
//import org.jboss.repository.spi.MetaDataContext;
+import org.jboss.metadata.spi.MetaData;
/**
*
@@ -51,30 +52,41 @@
Class[] interfaces;
AOPProxyFactoryMixin[] mixins;
- //FIXME - make metaDataContext a MetaDataContext once MC 2.0 is released
- //MetaDataContext metaDataContext;
- Object metaDataContext;
+ MetaData metaData;
+ boolean metaDataHasInstanceLevelData;
SimpleMetaData simpleMetaData;
- private ContainerCache(AspectManager manager, Class proxiedClass, Class[] interfaces, AOPProxyFactoryMixin[] mixins, /*MetaDataContext*/ Object metaDataContext, SimpleMetaData simpleMetaData)
+ private ContainerCache(AspectManager manager, Class proxiedClass, Class[] interfaces, AOPProxyFactoryMixin[] mixins, MetaData metaData, boolean metaDataHasInstanceLevelData, SimpleMetaData simpleMetaData)
{
this.manager = manager;
this.interfaces = interfaces;
this.mixins = mixins;
- this.metaDataContext = metaDataContext;
+ this.metaData = metaData;
this.simpleMetaData = simpleMetaData;
- key = new ContainerProxyCacheKey(proxiedClass, interfaces, mixins, metaDataContext);
+ this.metaDataHasInstanceLevelData = metaDataHasInstanceLevelData;
+ key = new ContainerProxyCacheKey(proxiedClass, interfaces, mixins, metaData);
}
- public static ContainerCache initialise(AspectManager manager, Class proxiedClass, /*MetaDataContext*/ Object metaDataContext)
+ public static ContainerCache initialise(AspectManager manager, Class proxiedClass, MetaData metaData, boolean metaDataHasInstanceLevelData)
{
- return initialise(manager, proxiedClass, null, null, metaDataContext, null);
+ return initialise(manager, proxiedClass, null, null, metaData, metaDataHasInstanceLevelData, null);
}
+
+ public static ContainerCache initialise(AspectManager manager, AOPProxyFactoryParameters params)
+ {
+ return initialise(
+ manager,
+ params.getProxiedClass(),
+ params.getInterfaces(),
+ params.getMixins(),
+ params.getMetaData(),
+ params.getMetaDataHasInstanceLevelData(),
+ params.getSimpleMetaData());
+ }
- //FIXME - make metaDataContext a MetaDataContext once MC 2.0 is released
- public static ContainerCache initialise(AspectManager manager, Class proxiedClass, Class[] interfaces, AOPProxyFactoryMixin[] mixins, /*MetaDataContext*/ Object metaDataContext, SimpleMetaData simpleMetaData)
+ 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, metaDataContext, simpleMetaData);
+ ContainerCache factory = new ContainerCache(manager, proxiedClass, interfaces, mixins, metaData, metaDataHasInstanceLevelData, simpleMetaData);
synchronized (mapLock)
{
factory.initClassContainer();
@@ -115,7 +127,7 @@
public boolean requiresInstanceAdvisor()
{
- return hasInterfaceIntroductions() || hasMixins() || metaDataContext != null || simpleMetaData != null;
+ return hasInterfaceIntroductions() || hasMixins() || (metaData!= null && metaDataHasInstanceLevelData) || simpleMetaData != null;
}
public boolean isAdvised()
@@ -248,7 +260,7 @@
introduction = getInterfaceIntroduction();
}
- instanceContainer = InstanceProxyContainer.createInstanceProxyContainer(classAdvisor, introduction, metaDataContext);
+ instanceContainer = InstanceProxyContainer.createInstanceProxyContainer(classAdvisor, introduction, metaData);
}
}
}
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyCacheKey.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyCacheKey.java 2007-01-05 17:34:51 UTC (rev 59376)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyCacheKey.java 2007-01-05 18:23:16 UTC (rev 59377)
@@ -26,6 +26,8 @@
import java.util.Arrays;
import java.util.Comparator;
+import org.jboss.metadata.spi.MetaData;
+
//import org.jboss.repository.spi.MetaDataContext;
/**
@@ -42,9 +44,7 @@
private WeakReference clazzRef;
private WeakReference[] addedInterfaces = EMTPY_WR_ARRAY;
- //FIXME convert back to MetaDataContext once the mc 2.0 has been released
- //private MetaDataContext metaDataContext;
- private Object metaDataContext;
+ private MetaData metaData;
private AOPProxyFactoryMixin[] addedMixins = EMPTY_MIXIN_ARRAY;
private int hashcode = 0;
@@ -54,17 +54,16 @@
this.clazzRef = new WeakReference(clazz);
}
- //public ContainerProxyCacheKey(Class clazz, Class[] addedInterfaces, MetaDataContext metaDataContext)
- public ContainerProxyCacheKey(Class clazz, Class[] addedInterfaces, Object metaDataContext)
+ public ContainerProxyCacheKey(Class clazz, Class[] addedInterfaces, MetaData metaData)
{
this(clazz);
this.addedInterfaces = ContainerCacheUtil.getSortedWeakReferenceForInterfaces(addedInterfaces);
- this.metaDataContext = metaDataContext;
+ this.metaData = metaData;
}
- public ContainerProxyCacheKey(Class clazz, Class[] addedInterfaces, AOPProxyFactoryMixin[] addedMixins, Object metaDataContext)
+ public ContainerProxyCacheKey(Class clazz, Class[] addedInterfaces, AOPProxyFactoryMixin[] addedMixins, MetaData metaData)
{
- this(clazz, addedInterfaces, metaDataContext);
+ this(clazz, addedInterfaces, metaData);
if (addedMixins != null)
{
@@ -141,9 +140,9 @@
hashcode = sb.toString().hashCode();
- if (metaDataContext != null)
+ if (metaData != null)
{
- hashcode += metaDataContext.hashCode();
+ hashcode += metaData.hashCode();
}
}
@@ -177,12 +176,12 @@
private boolean compareMetadataContext(ContainerProxyCacheKey other)
{
- if (this.metaDataContext == null && other.metaDataContext == null)
+ if (this.metaData == null && other.metaData == null)
{
}
- else if ((this.metaDataContext != null && other.metaDataContext != null))
+ else if ((this.metaData != null && other.metaData != null))
{
- if (!this.metaDataContext.equals(other.metaDataContext))
+ if (!this.metaData.equals(other.metaData))
{
return false;
}
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-01-05 17:34:51 UTC (rev 59376)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/GeneratedAOPProxyFactory.java 2007-01-05 18:23:16 UTC (rev 59377)
@@ -38,23 +38,6 @@
{
public Object createAdvisedProxy(AOPProxyFactoryParameters params)
{
-// return createAdvisedProxy(
-// params.isObjectAsSuperClass(),
-// params.getProxiedClass(),
-// params.getInterfaces(),
-// params.getMixins(),
-// params.getSimpleMetaData(),
-// params.getTarget(),
-// params.getMetaDataContext(),
-// params.getContainerCache(),
-// params.getCtor(),
-// params.getCtorArguments());
-// }
-//
-// //FIXME - make metaDataContext a MetaDataContext once MC 2.0 is released
-// private Object createAdvisedProxy(boolean objectAsSuper, Class proxiedClass, Class[] interfaces,
-// AOPProxyFactoryMixin[] mixins, SimpleMetaData simpleMetaData, Object target, /*MetaDataContext*/Object metaDataContext, ContainerCache containerCache, Constructor ctor, Object[] ctorArguments)
-// {
if (params.getTarget() != null)
{
if (params.getProxiedClass() != null)
@@ -74,13 +57,9 @@
params.setProxiedClass(Object.class);
}
-// return getProxy(objectAsSuper, manager, proxiedClass, interfaces, mixins, simpleMetaData, target, metaDataContext, containerCache, ctor, ctorArguments);
return getProxy(params);
}
- //FIXME - make metaDataContext a MetaDataContext once MC 2.0 is released
-// private Object getProxy(boolean objectAsSuper, AspectManager manager, Class proxiedClass,
-// Class[] interfaces, AOPProxyFactoryMixin[] mixins, SimpleMetaData simpleMetaData, Object target, /*MetaDataContext*/ Object metaDataContext, ContainerCache containerCache, Constructor ctor, Object[] ctorArguments)
private Object getProxy(AOPProxyFactoryParameters params)
{
try
@@ -89,7 +68,7 @@
boolean isAdvised = Advised.class.isAssignableFrom(params.getProxiedClass());
- if (params.getTarget() instanceof Untransformable || (isAdvised && params.getInterfaces() == null && params.getMixins() == null && params.getMetaDataContext() == null && params.getSimpleMetaData() == null))
+ if (params.getTarget() instanceof Untransformable || (isAdvised && params.getInterfaces() == null && params.getMixins() == null && (params.getMetaData() == null || !params.getMetaDataHasInstanceLevelData()) && params.getSimpleMetaData() == null))
{
return params.getTarget();
}
@@ -100,13 +79,7 @@
if (params.getContainerCache() == null)
{
params.setContainerCache(
- ContainerCache.initialise(
- AspectManager.instance(),
- params.getProxiedClass(),
- params.getInterfaces(),
- params.getMixins(),
- params.getMetaDataContext(),
- params.getSimpleMetaData()));
+ ContainerCache.initialise(AspectManager.instance(), params));
}
if (!params.getContainerCache().hasAspects() && !params.getContainerCache().requiresInstanceAdvisor())
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-01-05 17:34:51 UTC (rev 59376)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/InstanceProxyContainer.java 2007-01-05 18:23:16 UTC (rev 59377)
@@ -33,6 +33,7 @@
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
@@ -45,7 +46,7 @@
Advisor classAdvisor;
InstanceAdvisorDelegate delegate;
- public InstanceProxyContainer(String name, ProxyAdvisorDomain instanceDomain, Advisor classAdvisor, /*MetaData*/ Object metaData)
+ public InstanceProxyContainer(String name, ProxyAdvisorDomain instanceDomain, Advisor classAdvisor, MetaData metaData)
{
super(name, instanceDomain);
this.classAdvisor = classAdvisor;
@@ -56,7 +57,7 @@
initialise(classAdvisor.getClazz());
}
- public static InstanceProxyContainer createInstanceProxyContainer(Advisor classAdvisor, InterfaceIntroduction introduction, /*MetaDataContext*/ Object metaDataContext)
+ public static InstanceProxyContainer createInstanceProxyContainer(Advisor classAdvisor, InterfaceIntroduction introduction, MetaData metaData)
{
String name = Domain.getDomainName(classAdvisor.getClazz(), true);
ProxyAdvisorDomain domain = new ProxyAdvisorDomain(classAdvisor.getManager(), name, classAdvisor.getClazz(), true);
@@ -65,7 +66,7 @@
domain.addInterfaceIntroduction(introduction);
}
- InstanceProxyContainer ia = new InstanceProxyContainer(classAdvisor.getName(), domain, classAdvisor, metaDataContext);
+ InstanceProxyContainer ia = new InstanceProxyContainer(classAdvisor.getName(), domain, classAdvisor, metaData);
return ia;
}
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/ClassInfoMethodHashing.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/ClassInfoMethodHashing.java 2007-01-05 17:34:51 UTC (rev 59376)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/ClassInfoMethodHashing.java 2007-01-05 18:23:16 UTC (rev 59377)
@@ -103,7 +103,7 @@
static String getTypeString(TypeInfo cl)
throws Exception
{
- if (cl instanceof PrimitiveInfo)
+ if (cl.getClass().equals(PrimitiveInfo.class))
{
if (cl.equals(PrimitiveInfo.BYTE))
{
More information about the jboss-cvs-commits
mailing list