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