You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2020/02/06 09:59:34 UTC

[syncope] branch 2_1_X updated: [SYNCOPE-1538] Cleanup

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


The following commit(s) were added to refs/heads/2_1_X by this push:
     new 5cdb900  [SYNCOPE-1538] Cleanup
5cdb900 is described below

commit 5cdb90093b21238478adc9d63a99619c69db3aca
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Thu Feb 6 10:57:25 2020 +0100

    [SYNCOPE-1538] Cleanup
---
 .../client/console/panels/RealmChoicePanel.java    | 24 ++++-----
 .../client/console/status/ReconTaskPanel.java      | 10 ++--
 .../console/tasks/SchedTaskWizardBuilder.java      | 26 +++------
 .../client/console/wizards/any/Details.java        | 10 ++--
 .../wizards/resources/ConnectorDetailsPanel.java   | 62 +++++-----------------
 5 files changed, 38 insertions(+), 94 deletions(-)

diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
index 1bac74f..b73ff9f 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
@@ -26,6 +26,7 @@ import de.agilecoders.wicket.core.markup.html.bootstrap.button.dropdown.DropDown
 import de.agilecoders.wicket.core.markup.html.bootstrap.image.GlyphIconType;
 import de.agilecoders.wicket.core.markup.html.bootstrap.image.IconType;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
