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