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());
   }
 }