Skip to content

Commit

Permalink
report script errors state the name of subreport/column clearly now
Browse files Browse the repository at this point in the history
  • Loading branch information
virgo47 committed Feb 15, 2023
1 parent 569e065 commit c35cc11
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2022 Evolveum and contributors
* Copyright (C) 2010-2023 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
Expand Down Expand Up @@ -363,7 +363,8 @@ public VariablesMap evaluateSubreportParameter(PrismObject<ReportType> reportObj

ExpressionType expression = subreport.getExpression();
try {
Collection<? extends PrismValue> subreportParameter = evaluateScript(reportObject, expression, variables, "subreport parameter", task, result);
Collection<? extends PrismValue> subreportParameter = evaluateScript(reportObject, expression, variables,
"subreport parameter '" + subreport.getName() + '\'', task, result);
Class<?> subreportParameterClass;
if (subreport.getType() != null) {
subreportParameterClass = getPrismContext().getSchemaRegistry().determineClassForType(subreport.getType());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ List<String> convertColumn(@NotNull GuiObjectColumnType column) {
}

if (expression != null) {
dataValues = evaluateExportExpressionOverPrismValues(expression, dataValues);
dataValues = evaluateExportExpressionOverPrismValues(expression, dataValues, column);
}

if (DisplayValueType.NUMBER.equals(column.getDisplayValue())) {
Expand Down Expand Up @@ -259,7 +259,7 @@ private String getObjectNameFromRef(Referencable ref) {
}

private Collection<? extends PrismValue> evaluateExportExpressionOverPrismValues(@NotNull ExpressionType expression,
@NotNull Collection<? extends PrismValue> prismValues) {
@NotNull Collection<? extends PrismValue> prismValues, @NotNull GuiObjectColumnType column) {
Object input;
if (prismValues.isEmpty()) {
input = null;
Expand All @@ -271,10 +271,11 @@ private Collection<? extends PrismValue> evaluateExportExpressionOverPrismValues
.map(PrismValue::getRealValue)
.collect(Collectors.toList());
}
return evaluateExportExpressionOverRealValues(expression, input);
return evaluateExportExpressionOverRealValues(expression, input, column);
}

private Collection<? extends PrismValue> evaluateExportExpressionOverRealValues(ExpressionType expression, Object input) {
private Collection<? extends PrismValue> evaluateExportExpressionOverRealValues(
ExpressionType expression, Object input, @NotNull GuiObjectColumnType column) {
VariablesMap variables = new VariablesMap();
variables.putAll(parameters);
if (input == null) {
Expand All @@ -284,7 +285,7 @@ private Collection<? extends PrismValue> evaluateExportExpressionOverRealValues(
}
try {
return reportService.evaluateScript(report.asPrismObject(), expression, variables,
"value for column (export)", task, result);
"value for column '" + column.getName() + "' (export)", task, result);
} catch (Exception e) {
LOGGER.error("Couldn't execute expression " + expression, e);
return List.of();
Expand Down

0 comments on commit c35cc11

Please sign in to comment.