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 2019/12/06 09:14:19 UTC

[syncope] branch master updated (38ea365 -> ac5dafa)

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

ilgrosso pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git.


    from 38ea365  [SYNCOPE-1518] More XForwardedRequestWrapperFactory config options
     new 0678697  [SYNCOPE-1522] Realm behaviors for Delegated Administration
     new ac5dafa  White noise: more Java 8 goodness

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../client/console/panels/RealmChoicePanel.java    | 75 ++++++----------------
 1 file changed, 18 insertions(+), 57 deletions(-)


[syncope] 01/02: [SYNCOPE-1522] Realm behaviors for Delegated Administration

Posted by il...@apache.org.
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

commit 0678697a4011825de1c5de69d51053f841000001
Author: Marco Di Sabatino Di Diodoro <ma...@tirasa.net>
AuthorDate: Fri Dec 6 09:55:40 2019 +0100

    [SYNCOPE-1522] Realm behaviors for Delegated Administration
---
 .../client/console/panels/RealmChoicePanel.java    | 56 ++++++----------------
 1 file changed, 15 insertions(+), 41 deletions(-)

diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
index 738fafb..f9c4180 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
@@ -89,12 +89,12 @@ public class RealmChoicePanel extends Panel {
     public RealmChoicePanel(final String id, final PageReference pageRef) {
         super(id);
         this.pageRef = pageRef;
+        availableRealms = SyncopeConsoleSession.get().getAuthRealms();
         tree = new HashMap<>();
 
         RealmTO fakeRootRealm = new RealmTO();
         fakeRootRealm.setName(SyncopeConstants.ROOT_REALM);
         fakeRootRealm.setFullPath(SyncopeConstants.ROOT_REALM);
-        model = Model.of(fakeRootRealm);
 
         realmTree = new LoadableDetachableModel<List<Pair<String, RealmTO>>>() {
 
@@ -118,11 +118,14 @@ public class RealmChoicePanel extends Panel {
             @Override
             protected List<Pair<String, RealmTO>> load() {
                 Map<String, Pair<RealmTO, List<RealmTO>>> map = reloadRealmParentMap();
-                model.setObject(map.get(null).getKey());
-
-                final List<Pair<String, RealmTO>> full = new ArrayList<>();
+                List<Pair<String, RealmTO>> full = new ArrayList<>();
                 getChildren(full, null, map, StringUtils.EMPTY);
-                return full;
+
+                return full.stream().filter(realm
+                        -> availableRealms.stream().anyMatch(
+                                availableRealm -> realm.getValue().getFullPath()
+                                        .startsWith(availableRealm))).collect(Collectors.toList());
+
             }
         };
 
@@ -142,17 +145,17 @@ public class RealmChoicePanel extends Panel {
                         return left.getKey().compareTo(right.getKey());
                     }
                 });
-
-                return dynRealms;
+                return dynRealms.stream().filter(dynRealm
+                        -> availableRealms.stream().anyMatch(
+                                availableRealm -> SyncopeConstants.ROOT_REALM.equals(availableRealm)
+                                || dynRealm.getKey().equals(availableRealm))).collect(Collectors.toList());
             }
         };
-
+       
+        model = Model.of(realmTree.getObject().stream().findFirst().get().getValue());
         container = new WebMarkupContainer("container", realmTree);
         container.setOutputMarkupId(true);
         add(container);
-
-        availableRealms = SyncopeConsoleSession.get().getAuthRealms();
-
         reloadRealmTree();
     }
 
@@ -187,22 +190,7 @@ public class RealmChoicePanel extends Panel {
             BootstrapSelectConfig config = new BootstrapSelectConfig().withLiveSearch(true);
             config.put(new Key<>("styleBase", "btn"), "btn glyphicon glyphicon-folder-open");
             BootstrapSelect<Pair<String, RealmTO>> select =
-                    new BootstrapSelect<Pair<String, RealmTO>>("realmsLiveSearch", new Model<>(), realms) {
-
-                private static final long serialVersionUID = -12358873583862012L;
-
-                @Override
-                protected boolean isDisabled(
-                        final Pair<String, RealmTO> object,
-                        final int index,
-                        final String selected) {
-                    return availableRealms.stream().anyMatch(availableRealm -> {
-                        return !SyncopeConstants.ROOT_REALM.equals(availableRealm)
-                                && !object.getValue().getFullPath().equals(availableRealm);
-                    });
-                }
-            };
-
+                    new BootstrapSelect<>("realmsLiveSearch", new Model<>(), realms);
             select.with(config);
             select.setOutputMarkupId(true);
             select.setChoiceRenderer(new IChoiceRenderer<Pair<String, RealmTO>>() {
@@ -316,12 +304,6 @@ public class RealmChoicePanel extends Panel {
                     target.add(label);
                     send(pageRef.getPage(), Broadcast.EXACT, new ChosenRealm<>(realmTO, target));
                 }
-
-                @Override
-                public boolean isEnabled() {
-                    return availableRealms.stream().
-                            anyMatch(availableRealm -> realmTO.getFullPath().startsWith(availableRealm));
-                }
             });
         }
 
