[jboss-svn-commits] JBL Code SVN: r27736 - labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/agent/adapter.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jul 8 07:51:40 EDT 2009


Author: adinn
Date: 2009-07-08 07:51:40 -0400 (Wed, 08 Jul 2009)
New Revision: 27736

Modified:
   labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/agent/adapter/InvokeCheckAdapter.java
   labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/agent/adapter/InvokeTriggerAdapter.java
Log:
ensured that class name can be matched wiht or without package specifier in AT/AFTER lcoation specifiers fixes BYTEMAN-10

Modified: labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/agent/adapter/InvokeCheckAdapter.java
===================================================================
--- labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/agent/adapter/InvokeCheckAdapter.java	2009-07-08 11:44:18 UTC (rev 27735)
+++ labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/agent/adapter/InvokeCheckAdapter.java	2009-07-08 11:51:40 UTC (rev 27736)
@@ -114,7 +114,17 @@
             if (calledClass != null) {
                 if (!calledClass.equals(owner)) {
                     // TODO check for unqualified names
-                    return false;
+                    // if the called class has no package qualification and the owner class does
+                    // then we can still match if the unqualified owner name equals the called class
+                    if (calledClass.indexOf('.') >= 0) {
+                        return false;
+                    }
+                    int ownerPackageIdx = owner.lastIndexOf('/');
+                    if (ownerPackageIdx < 0) {
+                        return false;
+                    } else if (!owner.substring(ownerPackageIdx+1).equals(calledClass)) {
+                        return false;
+                    }
                 }
             }
             if (calledMethodDescriptor.length() > 0) {

Modified: labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/agent/adapter/InvokeTriggerAdapter.java
===================================================================
--- labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/agent/adapter/InvokeTriggerAdapter.java	2009-07-08 11:44:18 UTC (rev 27735)
+++ labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/agent/adapter/InvokeTriggerAdapter.java	2009-07-08 11:51:40 UTC (rev 27736)
@@ -149,7 +149,17 @@
             if (calledClass != null) {
                 if (!calledClass.equals(owner)) {
                     // TODO check for unqualified names
-                    return false;
+                    // if the called class has no package qualification and the owner class does
+                    // then we can still match if the unqualified owner name equals the called class
+                    if (calledClass.indexOf('.') >= 0) {
+                        return false;
+                    }
+                    int ownerPackageIdx = owner.lastIndexOf('/');
+                    if (ownerPackageIdx < 0) {
+                        return false;
+                    } else if (!owner.substring(ownerPackageIdx+1).equals(calledClass)) {
+                        return false;
+                    }
                 }
             }
             if (calledMethodDescriptor.length() > 0) {




More information about the jboss-svn-commits mailing list