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