sqlReportDataFactory = new PmdSQLDataFactory(connection);
sqlReportDataFactory.setLabelMapping(labelMapping);
sqlReportDataFactory.initialize(configuration, resourceManager, contextKey, resourceBundleFactory);
}
final ReportParameterValues computedParameterSet = new ReportParameterValues();
computedParameterSet.put(DataFactory.QUERY_LIMIT, parameters.get(DataFactory.QUERY_LIMIT));
computedParameterSet.put(DataFactory.QUERY_TIMEOUT, parameters.get(DataFactory.QUERY_TIMEOUT));
final String sqlQuery = mappedQuery.getQuery();
// first prepare the query to have a sensible access method for the parameters.
final HashMap<String, Parameter> queryParamMap = convertParametersToMap(queryObject);
// convert ? into ${PARAM} style parameters for the SQL report datafactory
// populate prepared sql params
final String[] parameterNames;
final List<String> paramColNames = mappedQuery.getParamList();
if (paramColNames != null)
{
for (final String colName : paramColNames)
{
final Object parameterValue = parameters.get(colName);
if (parameterValue != null)
{
computedParameterSet.put(colName, parameterValue);
}
else
{
final Parameter parameter = queryParamMap.get(colName);
computedParameterSet.put(colName, parameter.getDefaultValue());
}
}
parameterNames = paramColNames.toArray(new String[paramColNames.size()]);
}
else