Author: chris.laprun(a)jboss.com
Date: 2009-06-17 17:24:28 -0400 (Wed, 17 Jun 2009)
New Revision: 13469
Modified:
modules/common/trunk/common/src/main/java/org/jboss/portal/common/util/ParameterValidation.java
modules/common/trunk/common/src/test/java/org/jboss/portal/test/common/util/ParameterValidationTestCase.java
Log:
- Added VALID_ASCII_CLASS_NAME to detect ASCII class names in validation.
Modified:
modules/common/trunk/common/src/main/java/org/jboss/portal/common/util/ParameterValidation.java
===================================================================
---
modules/common/trunk/common/src/main/java/org/jboss/portal/common/util/ParameterValidation.java 2009-06-17
21:22:49 UTC (rev 13468)
+++
modules/common/trunk/common/src/main/java/org/jboss/portal/common/util/ParameterValidation.java 2009-06-17
21:24:28 UTC (rev 13469)
@@ -37,6 +37,7 @@
{
public final static Pattern CSS_DISTANCE =
Pattern.compile("\\d+\\W*(em|ex|px|in|cm|mm|pt|pc|%)?");
public final static Pattern XSS_CHECK =
Pattern.compile("([^<>\\(\\)=\\\\](?<!%5C))*",
Pattern.CASE_INSENSITIVE);
+ public final static Pattern VALID_ASCII_CLASS_NAME =
Pattern.compile("([a-z][a-z0-9_]*\\.)*[A-Z][A-Za-z0-9_$]*");
/**
* Implements a behavior to be executed in case a value fails to be validated. Uses
the Chain of responsibility
Modified:
modules/common/trunk/common/src/test/java/org/jboss/portal/test/common/util/ParameterValidationTestCase.java
===================================================================
---
modules/common/trunk/common/src/test/java/org/jboss/portal/test/common/util/ParameterValidationTestCase.java 2009-06-17
21:22:49 UTC (rev 13468)
+++
modules/common/trunk/common/src/test/java/org/jboss/portal/test/common/util/ParameterValidationTestCase.java 2009-06-17
21:24:28 UTC (rev 13469)
@@ -121,6 +121,17 @@
}
+ public void testSanitizeFromPatternClassNameCheck()
+ {
+ assertNull(ParameterValidation.sanitizeFromPattern("foo",
ParameterValidation.VALID_ASCII_CLASS_NAME, null));
+ assertNull(ParameterValidation.sanitizeFromPattern("com.example.foo",
ParameterValidation.VALID_ASCII_CLASS_NAME, null));
+
assertNull(ParameterValidation.sanitizeFromPattern("com.example.foo.1Foo",
ParameterValidation.VALID_ASCII_CLASS_NAME, null));
+ assertEquals("Foo",
ParameterValidation.sanitizeFromPattern("Foo",
ParameterValidation.VALID_ASCII_CLASS_NAME, null));
+ assertEquals("com.example.Foo",
ParameterValidation.sanitizeFromPattern("com.example.Foo",
ParameterValidation.VALID_ASCII_CLASS_NAME, null));
+ assertEquals("com.example.Foo$_1",
ParameterValidation.sanitizeFromPattern("com.example.Foo$_1",
ParameterValidation.VALID_ASCII_CLASS_NAME, null));
+ assertEquals("com2.example.Foo$_1",
ParameterValidation.sanitizeFromPattern("com2.example.Foo$_1",
ParameterValidation.VALID_ASCII_CLASS_NAME, null));
+ }
+
public void testSanitizeFromValuesNullValue()
{
String defaultValue = "default";
Show replies by date