Repository: syncope
Updated Branches:
  refs/heads/2_0_X 4327bef34 -> 42c5d5257
  refs/heads/2_1_X 313c2aee1 -> 0f9e3e158
  refs/heads/master 669864f4e -> d9ff2d429


Some Java 8 usage improvements


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/0f9e3e15
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/0f9e3e15
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/0f9e3e15

Branch: refs/heads/2_1_X
Commit: 0f9e3e1587e757e23fcb64d0adb1f08dfba33391
Parents: 313c2ae
Author: Francesco Chicchiriccò <ilgro...@apache.org>
Authored: Tue Aug 14 18:04:42 2018 +0200
Committer: Francesco Chicchiriccò <ilgro...@apache.org>
Committed: Tue Aug 14 18:04:42 2018 +0200

----------------------------------------------------------------------
 .../syncope/core/logic/ResourceLogic.java       | 16 ++++++------
 .../provisioning/java/MappingManagerImpl.java   |  4 +--
 .../provisioning/java/VirAttrHandlerImpl.java   |  2 +-
 .../java/data/AbstractAnyDataBinder.java        | 27 +++++++++-----------
 .../job/report/ReconciliationReportlet.java     |  2 +-
 .../AbstractPropagationTaskExecutor.java        |  2 +-
 .../provisioning/java/pushpull/PullUtils.java   |  2 +-
 .../provisioning/java/pushpull/PushUtils.java   |  2 +-
 .../provisioning/java/utils/MappingUtils.java   |  8 +++---
 9 files changed, 31 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/0f9e3e15/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceLogic.java
----------------------------------------------------------------------
diff --git 
a/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceLogic.java 
b/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceLogic.java
index bea59db..4d6a4c2 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceLogic.java
@@ -312,12 +312,12 @@ public class ResourceLogic extends 
AbstractTransactionalLogic<ResourceTO> {
         }
 
         // 2. build connObjectKeyItem
-        Optional<MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(init.getRight());
-        if (!connObjectKeyItem.isPresent()) {
-            throw new NotFoundException(
-                    "ConnObjectKey mapping for " + init.getMiddle() + " " + 
anyKey + " on resource '" + key + "'");
-        }
-        Optional<String> connObjectKeyValue = 
mappingManager.getConnObjectKeyValue(any, init.getRight());
+        MappingItem connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(init.getRight()).
+                orElseThrow(() -> new NotFoundException(
+                "ConnObjectKey mapping for " + init.getMiddle() + " " + anyKey 
+ " on resource '" + key + "'"));
+        String connObjectKeyValue = mappingManager.getConnObjectKeyValue(any, 
init.getRight()).
+                orElseThrow(() -> new NotFoundException(
+                "ConnObjectKey value for " + init.getMiddle() + " " + anyKey + 
" on resource '" + key + "'"));
 
         // 3. determine attributes to query
         Set<MappingItem> linkinMappingItems = 
virSchemaDAO.findByProvision(init.getRight()).stream().
@@ -330,12 +330,12 @@ public class ResourceLogic extends 
AbstractTransactionalLogic<ResourceTO> {
         Connector connector = connFactory.getConnector(init.getLeft());
         ConnectorObject connectorObject = connector.getObject(
                 init.getRight().getObjectClass(),
-                
AttributeBuilder.build(connObjectKeyItem.get().getExtAttrName(), 
connObjectKeyValue.get()),
+                AttributeBuilder.build(connObjectKeyItem.getExtAttrName(), 
connObjectKeyValue),
                 init.getRight().isIgnoreCaseMatch(),
                 MappingUtils.buildOperationOptions(mapItems));
         if (connectorObject == null) {
             throw new NotFoundException(
-                    "Object " + connObjectKeyValue.get() + " with class " + 
init.getRight().getObjectClass()
+                    "Object " + connObjectKeyValue + " with class " + 
init.getRight().getObjectClass()
                     + " not found on resource " + key);
         }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f9e3e15/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
index fc4ac8b..4fc8fec 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
@@ -207,7 +207,7 @@ public class MappingManagerImpl implements MappingManager {
             }
         }
 
