From: <pen...@pe...> - 2011-07-29 18:07:44
|
Author: tmorgner Date: 2011-07-29 14:07:37 -0400 (Fri, 29 Jul 2011) New Revision: 14208 Modified: engines/classic/branches/3.8/core/source/org/pentaho/reporting/engine/classic/core/parameters/DefaultReportParameterValidator.java Log: PRD-3541: A empty string counts as <null> for the mandatory and strict-values parameter check. Modified: engines/classic/branches/3.8/core/source/org/pentaho/reporting/engine/classic/core/parameters/DefaultReportParameterValidator.java =================================================================== --- engines/classic/branches/3.8/core/source/org/pentaho/reporting/engine/classic/core/parameters/DefaultReportParameterValidator.java 2011-07-29 18:04:45 UTC (rev 14207) +++ engines/classic/branches/3.8/core/source/org/pentaho/reporting/engine/classic/core/parameters/DefaultReportParameterValidator.java 2011-07-29 18:07:37 UTC (rev 14208) @@ -265,11 +265,15 @@ { for (int i = 0; i < values.length; i++) { - final Object value = values[i]; + Object value = values[i]; if (value != null) { - if (parameterType.isInstance(value) == false) + if ("".equals(value)) { + value = null; + } + else if (parameterType.isInstance(value) == false) + { logger.warn("Parameter validation error: Value cannot be matched due to invalid value type '" + listParameter.getName() + "' with value '" + value + "'"); return new ValidationMessage @@ -368,6 +372,13 @@ return true; } } + if ("".equals(keyFromData)) + { + if (o == null) + { + return true; + } + } if (ObjectUtilities.equal(keyFromData, o)) { return true; |