You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mu...@apache.org on 2009/09/17 01:36:04 UTC

svn commit: r816008 - in /struts/struts2/trunk/plugins/convention/src: main/java/org/apache/struts2/convention/SEOActionNameBuilder.java test/java/org/apache/struts2/convention/SEOActionNameBuilderTest.java

Author: musachy
Date: Wed Sep 16 23:36:03 2009
New Revision: 816008

URL: http://svn.apache.org/viewvc?rev=816008&view=rev
Log:
throw exception when class name equals the action suffix

Modified:
    struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java
    struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/SEOActionNameBuilderTest.java

Modified: struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java?rev=816008&r1=816007&r2=816008&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java (original)
+++ struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java Wed Sep 16 23:36:03 2009
@@ -59,6 +59,9 @@
 
     public String build(String className) {
         String actionName = className;
+        
+        if (actionName.equals(actionSuffix))
+            throw new IllegalStateException("The action name cannot be the same as the action suffix [" + actionSuffix + "]");
 
         // Truncate Action suffix if found
         if (actionName.endsWith(actionSuffix)) {

Modified: struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/SEOActionNameBuilderTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/SEOActionNameBuilderTest.java?rev=816008&r1=816007&r2=816008&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/SEOActionNameBuilderTest.java (original)
+++ struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/SEOActionNameBuilderTest.java Wed Sep 16 23:36:03 2009
@@ -28,6 +28,16 @@
  * </p>
  */
 public class SEOActionNameBuilderTest extends TestCase {
+    public void testEmptyActionName() {
+        SEOActionNameBuilder builder = new SEOActionNameBuilder("true", "_");
+        try {
+            builder.build("Action");
+            fail("Should have failed");
+        } catch (IllegalStateException e) {
+            //ok
+        }
+    }
+    
     public void testBuild() throws Exception {
         SEOActionNameBuilder builder = new SEOActionNameBuilder("true", "_");
         assertEquals("foo", builder.build("Foo"));