This is an automated email from the ASF dual-hosted git repository. ilgrosso pushed a commit to branch 2_1_X in repository https://gitbox.apache.org/repos/asf/syncope.git
commit 81c12b47607eb8d335dc7a17fb72d5035d8ee4c0 Author: Francesco Chicchiriccò <[email protected]> AuthorDate: Thu Jun 11 07:32:24 2020 +0200 [SYNCOPE-1569] Code to save search conditions into Conf class was not ported from 2_0_X --- .../client/console/panels/search/AbstractSearchPanel.java | 2 ++ .../syncope/client/console/panels/search/SearchUtils.java | 2 +- .../client/console/reports/ReportletWizardBuilder.java | 15 +++++++++++---- .../syncope/client/console/wizards/any/UserDetails.java | 5 +++-- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java index 96d207e..604f4cb 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java @@ -155,6 +155,8 @@ public abstract class AbstractSearchPanel extends Panel { typeKind != AnyTypeKind.GROUP && SyncopeConsoleSession.get().owns(StandardEntitlement.GROUP_SEARCH) ? Pair.of(groupNames, new LoadableDetachableModel<Integer>() { + private static final long serialVersionUID = 7362833782319137329L; + @Override protected Integer load() { return groupRestClient.count(SyncopeConstants.ROOT_REALM, null, null); diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchUtils.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchUtils.java index 5db3153..a1bf0fa 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchUtils.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchUtils.java @@ -309,7 +309,7 @@ public final class SearchUtils implements Serializable { } } - SyncopeProperty property = builder.is(clause.getProperty()); + SyncopeProperty<?> property = builder.is(clause.getProperty()); switch (clause.getComparator()) { case IS_NULL: condition = builder.isNull(clause.getProperty()); diff --git a/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportletWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportletWizardBuilder.java index 5b43f30..fa2ffba 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportletWizardBuilder.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportletWizardBuilder.java @@ -23,6 +23,7 @@ import java.io.Serializable; import java.util.stream.Collectors; import org.apache.syncope.client.console.commons.Constants; import org.apache.syncope.client.console.panels.BeanPanel; +import org.apache.syncope.client.console.panels.search.SearchUtils; import org.apache.syncope.client.console.rest.ImplementationRestClient; import org.apache.syncope.client.console.rest.ReportRestClient; import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel; @@ -41,6 +42,8 @@ import org.apache.wicket.extensions.wizard.WizardModel; import org.apache.wicket.extensions.wizard.WizardStep; import org.apache.wicket.model.PropertyModel; import org.apache.wicket.model.LoadableDetachableModel; +import org.springframework.beans.BeanWrapper; +import org.springframework.beans.PropertyAccessorFactory; public class ReportletWizardBuilder extends AjaxWizardBuilder<ReportletWrapper> { @@ -65,6 +68,11 @@ public class ReportletWizardBuilder extends AjaxWizardBuilder<ReportletWrapper> @Override protected Serializable onApplyInternal(final ReportletWrapper modelObject) { if (modelObject.getImplementationEngine() == ImplementationEngine.JAVA) { + BeanWrapper confWrapper = PropertyAccessorFactory.forBeanPropertyAccess(modelObject.getConf()); + modelObject.getSCondWrapper().forEach((fieldName, pair) -> { + confWrapper.setPropertyValue(fieldName, SearchUtils.buildFIQL(pair.getRight(), pair.getLeft())); + }); + ImplementationTO reportlet = implementationClient.read( ImplementationType.REPORTLET, modelObject.getImplementationKey()); try { @@ -85,8 +93,7 @@ public class ReportletWizardBuilder extends AjaxWizardBuilder<ReportletWrapper> } @Override - protected WizardModel buildModelSteps( - final ReportletWrapper modelObject, final WizardModel wizardModel) { + protected WizardModel buildModelSteps(final ReportletWrapper modelObject, final WizardModel wizardModel) { wizardModel.add(new Profile(modelObject)); wizardModel.add(new Configuration(modelObject)); return wizardModel; @@ -97,8 +104,8 @@ public class ReportletWizardBuilder extends AjaxWizardBuilder<ReportletWrapper> private static final long serialVersionUID = -3043839139187792810L; public Profile(final ReportletWrapper reportlet) { - final AjaxDropDownChoicePanel<String> conf = new AjaxDropDownChoicePanel<>( - "reportlet", getString("reportlet"), new PropertyModel<String>(reportlet, "implementationKey")); + AjaxDropDownChoicePanel<String> conf = new AjaxDropDownChoicePanel<>( + "reportlet", getString("reportlet"), new PropertyModel<>(reportlet, "implementationKey")); conf.setChoices(implementationClient.list(ImplementationType.REPORTLET).stream(). map(EntityTO::getKey).sorted().collect(Collectors.toList())); diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java index 7380437..bcf3d10 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java @@ -61,8 +61,9 @@ public class UserDetails extends Details<UserTO> { // ------------------------ username = new AjaxTextFieldPanel("username", "username", new PropertyModel<>(userTO, "username"), false); - if (wrapper.getPreviousUserTO() != null && StringUtils. - compare(wrapper.getPreviousUserTO().getUsername(), wrapper.getInnerObject().getUsername()) != 0) { + if (wrapper.getPreviousUserTO() != null && StringUtils.compare( + wrapper.getPreviousUserTO().getUsername(), wrapper.getInnerObject().getUsername()) != 0) { + username.showExternAction(new LabelInfo("externalAction", wrapper.getPreviousUserTO().getUsername())); }
