You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2011/04/06 21:10:54 UTC

svn commit: r1089578 - in /tapestry/tapestry5/trunk/plastic/src: main/java/org/apache/tapestry5/internal/plastic/ main/java/org/apache/tapestry5/plastic/ test/groovy/org/apache/tapestry5/plastic/ test/java/testsubjects/

Author: hlship
Date: Wed Apr  6 19:10:54 2011
New Revision: 1089578

URL: http://svn.apache.org/viewvc?rev=1089578&view=rev
Log:
TAP5-853: Add MethodInvocation.getParameterCount()

Modified:
    tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/AbstractMethodInvocation.java
    tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/MethodInvocation.java
    tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/MethodAdviceTests.groovy
    tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/ObtainPlasticClass.groovy
    tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/SingleMethod.java

Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/AbstractMethodInvocation.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/AbstractMethodInvocation.java?rev=1089578&r1=1089577&r2=1089578&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/AbstractMethodInvocation.java (original)
+++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/AbstractMethodInvocation.java Wed Apr  6 19:10:54 2011
@@ -89,5 +89,10 @@ public abstract class AbstractMethodInvo
         return bundle.methodDescription.methodName;
     }
 
+    public int getParameterCount()
+    {
+        return bundle.methodDescription.argumentTypes.length;
+    }
+
     protected abstract void proceedToAdvisedMethod();
 }

Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/MethodInvocation.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/MethodInvocation.java?rev=1089578&r1=1089577&r2=1089578&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/MethodInvocation.java (original)
+++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/MethodInvocation.java Wed Apr  6 19:10:54 2011
@@ -79,4 +79,7 @@ public interface MethodInvocation extend
 
     /** Returns the name of the advised method. */
     String getMethodName();
+
+    /** Returns the number of parameters passed to the advised method. */
+    int getParameterCount();
 }

Modified: tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/MethodAdviceTests.groovy
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/MethodAdviceTests.groovy?rev=1089578&r1=1089577&r2=1089578&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/MethodAdviceTests.groovy (original)
+++ tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/MethodAdviceTests.groovy Wed Apr  6 19:10:54 2011
@@ -16,6 +16,9 @@ class MethodAdviceTests extends Abstract
                 didInvoke = true
                 
                 assert it.methodName == "aSingleMethod"
+                assert it.parameterCount == 1
+                
+                assert it.getParameter(0) == 123
                 
                 it.proceed()                
             } as MethodAdvice)
@@ -31,7 +34,7 @@ class MethodAdviceTests extends Abstract
 
         when:
 
-        o.aSingleMethod()
+        o.aSingleMethod(123)
 
         then:
 

Modified: tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/ObtainPlasticClass.groovy
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/ObtainPlasticClass.groovy?rev=1089578&r1=1089577&r2=1089578&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/ObtainPlasticClass.groovy (original)
+++ tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/plastic/ObtainPlasticClass.groovy Wed Apr  6 19:10:54 2011
@@ -43,7 +43,7 @@ class ObtainPlasticClass extends Specifi
 
         expect:
         methods.size() == 1
-        methods.first().description.toString() == "public void aSingleMethod()"
+        methods.first().description.toString() == "public void aSingleMethod(int)"
     }
 
     def "static methods are ignored"() {

Modified: tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/SingleMethod.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/SingleMethod.java?rev=1089578&r1=1089577&r2=1089578&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/SingleMethod.java (original)
+++ tapestry/tapestry5/trunk/plastic/src/test/java/testsubjects/SingleMethod.java Wed Apr  6 19:10:54 2011
@@ -16,7 +16,7 @@ package testsubjects;
 
 public class SingleMethod
 {
-    public void aSingleMethod()
+    public void aSingleMethod(int value)
     {
     }
 }