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


The following commit(s) were added to refs/heads/master by this push:
     new cf37997  Reflow
cf37997 is described below

commit cf3799771d538832dc04612b1b31c2699cb1b894
Author: Francesco Chicchiriccò <ilgro...@apache.org>
AuthorDate: Wed Mar 3 18:00:37 2021 +0100

    Reflow
---
 .../core/spring/security/AuthDataAccessor.java     | 41 +++++++++-------------
 1 file changed, 17 insertions(+), 24 deletions(-)

diff --git 
a/core/spring/src/main/java/org/apache/syncope/core/spring/security/AuthDataAccessor.java
 
b/core/spring/src/main/java/org/apache/syncope/core/spring/security/AuthDataAccessor.java
index 43957ad..bb2ad8a 100644
--- 
a/core/spring/src/main/java/org/apache/syncope/core/spring/security/AuthDataAccessor.java
+++ 
b/core/spring/src/main/java/org/apache/syncope/core/spring/security/AuthDataAccessor.java
@@ -24,13 +24,11 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
-import org.apache.commons.lang3.ArrayUtils;
 import javax.security.auth.login.AccountNotFoundException;
-
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.syncope.common.keymaster.client.api.ConfParamOps;
@@ -42,8 +40,6 @@ import org.apache.syncope.common.lib.types.IdRepoEntitlement;
 import org.apache.syncope.core.persistence.api.ImplementationLookup;
 import org.apache.syncope.core.persistence.api.dao.AccessTokenDAO;
 import org.apache.syncope.core.persistence.api.dao.AnySearchDAO;
-import org.apache.syncope.core.persistence.api.entity.AnyType;
-import org.apache.syncope.core.persistence.api.entity.resource.Provision;
 import org.apache.syncope.core.persistence.api.dao.AnyTypeDAO;
 import org.apache.syncope.core.persistence.api.dao.GroupDAO;
 import org.apache.syncope.core.persistence.api.dao.RealmDAO;
@@ -51,9 +47,11 @@ import org.apache.syncope.core.persistence.api.dao.UserDAO;
 import org.apache.syncope.core.persistence.api.dao.search.AttrCond;
 import org.apache.syncope.core.persistence.api.dao.search.SearchCond;
 import org.apache.syncope.core.persistence.api.entity.AccessToken;
-import org.apache.syncope.core.persistence.api.entity.Entity;
+import org.apache.syncope.core.persistence.api.entity.AnyType;
+import org.apache.syncope.core.persistence.api.entity.DynRealm;
 import org.apache.syncope.core.persistence.api.entity.Realm;
 import 
org.apache.syncope.core.persistence.api.entity.resource.ExternalResource;
+import org.apache.syncope.core.persistence.api.entity.resource.Provision;
 import org.apache.syncope.core.persistence.api.entity.user.User;
 import org.apache.syncope.core.provisioning.api.AuditManager;
 import org.apache.syncope.core.provisioning.api.ConnectorFactory;
@@ -237,16 +235,12 @@ public class AuthDataAccessor {
             String connObjectKey = null;
             try {
                 AnyType userType = anyTypeDAO.findUser();
-                Optional<? extends Provision> provision = 
resource.getProvision(userType);
-                if (provision.isEmpty()) {
-                    throw new AccountNotFoundException("Unable to locate 
provision for user type " + userType.getKey());
-                }
-                Optional<String> connObjectKeyValue = 
mappingManager.getConnObjectKeyValue(user, provision.get());
-                if (connObjectKeyValue.isEmpty()) {
-                    throw new AccountNotFoundException(
-                            "Unable to locate conn object key value for " + 
userType.getKey());
-                }
-                connObjectKey = connObjectKeyValue.get();
+                Provision provision = resource.getProvision(userType).
+                        orElseThrow(() -> new AccountNotFoundException(
+                        "Unable to locate provision for user type " + 
userType.getKey()));
+                connObjectKey = mappingManager.getConnObjectKeyValue(user, 
provision).
+                        orElseThrow(() -> new AccountNotFoundException(
+                        "Unable to locate conn object key value for " + 
userType.getKey()));
                 Uid uid = 
connFactory.getConnector(resource).authenticate(connObjectKey, password, null);
                 if (uid != null) {
                     authenticated = true;
@@ -311,10 +305,9 @@ public class AuthDataAccessor {
                     realms = new HashSet<>();
                     entForRealms.put(entitlement, realms);
                 }
-                realms.addAll(role.getRealms().stream().
-                        map(Realm::getFullPath).collect(Collectors.toSet()));
+                
realms.addAll(role.getRealms().stream().map(Realm::getFullPath).collect(Collectors.toSet()));
                 if (!entitlement.endsWith("_CREATE") && 
!entitlement.endsWith("_DELETE")) {
-                    
realms.addAll(role.getDynRealms().stream().map(Entity::getKey).collect(Collectors.toList()));
+                    
realms.addAll(role.getDynRealms().stream().map(DynRealm::getKey).collect(Collectors.toList()));
                 }
             }));
 
@@ -332,11 +325,11 @@ public class AuthDataAccessor {
             });
 
             // Finally normalize realms for each given entitlement and 
generate authorities
-            entForRealms.entrySet().stream().map(entry -> {
-                SyncopeGrantedAuthority authority = new 
SyncopeGrantedAuthority(entry.getKey());
-                authority.addRealms(RealmUtils.normalize(entry.getValue()));
-                return authority;
-            }).forEachOrdered(authorities::add);
+            entForRealms.forEach((key, value) -> {
+                SyncopeGrantedAuthority authority = new 
SyncopeGrantedAuthority(key);
+                authority.addRealms(RealmUtils.normalize(value));
+                authorities.add(authority);
+            });
         }
 
         return authorities;

Reply via email to