From 814d8ae19a36fc243e37f3b27076ddebe6ef86f2 Mon Sep 17 00:00:00 2001 From: lskublik Date: Wed, 27 May 2020 11:59:07 +0200 Subject: [PATCH] fix for bugs on export popup panel after merge --- .../dialog/ExportingFilterTabPanel.java | 7 ++++++- .../web/component/dialog/ExportingPanel.java | 21 +++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/dialog/ExportingFilterTabPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/dialog/ExportingFilterTabPanel.java index e3c5b12e578..ddef2c1b761 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/dialog/ExportingFilterTabPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/dialog/ExportingFilterTabPanel.java @@ -11,6 +11,7 @@ import com.evolveum.midpoint.gui.api.component.result.MessagePanel; import com.evolveum.midpoint.gui.api.model.LoadableModel; import com.evolveum.midpoint.prism.query.ObjectFilter; +import com.evolveum.midpoint.prism.query.ObjectQuery; import com.evolveum.midpoint.util.exception.SchemaException; import com.evolveum.midpoint.util.logging.LoggingUtils; import com.evolveum.midpoint.util.logging.Trace; @@ -128,7 +129,11 @@ public boolean isEnabled() { public SearchFilterType getFilter() { if (check.getObject()) { - ObjectFilter filter = search.getObject().createObjectQuery(getPageBase().getPrismContext()).getFilter(); + ObjectQuery query = search.getObject().createObjectQuery(getPageBase().getPrismContext()); + if (query == null) { + return null; + } + ObjectFilter filter = query.getFilter(); SearchFilterType origSearchFilter = null; try { origSearchFilter = getPageBase().getPrismContext().getQueryConverter().createSearchFilterType(filter); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/dialog/ExportingPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/dialog/ExportingPanel.java index a9aae71e1b1..d4086fc86db 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/dialog/ExportingPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/dialog/ExportingPanel.java @@ -8,6 +8,7 @@ package com.evolveum.midpoint.web.component.dialog; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import com.evolveum.midpoint.gui.api.component.tabs.PanelTab; @@ -193,7 +194,12 @@ public WebMarkupContainer createPanel(String panelId) { tabs.add(new PanelTab(getPageBase().createStringResource("ExportingPopupPanel.filter")) { @Override public WebMarkupContainer createPanel(String panelId) { - return new ExportingFilterTabPanel(panelId, search, feedbackList); + return new ExportingFilterTabPanel(panelId, search, feedbackList){ + @Override + public PageBase getPageBase() { + return ExportingPanel.this.getPageBase(); + } + }; } }); return tabs; @@ -238,7 +244,18 @@ public void populateItem(Item>> cellItem, columns.add(nameColumn); SelectableListDataProvider, Integer> provider = - new SelectableListDataProvider, Integer>(getPageBase(), Model.ofList(exportableColumnIndex)); + new SelectableListDataProvider, Integer>(getPageBase(), Model.ofList(exportableColumnIndex)){ + + @Override + public Iterator> internalIterator(long first, long count) { + + if (getAvailableData().isEmpty()) { + return super.internalIterator(first, count); + } else { + return getAvailableData().iterator(); + } + } + }; BoxedTablePanel> table = new BoxedTablePanel>(id, provider, columns, null, 20) {