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/d9ff2d42 Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/d9ff2d42 Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/d9ff2d42 Branch: refs/heads/master Commit: d9ff2d429a0aadc6a7757199f1a8a33446038667 Parents: 669864f 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:50 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/d9ff2d42/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/d9ff2d42/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/d9ff2d42/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/d9ff2d42/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/d9ff2d42/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/d9ff2d42/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/d9ff2d42/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/d9ff2d42/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/d9ff2d42/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) {