@@ -373,14 +355,6 @@ public class RealmChoicePanel extends Panel {
                         target.add(label);
                         send(pageRef.getPage(), Broadcast.EXACT, new ChosenRealm<>(realmTO, target));
                     }
-
-                    @Override
-                    public boolean isEnabled() {
-                        return availableRealms.stream().anyMatch(availableRealm -> {
-                            return SyncopeConstants.ROOT_REALM.equals(availableRealm)
-                                    || realmTO.getKey().equals(availableRealm);
-                        });
-                    }
                 });
             }
         }


[syncope] 02/02: White noise: more Java 8 goodness

Posted by il...@apache.org.
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

commit ac5dafa5340350fecb0871fc554054aacf991698
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Fri Dec 6 10:11:11 2019 +0100

    White noise: more Java 8 goodness
---
 .../client/console/panels/RealmChoicePanel.java    | 35 +++++++---------------
 1 file changed, 11 insertions(+), 24 deletions(-)

diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
index f9c4180..7958254 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
@@ -36,8 +36,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
-import org.apache.commons.collections4.IterableUtils;
-import org.apache.commons.collections4.Predicate;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.syncope.client.console.SyncopeConsoleSession;
@@ -92,10 +90,6 @@ public class RealmChoicePanel extends Panel {
         availableRealms = SyncopeConsoleSession.get().getAuthRealms();
         tree = new HashMap<>();
 
-        RealmTO fakeRootRealm = new RealmTO();
-        fakeRootRealm.setName(SyncopeConstants.ROOT_REALM);
-        fakeRootRealm.setFullPath(SyncopeConstants.ROOT_REALM);
-
         realmTree = new LoadableDetachableModel<List<Pair<String, RealmTO>>>() {
 
             private static final long serialVersionUID = -7688359318035249200L;
@@ -120,12 +114,9 @@ public class RealmChoicePanel extends Panel {
                 Map<String, Pair<RealmTO, List<RealmTO>>> map = reloadRealmParentMap();
                 List<Pair<String, RealmTO>> full = new ArrayList<>();
                 getChildren(full, null, map, StringUtils.EMPTY);
-
-                return full.stream().filter(realm
-                        -> availableRealms.stream().anyMatch(
-                                availableRealm -> realm.getValue().getFullPath()
-                                        .startsWith(availableRealm))).collect(Collectors.toList());
-
+                return full.stream().filter(realm -> availableRealms.stream().anyMatch(
+                        availableRealm -> realm.getValue().getFullPath().startsWith(availableRealm))).
+                        collect(Collectors.toList());
             }
         };
 
@@ -151,7 +142,7 @@ public class RealmChoicePanel extends Panel {
                                 || dynRealm.getKey().equals(availableRealm))).collect(Collectors.toList());
             }
         };
-       
+
         model = Model.of(realmTree.getObject().stream().findFirst().get().getValue());
         container = new WebMarkupContainer("container", realmTree);
         container.setOutputMarkupId(true);
@@ -210,13 +201,9 @@ public class RealmChoicePanel extends Panel {
                 @Override
                 public Pair<String, RealmTO> getObject(final String id,
                         final IModel<? extends List<? extends Pair<String, RealmTO>>> choices) {
-                    return IterableUtils.find(choices.getObject(), new Predicate<Pair<String, RealmTO>>() {
 
-                        @Override
-                        public boolean evaluate(final Pair<String, RealmTO> object) {
-                            return object.getKey().equals(id);
-                        }
-                    });
+                    return choices.getObject().stream().
+                            filter(object -> object.getKey().equals(id)).findFirst().orElse(null);
                 }
             });
             select.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
@@ -286,8 +273,8 @@ public class RealmChoicePanel extends Panel {
             }
         });
 
-        for (Pair<String, RealmTO> link : realmTree.getObject()) {
-            final RealmTO realmTO = link.getValue();
+        realmTree.getObject().forEach(link -> {
+            RealmTO realmTO = link.getValue();
             RealmChoicePanel.this.links.add(new BootstrapAjaxLink<RealmTO>(
                     ButtonList.getButtonMarkupId(),
                     Model.of(realmTO),
@@ -305,7 +292,7 @@ public class RealmChoicePanel extends Panel {
                     send(pageRef.getPage(), Broadcast.EXACT, new ChosenRealm<>(realmTO, target));
                 }
             });
-        }
+        });
 
         if (!dynRealmTree.getObject().isEmpty()) {
             RealmChoicePanel.this.links.add(new BootstrapAjaxLink<RealmTO>(
@@ -333,7 +320,7 @@ public class RealmChoicePanel extends Panel {
                 }
             });
 
-            for (DynRealmTO dynRealmTO : dynRealmTree.getObject()) {
+            dynRealmTree.getObject().forEach(dynRealmTO -> {
                 final RealmTO realmTO = new RealmTO();
                 realmTO.setKey(dynRealmTO.getKey());
                 realmTO.setName(dynRealmTO.getKey());
@@ -356,7 +343,7 @@ public class RealmChoicePanel extends Panel {
                         send(pageRef.getPage(), Broadcast.EXACT, new ChosenRealm<>(realmTO, target));
                     }
                 });
-            }
+            });
         }
     }