[jboss-cvs] JBossAS SVN: r58250 - projects/aop/trunk/aop/src/main/org/jboss/aop/instrument
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Nov 10 13:01:04 EST 2006
Author: kabir.khan at jboss.com
Date: 2006-11-10 13:00:56 -0500 (Fri, 10 Nov 2006)
New Revision: 58250
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorCallerTransformer.java
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructionTransformer.java
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructorExecutionTransformer.java
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorFieldAccessTransformer.java
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorMethodExecutionTransformer.java
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java
Log:
Pass in classloader to JoinPointGenerator.generateJoinPointClass()
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorCallerTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorCallerTransformer.java 2006-11-10 17:49:55 UTC (rev 58249)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorCallerTransformer.java 2006-11-10 18:00:56 UTC (rev 58250)
@@ -137,7 +137,7 @@
"{" +
" if (" + infoName + " == null && " + generatorName + " != null)" +
" {" +
- " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "();" +
+ " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "(this.getClass().getClassLoader());" +
" }" +
" if (" + infoName + " == null)" +
" { " +
@@ -239,7 +239,7 @@
"{" +
" if (" + infoName + " == null && " + generatorName + " != null)" +
" {" +
- " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "();" +
+ " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "(this.getClass().getClassLoader());" +
" }" +
" if (" + infoName + " == null)" +
" { " +
@@ -331,7 +331,7 @@
code.append("{");
code.append(" if (" + infoName + " == null && " + generatorName + " != null)");
code.append(" {");
- code.append(" " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "();");
+ code.append(" " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "(this.getClass().getClassLoader());");
code.append(" }");
code.append(" if (" + infoName + " == null)");
code.append(" { ");
@@ -406,7 +406,7 @@
"{" +
" if (" + infoName + " == null && " + generatorName + " != null)" +
" {" +
- " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "();" +
+ " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "(this.getClass().getClassLoader());" +
" }" +
" if (" + infoName + " == null)" +
" { " +
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructionTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructionTransformer.java 2006-11-10 17:49:55 UTC (rev 58249)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructionTransformer.java 2006-11-10 18:00:56 UTC (rev 58250)
@@ -147,7 +147,7 @@
"{" +
" if (" + infoName + " == null && " + generatorName + " != null)" +
" {" +
- " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "();" +
+ " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "(this.getClass().getClassLoader());" +
" }" +
" if (" + infoName + " != null)" +
" { " +
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructorExecutionTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructorExecutionTransformer.java 2006-11-10 17:49:55 UTC (rev 58249)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorConstructorExecutionTransformer.java 2006-11-10 18:00:56 UTC (rev 58250)
@@ -220,7 +220,7 @@
"{" +
" if (" + infoName + " == null && " + generatorName + " != null)" +
" {" +
- " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "();" +
+ " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "(this.getClass().getClassLoader());" +
" }" +
" if (" + infoName + " == null)" +
" { " +
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorFieldAccessTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorFieldAccessTransformer.java 2006-11-10 17:49:55 UTC (rev 58249)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorFieldAccessTransformer.java 2006-11-10 18:00:56 UTC (rev 58250)
@@ -264,7 +264,7 @@
"{" +
" if (" + infoName + " == null && " + generatorName + " != null)" +
" {" +
- " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "();" +
+ " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "(this.getClass().getClassLoader());" +
" }" +
" if (" + infoName + " == null)" +
" { " +
@@ -282,7 +282,7 @@
"{" +
" if (" + infoName + " == null && " + generatorName + " != null)" +
" {" +
- " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "();" +
+ " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "(this.getClass().getClassLoader());" +
" }" +
" if (" + infoName + " == null)" +
" { " +
@@ -311,7 +311,7 @@
"{" +
" if (" + infoName + " == null && " + generatorName + " != null)" +
" {" +
- " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "();" +
+ " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "(this.getClass().getClassLoader());" +
" }" +
" if (" + infoName + " == null)" +
" { " +
@@ -329,7 +329,7 @@
"{" +
" if (" + infoName + " == null && " + generatorName + " != null)" +
" {" +
- " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "();" +
+ " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "(this.getClass().getClassLoader());" +
" }" +
" if (" + infoName + " == null)" +
" { " +
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorMethodExecutionTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorMethodExecutionTransformer.java 2006-11-10 17:49:55 UTC (rev 58249)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorMethodExecutionTransformer.java 2006-11-10 18:00:56 UTC (rev 58250)
@@ -307,7 +307,7 @@
"{" +
" if (" + infoName + " == null && " + generatorName + " != null)" +
" {" +
- " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "();" +
+ " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "(this.getClass().getClassLoader());" +
" }" +
" if (" + infoName + " == null)" +
" { " +
@@ -330,7 +330,7 @@
"{" +
" if (" + infoName + " == null && " + generatorName + " != null)" +
" {" +
- " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "();" +
+ " " + generatorName + "." + JoinPointGenerator.GENERATE_JOINPOINT_CLASS + "(this.getClass().getClassLoader());" +
" }" +
" if (" + infoName + " == null)" +
" { " +
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java 2006-11-10 17:49:55 UTC (rev 58249)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java 2006-11-10 18:00:56 UTC (rev 58250)
@@ -145,15 +145,15 @@
/**
* Called by the joinpoint if a interceptors were regenereated
*/
- public synchronized void generateJoinPointClass()
+ public synchronized void generateJoinPointClass(ClassLoader classloader)
{
if (System.getSecurityManager() == null)
{
- GenerateJoinPointClassAction.NON_PRIVILEGED.generateJoinPointClass(this);
+ GenerateJoinPointClassAction.NON_PRIVILEGED.generateJoinPointClass(classloader, this);
}
else
{
- GenerateJoinPointClassAction.PRIVILEGED.generateJoinPointClass(this);
+ GenerateJoinPointClassAction.PRIVILEGED.generateJoinPointClass(classloader, this);
}
}
@@ -161,7 +161,7 @@
* Does the work for generateJoinPointClass()
* @see JoinPointGenerator#generateJoinPointClass()
*/
- private void doGenerateJoinPointClass()
+ private void doGenerateJoinPointClass(ClassLoader classloader)
{
try
{
@@ -171,7 +171,8 @@
return;
}
AspectManager manager = AspectManager.instance();
- ClassPool pool = manager.findClassPool(Thread.currentThread().getContextClassLoader());
+ //ClassPool pool = manager.findClassPool(Thread.currentThread().getContextClassLoader());
+ ClassPool pool = manager.findClassPool(classloader);
GeneratedClassInfo generatedClass = generateJoinpointClass(pool, info);
Class clazz = toClass(pool, generatedClass.getGenerated());
@@ -199,19 +200,15 @@
try
{
obj = ctor.newInstance(new Object[] {info});
+
+ System.out.println("============================");
+ System.out.println(debugClass(new StringBuffer(), clazz));
+ System.out.println("============================");
}
catch (Exception e)
{
StringBuffer sb = new StringBuffer();
- sb.append("\n\t\t" + Modifier.toString(clazz.getModifiers()) + " " + clazz.getName() + " " + clazz.getClassLoader() + "\n\t\t\textends\n");
- clazz = clazz.getSuperclass();
- sb.append("\t\t" + Modifier.toString(clazz.getModifiers()) + " " + clazz.getName() + " " + clazz.getClassLoader() + "\n");
- Field[] fields = clazz.getDeclaredFields();
- for (int i = 0 ; i < fields.length ; i++)
- {
- sb.append("\n\t\t\t" + Modifier.toString(fields[i].getModifiers()) + " " + fields[i].getType().getName() + " " + fields[i].getName() + " " + fields[i].getType().getClassLoader());
- }
- throw new RuntimeException(sb.toString(), e);
+ throw new RuntimeException(debugClass(sb, clazz).toString());
}
for (int i = 0 ; i < aroundSetups.length ; i++)
@@ -226,6 +223,25 @@
return obj;
}
+ private StringBuffer debugClass(StringBuffer sb, Class clazz)
+ {
+ sb.append("\n\t\t" + Modifier.toString(clazz.getModifiers()) + " " + clazz.getName() + " " + clazz.getClassLoader());
+ Field[] fields = clazz.getDeclaredFields();
+ for (int i = 0 ; i < fields.length ; i++)
+ {
+ sb.append("\n\t\t\t" + Modifier.toString(fields[i].getModifiers()) + " " + fields[i].getType().getName() + " " + fields[i].getName() + " " + fields[i].getType().getClassLoader());
+ }
+
+ Class superClass = clazz.getSuperclass();
+ if (superClass != null && superClass != Object.class)
+ {
+ sb.append("\n\t\t\textends\n");
+ debugClass(sb, superClass);
+ }
+ return sb;
+ }
+
+
private static synchronized int getIncrement()
{
return ++increment;
@@ -1483,11 +1499,11 @@
private interface GenerateJoinPointClassAction
{
- void generateJoinPointClass(JoinPointGenerator joinPointGenerator);
+ void generateJoinPointClass(ClassLoader classloader, JoinPointGenerator joinPointGenerator);
GenerateJoinPointClassAction PRIVILEGED = new GenerateJoinPointClassAction()
{
- public void generateJoinPointClass(final JoinPointGenerator joinPointGenerator)
+ public void generateJoinPointClass(final ClassLoader classloader, final JoinPointGenerator joinPointGenerator)
{
try
{
@@ -1495,7 +1511,7 @@
{
public Object run() throws Exception
{
- joinPointGenerator.doGenerateJoinPointClass();
+ joinPointGenerator.doGenerateJoinPointClass(classloader);
return null;
}
});
@@ -1514,9 +1530,9 @@
GenerateJoinPointClassAction NON_PRIVILEGED = new GenerateJoinPointClassAction()
{
- public void generateJoinPointClass(JoinPointGenerator joinPointGenerator)
+ public void generateJoinPointClass(ClassLoader classloader, JoinPointGenerator joinPointGenerator)
{
- joinPointGenerator.doGenerateJoinPointClass();
+ joinPointGenerator.doGenerateJoinPointClass(classloader);
}
};
}
More information about the jboss-cvs-commits
mailing list