Main_Output_Report subreports #1 WARN DecimalLocaleConverter:237 - Шаблон не предоставлен, используется по умолчанию

Я принял приложение и обнаружил, что при создании отчетов (PDF), которые создаются с помощью I-Report (Jasper), я получаю сообщения, которые появляются в моей IDE (Eclipse):

WARN DecimalLocaleConverter:237 - Шаблон не указан, используется по умолчанию. WARN DecimalLocaleConverter:237 - Шаблон не указан, используется по умолчанию. [Main_Output_Report subreports #1] WARN DecimalLocaleConverter:237 - Шаблон не указан, используется по умолчанию. [Main_Output_Report subreports #1] WARN DecimalLocaleConverter:237 - Шаблон не указан, используется по умолчанию.

Первые два взяты из основного файла Jasper, а два других - из подотчета, который вызывается.

Соответствующий Java-код в приложении:

        File jasperFile           = new File(getJasperResourcePath(templateName));
        Map<String, Object> jasperParams = new HashMap<String, Object>();
        jasperParams.put(ReportExporterStrings.SUBREPORT_DIR, jasperFile.getParent() + File.separator);
        OutputStream outStream    = new FileOutputStream(fileDir + File.separator + fileName);
        JRDataSource datasource   = new JsonDataSource(new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8)));            
        JasperReport jasperReport = (JasperReport)JRLoader.loadObject(jasperFile);
        JasperPrint  jasperPrint  = JasperFillManager.fillReport(jasperReport, jasperParams, datasource);

Я обнаружил, что если я сделаю небольшое изменение в коде

        File jasperFile           = new File(getJasperResourcePath(templateName));
        Map<String, Object> jasperParams = new HashMap<String, Object>();
        jasperParams.put(ReportExporterStrings.SUBREPORT_DIR, jasperFile.getParent() + File.separator);
        OutputStream outStream    = new FileOutputStream(fileDir + File.separator + fileName);
        JRDataSource datasource   = new JsonDataSource(new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8)));

        // New bit added in that removes the main Jasper message of (WARN DecimalLocaleConverter:237 - No pattern provided, using default.)         
        setCommonJRDataSourceProperties((JRAbstractTextDataSource) datasource);

        JasperReport jasperReport = (JasperReport)JRLoader.loadObject(jasperFile);
        JasperPrint  jasperPrint  = JasperFillManager.fillReport(jasperReport, jasperParams, datasource);

private void setCommonJRDataSourceProperties(final JRAbstractTextDataSource jrDataSource) {
    jrDataSource.setNumberPattern("#,###,##0.00");      
}

Моя проблема заключается в том, что я все еще получаю предупреждения о вложенном отчете независимо от того, что я пытался попробовать: [Main_Output_Report subreports #1] WARN DecimalLocaleConverter:237 - Шаблон не предоставлен, используется по умолчанию.

Есть ли что-то, что может быть добавлено в Java, которое передает "Шаблон номера" во вложенный отчет, или копирует основные свойства в вложенный отчет, или что-то в файле Jasper (jrxml), который копирует соответствующие свойства в подотчет, чтобы остановить появление этих предупреждающих сообщений?

0 ответов

Другие вопросы по тегам