protected Object parseParameter(ReportParameter parameter, String value) throws ProviderException { try { if (parameter.getClassName().equals("java.lang.String")) { return value; } else if (parameter.getClassName().equals("java.lang.Double")) { return new Double(value); } else if (parameter.getClassName().equals("java.lang.Integer")) { return new Integer(value); } else if (parameter.getClassName().equals("java.lang.Long")) { return new Long(value); } else if (parameter.getClassName().equals("java.math.BigDecimal")) { return new BigDecimal(value); } else if (parameter.getClassName().equals("java.util.Date")) { return dateProvider.parseDate(value); } else if (parameter.getClassName().equals("java.sql.Date")) { return dateProvider.parseDate(value); } else if (parameter.getClassName().equals("java.sql.Timestamp")) { long time = dateProvider.parseDate(value).getTime(); return new Timestamp(time); } else if (parameter.getClassName().equals("java.lang.Boolean")) { return new Boolean(value); } } catch (Exception e) { throw new ProviderException(parameter.getName() + " Invalid: " + e.getMessage()); } throw new ProviderException(parameter.getName() + " currently unsupported!"); }
protected void validateParameter(ReportParameter parameter, String value) throws ProviderException { try { if (parameter.getClassName().equals("java.lang.Double")) { new Double(value); } else if (parameter.getClassName().equals("java.lang.Integer")) { new Integer(value); } else if (parameter.getClassName().equals("java.lang.Long")) { new Long(value); } else if (parameter.getClassName().equals("java.math.BigDecimal")) { new BigDecimal(value); } else if (parameter.getClassName().equals("java.util.Date") || parameter.getClassName().equals("java.sql.Date") || parameter.getClassName().equals("java.sql.Timestamp")) { try { dateProvider.parseDate(value); } catch (Exception e) { throw new ProviderException(e.getMessage()); } } } catch (Exception e) { throw new ProviderException(parameter.getDescription() + " Invalid: " + e.getMessage()); } }