[jboss-cvs] JBossAS SVN: r84102 - in branches/Branch_5_0/console/src: resources/webconsole.war and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Feb 11 15:06:24 EST 2009


Author: stalep
Date: 2009-02-11 15:06:24 -0500 (Wed, 11 Feb 2009)
New Revision: 84102

Modified:
   branches/Branch_5_0/console/src/main/org/jboss/console/plugins/AOPLister.java
   branches/Branch_5_0/console/src/resources/webconsole.war/AOPMethodChain.jsp
Log:
[JBAOP-700]
Changed AOPLister to use methods that actually works. 
It wont work well with proxies (ClassProxyContainer), but it wont crash either.


Modified: branches/Branch_5_0/console/src/main/org/jboss/console/plugins/AOPLister.java
===================================================================
--- branches/Branch_5_0/console/src/main/org/jboss/console/plugins/AOPLister.java	2009-02-11 19:51:25 UTC (rev 84101)
+++ branches/Branch_5_0/console/src/main/org/jboss/console/plugins/AOPLister.java	2009-02-11 20:06:24 UTC (rev 84102)
@@ -22,10 +22,13 @@
 package org.jboss.console.plugins;
 
 import gnu.trove.TLongObjectHashMap;
+import org.jboss.aop.Advisor;
 import org.jboss.aop.AspectManager;
 import org.jboss.aop.CallerConstructorInfo;
 import org.jboss.aop.CallerMethodInfo;
+import org.jboss.aop.ConstructorInfo;
 import org.jboss.aop.ClassAdvisor;
+import org.jboss.aop.FieldInfo;
 import org.jboss.aop.MethodInfo;
 import org.jboss.aop.advice.AdviceBinding;
 import org.jboss.aop.advice.Interceptor;
@@ -100,7 +103,7 @@
       return nodes;
    }
 
-   TreeNode[] loadDefaultMetaData(ClassAdvisor advisor, String classname) throws Exception
+   TreeNode[] loadDefaultMetaData(Advisor advisor, String classname) throws Exception
    {
       org.jboss.aop.metadata.SimpleMetaData metaData = advisor.getDefaultMetaData();
       return createMetaDataTree(metaData,
@@ -108,7 +111,7 @@
               "AOPDefaultMetaData.jsp?classname=" + classname);
    }
 
-   TreeNode[] loadClassMetaData(ClassAdvisor advisor, String classname) throws Exception
+   TreeNode[] loadClassMetaData(Advisor advisor, String classname) throws Exception
    {
       org.jboss.aop.metadata.SimpleMetaData metaData = advisor.getClassMetaData();
       return createMetaDataTree(metaData,
@@ -116,7 +119,7 @@
               "AOPClassMetaData.jsp?classname=" + classname);
    }
 
-   TreeNode[] loadMethodMetaData(ClassAdvisor advisor, String classname) throws Exception
+   TreeNode[] loadMethodMetaData(Advisor advisor, String classname) throws Exception
    {
       org.jboss.aop.metadata.MethodMetaData metaData = advisor.getMethodMetaData();
 
@@ -144,7 +147,7 @@
       return (TreeNode[]) methods.toArray(new TreeNode[methods.size()]);
    }
 
-   TreeNode[] loadFieldMetaData(ClassAdvisor advisor, String classname) throws Exception
+   TreeNode[] loadFieldMetaData(Advisor advisor, String classname) throws Exception
    {
       org.jboss.aop.metadata.FieldMetaData metaData = advisor.getFieldMetaData();
 
@@ -172,7 +175,7 @@
       return (TreeNode[]) fields.toArray(new TreeNode[fields.size()]);
    }
 
-   TreeNode[] loadConstructorMetaData(ClassAdvisor advisor, String classname) throws Exception
+   TreeNode[] loadConstructorMetaData(Advisor advisor, String classname) throws Exception
    {
       org.jboss.aop.metadata.ConstructorMetaData metaData = advisor.getConstructorMetaData();
 
@@ -200,7 +203,7 @@
       return (TreeNode[]) constructors.toArray(new TreeNode[constructors.size()]);
    }
 
-   TreeNode getMetaData(ClassAdvisor advisor) throws Exception
+   TreeNode getMetaData(Advisor advisor) throws Exception
    {
       ArrayList nodes = new ArrayList();
 
@@ -291,7 +294,7 @@
       );
    }
 
-   TreeNode[] getIntroductions(ClassAdvisor advisor) throws Exception
+   TreeNode[] getIntroductions(Advisor advisor) throws Exception
    {
       ArrayList introductions = advisor.getInterfaceIntroductions();
       if (introductions == null || introductions.size() == 0) return null;
@@ -330,17 +333,24 @@
       return field.toString().replaceAll(classname + "." + field.getName(), field.getName());
    }
 