-        Optional<MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision);
+        Optional<? extends MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision);
         if (connObjectKeyItem.isPresent()) {
             Attribute connObjectKeyExtAttr = 
AttributeUtil.find(connObjectKeyItem.get().getExtAttrName(), attributes);
             if (connObjectKeyExtAttr != null) {
@@ -656,7 +656,7 @@ public class MappingManagerImpl implements MappingManager {
     }
 
     private String getGroupOwnerValue(final Provision provision, final Any<?> 
any) {
-        Optional<MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision);
+        Optional<? extends MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision);
 
         Pair<String, Attribute> preparedAttr = null;
         if (connObjectKeyItem.isPresent()) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f9e3e15/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/VirAttrHandlerImpl.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/VirAttrHandlerImpl.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/VirAttrHandlerImpl.java
index 37f9364..d951a4c 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/VirAttrHandlerImpl.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/VirAttrHandlerImpl.java
@@ -99,7 +99,7 @@ public class VirAttrHandlerImpl implements VirAttrHandler {
         toRead.forEach((provision, schemasToRead) -> {
             LOG.debug("About to read from {}: {}", provision, schemasToRead);
 
-            Optional<MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision);
+            Optional<? extends MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision);
             String connObjectKeyValue = connObjectKeyItem.isPresent()
                     ? mappingManager.getConnObjectKeyValue(any, 
provision).orElse(null)
                     : null;

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f9e3e15/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AbstractAnyDataBinder.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AbstractAnyDataBinder.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AbstractAnyDataBinder.java
index 4f51593..28f44af 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AbstractAnyDataBinder.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AbstractAnyDataBinder.java
@@ -181,7 +181,7 @@ abstract class AbstractAnyDataBinder {
                 ? values
                 : (values.isEmpty()
                 ? Collections.<String>emptyList()
-                : Collections.singletonList(values.iterator().next()));
+                : Collections.singletonList(values.get(0)));
 
         valuesProvided.forEach(value -> {
             if (StringUtils.isBlank(value)) {
@@ -313,7 +313,7 @@ abstract class AbstractAnyDataBinder {
                 List<String> valuesToBeAdded = patch.getAttrTO().getValues();
                 if (!valuesToBeAdded.isEmpty()
                         && (!schema.isUniqueConstraint() || 
attr.getUniqueValue() == null
-                        || 
!valuesToBeAdded.iterator().next().equals(attr.getUniqueValue().getValueAsString())))
 {
+                        || 
!valuesToBeAdded.get(0).equals(attr.getUniqueValue().getValueAsString()))) {
 
                     fillAttr(valuesToBeAdded, anyUtils, schema, attr, 
invalidValues);
                 }
@@ -633,21 +633,18 @@ abstract class AbstractAnyDataBinder {
     protected Map<String, String> getConnObjectKeys(final Any<?> any, final 
AnyUtils anyUtils) {
         Map<String, String> connObjectKeys = new HashMap<>();
 
-        Iterable<? extends ExternalResource> iterable = 
anyUtils.getAllResources(any);
-        anyUtils.getAllResources(any).forEach(resource -> {
-            Optional<? extends Provision> provision = 
resource.getProvision(any.getType());
-            if (provision.isPresent() && provision.get().getMapping() != null) 
{
-                Optional<MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision.get());
-                if (!connObjectKeyItem.isPresent()) {
-                    throw new NotFoundException(
+        anyUtils.getAllResources(any).
+                forEach(resource -> resource.getProvision(any.getType()).
+                filter(provision -> provision.getMapping() != null).
+                ifPresent(provision -> {
+                    MappingItem connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision).
+                            orElseThrow(() -> new NotFoundException(
                             "ConnObjectKey mapping for " + 
any.getType().getKey() + " " + any.getKey()
-                            + " on resource '" + resource.getKey() + "'");
-                }
+                            + " on resource '" + resource.getKey() + "'"));
 
-                mappingManager.getConnObjectKeyValue(any, provision.get()).
-                        ifPresent(connObjectKey -> 
connObjectKeys.put(resource.getKey(), connObjectKey));
-            }
-        });
+                    mappingManager.getConnObjectKeyValue(any, provision).
+                            ifPresent(value -> 
connObjectKeys.put(resource.getKey(), value));
+                }));
 
         return connObjectKeys;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f9e3e15/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/ReconciliationReportlet.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/ReconciliationReportlet.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/ReconciliationReportlet.java
index 63c6457..91d440e 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/ReconciliationReportlet.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/ReconciliationReportlet.java
@@ -286,7 +286,7 @@ public class ReconciliationReportlet extends 
AbstractReportlet {
             AnyUtils anyUtils = anyUtilsFactory.getInstance(any);
             anyUtils.getAllResources(any).forEach(resource -> {
                 Provision provision = 
resource.getProvision(any.getType()).orElse(null);
-                Optional<MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision);
+                Optional<? extends MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision);
                 final String connObjectKeyValue = connObjectKeyItem.isPresent()
                         ? mappingManager.getConnObjectKeyValue(any, 
provision).get()
                         : StringUtils.EMPTY;

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f9e3e15/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/AbstractPropagationTaskExecutor.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/AbstractPropagationTaskExecutor.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/AbstractPropagationTaskExecutor.java
index 766f345..184fc28 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/AbstractPropagationTaskExecutor.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/AbstractPropagationTaskExecutor.java
@@ -616,7 +616,7 @@ public abstract class AbstractPropagationTaskExecutor 
implements PropagationTask
                 map(schema -> 
schema.asLinkingMappingItem()).collect(Collectors.toSet());
 
         ConnectorObject obj = null;
-        Optional<MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision);
+        Optional<? extends MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision);
         if (connObjectKeyItem.isPresent()) {
             try {
                 obj = connector.getObject(

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f9e3e15/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PullUtils.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PullUtils.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PullUtils.java
index 84b3661..2344c69 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PullUtils.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PullUtils.java
@@ -174,7 +174,7 @@ public class PullUtils {
 
         String connObjectKey = null;
 
-        Optional<MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision);
+        Optional<? extends MappingItem> connObjectKeyItem = 
MappingUtils.getConnObjectKeyItem(provision);
         if (connObjectKeyItem.isPresent()) {
             Attribute connObjectKeyAttr = 
connObj.getAttributeByName(connObjectKeyItem.get().getExtAttrName());
             if (connObjectKeyAttr != null) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f9e3e15/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PushUtils.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PushUtils.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PushUtils.java
index 7262a0a..65a34b7 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PushUtils.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PushUtils.java
@@ -108,7 +108,7 @@ public class PushUtils {
             final Any<?> any,
             final Provision provision) {
 
-        Optional<MappingItem> connObjectKey = 
MappingUtils.getConnObjectKeyItem(provision);
+        Optional<? extends MappingItem> connObjectKey = 
MappingUtils.getConnObjectKeyItem(provision);
         Optional<String> connObjectKeyValue = 
mappingManager.getConnObjectKeyValue(any, provision);
 
         ConnectorObject obj = null;

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f9e3e15/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/MappingUtils.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/MappingUtils.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/MappingUtils.java
index 398fef5..5d0c9d2 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/MappingUtils.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/MappingUtils.java
@@ -55,15 +55,15 @@ public final class MappingUtils {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(MappingUtils.class);
 
-    public static Optional<MappingItem> getConnObjectKeyItem(final Provision 
provision) {
+    public static Optional<? extends MappingItem> getConnObjectKeyItem(final 
Provision provision) {
         Mapping mapping = null;
         if (provision != null) {
             mapping = provision.getMapping();
         }
 
-        return Optional.ofNullable(mapping == null
-                ? null
-                : mapping.getConnObjectKeyItem().get());
+        return mapping == null
+                ? Optional.empty()
+                : mapping.getConnObjectKeyItem();
     }
 
     public static List<? extends Item> getPropagationItems(final List<? 
extends Item> items) {

Reply via email to