This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch 3_0_X
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/3_0_X by this push:
     new 919620ccfb [SYNCOPE-1895] Passing the current FIQL to the CSV Push 
service
919620ccfb is described below

commit 919620ccfbbe2d542e4cf8ca863b4cb536efdcf7
Author: Francesco Chicchiriccò <[email protected]>
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 +++---
 4 files changed, 23 insertions(+), 24 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 db55c589be..d62865addc 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
@@ -83,7 +83,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,
@@ -152,7 +152,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 +195,21 @@ 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)).
+                        collect(Collectors.toList())).
+                
plainAttrs(PreferenceManager.getList(DisplayAttributesModalPanel.getPrefPlainAttributeView(type)).
+                        stream().filter(pSchemaNames::contains).
+                        collect(Collectors.toList())).
+                
derAttrs(PreferenceManager.getList(DisplayAttributesModalPanel.getPrefPlainAttributeView(type)).
+                        stream().filter(dSchemaNames::contains).
+                        collect(Collectors.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 50f5d63890..b0133b5c3a 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);
     }

Reply via email to