-   public TreeNode[] createAdvisorNodes(ClassAdvisor advisor) throws Exception
+   public TreeNode[] createAdvisorNodes(Advisor advisor) throws Exception
    {
       ArrayList nodes = new ArrayList();
-      populateIntroductions(advisor, nodes);
+      if(advisor != null)
+      {
+        populateIntroductions(advisor, nodes);
 
-      populateConstructors(advisor, nodes);
-      populateMethods(advisor, nodes);
+        if(advisor instanceof ClassAdvisor)
+        {
+          populateConstructors((ClassAdvisor) advisor, nodes);
+          populateMethods((ClassAdvisor) advisor, nodes);
+        }
 
-      populateFields(advisor, nodes);
-      TreeNode metadata = getMetaData(advisor);
-      if (metadata != null) nodes.add(metadata);
+        if(advisor instanceof ClassAdvisor)
+          populateFields((ClassAdvisor) advisor, nodes);
+        TreeNode metadata = getMetaData(advisor);
+        if (metadata != null) nodes.add(metadata);
+      }
 
       return (TreeNode[]) nodes.toArray(new TreeNode[nodes.size()]);
    }
@@ -353,7 +363,7 @@
       for (int i = 0; i < advisor.getAdvisedFields().length; i++)
       {
          Field f = advisor.getAdvisedFields()[i];
-         Interceptor[] chain = advisor.getFieldWriteInterceptors()[i];
+         FieldInfo[] chain = advisor.getFieldWriteInfos();
          if (chain != null && chain.length > 0)
          {
             fieldWriteNodes.add(createTreeNode(
@@ -368,7 +378,7 @@
                     null   // Sub-Resources
             ));
          }
-         chain = advisor.getFieldReadInterceptors()[i];
+         chain = advisor.getFieldReadInfos();
          if (chain != null && chain.length > 0)
          {
             fieldReadNodes.add(createTreeNode(
@@ -439,7 +449,7 @@
       for (int i = 0; i < advisor.getConstructors().length; i++)
       {
          Constructor con = advisor.getConstructors()[i];
-         Interceptor[] chain = advisor.getConstructorInterceptors()[i];
+         ConstructorInfo[] chain = advisor.getConstructorInfos();
          HashMap methodCallers = advisor.getMethodCalledByConInterceptors()[i];
          HashMap conCallers = advisor.getConCalledByConInterceptors()[i];
          if ((chain != null && chain.length > 0) || methodCallers != null || conCallers != null)
@@ -517,7 +527,7 @@
       for (int i = 0; i < keys.length; i++)
       {
          long key = keys[i];
-         MethodInfo method = (MethodInfo) advisor.getMethodInterceptors().get(key);
+         MethodInfo method = (MethodInfo) advisor.getMethodInfo(key);
          HashMap methodCallers = (HashMap) advisor.getMethodCalledByMethodInterceptors().get(key);
          HashMap conCallers = (HashMap) advisor.getConCalledByMethodInterceptors().get(key);
          if (method == null && methodCallers == null) continue;
@@ -586,7 +596,7 @@
       }
    }
 
-   private void populateIntroductions(ClassAdvisor advisor, ArrayList nodes) throws Exception
+   private void populateIntroductions(Advisor advisor, ArrayList nodes) throws Exception
    {
       ArrayList introductions = advisor.getInterfaceIntroductions();
       if (introductions != null && introductions.size() > 0)
@@ -762,7 +772,7 @@
       {
          Map.Entry entry = (Map.Entry) it.next();
          String classname = (String) entry.getKey();
-         ClassAdvisor advisor = (ClassAdvisor) entry.getValue();
+         Advisor advisor = (Advisor) entry.getValue();
          nodes.add(createTreeNode(
                  classname, // name
                  "Class " + classname, // description

Modified: branches/Branch_5_0/console/src/resources/webconsole.war/AOPMethodChain.jsp
===================================================================
--- branches/Branch_5_0/console/src/resources/webconsole.war/AOPMethodChain.jsp	2009-02-11 19:51:25 UTC (rev 84101)
+++ branches/Branch_5_0/console/src/resources/webconsole.war/AOPMethodChain.jsp	2009-02-11 20:06:24 UTC (rev 84102)
@@ -30,7 +30,7 @@
     long hash = Long.parseLong(request.getParameter("method"));
 	ClassAdvisor advisor = org.jboss.console.plugins.AOPLister.findAdvisor(classname);
     TLongObjectHashMap methodChains = advisor.getMethodInterceptors();
-    MethodInfo info = (MethodInfo)methodChains.get(hash);
+    MethodInfo info = advisor.getMethodInfo(hash);
     Interceptor[] interceptors = info.interceptors;
     Method method = (Method)advisor.getAdvisedMethods().get(hash);
 %>
@@ -83,4 +83,4 @@
 	</div>
 <!-- footer end -->
 </body>
-</html>
\ No newline at end of file
+</html>




More information about the jboss-cvs-commits mailing list