diff --git a/config/initial-objects/130-report-certification-definitions.xml b/config/initial-objects/130-report-certification-definitions.xml index ae05a788aa2..575014f957a 100644 --- a/config/initial-objects/130-report-certification-definitions.xml +++ b/config/initial-objects/130-report-certification-definitions.xml @@ -115,12 +115,12 @@ + + ascending + name + AccessCertificationDefinitionType - - ascending - name - campaigns AccessCertificationCampaignType diff --git a/config/initial-objects/140-report-certification-campaigns.xml b/config/initial-objects/140-report-certification-campaigns.xml index c34d4949e8f..81efe36c276 100644 --- a/config/initial-objects/140-report-certification-campaigns.xml +++ b/config/initial-objects/140-report-certification-campaigns.xml @@ -163,13 +163,13 @@ + + ascending + name + AccessCertificationCampaignType true - - ascending - name - alsoClosedCampaigns boolean diff --git a/config/initial-objects/160-report-certification-decisions.xml b/config/initial-objects/160-report-certification-decisions.xml index f2bf93d9112..1f0663ecdd9 100644 --- a/config/initial-objects/160-report-certification-decisions.xml +++ b/config/initial-objects/160-report-certification-decisions.xml @@ -138,11 +138,11 @@ + + objectRef/@/name + c:AccessCertificationCaseType - - objectRef/@/name - campaignName c:ObjectReferenceType diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ObjectListPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ObjectListPanel.java index 73e7cbc1cf1..29bad732da9 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ObjectListPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ObjectListPanel.java @@ -12,9 +12,22 @@ import java.util.List; import java.util.function.Supplier; +import com.evolveum.midpoint.prism.path.ItemName; +import com.evolveum.midpoint.prism.query.ObjectPaging; +import com.evolveum.midpoint.schema.util.ObjectQueryUtil; +import com.evolveum.midpoint.web.component.search.*; + +import com.evolveum.prism.xml.ns._public.query_3.OrderDirectionType; + +import com.evolveum.prism.xml.ns._public.query_3.PagingType; + +import com.evolveum.prism.xml.ns._public.types_3.ItemPathType; + import org.apache.commons.lang3.StringUtils; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; +import org.apache.wicket.extensions.markup.html.repeater.util.SortParam; +import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider; import org.apache.wicket.model.IModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.apache.wicket.util.string.StringValue; @@ -36,10 +49,6 @@ import com.evolveum.midpoint.web.component.data.column.ColumnUtils; import com.evolveum.midpoint.web.component.data.column.ObjectNameColumn; import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem; -import com.evolveum.midpoint.web.component.search.ContainerTypeSearchItem; -import com.evolveum.midpoint.web.component.search.Search; -import com.evolveum.midpoint.web.component.search.SearchFactory; -import com.evolveum.midpoint.web.component.search.SearchValue; import com.evolveum.midpoint.web.component.util.SelectableBean; import com.evolveum.midpoint.web.component.util.SerializableSupplier; import com.evolveum.midpoint.web.session.PageStorage; @@ -121,8 +130,18 @@ protected ObjectQuery getCustomizeContentQuery() { return null; } - protected void setDefaultSorting(ISelectableDataProvider> provider){ - //should be overrided if needed + protected void setDefaultSorting(SelectableBeanObjectDataProvider provider){ + if (isCollectionViewPanel() && getObjectCollectionView().getPaging() != null + && getObjectCollectionView().getPaging().getOrderBy() != null) { + PagingType paging = getObjectCollectionView().getPaging(); + boolean ascending = !OrderDirectionType.DESCENDING.equals(paging.getOrderDirection()); + ItemPath orderBy = paging.getOrderBy().getItemPath(); + ItemName name = orderBy.lastName(); + if (name == null) { + return; + } + provider.setSort(new SortParam(name.getLocalPart(), ascending)); + } } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java index 1307e0c5a3b..d39f8da7a42 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java @@ -2413,11 +2413,12 @@ public static void setCurrentPage(Table table, ObjectPaging paging) { return; } - if (paging == null) { + if (paging == null || paging.getOffset() == null) { table.getDataTable().setCurrentPage(0); return; } + long itemsPerPage = table.getDataTable().getItemsPerPage(); long page = ((paging.getOffset() + itemsPerPage) / itemsPerPage) - 1; if (page < 0) { diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/ContainerableListPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/ContainerableListPanel.java index 4b61bb63168..102af3aa161 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/ContainerableListPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/ContainerableListPanel.java @@ -62,6 +62,7 @@ import com.evolveum.midpoint.schema.result.OperationResult; import com.evolveum.midpoint.schema.util.MiscSchemaUtil; import com.evolveum.midpoint.schema.util.ObjectTypeUtil; +import com.evolveum.midpoint.schema.util.ObjectQueryUtil; import com.evolveum.midpoint.task.api.Task; import com.evolveum.midpoint.util.QNameUtil; import com.evolveum.midpoint.util.exception.*; @@ -185,8 +186,19 @@ public Search load() { if (isCollectionViewPanel()) { - search.setCollectionSearchItem(new ObjectCollectionSearchItem(search, getObjectCollectionView())); + CompiledObjectCollectionView view = getObjectCollectionView(); + search.setCollectionSearchItem(new ObjectCollectionSearchItem(search, view)); search.setCollectionItemVisible(isCollectionViewPanelForWidget()); + if (storage != null && view.getPaging() != null) { + ObjectPaging paging = ObjectQueryUtil.convertToObjectPaging(view.getPaging(), getPrismContext()); + if (storage.getPaging() == null) { + storage.setPaging(paging); + } + if (getTableId() != null && paging.getMaxSize() != null + && !getPageBase().getSessionStorage().getUserProfile().isExistPagingSize(getTableId())) { + getPageBase().getSessionStorage().getUserProfile().setPagingSize(getTableId(), paging.getMaxSize()); + } + } } if (storage != null) { storage.setSearch(search); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/session/UserProfileStorage.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/session/UserProfileStorage.java index 6c27a7ed312..b8f9ff80561 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/session/UserProfileStorage.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/session/UserProfileStorage.java @@ -118,6 +118,14 @@ public void setPagingSize(TableId key, Integer size) { setPagingSize(key.name(), size); } + public boolean isExistPagingSize(TableId key) { + Validate.notNull(key, "TableId must not be null."); + Validate.notNull(key.name(), "TableId.name() must not be null."); + + Integer size = tables.get(key.name()); + return size != null; + } + public void setPagingSize(String key, Integer size) { Validate.notNull(key, "Key must not be null."); diff --git a/gui/admin-gui/src/main/resources/initial-objects/130-report-certification-definitions.xml b/gui/admin-gui/src/main/resources/initial-objects/130-report-certification-definitions.xml index ae05a788aa2..575014f957a 100644 --- a/gui/admin-gui/src/main/resources/initial-objects/130-report-certification-definitions.xml +++ b/gui/admin-gui/src/main/resources/initial-objects/130-report-certification-definitions.xml @@ -115,12 +115,12 @@ + + ascending + name + AccessCertificationDefinitionType - - ascending - name - campaigns AccessCertificationCampaignType diff --git a/gui/admin-gui/src/main/resources/initial-objects/140-report-certification-campaigns.xml b/gui/admin-gui/src/main/resources/initial-objects/140-report-certification-campaigns.xml index c34d4949e8f..81efe36c276 100644 --- a/gui/admin-gui/src/main/resources/initial-objects/140-report-certification-campaigns.xml +++ b/gui/admin-gui/src/main/resources/initial-objects/140-report-certification-campaigns.xml @@ -163,13 +163,13 @@ + + ascending + name + AccessCertificationCampaignType true - - ascending - name - alsoClosedCampaigns boolean diff --git a/gui/admin-gui/src/main/resources/initial-objects/160-report-certification-decisions.xml b/gui/admin-gui/src/main/resources/initial-objects/160-report-certification-decisions.xml index f2bf93d9112..1f0663ecdd9 100644 --- a/gui/admin-gui/src/main/resources/initial-objects/160-report-certification-decisions.xml +++ b/gui/admin-gui/src/main/resources/initial-objects/160-report-certification-decisions.xml @@ -138,11 +138,11 @@ + + objectRef/@/name + c:AccessCertificationCaseType - - objectRef/@/name - campaignName c:ObjectReferenceType diff --git a/infra/schema/src/main/java/com/evolveum/midpoint/schema/util/MiscSchemaUtil.java b/infra/schema/src/main/java/com/evolveum/midpoint/schema/util/MiscSchemaUtil.java index 5cc61733db2..39942af8cca 100644 --- a/infra/schema/src/main/java/com/evolveum/midpoint/schema/util/MiscSchemaUtil.java +++ b/infra/schema/src/main/java/com/evolveum/midpoint/schema/util/MiscSchemaUtil.java @@ -10,6 +10,8 @@ import javax.xml.datatype.XMLGregorianCalendar; import javax.xml.namespace.QName; +import com.evolveum.prism.xml.ns._public.query_3.PagingType; + import org.jetbrains.annotations.NotNull; import com.evolveum.midpoint.prism.ItemProcessing; @@ -520,6 +522,24 @@ public static void mergeDisplay(DisplayType viewDisplay, DisplayType archetypeDi } } + public static void mergePaging(PagingType existPaging, PagingType newPaging) { + if (existPaging.getMaxSize() == null) { + existPaging.setMaxSize(newPaging.getMaxSize()); + } + if (existPaging.getGroupBy() == null) { + existPaging.setGroupBy(newPaging.getGroupBy()); + } + if (existPaging.getOffset() == null) { + existPaging.setOffset(newPaging.getOffset()); + } + if (existPaging.getOrderBy() == null) { + existPaging.setOrderBy(newPaging.getOrderBy()); + } + if (existPaging.getOrderDirection() == null) { + existPaging.setOrderDirection(newPaging.getOrderDirection()); + } + } + /* the ordering algorithm is: the first level is occupied by the column which previousColumn == null || "" || notExistingColumnNameValue. diff --git a/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd b/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd index 34cfc42d56b..c7470f4de32 100755 --- a/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd +++ b/infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd @@ -25619,18 +25619,6 @@ - - - - Paging for query. - - - true - 4.4 - ObjectCollectionReportEngineConfigurationType.paging - - - @@ -26456,6 +26444,18 @@ + + + + Paging for query. + + + true + 4.4 + GuiObjectListPanelConfigurationType.paging + + + diff --git a/model/model-api/src/main/java/com/evolveum/midpoint/model/api/authentication/CompiledObjectCollectionView.java b/model/model-api/src/main/java/com/evolveum/midpoint/model/api/authentication/CompiledObjectCollectionView.java index d1e6e556a35..e701626d109 100644 --- a/model/model-api/src/main/java/com/evolveum/midpoint/model/api/authentication/CompiledObjectCollectionView.java +++ b/model/model-api/src/main/java/com/evolveum/midpoint/model/api/authentication/CompiledObjectCollectionView.java @@ -15,10 +15,13 @@ import com.evolveum.midpoint.prism.Containerable; import com.evolveum.midpoint.prism.PrismContext; +import com.evolveum.midpoint.prism.query.ObjectPaging; import com.evolveum.midpoint.schema.GetOperationOptions; import com.evolveum.midpoint.schema.SelectorOptions; import com.evolveum.midpoint.xml.ns._public.common.common_3.*; +import com.evolveum.prism.xml.ns._public.query_3.PagingType; + import org.jetbrains.annotations.NotNull; import com.evolveum.midpoint.prism.query.ObjectFilter; @@ -54,6 +57,7 @@ public class CompiledObjectCollectionView implements DebugDumpable, Serializable private Integer refreshInterval; private Collection> options; private Collection> domainOptions; + private PagingType paging; private String objectCollectionDescription; @@ -242,6 +246,14 @@ public void setObjectCollectionDescription(String objectCollectionDescription) { this.objectCollectionDescription = objectCollectionDescription; } + public void setPaging(PagingType paging) { + this.paging = paging; + } + + public PagingType getPaging() { + return paging; + } + @Override public String debugDump(int indent) { StringBuilder sb = DebugUtil.createTitleStringBuilderLn(CompiledObjectCollectionView.class, indent); @@ -260,6 +272,7 @@ public String debugDump(int indent) { DebugUtil.debugDumpWithLabel(sb, "displayOrder", displayOrder, indent + 1); DebugUtil.debugDumpWithLabel(sb, "refreshInterval", refreshInterval, indent + 1); DebugUtil.debugDumpWithLabel(sb, "objectCollectionDescription", objectCollectionDescription, indent + 1); + DebugUtil.debugDumpWithLabelToStringLn(sb, "paging", paging, indent + 1); return sb.toString(); } @@ -281,6 +294,7 @@ public GuiObjectListViewType toGuiObjectListViewType() { viewType.setSearchBoxConfiguration(getSearchBoxConfiguration()); viewType.setDisplayOrder(getDisplayOrder()); viewType.setRefreshInterval(getRefreshInterval()); + viewType.setPaging(getPaging()); return viewType; } diff --git a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/CollectionProcessor.java b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/CollectionProcessor.java index 6f5ff95918a..6c7489fba6d 100644 --- a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/CollectionProcessor.java +++ b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/CollectionProcessor.java @@ -11,6 +11,8 @@ import java.util.List; import javax.xml.namespace.QName; +import com.evolveum.prism.xml.ns._public.query_3.PagingType; + import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.springframework.beans.factory.annotation.Autowired; @@ -443,6 +445,7 @@ private void compileView(CompiledObjectCollectionView existingView, GuiObjectLis compileDisplayOrder(existingView, objectListViewType, replaceIfExist); compileSearchBox(existingView, objectListViewType, replaceIfExist); compileRefreshInterval(existingView, objectListViewType, replaceIfExist); + compilePaging(existingView, objectListViewType, replaceIfExist); } } @@ -590,4 +593,16 @@ private void compileSearchBox(CompiledObjectCollectionView existingView, GuiObje existingView.setSearchBoxConfiguration(newSearchBoxConfig); } } + + private void compilePaging(CompiledObjectCollectionView existingView, GuiObjectListViewType objectListViewType, boolean replaceIfExist) { + PagingType newPaging = objectListViewType.getPaging(); + if (newPaging == null) { + return; + } + if (existingView.getPaging() == null) { + existingView.setPaging(newPaging); + } else if (replaceIfExist) { + MiscSchemaUtil.mergePaging(existingView.getPaging(), newPaging); + } + } } diff --git a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelInteractionServiceImpl.java b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelInteractionServiceImpl.java index ed5454bc234..a4651827d93 100644 --- a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelInteractionServiceImpl.java +++ b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelInteractionServiceImpl.java @@ -1945,7 +1945,7 @@ public List validateValue(Protect @Override public void processObjectsFromCollection(CollectionRefSpecificationType collectionConfig, QName typeForFilter, Predicate handler, - Collection> defaultOptions, ObjectPaging paging, VariablesMap variables, Task task, OperationResult result, boolean recordProgress) + Collection> defaultOptions, ObjectPaging usedPaging, VariablesMap variables, Task task, OperationResult result, boolean recordProgress) throws SchemaException, ObjectNotFoundException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException { Class type = null; @@ -1966,7 +1966,7 @@ public void processObjectsFromCollection(CollectionRefSpecificationType collecti } ObjectQuery query = prismContext.queryFactory().createQuery(); - query.setPaging(paging); + query.setPaging(usedPaging == null ? ObjectQueryUtil.convertToObjectPaging(compiledCollection.getPaging(), prismContext) : usedPaging); query.setFilter(filter); if (compiledCollection.getTargetClass(prismContext) == null) { diff --git a/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/fileformat/CsvController.java b/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/fileformat/CsvController.java index 18dcad2e923..51c2952da23 100644 --- a/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/fileformat/CsvController.java +++ b/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/fileformat/CsvController.java @@ -11,7 +11,6 @@ import com.evolveum.midpoint.model.common.util.DefaultColumnUtils; import com.evolveum.midpoint.prism.*; import com.evolveum.midpoint.prism.path.ItemPath; -import com.evolveum.midpoint.prism.query.ObjectPaging; import com.evolveum.midpoint.prism.query.ObjectQuery; import com.evolveum.midpoint.report.impl.ReportServiceImpl; import com.evolveum.midpoint.schema.GetOperationOptions; @@ -134,8 +133,7 @@ public byte[] processCollection(String nameOfReport, ObjectCollectionReportEngin CompiledObjectCollectionView compiledCollection = createCompiledView(collectionConfig, collection); return createTableBox(collectionRefSpecification, compiledCollection, - collectionConfig.getCondition(), collectionConfig.getSubreport(), - ObjectQueryUtil.convertToObjectPaging(collectionConfig.getPaging(), getReportService().getPrismContext()), result, task); + collectionConfig.getCondition(), collectionConfig.getSubreport(), result, task); } private CompiledObjectCollectionView createCompiledView(ObjectCollectionReportEngineConfigurationType collectionConfig, boolean useDefaultView, Task task, OperationResult result) @@ -185,7 +183,7 @@ private CompiledObjectCollectionView createCompiledView(ObjectCollectionReportEn } private byte[] createTableBox(CollectionRefSpecificationType collection, CompiledObjectCollectionView compiledCollection, ExpressionType condition, - List subreports, ObjectPaging paging, OperationResult result, Task task) + List subreports, OperationResult result, Task task) throws CommunicationException, ObjectNotFoundException, SchemaException, SecurityViolationException, ConfigurationException, ExpressionEvaluationException { Class type = resolveType(collection, compiledCollection); @@ -235,7 +233,7 @@ private byte[] createTableBox(CollectionRefSpecificationType collection, Compile return true; }; searchObjectFromCollection(collection, compiledCollection.getContainerType(), handler, - options, paging, task, result, true); + options, task, result, true); CSVFormat csvFormat = createCsvFormat(); if (Boolean.TRUE.equals(isHeader())) { diff --git a/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/fileformat/FileFormatController.java b/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/fileformat/FileFormatController.java index 93dfd2603ce..9e7121c9674 100644 --- a/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/fileformat/FileFormatController.java +++ b/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/fileformat/FileFormatController.java @@ -473,10 +473,10 @@ protected void initializationParameters(List paramete } protected void searchObjectFromCollection(CollectionRefSpecificationType collectionConfig, QName typeForFilter, Predicate handler, - Collection> defaultOptions, ObjectPaging paging, Task task, OperationResult result, boolean recordProgress) + Collection> defaultOptions, Task task, OperationResult result, boolean recordProgress) throws SchemaException, ObjectNotFoundException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException { checkVariables(task); getReportService().getModelInteractionService().processObjectsFromCollection( - collectionConfig, typeForFilter, handler, defaultOptions, paging, variables, task, result, recordProgress); + collectionConfig, typeForFilter, handler, defaultOptions, null, variables, task, result, recordProgress); } } diff --git a/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/fileformat/HtmlController.java b/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/fileformat/HtmlController.java index 55e92c6136e..9e36898d242 100644 --- a/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/fileformat/HtmlController.java +++ b/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/fileformat/HtmlController.java @@ -18,13 +18,10 @@ import com.evolveum.midpoint.prism.Containerable; import com.evolveum.midpoint.prism.PrismContainer; import com.evolveum.midpoint.prism.PrismContainerDefinition; -import com.evolveum.midpoint.prism.query.ObjectPaging; import com.evolveum.midpoint.schema.expression.VariablesMap; import com.evolveum.midpoint.schema.util.ObjectQueryUtil; import com.evolveum.midpoint.task.api.RunningTask; -import com.evolveum.prism.xml.ns._public.query_3.PagingType; - import j2html.TagCreator; import j2html.tags.ContainerTag; import org.apache.commons.io.IOUtils; @@ -142,7 +139,7 @@ public byte[] processDashboard(DashboardReportEngineConfigurationType dashboardC // break; case OBJECT_COLLECTION: tableBox = createTableBox(widgetData.getLabel(), collectionRefSpecification, compiledCollection, - null, Collections.emptyList(), null, result, false, task); + null, Collections.emptyList(), result, false, task); break; } if (tableBox != null) { @@ -228,8 +225,7 @@ public byte[] processCollection(String nameOfReport, ObjectCollectionReportEngin } ContainerTag tableBox = createTableBox(label, collectionRefSpecification, compiledCollection, - collectionConfig.getCondition(), collectionConfig.getSubreport(), - ObjectQueryUtil.convertToObjectPaging(collectionConfig.getPaging(), getReportService().getPrismContext()), result, true, task); + collectionConfig.getCondition(), collectionConfig.getSubreport(),result, true, task); body.append(tableBox.render()); @@ -261,7 +257,7 @@ private ContainerTag createTableBox(ContainerTag table, String nameOfTable, int } private ContainerTag createTableBox(String tableLabel, CollectionRefSpecificationType collection, @NotNull CompiledObjectCollectionView compiledCollection, - ExpressionType condition, List subreports, ObjectPaging paging, OperationResult result, boolean recordProgress, Task task) throws ObjectNotFoundException, SchemaException, CommunicationException, + ExpressionType condition, List subreports, OperationResult result, boolean recordProgress, Task task) throws ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException { long startMillis = getReportService().getClock().currentTimeMillis(); Class type = resolveType(collection, compiledCollection); @@ -329,7 +325,7 @@ private ContainerTag createTableBox(String tableLabel, CollectionRefSpecificatio return true; }; searchObjectFromCollection(collection, compiledCollection.getContainerType(), handler, options, - paging, task, result, recordProgress); + task, result, recordProgress); if (tBody.getNumChildren() == 0 && !recordProgress) { return null; }