This is an automated email from the ASF dual-hosted git repository. ilgrosso pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/master by this push: new 20bd248957 [SYNCOPE-1895] Passing the current FIQL to the CSV Push service 20bd248957 is described below commit 20bd248957b457437aa37c2da54cd419ebe1f958 Author: Francesco Chicchiriccò <ilgro...@apache.org> AuthorDate: Fri Aug 1 14:28:28 2025 +0200 [SYNCOPE-1895] Passing the current FIQL to the CSV Push service --- ...AnyDirectoryPanelAdditionalActionsProvider.java | 32 ++++++++-------------- ...AnyDirectoryPanelAdditionalActionsProvider.java | 3 +- ...AnyDirectoryPanelAdditionalActionsProvider.java | 3 +- .../client/console/panels/AnyDirectoryPanel.java | 9 +++--- .../syncope/client/console/panels/Realm.java | 5 +--- 5 files changed, 22 insertions(+), 30 deletions(-) diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionsProvider.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionsProvider.java index bc5462b12e..5b572914f7 100644 --- a/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionsProvider.java +++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/commons/IdMAnyDirectoryPanelAdditionalActionsProvider.java @@ -22,7 +22,6 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.Optional; -import java.util.stream.Collectors; import org.apache.syncope.client.console.PreferenceManager; import org.apache.syncope.client.console.SyncopeConsoleSession; import org.apache.syncope.client.console.pages.BasePage; @@ -83,7 +82,7 @@ public class IdMAnyDirectoryPanelAdditionalActionsProvider implements AnyDirecto final WebMarkupContainer container, final String type, final String realm, - final String fiql, + final Model<String> fiql, final int rows, final List<String> pSchemaNames, final List<String> dSchemaNames, @@ -99,7 +98,7 @@ public class IdMAnyDirectoryPanelAdditionalActionsProvider implements AnyDirecto if (event.getPayload() instanceof final AjaxWizard.NewItemCancelEvent<?> newItemCancelEvent) { newItemCancelEvent.getTarget(). ifPresent(modal::close); - } else if (event.getPayload() instanceof final AjaxWizard.NewItemFinishEvent newItemFinishEvent) { + } else if (event.getPayload() instanceof final AjaxWizard.NewItemFinishEvent<?> newItemFinishEvent) { AjaxWizard.NewItemFinishEvent<?> payload = newItemFinishEvent; Optional<AjaxRequestTarget> target = payload.getTarget(); @@ -152,7 +151,7 @@ public class IdMAnyDirectoryPanelAdditionalActionsProvider implements AnyDirecto @Override public void onClick(final AjaxRequestTarget target) { CSVPushSpec spec = csvPushSpec(type, pSchemaNames, dSchemaNames); - AnyQuery query = csvAnyQuery(realm, fiql, rows, panel.getDataProvider()); + AnyQuery query = csvAnyQuery(realm, fiql.getObject(), rows, panel.getDataProvider()); target.add(modal.setContent(new CSVPushWizardBuilder( spec, query, csvDownloadBehavior, reconciliationRestClient, implementationRestClient, pageRef). @@ -195,25 +194,18 @@ public class IdMAnyDirectoryPanelAdditionalActionsProvider implements AnyDirecto final List<String> pSchemaNames, final List<String> dSchemaNames) { - CSVPushSpec spec = new CSVPushSpec.Builder(type).build(); - spec.setFields(PreferenceManager.getList( - DisplayAttributesModalPanel.getPrefDetailView(type)). - stream().filter(name -> !Constants.KEY_FIELD_NAME.equalsIgnoreCase(name)). - collect(Collectors.toList())); - spec.setPlainAttrs(PreferenceManager.getList( - DisplayAttributesModalPanel.getPrefPlainAttributeView(type)). - stream().filter(pSchemaNames::contains).collect(Collectors.toList())); - spec.setDerAttrs(PreferenceManager.getList( - DisplayAttributesModalPanel.getPrefPlainAttributeView(type)). - stream().filter(dSchemaNames::contains).collect(Collectors.toList())); - return spec; + return new CSVPushSpec.Builder(type). + fields(PreferenceManager.getList(DisplayAttributesModalPanel.getPrefDetailView(type)). + stream().filter(name -> !Constants.KEY_FIELD_NAME.equalsIgnoreCase(name)).toList()). + plainAttrs(PreferenceManager.getList(DisplayAttributesModalPanel.getPrefPlainAttributeView(type)). + stream().filter(pSchemaNames::contains).toList()). + derAttrs(PreferenceManager.getList(DisplayAttributesModalPanel.getPrefPlainAttributeView(type)). + stream().filter(dSchemaNames::contains).toList()). + build(); } protected CSVPullSpec csvPullSpec(final String type, final String realm) { - CSVPullSpec spec = new CSVPullSpec(); - spec.setAnyTypeKey(type); - spec.setDestinationRealm(realm); - return spec; + return new CSVPullSpec.Builder(type, realm).build(); } protected AnyQuery csvAnyQuery( diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/AnyDirectoryPanelAdditionalActionsProvider.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/AnyDirectoryPanelAdditionalActionsProvider.java index daeec5ab28..a9f9ad444c 100644 --- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/AnyDirectoryPanelAdditionalActionsProvider.java +++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/AnyDirectoryPanelAdditionalActionsProvider.java @@ -24,6 +24,7 @@ import org.apache.syncope.client.console.panels.AnyDirectoryPanel; import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal; import org.apache.wicket.PageReference; import org.apache.wicket.markup.html.WebMarkupContainer; +import org.apache.wicket.model.Model; public interface AnyDirectoryPanelAdditionalActionsProvider extends Serializable { @@ -33,7 +34,7 @@ public interface AnyDirectoryPanelAdditionalActionsProvider extends Serializable WebMarkupContainer container, String type, String realm, - String fiql, + Model<String> fiql, int rows, List<String> pSchemaNames, List<String> dSchemaNames, diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoAnyDirectoryPanelAdditionalActionsProvider.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoAnyDirectoryPanelAdditionalActionsProvider.java index 4402f2689c..bfdcba0f6d 100644 --- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoAnyDirectoryPanelAdditionalActionsProvider.java +++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoAnyDirectoryPanelAdditionalActionsProvider.java @@ -25,6 +25,7 @@ import org.apache.wicket.PageReference; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.markup.html.AjaxLink; import org.apache.wicket.markup.html.WebMarkupContainer; +import org.apache.wicket.model.Model; public class IdRepoAnyDirectoryPanelAdditionalActionsProvider implements AnyDirectoryPanelAdditionalActionsProvider { @@ -38,7 +39,7 @@ public class IdRepoAnyDirectoryPanelAdditionalActionsProvider implements AnyDire final WebMarkupContainer container, final String type, final String realm, - final String fiql, + final Model<String> fiql, final int rows, final List<String> pSchemaNames, final List<String> dSchemaNames, diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java index deafe5abe5..eb06466692 100644 --- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java +++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java @@ -63,6 +63,7 @@ import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDa import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn; import org.apache.wicket.markup.html.panel.Panel; +import org.apache.wicket.model.Model; import org.apache.wicket.model.ResourceModel; import org.apache.wicket.model.util.ListModel; import org.apache.wicket.spring.injection.annot.SpringBean; @@ -86,7 +87,7 @@ public abstract class AnyDirectoryPanel<A extends AnyTO, E extends AbstractAnyRe /** * Filter used in case of filtered search. */ - protected String fiql; + protected final Model<String> fiql; /** * Realm related to current panel. @@ -120,7 +121,7 @@ public abstract class AnyDirectoryPanel<A extends AnyTO, E extends AbstractAnyRe realm = builder.realm; type = builder.type; - fiql = builder.fiql; + fiql = new Model<>(builder.fiql); utilityModal.size(Modal.Size.Large); addOuterObject(utilityModal); @@ -242,7 +243,7 @@ public abstract class AnyDirectoryPanel<A extends AnyTO, E extends AbstractAnyRe @Override protected AnyDataProvider<A> dataProvider() { - return new AnyDataProvider<>(restClient, rows, filtered, realm, type, pageRef).setFIQL(this.fiql); + return new AnyDataProvider<>(restClient, rows, filtered, realm, type, pageRef).setFIQL(fiql.getObject()); } public AnyDataProvider<A> getDataProvider() { @@ -250,7 +251,7 @@ public abstract class AnyDirectoryPanel<A extends AnyTO, E extends AbstractAnyRe } public void search(final String fiql, final AjaxRequestTarget target) { - this.fiql = fiql; + this.fiql.setObject(fiql); dataProvider.setFIQL(fiql); super.search(target); } diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java index 66a92dd3d3..3c26508d92 100644 --- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java +++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java @@ -25,7 +25,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Optional; import java.util.Set; -import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; import org.apache.syncope.client.console.SyncopeConsoleSession; @@ -120,9 +119,7 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> { tabs.add(new RealmDetailsTabPanel()); - AnyLayout anyLayout = AnyLayoutUtils.fetch( - roleRestClient, - anyTypes.stream().map(AnyTypeTO::getKey).collect(Collectors.toList())); + AnyLayout anyLayout = AnyLayoutUtils.fetch(roleRestClient, anyTypes.stream().map(AnyTypeTO::getKey).toList()); for (AnyTypeTO anyType : anyTypes) { tabs.add(new ITabComponent( new ResourceModel("anyType." + anyType.getKey(), anyType.getKey()),