private static Map<String, Object> parseReportParams(CommandLine cmd, Report report) { if (cmd.hasOption(REPORT_PARAMETER)) { Map<String, Object> params = new HashMap<String, Object>(); Properties optionProperties = cmd.getOptionProperties(REPORT_PARAMETER); for (ReportParameter reportParameter : report.getReportParameters()) { String paramValueStr = optionProperties.getProperty(reportParameter.getAlias()); if (paramValueStr != null) { params.put(reportParameter.getAlias(), converter.convertFromString(reportParameter.getParameterClass(), paramValueStr)); } } return params; } else { return Collections.emptyMap(); } }
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; }
private static Map<String, Object> parseReportParams(CommandLine cmd, Report report) { if (cmd.hasOption(REPORT_PARAMETER)) { Map<String, Object> params = new HashMap<String, Object>(); Properties optionProperties = cmd.getOptionProperties(REPORT_PARAMETER); for (ReportParameter reportParameter : report.getReportParameters()) { String paramValueStr = optionProperties.getProperty(reportParameter.getAlias()); if (paramValueStr != null) { params.put(reportParameter.getAlias(), converter.convertFromString(reportParameter.getParameterClass(), paramValueStr)); } } return params; } else { return Collections.emptyMap(); } }
protected Map<String, Object> parseParameters(Request req, Report report) { QueryParamsMap queryParams = req.queryMap("params"); Map<String, Object> params = new HashMap<>(); for (ReportParameter reportParameter : report.getReportParameters()) { java.lang.String paramValueStr = queryParams.value(reportParameter.getAlias()); if (paramValueStr != null) { params.put(reportParameter.getAlias(), converter.convertFromString(reportParameter.getParameterClass(), paramValueStr)); } } return params; }
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()); } } } }
@Override protected Map<String, Object> handleParameters(com.haulmont.yarg.structure.Report report, Map<String, Object> params) { Map<String, Object> handledParams = new HashMap<String, Object>(super.handleParameters(report, params)); for (ReportParameter reportParameter : report.getReportParameters()) { if (reportParameter instanceof ReportInputParameter) { ReportInputParameter reportInputParameter = (ReportInputParameter) reportParameter; String paramName = reportParameter.getAlias(); Object paramValue = handledParams.get(paramName); if (BooleanUtils.isTrue(reportInputParameter.getDefaultDateIsCurrent())) { handleDateTimeRelatedParameterAsNow(paramName, paramValue, reportInputParameter.getType(), handledParams); } if (paramValue == null) { continue; } if (reportInputParameter.getPredefinedTransformation() != null) { handledParams.put(paramName, handlePredefinedTransformation(paramValue, reportInputParameter.getPredefinedTransformation())); } else if (!Strings.isNullOrEmpty(reportInputParameter.getTransformationScript())) { handledParams.put(paramName, handleScriptTransformation(paramValue, reportInputParameter.getTransformationScript(), handledParams)); } } } return handledParams; }