simplify optional call chains (#284)
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/rest/ConnectorRestClient.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/rest/ConnectorRestClient.java
index 4a4466a..31e933e 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/rest/ConnectorRestClient.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/rest/ConnectorRestClient.java
@@ -102,10 +102,8 @@
filter(object -> object.getType().equalsIgnoreCase(objectClass)).
findAny();
- return connIdObjectClass.isPresent()
- ? connIdObjectClass.get().getAttributes().stream().
- map(PlainSchemaTO::getKey).collect(Collectors.toList())
- : List.of();
+ return connIdObjectClass.map(connIdObjectClassTO -> connIdObjectClassTO.getAttributes().stream().
+ map(PlainSchemaTO::getKey).collect(Collectors.toList())).orElseGet(List::of);
}
/**
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/status/LinkedAccountStatusPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/status/LinkedAccountStatusPanel.java
index ab42a0e..16904b0 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/status/LinkedAccountStatusPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/status/LinkedAccountStatusPanel.java
@@ -59,8 +59,6 @@
protected Pair<ConnObjectTO, ConnObjectTO> getConnObjectTOs() {
Optional<ReconStatus> status = ReconStatusUtils.getReconStatus(anyTypeKey, connObjectKeyValue, resource);
- return status.isPresent()
- ? Pair.of(status.get().getOnSyncope(), status.get().getOnResource())
- : null;
+ return status.map(reconStatus -> Pair.of(reconStatus.getOnSyncope(), reconStatus.getOnResource())).orElse(null);
}
}
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountPlainAttrsPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountPlainAttrsPanel.java
index 3b16078..e4cdef8 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountPlainAttrsPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountPlainAttrsPanel.java
@@ -252,7 +252,7 @@
AbstractFieldPanel<?> panel = setPanel(
schemas,
item,
- !linkedAccountTO.getPlainAttr(attrTO.getSchema()).isPresent());
+ linkedAccountTO.getPlainAttr(attrTO.getSchema()).isEmpty());
panel.showExternAction(checkboxToggle(attrTO, panel, isMultivalue));
}
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java
index ec8ba12..e6fb804 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java
@@ -93,13 +93,12 @@
protected ResourceProvision getActualItem(
final ResourceProvision item, final List<ResourceProvision> list) {
- return Optional.ofNullable(item)
- .map(resourceProvision -> list.stream()
- .filter(in -> ((resourceProvision.getKey() == null && in.getKey() == null)
- || (in.getKey() != null && in.getKey().equals(resourceProvision.getKey())))
- && ((resourceProvision.getAnyType() == null && in.getAnyType() == null)
- || (in.getAnyType() != null && in.getAnyType().equals(resourceProvision.getAnyType())))).
- findAny().orElse(null)).orElse(null);
+ return Optional.ofNullable(item).flatMap(resourceProvision -> list.stream()
+ .filter(in -> ((resourceProvision.getKey() == null && in.getKey() == null)
+ || (in.getKey() != null && in.getKey().equals(resourceProvision.getKey())))
+ && ((resourceProvision.getAnyType() == null && in.getAnyType() == null)
+ || (in.getAnyType() != null && in.getAnyType().equals(resourceProvision.getAnyType())))).
+ findAny()).orElse(null);
}
@Override
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
index 63baab4..72bab8c 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
@@ -217,25 +217,18 @@
fragment.add(Component.class.cast(modalPanel));
container.addOrReplace(fragment);
}
- if (target.isPresent()) {
- customActionCallback(target.get());
- }
+ target.ifPresent(this::customActionCallback);
} else if (event.getPayload() instanceof AjaxWizard.NewItemCancelEvent) {
if (wizardInModal) {
- if (target.isPresent()) {
- modal.close(target.get());
- }
+ target.ifPresent(modal::close);
} else {
container.addOrReplace(initialFragment);
}
- if (target.isPresent()) {
- customActionOnCancelCallback(target.get());
- }
+ target.ifPresent(this::customActionOnCancelCallback);
} else if (event.getPayload() instanceof AjaxWizard.NewItemFinishEvent) {
SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
- if (target.isPresent()) {
- ((BaseWebPage) pageRef.getPage()).getNotificationPanel().refresh(target.get());
- }
+ target.ifPresent(ajaxRequestTarget ->
+ ((BaseWebPage) pageRef.getPage()).getNotificationPanel().refresh(ajaxRequestTarget));
if (wizardInModal && showResultPage) {
modal.setContent(new ResultPage<>(
@@ -256,15 +249,11 @@
});
target.ifPresent(t -> t.add(modal.getForm()));
} else if (wizardInModal) {
- if (target.isPresent()) {
- modal.close(target.get());
- }
+ target.ifPresent(modal::close);
} else {
container.addOrReplace(initialFragment);
}
- if (target.isPresent()) {
- customActionOnFinishCallback(target.get());
- }
+ target.ifPresent(this::customActionOnFinishCallback);
}
if (containerAutoRefresh) {
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrsWizardStep.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrsWizardStep.java
index 600fc1d..083ef4a 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrsWizardStep.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrsWizardStep.java
@@ -425,7 +425,7 @@
? Optional.empty()
: previousObject.getPlainAttr(attr.getSchema());
if (previousObject != null
- && ((!prevAttr.isPresent() && attr.getValues().stream().anyMatch(StringUtils::isNotBlank))
+ && ((prevAttr.isEmpty() && attr.getValues().stream().anyMatch(StringUtils::isNotBlank))
|| (prevAttr.isPresent() && !ListUtils.isEqualList(
prevAttr.get().getValues().stream().
filter(StringUtils::isNotBlank).collect(Collectors.toList()),
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWizardBuilder.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWizardBuilder.java
index 72fca74..1edd671 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWizardBuilder.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/AnyWizardBuilder.java
@@ -186,10 +186,10 @@
forEach(oMemb -> GroupableRelatableTO.class.cast(updated).getMembership(oMemb.getGroupKey()).
ifPresent(uMemb -> {
oMemb.getPlainAttrs().stream().
- filter(attr -> !uMemb.getPlainAttr(attr.getSchema()).isPresent()).
+ filter(attr -> uMemb.getPlainAttr(attr.getSchema()).isEmpty()).
forEach(attr -> uMemb.getPlainAttrs().add(attr));
oMemb.getVirAttrs().stream().
- filter(attr -> !uMemb.getVirAttr(attr.getSchema()).isPresent()).
+ filter(attr -> uMemb.getVirAttr(attr.getSchema()).isEmpty()).
forEach(attr -> uMemb.getVirAttrs().add(attr));
}));
}
diff --git a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/panels/AnyFormPanel.java b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/panels/AnyFormPanel.java
index 865cda3..e48cf22 100644
--- a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/panels/AnyFormPanel.java
+++ b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/panels/AnyFormPanel.java
@@ -142,12 +142,12 @@
// re-add to the updated object any missing plain or virtual attribute (compared to original): this to cope with
// form layout, which might have not included some plain or virtual attributes
for (Attr plainAttr : original.getPlainAttrs()) {
- if (!updated.getPlainAttr(plainAttr.getSchema()).isPresent()) {
+ if (updated.getPlainAttr(plainAttr.getSchema()).isEmpty()) {
updated.getPlainAttrs().add(plainAttr);
}
}
for (Attr virAttr : original.getVirAttrs()) {
- if (!updated.getVirAttr(virAttr.getSchema()).isPresent()) {
+ if (updated.getVirAttr(virAttr.getSchema()).isEmpty()) {
updated.getVirAttrs().add(virAttr);
}
}
@@ -159,11 +159,11 @@
.cast(updated).getMembership(oMemb.getGroupKey()).ifPresent(uMemb -> {
oMemb.getPlainAttrs()
.stream().
- filter(attr -> !uMemb.getPlainAttr(attr.getSchema()).isPresent()).
+ filter(attr -> uMemb.getPlainAttr(attr.getSchema()).isEmpty()).
forEach(attr -> uMemb.getPlainAttrs().add(attr));
oMemb.getVirAttrs()
.stream().
- filter(attr -> !uMemb.getVirAttr(attr.getSchema()).isPresent()).
+ filter(attr -> uMemb.getVirAttr(attr.getSchema()).isEmpty()).
forEach(attr -> uMemb.getVirAttrs().add(attr));
}
);
diff --git a/core/idm/logic/src/main/java/org/apache/syncope/core/logic/ReconciliationLogic.java b/core/idm/logic/src/main/java/org/apache/syncope/core/logic/ReconciliationLogic.java
index 5070bd1..b33cb81 100644
--- a/core/idm/logic/src/main/java/org/apache/syncope/core/logic/ReconciliationLogic.java
+++ b/core/idm/logic/src/main/java/org/apache/syncope/core/logic/ReconciliationLogic.java
@@ -468,7 +468,7 @@
Any<?> any = getAny(provision, anyKey);
- if (!provision.getMapping().getConnObjectKeyItem().isPresent()) {
+ if (provision.getMapping().getConnObjectKeyItem().isEmpty()) {
throw new NotFoundException(
"ConnObjectKey cannot be determined for mapping " + provision.getMapping().getKey());
}
diff --git a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java b/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java
index 4570944..8e833d4 100644
--- a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java
+++ b/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java
@@ -139,7 +139,7 @@
Optional<Parameter> delegatedByHeaderParameter = parameters.stream().
filter(p -> p instanceof HeaderParameter && RESTHeaders.DELEGATED_BY.equals(p.getName())).findFirst();
- if (!delegatedByHeaderParameter.isPresent()) {
+ if (delegatedByHeaderParameter.isEmpty()) {
HeaderParameter parameter = new HeaderParameter();
parameter.setName(RESTHeaders.DELEGATED_BY);
parameter.setRequired(false);
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/FilterVisitor.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/FilterVisitor.java
index c9720e9..a822bb1 100644
--- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/FilterVisitor.java
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/FilterVisitor.java
@@ -83,7 +83,7 @@
switch (ct) {
case EQUALS:
case NOT_EQUALS:
- if (!specialAttrName.isPresent()) {
+ if (specialAttrName.isEmpty()) {
if (specialAttrValue.isPresent() && specialAttrValue.get() == SpecialAttr.NULL) {
Filter empty = FilterBuilder.startsWith(AttributeBuilder.build(name, StringUtils.EMPTY));
if (ct == ConditionType.NOT_EQUALS) {
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/SearchCondVisitor.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/SearchCondVisitor.java
index bdf9d21..1d31601 100644
--- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/SearchCondVisitor.java
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/SearchCondVisitor.java
@@ -128,7 +128,7 @@
switch (ct) {
case EQUALS:
case NOT_EQUALS:
- if (!specialAttrName.isPresent()) {
+ if (specialAttrName.isEmpty()) {
if (specialAttrValue.isPresent() && specialAttrValue.get() == SpecialAttr.NULL) {
attrCond.setType(AttrCond.Type.ISNULL);
attrCond.setExpression(null);
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyMatchDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyMatchDAO.java
index 0e81893..d6c398a 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyMatchDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyMatchDAO.java
@@ -165,13 +165,9 @@
if (match == null) {
Optional<AnyCond> anyCond = cond.getLeaf(AnyCond.class);
- if (anyCond.isPresent()) {
- match = matches(any, anyCond.get(), not);
- } else {
- match = cond.getLeaf(AttrCond.class).
- map(leaf -> matches(any, leaf, not)).
- orElse(null);
- }
+ match = anyCond.map(value -> matches(any, value, not)).orElseGet(() -> cond.getLeaf(AttrCond.class).
+ map(leaf -> matches(any, leaf, not)).
+ orElse(null));
}
if (match == null) {
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/notification/DefaultNotificationManager.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/notification/DefaultNotificationManager.java
index 9d5a171..f32826a 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/notification/DefaultNotificationManager.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/notification/DefaultNotificationManager.java
@@ -343,7 +343,7 @@
if (!notification.getEvents().contains(currentEvent)) {
LOG.debug("No events found about {}", any);
} else if (anyType == null || any == null
- || !notification.getAbout(anyType).isPresent()
+ || notification.getAbout(anyType).isEmpty()
|| anyMatchDAO.matches(any, SearchCondConverter.convert(
searchCondVisitor, notification.getAbout(anyType).get().get()))) {
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 048b1e4..9636e31 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
@@ -345,7 +345,7 @@
provision = task.getResource().getProvision(new ObjectClass(task.getObjectClassName())).orElse(null);
orgUnit = task.getResource().getOrgUnit();
- if (taskInfo.getBeforeObj() == null || !taskInfo.getBeforeObj().isPresent()) {
+ if (taskInfo.getBeforeObj() == null || taskInfo.getBeforeObj().isEmpty()) {
// Try to read remote object BEFORE any actual operation
beforeObj = provision == null && orgUnit == null
? null
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java
index 627384c..2edba41 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java
@@ -455,8 +455,7 @@
propByRes.asMap().forEach((resourceKey, operation) -> {
ExternalResource resource = resourceDAO.find(resourceKey);
Provision provision = Optional.ofNullable(resource).
- map(externalResource -> externalResource.getProvision(any.getType()).
- orElse(null)).orElse(null);
+ flatMap(externalResource -> externalResource.getProvision(any.getType())).orElse(null);
Stream<? extends Item> mappingItems = provision == null
? Stream.empty()
: MappingUtils.getPropagationItems(provision.getMapping().getItems().stream());
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPullResultHandler.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPullResultHandler.java
index dd95907..11cd1ba 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPullResultHandler.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPullResultHandler.java
@@ -478,7 +478,7 @@
attrsToRemove.add(connObjectAttr.getSchema());
} else {
Optional<Attr> updateAttr = update.getPlainAttr(connObjectAttr.getSchema());
- if (!updateAttr.isPresent() || !updateAttr.get().getValues().equals(connObjectAttr.getValues())) {
+ if (updateAttr.isEmpty() || !updateAttr.get().getValues().equals(connObjectAttr.getValues())) {
attrsToRemove.add(connObjectAttr.getSchema());
update.getPlainAttrs().add(connObjectAttr);
}
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPushResultHandler.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPushResultHandler.java
index 7260039..7a64b72 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPushResultHandler.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DefaultUserPushResultHandler.java
@@ -224,17 +224,16 @@
// Try to read remote object BEFORE any actual operation
Optional<ConnectorObject> connObj = MappingUtils.getConnObjectKeyItem(provision).
- map(connObjectKeyItem -> outboundMatcher.matchByConnObjectKeyValue(
- profile.getConnector(),
- connObjectKeyItem,
- account.getConnObjectKeyValue(),
- provision,
- Optional.empty(),
- Optional.empty())).
- orElse(Optional.empty());
+ flatMap(connObjectKeyItem -> outboundMatcher.matchByConnObjectKeyValue(
+ profile.getConnector(),
+ connObjectKeyItem,
+ account.getConnObjectKeyValue(),
+ provision,
+ Optional.empty(),
+ Optional.empty()));
LOG.debug("Match found for linked account {} as {}: {}", account, provision.getObjectClass(), connObj);
- ConnectorObject beforeObj = connObj.isPresent() ? connObj.get() : null;
+ ConnectorObject beforeObj = connObj.orElse(null);
if (profile.isDryRun()) {
if (beforeObj == null) {
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/InboundMatcher.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/InboundMatcher.java
index 4c3ab19..76f5d8a 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/InboundMatcher.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/InboundMatcher.java
@@ -174,9 +174,7 @@
}
result = matches.stream().filter(match -> match.getAny() != null).findFirst();
- if (result.isPresent()) {
- virAttrHandler.setValues(result.get().getAny(), connObj);
- }
+ result.ifPresent(pullMatch -> virAttrHandler.setValues(pullMatch.getAny(), connObj));
}
} catch (IllegalArgumentException e) {
LOG.warn(e.getMessage());
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/OutboundMatcher.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/OutboundMatcher.java
index c776a0e..5a90641 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/OutboundMatcher.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/OutboundMatcher.java
@@ -128,14 +128,13 @@
Optional.of(moreAttrsToGet.toArray(new String[0])),
Optional.empty()));
} else {
- MappingUtils.getConnObjectKeyItem(provision).ifPresent(connObjectKeyItem -> matchByConnObjectKeyValue(
- connector,
- connObjectKeyItem,
- connObjectKeyValue,
- provision,
- Optional.of(moreAttrsToGet.toArray(new String[0])),
- Optional.empty()).
- ifPresent(result::add));
+ MappingUtils.getConnObjectKeyItem(provision).flatMap(connObjectKeyItem -> matchByConnObjectKeyValue(
+ connector,
+ connObjectKeyItem,
+ connObjectKeyValue,
+ provision,
+ Optional.of(moreAttrsToGet.toArray(new String[0])),
+ Optional.empty())).ifPresent(result::add);
}
} catch (RuntimeException e) {
LOG.error("Could not match {} with any existing {}", any, provision.getObjectClass(), e);
@@ -167,7 +166,7 @@
}
});
Optional<String[]> effectiveMATG = Optional.of(Stream.concat(
- moreAttrsToGet.map(Stream::of).orElse(Stream.empty()),
+ moreAttrsToGet.stream().flatMap(Stream::of),
matgFromPropagationActions.stream()).toArray(String[]::new));
Optional<PushCorrelationRule> rule = rule(provision);
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/TemplateUtils.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/TemplateUtils.java
index 79a0491..cb0a3b0 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/TemplateUtils.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/TemplateUtils.java
@@ -125,14 +125,14 @@
private static void fillRelationships(final GroupableRelatableTO any, final GroupableRelatableTO template) {
template.getRelationships().stream().
- filter(relationship -> !any.getRelationship(
- relationship.getOtherEndKey(), relationship.getOtherEndKey()).isPresent()).
+ filter(relationship -> any.getRelationship(
+ relationship.getOtherEndKey(), relationship.getOtherEndKey()).isEmpty()).
forEachOrdered(relationship -> any.getRelationships().add(relationship));
}
private static void fillMemberships(final GroupableRelatableTO any, final GroupableRelatableTO template) {
template.getMemberships().stream().
- filter(membership -> !any.getMembership(membership.getGroupKey()).isPresent()).
+ filter(membership -> any.getMembership(membership.getGroupKey()).isEmpty()).
forEachOrdered(membership -> any.getMemberships().add(membership));
}
diff --git a/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ClientCache.java b/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ClientCache.java
index af95548..e6ecf64 100644
--- a/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ClientCache.java
+++ b/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ClientCache.java
@@ -66,9 +66,7 @@
public static Optional<String> getSPMetadataPath(final String spEntityID) {
String entityIDPath = StringUtils.replaceChars(
StringUtils.removeStart(StringUtils.removeStart(spEntityID, "https://"), "http://"), ":/", "__");
- return Optional.ofNullable(METADATA_PATH).
- map(path -> Optional.of(path.resolve(entityIDPath).toAbsolutePath().toString())).
- orElse(Optional.empty());
+ return Optional.ofNullable(METADATA_PATH).map(path -> path.resolve(entityIDPath).toAbsolutePath().toString());
}
private final List<SAML2Client> cache = Collections.synchronizedList(new ArrayList<>());
diff --git a/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/cxf/UserServiceImpl.java b/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/cxf/UserServiceImpl.java
index 321767f..b671f8e 100644
--- a/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/cxf/UserServiceImpl.java
+++ b/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/cxf/UserServiceImpl.java
@@ -136,7 +136,7 @@
filter(meta -> !meta.isDeleted() && username.equals(meta.getUser().getUsername())).
findFirst().map(UserMetadata::getUser);
- if (!user.isPresent()) {
+ if (user.isEmpty()) {
throw new NotFoundException(username);
}
if (!password.equals(user.get().getPassword())) {
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SearchITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SearchITCase.java
index c70017b..498693d 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SearchITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SearchITCase.java
@@ -595,7 +595,7 @@
SyncopeClient.getConnObjectTOFiqlSearchConditionBuilder().
is("homePhone").nullValue().query()).build());
assertTrue(matches.getResult().stream().
- anyMatch(connObject -> !connObject.getAttr("homePhone").isPresent()));
+ anyMatch(connObject -> connObject.getAttr("homePhone").isEmpty()));
}
@Test