This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch 4_0_X
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/4_0_X by this push:
new 0482abe2d5 [SYNCOPE-1895] Passing the current FIQL to the CSV Push
service
0482abe2d5 is described below
commit 0482abe2d5741de693b7a8c48ede3b4c13f31d9b
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 +++---
.../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()),