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"));


Reply via email to