[New] Added possibility to filter missing values as true, instead of false
This commit is contained in:
parent
7a86442057
commit
c624990290
|
@ -281,7 +281,9 @@ public class ReportResource {
|
|||
|
||||
report.dateRange(dateRange);
|
||||
}
|
||||
filters.keySet().forEach(f -> report.filter(f, filters.getSet(f)));
|
||||
|
||||
if (!filters.isEmpty())
|
||||
filters.keySet().forEach(f -> report.filter(f, filters.getSet(f)));
|
||||
|
||||
// get rows
|
||||
Stream<JsonObject> json = report.doReportAsJson().skip(offset).limit(limit);
|
||||
|
|
|
@ -408,7 +408,7 @@ public class GenericReport extends ReportPolicy {
|
|||
if (value instanceof Date)
|
||||
return ISO8601FormatFactory.getInstance().formatDate((Date) value);
|
||||
if (value instanceof Parameter)
|
||||
return ((Parameter) value).getValueAsString();
|
||||
return ((Parameter<?>) value).getValueAsString();
|
||||
return value.toString();
|
||||
}));
|
||||
}
|
||||
|
@ -567,6 +567,8 @@ public class GenericReport extends ReportPolicy {
|
|||
Object value1 = evaluateColumnValue(refTuple.getFirst(), row, true);
|
||||
Object value2 = evaluateColumnValue(refTuple.getSecond(), row, true);
|
||||
|
||||
if (this.filterMissingValuesAsTrue && (value1 == null || value2 == null))
|
||||
continue;
|
||||
if (value1 == null || value2 == null || !filterPolicy.filter(value1, value2))
|
||||
return false;
|
||||
|
||||
|
@ -670,7 +672,7 @@ public class GenericReport extends ReportPolicy {
|
|||
else
|
||||
columnValue = parameter;
|
||||
} else {
|
||||
columnValue = lookupParameter(columnDefP, column).orElseGet(StringParameter::new);
|
||||
columnValue = lookupParameter(columnDefP, column).orElseGet(() -> allowNull ? null : new StringParameter());
|
||||
}
|
||||
|
||||
return columnValue;
|
||||
|
|
|
@ -56,7 +56,7 @@ public abstract class ReportFilterPolicy extends StrolchPolicy {
|
|||
|
||||
} else if (value instanceof Parameter) {
|
||||
|
||||
Parameter parameter = (Parameter) value;
|
||||
Parameter<?> parameter = (Parameter<?>) value;
|
||||
if (this.right == null) {
|
||||
StrolchValueType valueType = parameter.getValueType();
|
||||
if (valueType == StrolchValueType.DATE)
|
||||
|
|
Loading…
Reference in New Issue