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/04/21 06:47:43 UTC

[syncope] branch 2_1_X updated: [SYNCOPE-1521] reflow

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 56b1196  [SYNCOPE-1521] reflow
56b1196 is described below

commit 56b1196053c44f39c24d29b388676112eea590d5
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Tue Apr 21 08:47:28 2020 +0200

    [SYNCOPE-1521] reflow
---
 .../client/console/SyncopeConsoleSession.java      |  9 +++----
 .../syncope/client/console/panels/AnyPanel.java    |  3 +--
 .../syncope/client/console/panels/Realm.java       |  4 +---
 .../client/console/panels/RealmChoicePanel.java    | 28 ++++++++++++----------
 4 files changed, 21 insertions(+), 23 deletions(-)

diff --git a/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java b/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java
index ba96490..14b8d49 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java
@@ -283,7 +283,7 @@ public class SyncopeConsoleSession extends AuthenticatedWebSession {
         return auth.values().stream().flatMap(Set::stream).distinct().sorted().collect(Collectors.toList());
     }
 
-    public List<String> getVisibleRealms() {
+    public List<String> getSearchableRealms() {
         Set<String> roots = auth.get(StandardEntitlement.REALM_LIST);
         return roots.isEmpty()
                 ? Collections.emptyList()
@@ -291,11 +291,8 @@ public class SyncopeConsoleSession extends AuthenticatedWebSession {
     }
 
     public Optional<String> getRootRealm() {
-        List<String> roots = getVisibleRealms();
-        if (roots.isEmpty()) {
-            return Optional.empty();
-        }
-        return roots.stream().findFirst();
+        List<String> roots = getSearchableRealms();
+        return roots.isEmpty() ? Optional.empty() : roots.stream().findFirst();
     }
 
     public boolean owns(final String entitlements, final String... realms) {
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
index 7e62958..8e80270 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
@@ -89,8 +89,7 @@ public class AnyPanel extends Panel implements ModalPanel {
 
                 final String realm;
                 final String dynRealm;
-                if (StringUtils.isNotBlank(realmTO.getFullPath())
-                    && realmTO.getFullPath().startsWith(SyncopeConstants.ROOT_REALM)) {
+                if (StringUtils.startsWith(realmTO.getFullPath(), SyncopeConstants.ROOT_REALM)) {
                     realm = realmTO.getFullPath();
                     dynRealm = null;
                 } else {
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
index f2adcca..74231b5 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
@@ -108,9 +108,7 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
             public Panel getPanel(final String panelId) {
                 final ActionsPanel<RealmTO> actionPanel = new ActionsPanel<>("actions", null);
 
-                if (StringUtils.isNotBlank(realmTO.getFullPath()) 
-                        && realmTO.getFullPath().startsWith(SyncopeConstants.ROOT_REALM)) {
-
+                if (StringUtils.startsWith(realmTO.getFullPath(), SyncopeConstants.ROOT_REALM)) {
                     actionPanel.add(new ActionLink<RealmTO>(realmTO) {
 
                         private static final long serialVersionUID = 2802988981431379827L;
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 807d226..75df73f 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
@@ -33,7 +33,6 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Optional;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 import org.apache.commons.lang3.StringUtils;
@@ -100,9 +99,9 @@ public class RealmChoicePanel extends Panel {
     public RealmChoicePanel(final String id, final PageReference pageRef) {
         super(id);
         this.pageRef = pageRef;
-        availableRealms = SyncopeConsoleSession.get().getVisibleRealms();
+        availableRealms = SyncopeConsoleSession.get().getSearchableRealms();
         tree = new HashMap<>();
-        isSearchEnabled = RealmsUtils.isSearchEnabled(SyncopeConsoleSession.get().getVisibleRealms());
+        isSearchEnabled = RealmsUtils.isSearchEnabled(SyncopeConsoleSession.get().getSearchableRealms());
 
         realmTree = new LoadableDetachableModel<List<Pair<String, RealmTO>>>() {
 
@@ -162,15 +161,21 @@ public class RealmChoicePanel extends Panel {
             }
         };
 
-        RealmTO realmTO = new RealmTO();
-        Optional<String> rootRealm = SyncopeConsoleSession.get().getRootRealm();
-        if (rootRealm.isPresent()) {
+        RealmTO realmTO = SyncopeConsoleSession.get().getRootRealm().map(rootRealm -> {
+            String rootRealmName = StringUtils.substringAfterLast(rootRealm, "/");
+
             List<RealmTO> realmTOs = realmRestClient.search(
                     RealmsUtils.buildQuery(SyncopeConstants.ROOT_REALM.equals(rootRealm)
-                            ? SyncopeConstants.ROOT_REALM
-                            : StringUtils.substringAfterLast(rootRealm.get(), "/"))).getResult();
-            realmTO = realmTOs.stream().filter(realm -> rootRealm.get().equals(realm.getFullPath())).findFirst().get();
-        }
+                            ? SyncopeConstants.ROOT_REALM : rootRealmName)).getResult();
+
+            return realmTOs.stream().filter(realm -> rootRealm.equals(realm.getFullPath())).findFirst().
+                    orElseGet(() -> {
+                        RealmTO placeholder = new RealmTO();
+                        placeholder.setName(rootRealmName);
+                        placeholder.setFullPath(rootRealm);
+                        return placeholder;
+                    });
+        }).orElseGet(() -> new RealmTO());
 
         model = Model.of(realmTO);
         searchQuery = realmTO.getName();
@@ -186,8 +191,7 @@ public class RealmChoicePanel extends Panel {
 
         container.addOrReplace(realmLabel);
 
-        if (StringUtils.isBlank(model.getObject().getFullPath())
-                || model.getObject().getFullPath().startsWith(SyncopeConstants.ROOT_REALM))  {
+        if (StringUtils.startsWith(model.getObject().getFullPath(), SyncopeConstants.ROOT_REALM)) {
             realmLabel.setDefaultModel(new ResourceModel("realmLabel", "Realm"));
         } else {
             realmLabel.setDefaultModel(new ResourceModel("dynRealmLabel", "Dynamic Realm"));