@@ -95,7 +96,7 @@ public class RealmChoicePanel extends Panel {
 
     private List<RealmTO> realmsChoices;
 
-    private boolean isSearchEnabled;
+    private final boolean isSearchEnabled;
 
     public RealmChoicePanel(final String id, final PageReference pageRef) {
         super(id);
@@ -125,7 +126,7 @@ public class RealmChoicePanel extends Panel {
 
             @Override
             protected List<Pair<String, RealmTO>> load() {
-                Map<String, Pair<RealmTO, List<RealmTO>>> map = reloadRealmParentMap(isSearchEnabled);
+                Map<String, Pair<RealmTO, List<RealmTO>>> map = reloadRealmParentMap();
                 List<Pair<String, RealmTO>> full = new ArrayList<>();
                 if (isSearchEnabled) {
                     full = map.entrySet().stream().map(
@@ -391,24 +392,19 @@ public class RealmChoicePanel extends Panel {
         return this;
     }
 
-    private Map<String, Pair<RealmTO, List<RealmTO>>> reloadRealmParentMap(final boolean enableSearch) {
-        List<RealmTO> realmsToList = enableSearch
-                ? realmRestClient.search(new RealmQuery.Builder().
-                        keyword(searchQuery.contains("*")
-                                ? searchQuery
-                                : "*" + searchQuery + "*").build()).getResult()
+    private Map<String, Pair<RealmTO, List<RealmTO>>> reloadRealmParentMap() {
+        List<RealmTO> realmsToList = isSearchEnabled
+                ? realmRestClient.search(RealmsUtils.buildQuery(searchQuery)).getResult()
                 : realmRestClient.list();
 
         return reloadRealmParentMap(realmsToList.stream().
                 sorted(Comparator.comparing(RealmTO::getName)).
-                collect(Collectors.toList()), enableSearch);
+                collect(Collectors.toList()));
     }
 
-    private Map<String, Pair<RealmTO, List<RealmTO>>> reloadRealmParentMap(
-            final List<RealmTO> realms,
-            final boolean enableSearch) {
+    private Map<String, Pair<RealmTO, List<RealmTO>>> reloadRealmParentMap(final List<RealmTO> realms) {
         tree.clear();
-        if (!enableSearch) {
+        if (!isSearchEnabled) {
             tree.put(null, Pair.<RealmTO, List<RealmTO>>of(realms.get(0), new ArrayList<>()));
         }
 
@@ -428,7 +424,7 @@ public class RealmChoicePanel extends Panel {
             } else if (cache.containsKey(realm.getParent())) {
                 cache.get(realm.getParent()).add(realm);
             } else {
-                cache.put(realm.getParent(), new ArrayList<>(Collections.singleton(realm)));
+                cache.put(realm.getParent(), Arrays.asList(realm));
             }
         });
         return tree;
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java
index 261edba..01b4ec8 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/status/ReconTaskPanel.java
@@ -122,13 +122,12 @@ public class ReconTaskPanel extends MultilevelPanel.SecondLevel {
             form.add(new Label("realm", ""));
         } else {
             boolean isSearchEnabled = RealmsUtils.enableSearchRealm();
-            final AutoCompleteSettings settings = new AutoCompleteSettings();
+            AutoCompleteSettings settings = new AutoCompleteSettings();
             settings.setShowCompleteListOnFocusGain(!isSearchEnabled);
             settings.setShowListOnEmptyInput(!isSearchEnabled);
 
-            final AjaxSearchFieldPanel realm =
-                    new AjaxSearchFieldPanel("realm", "destinationRealm",
-                            new PropertyModel<String>(taskTO, "destinationRealm"), settings) {
+            AjaxSearchFieldPanel realm = new AjaxSearchFieldPanel(
+                    "realm", "destinationRealm", new PropertyModel<String>(taskTO, "destinationRealm"), settings) {
 
                 private static final long serialVersionUID = -6390474600233486704L;
 
@@ -212,7 +211,8 @@ public class ReconTaskPanel extends MultilevelPanel.SecondLevel {
 
                     SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
                 } catch (Exception e) {
-                    LOG.error("While attempting reconciliation on {}", reconQuery, form.getModelObject(), e);
+                    LOG.error("While attempting reconciliation using query {} on {}",
+                            reconQuery, form.getModelObject(), e);
                     SyncopeConsoleSession.get().onException(e);
                 }
                 multiLevelPanelRef.prev(target);
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder.java
index 3e4dab0..baad11d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder.java
@@ -74,23 +74,12 @@ public class SchedTaskWizardBuilder<T extends SchedTaskTO> extends AjaxWizardBui
 
     private CrontabPanel crontabPanel;
 
-    private String realmQuery;
-
-    private boolean isSearchEnabled;
-
-    private final LoadableDetachableModel<List<String>> realms = new LoadableDetachableModel<List<String>>() {
-
-        private static final long serialVersionUID = 5275935387613157437L;
-
-        @Override
-        protected List<String> load() {
-            return searchRealms().stream().map(RealmTO::getFullPath).sorted().collect(Collectors.toList());
-        }
-    };
+    private final boolean isSearchEnabled;
 
     public SchedTaskWizardBuilder(final TaskType type, final T taskTO, final PageReference pageRef) {
         super(taskTO, pageRef);
         this.type = type;
+        this.isSearchEnabled = RealmsUtils.enableSearchRealm();
     }
 
     @Override
@@ -119,7 +108,7 @@ public class SchedTaskWizardBuilder<T extends SchedTaskTO> extends AjaxWizardBui
         return wizardModel;
     }
 
-    private List<RealmTO> searchRealms() {
+    private List<RealmTO> searchRealms(final String realmQuery) {
         return isSearchEnabled
                 ? realmRestClient.search(RealmsUtils.buildQuery(realmQuery)).getResult()
                 : realmRestClient.list();
@@ -174,7 +163,6 @@ public class SchedTaskWizardBuilder<T extends SchedTaskTO> extends AjaxWizardBui
         };
 
         public Profile(final SchedTaskTO taskTO) {
-            isSearchEnabled = RealmsUtils.enableSearchRealm();
             AjaxTextFieldPanel name = new AjaxTextFieldPanel("name", "name", new PropertyModel<>(taskTO, "name"),
                     false);
             name.addRequiredLabel();
@@ -255,9 +243,8 @@ public class SchedTaskWizardBuilder<T extends SchedTaskTO> extends AjaxWizardBui
 
                 @Override
                 protected Iterator<String> getChoices(final String input) {
-                    realmQuery = input;
                     return (RealmsUtils.checkInput(input)
-                            ? searchRealms().stream().map(RealmTO::getFullPath).collect(Collectors.toList())
+                            ? searchRealms(input).stream().map(RealmTO::getFullPath).collect(Collectors.toList())
                             : Collections.<String>emptyList()).iterator();
                 }
             };
@@ -288,9 +275,8 @@ public class SchedTaskWizardBuilder<T extends SchedTaskTO> extends AjaxWizardBui
 
                 @Override
                 protected Iterator<String> getChoices(final String input) {
-                    realmQuery = input;
                     return (RealmsUtils.checkInput(input)
-                            ? searchRealms().stream().map(RealmTO::getFullPath).collect(Collectors.toList())
+                            ? searchRealms(input).stream().map(RealmTO::getFullPath).collect(Collectors.toList())
                             : Collections.<String>emptyList()).iterator();
                 }
             };
@@ -315,7 +301,7 @@ public class SchedTaskWizardBuilder<T extends SchedTaskTO> extends AjaxWizardBui
             AjaxPalettePanel<String> actions = new AjaxPalettePanel.Builder<String>().
                     setAllowMoveAll(true).setAllowOrder(true).
                     build("actions",
-                            new PropertyModel<List<String>>(taskTO, "actions"),
+                            new PropertyModel<>(taskTO, "actions"),
                             new ListModel<>(taskTO instanceof PushTaskTO
                                     ? pushActions.getObject() : pullActions.getObject()));
             actions.setOutputMarkupId(true);
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Details.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Details.java
index 8d11492..343ace5 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Details.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Details.java
@@ -31,6 +31,7 @@ import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPa
 import org.apache.syncope.client.console.wicket.markup.html.form.FieldPanel;
 import org.apache.syncope.common.lib.to.AnyTO;
 import org.apache.syncope.common.lib.to.RealmTO;
+import org.apache.wicket.Component;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteSettings;
 import org.apache.wicket.extensions.wizard.WizardStep;
@@ -62,13 +63,12 @@ public class Details<T extends AnyTO> extends WizardStep {
         final List<String> authRealms = SyncopeConsoleSession.get().getAuthRealms();
         final T inner = wrapper.getInnerObject();
         final Fragment fragment;
-        
+
         if (templateMode) {
             realm = new AjaxTextFieldPanel(
                     "destinationRealm", "destinationRealm", new PropertyModel<>(inner, "realm"), false);
             AjaxTextFieldPanel.class.cast(realm).enableJexlHelp();
             fragment = new Fragment("realmsFragment", "realmsTemplateFragment", this);
-
         } else {
             boolean isSearchEnabled = RealmsUtils.enableSearchRealm();
             final AutoCompleteSettings settings = new AutoCompleteSettings();
@@ -115,11 +115,9 @@ public class Details<T extends AnyTO> extends WizardStep {
         List<RealmTO> realms = new ArrayList<>();
 
         realmLinks.stream().
-                map(link -> link.getDefaultModelObject()).
+                map(Component::getDefaultModelObject).
                 filter(modelObject -> modelObject instanceof RealmTO).
-                forEachOrdered(modelObject -> {
-                    realms.add((RealmTO) modelObject);
-                });
+                forEachOrdered(modelObject -> realms.add((RealmTO) modelObject));
 
         return realms;
     }
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.java
index 877b3aa..f0459f1 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.java
@@ -34,65 +34,38 @@ import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPa
 import org.apache.syncope.common.lib.to.ConnBundleTO;
 import org.apache.syncope.common.lib.to.ConnInstanceTO;
 import org.apache.syncope.common.lib.to.ConnPoolConfTO;
-import org.apache.syncope.common.lib.to.RealmTO;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteSettings;
 import org.apache.wicket.extensions.wizard.WizardStep;
 import org.apache.wicket.markup.html.form.DropDownChoice;
-import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.model.PropertyModel;
 
 public class ConnectorDetailsPanel extends WizardStep {
 
     private static final long serialVersionUID = -2435937897614232137L;
-
     private final RealmRestClient realmRestClient = new RealmRestClient();
 
-    private String realmQuery;
-
-    private boolean isSearchEnabled;
-
-    private final LoadableDetachableModel<List<String>> realms;
-
     public ConnectorDetailsPanel(final ConnInstanceTO connInstanceTO, final List<ConnBundleTO> bundles) {
         super();
         setOutputMarkupId(true);
 
-        final List<String> authRealms = SyncopeConsoleSession.get().getAuthRealms();
-        isSearchEnabled = RealmsUtils.enableSearchRealm();
-
-        realms = new LoadableDetachableModel<List<String>>() {
-
-            private static final long serialVersionUID = 5275935387613157437L;
-
-            @Override
-            protected List<String> load() {
-                List<RealmTO> realmList = searchRealms();
-                return realmList.stream().
-                        filter(realm -> authRealms.stream().
-                        anyMatch(authRealm -> realm.getFullPath().startsWith(authRealm))).
-                        map(RealmTO::getFullPath).
-                        sorted().
-                        collect(Collectors.toList());
-            }
-        };
+        boolean isSearchEnabled = RealmsUtils.enableSearchRealm();
 
         final AutoCompleteSettings settings = new AutoCompleteSettings();
         settings.setShowCompleteListOnFocusGain(!isSearchEnabled);
         settings.setShowListOnEmptyInput(!isSearchEnabled);
 
-        AjaxSearchFieldPanel realm = new AjaxSearchFieldPanel("adminRealm", "adminRealm",
-                new PropertyModel<>(connInstanceTO, "adminRealm"), settings) {
+        AjaxSearchFieldPanel realm = new AjaxSearchFieldPanel(
+                "adminRealm", "adminRealm", new PropertyModel<>(connInstanceTO, "adminRealm"), settings) {
 
             private static final long serialVersionUID = -6390474600233486704L;
 
             @Override
             protected Iterator<String> getChoices(final String input) {
-                realmQuery = input;
                 return (isSearchEnabled
-                        ? searchRealms()
+                        ? realmRestClient.search(RealmsUtils.buildQuery(input)).getResult()
                         : realmRestClient.list()).
-                        stream().filter(realm -> authRealms.stream().anyMatch(
+                        stream().filter(realm -> SyncopeConsoleSession.get().getAuthRealms().stream().anyMatch(
                         authRealm -> realm.getFullPath().startsWith(authRealm))).
                         map(item -> item.getFullPath()).collect(Collectors.toList()).iterator();
             }
@@ -124,9 +97,7 @@ public class ConnectorDetailsPanel extends WizardStep {
         List<String> bundleNames = new ArrayList<>();
         bundles.stream().
                 filter(bundle -> (!bundleNames.contains(bundle.getBundleName()))).
-                forEachOrdered(bundle -> {
-                    bundleNames.add(bundle.getBundleName());
-                });
+                forEachOrdered(bundle -> bundleNames.add(bundle.getBundleName()));
 
         bundleName.setChoices(bundleNames);
         bundleName.addRequiredLabel();
@@ -170,39 +141,32 @@ public class ConnectorDetailsPanel extends WizardStep {
 
         add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).max(Integer.MAX_VALUE).build(
                 "connRequestTimeout", "connRequestTimeout", Integer.class,
-                new PropertyModel<Integer>(connInstanceTO, "connRequestTimeout")));
+                new PropertyModel<>(connInstanceTO, "connRequestTimeout")));
 
         add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).max(Integer.MAX_VALUE).build(
                 "poolMaxObjects", "poolMaxObjects", Integer.class,
-                new PropertyModel<Integer>(connInstanceTO.getPoolConf(), "maxObjects")));
+                new PropertyModel<>(connInstanceTO.getPoolConf(), "maxObjects")));
 
         add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).max(Integer.MAX_VALUE).build(
                 "poolMinIdle", "poolMinIdle", Integer.class,
-                new PropertyModel<Integer>(connInstanceTO.getPoolConf(), "minIdle")));
+                new PropertyModel<>(connInstanceTO.getPoolConf(), "minIdle")));
 
         add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).max(Integer.MAX_VALUE).build(
                 "poolMaxIdle", "poolMaxIdle", Integer.class,
-                new PropertyModel<Integer>(connInstanceTO.getPoolConf(), "maxIdle")));
+                new PropertyModel<>(connInstanceTO.getPoolConf(), "maxIdle")));
 
         add(new AjaxSpinnerFieldPanel.Builder<Long>().min(0L).max(Long.MAX_VALUE).build(
                 "poolMaxWait", "poolMaxWait", Long.class,
-                new PropertyModel<Long>(connInstanceTO.getPoolConf(), "maxWait")));
+                new PropertyModel<>(connInstanceTO.getPoolConf(), "maxWait")));
 
         add(new AjaxSpinnerFieldPanel.Builder<Long>().min(0L).max(Long.MAX_VALUE).build(
                 "poolMinEvictableIdleTime", "poolMinEvictableIdleTime", Long.class,
-                new PropertyModel<Long>(connInstanceTO.getPoolConf(), "minEvictableIdleTimeMillis")));
+                new PropertyModel<>(connInstanceTO.getPoolConf(), "minEvictableIdleTimeMillis")));
     }
 
     private List<String> getVersions(final ConnInstanceTO connInstanceTO, final List<ConnBundleTO> bundles) {
-        return bundles.stream().filter(object
-                -> object.getLocation().equals(connInstanceTO.getLocation())
+        return bundles.stream().filter(object -> object.getLocation().equals(connInstanceTO.getLocation())
                 && object.getBundleName().equals(connInstanceTO.getBundleName())).
                 map(ConnBundleTO::getVersion).collect(Collectors.toList());
     }
-
-    private List<RealmTO> searchRealms() {
-        return isSearchEnabled
-                ? realmRestClient.search(RealmsUtils.buildQuery(realmQuery)).getResult()
-                : realmRestClient.list();
-    }
 }