You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2006/04/23 03:11:50 UTC

svn commit: r396188 - in /tapestry/tapestry5/tapestry-core/trunk/src: main/aspect/org/apache/tapestry/internal/aspects/ test/java/org/apache/tapestry/internal/aspects/

Author: hlship
Date: Sat Apr 22 18:11:48 2006
New Revision: 396188

URL: http://svn.apache.org/viewcvs?rev=396188&view=rev
Log:
Add an aspect that checks method parameters for nulls (unless supressed using an annotation).

Modified:
    tapestry/tapestry5/tapestry-core/trunk/src/main/aspect/org/apache/tapestry/internal/aspects/AbstractCatchNullParametersAspect.aj
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/CatchNullParametersAspectTest.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/NullTarget.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/PartiallySuppressedNullTarget.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/SuppressedNullTarget.java

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/aspect/org/apache/tapestry/internal/aspects/AbstractCatchNullParametersAspect.aj
URL: http://svn.apache.org/viewcvs/tapestry/tapestry5/tapestry-core/trunk/src/main/aspect/org/apache/tapestry/internal/aspects/AbstractCatchNullParametersAspect.aj?rev=396188&r1=396187&r2=396188&view=diff
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/aspect/org/apache/tapestry/internal/aspects/AbstractCatchNullParametersAspect.aj (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/aspect/org/apache/tapestry/internal/aspects/AbstractCatchNullParametersAspect.aj Sat Apr 22 18:11:48 2006
@@ -5,6 +5,8 @@
 /**
  * Adds code to targeted methods and constructors that prevents null values from being passed in as
  * parameters.
+ * 
+ * @author Howard M. Lewis Ship
  */
 @SuppressNullCheck
 public abstract aspect AbstractCatchNullParametersAspect
@@ -63,8 +65,6 @@
                         i + 1,
                         thisJoinPoint.getSignature().toString(),
                         thisJoinPoint.getSourceLocation());
-
-                System.err.println(message);
 
                 throw new IllegalArgumentException(message);
             }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/CatchNullParametersAspectTest.java
URL: http://svn.apache.org/viewcvs/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/CatchNullParametersAspectTest.java?rev=396188&r1=396187&r2=396188&view=diff
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/CatchNullParametersAspectTest.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/CatchNullParametersAspectTest.java Sat Apr 22 18:11:48 2006
@@ -51,6 +51,12 @@
     }
 
     @Test
+    public void equalsAlwaysSuppressed()
+    {
+        new NullTarget("not null").equals(null);
+    }
+
+    @Test
     public void publicMethod()
     {
         NullTarget t = new NullTarget();

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/NullTarget.java
URL: http://svn.apache.org/viewcvs/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/NullTarget.java?rev=396188&r1=396187&r2=396188&view=diff
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/NullTarget.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/NullTarget.java Sat Apr 22 18:11:48 2006
@@ -14,6 +14,11 @@
 
 package org.apache.tapestry.internal.aspects;
 
+/**
+ * Used to test the CatchNullParametersAspect.
+ * 
+ * @author Howard M. Lewis Ship
+ */
 public class NullTarget
 {
     public NullTarget()
@@ -27,6 +32,11 @@
 
     }
 
+    public boolean equals(Object other)
+    {
+        return false;
+    }
+
     // Private method, null check not enforced
 
     private NullTarget(String param1, String param2)
@@ -41,16 +51,16 @@
 
     public void someMethod(String parameter)
     {
-        
+
     }
-    
+
     public void sendNullToPrivate()
     {
         privateMethod(null);
     }
-    
+
     private void privateMethod(String parameter)
     {
-        
+
     }
 }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/PartiallySuppressedNullTarget.java
URL: http://svn.apache.org/viewcvs/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/PartiallySuppressedNullTarget.java?rev=396188&r1=396187&r2=396188&view=diff
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/PartiallySuppressedNullTarget.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/PartiallySuppressedNullTarget.java Sat Apr 22 18:11:48 2006
@@ -16,6 +16,11 @@
 
 import org.apache.tapestry.internal.annotations.SuppressNullCheck;
 
+/**
+ * Used to test the CatchNullParametersAspect.
+ * 
+ * @author Howard M. Lewis Ship
+ */
 public class PartiallySuppressedNullTarget
 {
     @SuppressNullCheck

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/SuppressedNullTarget.java
URL: http://svn.apache.org/viewcvs/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/SuppressedNullTarget.java?rev=396188&r1=396187&r2=396188&view=diff
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/SuppressedNullTarget.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/internal/aspects/SuppressedNullTarget.java Sat Apr 22 18:11:48 2006
@@ -16,6 +16,11 @@
 
 import org.apache.tapestry.internal.annotations.SuppressNullCheck;
 
+/**
+ * Used to test the CatchNullParametersAspect.
+ * 
+ * @author Howard M. Lewis Ship
+ */
 @SuppressNullCheck
 public class SuppressedNullTarget
 {



---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org