关于嵌入式pentaho报告引擎日志查询

时间:2011-09-22 13:50:57

标签: java pentaho

我在Java应用程序中集成了报告引擎。我最近将petaho报告升级到3.8.2。我正面临着这次升级的问题,所以我打开了pentaho日志,看看发生了什么。我得到了以下相关日志。有人可以解释一下它的含义吗?我假设从这些日志中数据工厂无法找到我的查询参数的值而是设置为null。如果是这样,我不明白,为什么会这样,因为在代码中,我在Master报告中设置这些参数值,如下所示。同样我也在设置其他参数值。

vReport.getParameterValues().put("propertyId", pPropertyId);

我正在谈论的日志就在这里。

Sep 20 16:00:44,540 DEBUG SimpleSQLReportDataFactory - [ IP=0:0:0:0:0:0:0:1, Property=72, Req=6 ] - Detected parameter:[dateFormat, dateFormat, dateFormat, dateTimeFormat, dateTimeFormat, bookedFrom, bookedTo, propertyId]
Sep 20 16:00:44,561 DEBUG SimpleSQLReportDataFactory - [ IP=0:0:0:0:0:0:0:1, Property=72, Req=6 ] - Parametrize: 1 set to <null>
Sep 20 16:00:44,561 DEBUG SimpleSQLReportDataFactory - [ IP=0:0:0:0:0:0:0:1, Property=72, Req=6 ] - Parametrize: 2 set to <null>
Sep 20 16:00:44,562 DEBUG SimpleSQLReportDataFactory - [ IP=0:0:0:0:0:0:0:1, Property=72, Req=6 ] - Parametrize: 3 set to <null>
Sep 20 16:00:44,562 DEBUG SimpleSQLReportDataFactory - [ IP=0:0:0:0:0:0:0:1, Property=72, Req=6 ] - Parametrize: 4 set to <null>
Sep 20 16:00:44,563 DEBUG SimpleSQLReportDataFactory - [ IP=0:0:0:0:0:0:0:1, Property=72, Req=6 ] - Parametrize: 5 set to <null>
Sep 20 16:00:44,563 DEBUG SimpleSQLReportDataFactory - [ IP=0:0:0:0:0:0:0:1, Property=72, Req=6 ] - Parametrize: 6 set to <null>
Sep 20 16:00:44,564 DEBUG SimpleSQLReportDataFactory - [ IP=0:0:0:0:0:0:0:1, Property=72, Req=6 ] - Parametrize: 7 set to <null>
Sep 20 16:00:44,564 DEBUG SimpleSQLReportDataFactory - [ IP=0:0:0:0:0:0:0:1, Property=72, Req=6 ] - Parametrize: 8 set to <null>

先谢谢。

1 个答案:

答案 0 :(得分:0)

如果您还在报告中声明了适当的参数,Pentaho报告将仅使用您的参数值。只添加随机名称 - 值对将无效。

所以至少要声明你想要使用的所有参数。在最通用的版本中,假设您自己对用户输入进行了适当的验证,并且可以保证传入的值安全有效,请将此代码与所有参数一起使用:

final ModifiableReportParameterDefinition parameterDefinition =
    (ModifiableReportParameterDefinition) report.getParameterDefinition();
parameterDefinition.addParameterDefinition(new PlainParameter("dataFormat", Object.class));