protected Map<String, Object> handleParameters(Report report, Map<String, Object> params) { Map<String, Object> handledParams = new HashMap<String, Object>(params); for (ReportParameter reportParameter : report.getReportParameters()) { String paramName = reportParameter.getAlias(); Object parameterValue = handledParams.get(paramName); if (reportParameter instanceof ReportParameterWithDefaultValue) { String parameterDefaultValue = ((ReportParameterWithDefaultValue) reportParameter).getDefaultValue(); if (parameterValue == null && parameterDefaultValue != null) { parameterValue = objectToStringConverter.convertFromString(reportParameter.getParameterClass(), parameterDefaultValue); handledParams.put(paramName, parameterValue); } } if (Boolean.TRUE.equals(reportParameter.getRequired()) && parameterValue == null) { throw new IllegalArgumentException(format("Required report parameter \"%s\" not found", paramName)); } if (!handledParams.containsKey(paramName)) {//make sure map contains all user parameters, even if value == null handledParams.put(paramName, null); } } return handledParams; }
protected Map<String, Object> handleParameters(Report report, Map<String, Object> params) { Map<String, Object> handledParams = new HashMap<String, Object>(params); for (ReportParameter reportParameter : report.getReportParameters()) { String paramName = reportParameter.getAlias(); Object parameterValue = handledParams.get(paramName); if (reportParameter instanceof ReportParameterWithDefaultValue) { String parameterDefaultValue = ((ReportParameterWithDefaultValue) reportParameter).getDefaultValue(); if (parameterValue == null && parameterDefaultValue != null) { parameterValue = objectToStringConverter.convertFromString(reportParameter.getParameterClass(), parameterDefaultValue); handledParams.put(paramName, parameterValue); } } if (Boolean.TRUE.equals(reportParameter.getRequired()) && parameterValue == null) { throw new IllegalArgumentException(format("Required report parameter \"%s\" not found", paramName)); } if (!handledParams.containsKey(paramName)) {//make sure map contains all user parameters, even if value == null handledParams.put(paramName, null); } } return handledParams; }
protected void writeInputParameters(Report report, Element root) { Element reportTemplatesElement = root.addElement("parameters"); if (report.getReportParameters() != null) { for (ReportParameter reportParameter : report.getReportParameters()) { Element reportTemplateElement = reportTemplatesElement.addElement("parameter"); reportTemplateElement.addAttribute("name", reportParameter.getName()); reportTemplateElement.addAttribute("alias", reportParameter.getAlias()); reportTemplateElement.addAttribute("required", String.valueOf(reportParameter.getRequired())); reportTemplateElement.addAttribute("class", reportParameter.getParameterClass().getCanonicalName()); if (reportParameter instanceof ReportParameterWithDefaultValue && ((ReportParameterWithDefaultValue) reportParameter).getDefaultValue() != null) { reportTemplateElement.addAttribute("defaultValue", ((ReportParameterWithDefaultValue) reportParameter).getDefaultValue()); } } } }
protected void writeInputParameters(Report report, Element root) { Element reportTemplatesElement = root.addElement("parameters"); if (report.getReportParameters() != null) { for (ReportParameter reportParameter : report.getReportParameters()) { Element reportTemplateElement = reportTemplatesElement.addElement("parameter"); reportTemplateElement.addAttribute("name", reportParameter.getName()); reportTemplateElement.addAttribute("alias", reportParameter.getAlias()); reportTemplateElement.addAttribute("required", String.valueOf(reportParameter.getRequired())); reportTemplateElement.addAttribute("class", reportParameter.getParameterClass().getCanonicalName()); if (reportParameter instanceof ReportParameterWithDefaultValue && ((ReportParameterWithDefaultValue) reportParameter).getDefaultValue() != null) { reportTemplateElement.addAttribute("defaultValue", ((ReportParameterWithDefaultValue) reportParameter).getDefaultValue()); } } } }