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 2017/08/22 15:09:15 UTC
[11/16] syncope git commit: [SYNCOPE-938] Switching from
commons-collections to Java 8 features
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormTO.java
index 0e80be6..2f99b65 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormTO.java
@@ -23,12 +23,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Optional;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
-import org.apache.commons.collections4.IterableUtils;
-import org.apache.commons.collections4.Predicate;
import org.apache.syncope.common.lib.AbstractBaseBean;
import org.apache.syncope.common.lib.patch.UserPatch;
@@ -135,14 +134,8 @@ public class WorkflowFormTO extends AbstractBaseBean {
}
@JsonIgnore
- public WorkflowFormPropertyTO getProperty(final String id) {
- return IterableUtils.find(properties, new Predicate<WorkflowFormPropertyTO>() {
-
- @Override
- public boolean evaluate(final WorkflowFormPropertyTO object) {
- return id.equals(object.getId());
- }
- });
+ public Optional<WorkflowFormPropertyTO> getProperty(final String id) {
+ return properties.stream().filter(property -> id.equals(property.getId())).findFirst();
}
@XmlElementWrapper(name = "workflowFormProperties")
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractAnyLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractAnyLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractAnyLogic.java
index fd7e5f2..ad43e0e 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractAnyLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractAnyLogic.java
@@ -22,9 +22,6 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.IterableUtils;
-import org.apache.commons.collections4.Predicate;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.syncope.common.lib.SyncopeClientException;
@@ -77,7 +74,7 @@ public abstract class AbstractAnyLogic<TO extends AnyTO, P extends AnyPatch> ext
private List<LogicActions> getActions(final Realm realm) {
List<LogicActions> actions = new ArrayList<>();
- for (String className : realm.getActionsClassNames()) {
+ realm.getActionsClassNames().forEach(className -> {
try {
Class<?> actionsClass = Class.forName(className);
LogicActions logicActions = (LogicActions) ApplicationContextProvider.getBeanFactory().
@@ -87,7 +84,7 @@ public abstract class AbstractAnyLogic<TO extends AnyTO, P extends AnyPatch> ext
} catch (Exception e) {
LOG.warn("Class '{}' not found", className, e);
}
- }
+ });
return actions;
}
@@ -229,20 +226,15 @@ public abstract class AbstractAnyLogic<TO extends AnyTO, P extends AnyPatch> ext
}
protected boolean securityChecks(final Set<String> effectiveRealms, final String realm, final String key) {
- boolean authorized = IterableUtils.matchesAny(effectiveRealms, new Predicate<String>() {
-
- @Override
- public boolean evaluate(final String ownedRealm) {
- return realm.startsWith(ownedRealm);
- }
- });
+ boolean authorized = effectiveRealms.stream().anyMatch(ownedRealm -> realm.startsWith(ownedRealm));
if (!authorized) {
AnyDAO<?> anyDAO = this instanceof UserLogic
? userDAO
: this instanceof GroupLogic
? groupDAO
: anyObjectDAO;
- authorized = !CollectionUtils.intersection(anyDAO.findDynRealms(key), effectiveRealms).isEmpty();
+ authorized = anyDAO.findDynRealms(key).stream().
+ filter(dynRealm -> effectiveRealms.contains(dynRealm)).findFirst().isPresent();
}
if (!authorized) {
throw new DelegatedAdministrationException(
@@ -255,7 +247,7 @@ public abstract class AbstractAnyLogic<TO extends AnyTO, P extends AnyPatch> ext
key);
}
- return IterableUtils.matchesAny(effectiveRealms, new RealmUtils.DynRealmsPredicate());
+ return effectiveRealms.stream().anyMatch(new RealmUtils.DynRealmsPredicate());
}
public abstract TO read(String key);
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/AccessTokenLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/AccessTokenLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/AccessTokenLogic.java
index f1a39c1..ee3877f 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/AccessTokenLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/AccessTokenLogic.java
@@ -21,13 +21,11 @@ package org.apache.syncope.core.logic;
import static org.apache.syncope.core.logic.AbstractLogic.LOG;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
+import java.util.stream.Collectors;
import javax.annotation.Resource;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.syncope.common.lib.to.AccessTokenTO;
import org.apache.syncope.common.lib.types.CipherAlgorithm;
@@ -115,14 +113,8 @@ public class AccessTokenLogic extends AbstractTransactionalLogic<AccessTokenTO>
final int size,
final List<OrderByClause> orderByClauses) {
- return CollectionUtils.collect(accessTokenDAO.findAll(page, size, orderByClauses),
- new Transformer<AccessToken, AccessTokenTO>() {
-
- @Override
- public AccessTokenTO transform(final AccessToken input) {
- return binder.getAccessTokenTO(input);
- }
- }, new ArrayList<AccessTokenTO>());
+ return accessTokenDAO.findAll(page, size, orderByClauses).stream().
+ map(accessToken -> binder.getAccessTokenTO(accessToken)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.ACCESS_TOKEN_DELETE + "')")
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java
index e5621be..a067ab7 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java
@@ -19,13 +19,11 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
@@ -95,14 +93,8 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
List<AnyObject> matching = searchDAO.search(
effectiveRealms, searchCond, page, size, orderBy, AnyTypeKind.ANY_OBJECT);
- List<AnyObjectTO> result = CollectionUtils.collect(matching, new Transformer<AnyObject, AnyObjectTO>() {
-
- @Transactional(readOnly = true)
- @Override
- public AnyObjectTO transform(final AnyObject input) {
- return binder.getAnyObjectTO(input, details);
- }
- }, new ArrayList<AnyObjectTO>());
+ List<AnyObjectTO> result = matching.stream().
+ map(anyObject -> binder.getAnyObjectTO(anyObject, details)).collect(Collectors.toList());
return Pair.of(count, result);
}
@@ -184,13 +176,9 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
AnyObjectPatch patch = new AnyObjectPatch();
patch.setKey(key);
- patch.getResources().addAll(CollectionUtils.collect(resources, new Transformer<String, StringPatchItem>() {
-
- @Override
- public StringPatchItem transform(final String resource) {
- return new StringPatchItem.Builder().operation(PatchOperation.DELETE).value(resource).build();
- }
- }));
+ patch.getResources().addAll(resources.stream().map(resource
+ -> new StringPatchItem.Builder().operation(PatchOperation.DELETE).value(resource).build()).
+ collect(Collectors.toList()));
return binder.getAnyObjectTO(provisioningManager.unlink(patch));
}
@@ -206,13 +194,9 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
AnyObjectPatch patch = new AnyObjectPatch();
patch.setKey(key);
- patch.getResources().addAll(CollectionUtils.collect(resources, new Transformer<String, StringPatchItem>() {
-
- @Override
- public StringPatchItem transform(final String resource) {
- return new StringPatchItem.Builder().operation(PatchOperation.ADD_REPLACE).value(resource).build();
- }
- }));
+ patch.getResources().addAll(resources.stream().map(resource
+ -> new StringPatchItem.Builder().operation(PatchOperation.ADD_REPLACE).value(resource).build()).
+ collect(Collectors.toList()));
return binder.getAnyObjectTO(provisioningManager.link(patch));
}
@@ -230,13 +214,9 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
AnyObjectPatch patch = new AnyObjectPatch();
patch.setKey(key);
- patch.getResources().addAll(CollectionUtils.collect(resources, new Transformer<String, StringPatchItem>() {
-
- @Override
- public StringPatchItem transform(final String resource) {
- return new StringPatchItem.Builder().operation(PatchOperation.DELETE).value(resource).build();
- }
- }));
+ patch.getResources().addAll(resources.stream().map(resource
+ -> new StringPatchItem.Builder().operation(PatchOperation.DELETE).value(resource).build()).
+ collect(Collectors.toList()));
return update(patch, nullPriorityAsync);
}
@@ -258,13 +238,9 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
AnyObjectPatch patch = new AnyObjectPatch();
patch.setKey(key);
- patch.getResources().addAll(CollectionUtils.collect(resources, new Transformer<String, StringPatchItem>() {
-
- @Override
- public StringPatchItem transform(final String resource) {
- return new StringPatchItem.Builder().operation(PatchOperation.ADD_REPLACE).value(resource).build();
- }
- }));
+ patch.getResources().addAll(resources.stream().map(resource
+ -> new StringPatchItem.Builder().operation(PatchOperation.ADD_REPLACE).value(resource).build()).
+ collect(Collectors.toList()));
return update(patch, nullPriorityAsync);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeClassLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeClassLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeClassLogic.java
index babe255..03f6909 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeClassLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeClassLogic.java
@@ -19,10 +19,8 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
@@ -64,13 +62,8 @@ public class AnyTypeClassLogic extends AbstractTransactionalLogic<AnyTypeClassTO
@PreAuthorize("hasRole('" + StandardEntitlement.ANYTYPECLASS_LIST + "')")
@Transactional(readOnly = true)
public List<AnyTypeClassTO> list() {
- return CollectionUtils.collect(anyTypeClassDAO.findAll(), new Transformer<AnyTypeClass, AnyTypeClassTO>() {
-
- @Override
- public AnyTypeClassTO transform(final AnyTypeClass input) {
- return binder.getAnyTypeClassTO(input);
- }
- }, new ArrayList<AnyTypeClassTO>());
+ return anyTypeClassDAO.findAll().stream().
+ map(anyTypeClass -> binder.getAnyTypeClassTO(anyTypeClass)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.ANYTYPECLASS_CREATE + "')")
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeLogic.java
index f967da8..783d356 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeLogic.java
@@ -19,10 +19,8 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
@@ -64,13 +62,7 @@ public class AnyTypeLogic extends AbstractTransactionalLogic<AnyTypeTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.ANYTYPE_LIST + "')")
@Transactional(readOnly = true)
public List<AnyTypeTO> list() {
- return CollectionUtils.collect(anyTypeDAO.findAll(), new Transformer<AnyType, AnyTypeTO>() {
-
- @Override
- public AnyTypeTO transform(final AnyType input) {
- return binder.getAnyTypeTO(input);
- }
- }, new ArrayList<AnyTypeTO>());
+ return anyTypeDAO.findAll().stream().map(anyType -> binder.getAnyTypeTO(anyType)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.ANYTYPE_CREATE + "')")
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/ConfigurationLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/ConfigurationLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/ConfigurationLogic.java
index eea22ad..cc7a4bd 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/ConfigurationLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/ConfigurationLogic.java
@@ -21,6 +21,7 @@ package org.apache.syncope.core.logic;
import java.io.OutputStream;
import java.lang.reflect.Method;
import java.util.List;
+import java.util.Optional;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.types.StandardEntitlement;
import org.apache.syncope.core.spring.security.AuthContextUtils;
@@ -65,8 +66,8 @@ public class ConfigurationLogic extends AbstractTransactionalLogic<AttrTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.CONFIGURATION_DELETE + "')")
public void delete(final String schema) {
- CPlainAttr conf = confDAO.find(schema);
- if (conf == null) {
+ Optional<? extends CPlainAttr> conf = confDAO.find(schema);
+ if (!conf.isPresent()) {
PlainSchema plainSchema = plainSchemaDAO.find(schema);
if (plainSchema == null) {
throw new NotFoundException("Configuration schema " + schema);
@@ -86,8 +87,10 @@ public class ConfigurationLogic extends AbstractTransactionalLogic<AttrTO> {
public AttrTO get(final String schema) {
AttrTO result;
- CPlainAttr conf = confDAO.find(schema);
- if (conf == null) {
+ Optional<? extends CPlainAttr> conf = confDAO.find(schema);
+ if (conf.isPresent()) {
+ result = binder.getAttrTO(conf.get());
+ } else {
PlainSchema plainSchema = plainSchemaDAO.find(schema);
if (plainSchema == null) {
throw new NotFoundException("Configuration schema " + schema);
@@ -95,8 +98,6 @@ public class ConfigurationLogic extends AbstractTransactionalLogic<AttrTO> {
result = new AttrTO();
result.setSchema(schema);
- } else {
- result = binder.getAttrTO(conf);
}
return result;
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorHistoryLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorHistoryLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorHistoryLogic.java
index 2d0afa7..e7ff07c 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorHistoryLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorHistoryLogic.java
@@ -19,10 +19,8 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.syncope.common.lib.to.ConnInstanceHistoryConfTO;
import org.apache.syncope.common.lib.types.StandardEntitlement;
import org.apache.syncope.core.persistence.api.dao.ConnInstanceDAO;
@@ -64,15 +62,8 @@ public class ConnectorHistoryLogic extends AbstractTransactionalLogic<ConnInstan
throw new NotFoundException("Connector '" + key + "'");
}
- return CollectionUtils.collect(connInstanceHistoryConfDAO.findByEntity(connInstance),
- new Transformer<ConnInstanceHistoryConf, ConnInstanceHistoryConfTO>() {
-
- @Override
- public ConnInstanceHistoryConfTO transform(final ConnInstanceHistoryConf input) {
- return getConnInstanceHistoryConfTO(input);
- }
-
- }, new ArrayList<ConnInstanceHistoryConfTO>());
+ return connInstanceHistoryConfDAO.findByEntity(connInstance).stream().
+ map(historyConf -> getConnInstanceHistoryConfTO(historyConf)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.CONNECTOR_HISTORY_RESTORE + "')")
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorLogic.java
index 9c92e29..5d80ef7 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorLogic.java
@@ -25,11 +25,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.IterableUtils;
-import org.apache.commons.collections4.Predicate;
-import org.apache.commons.collections4.PredicateUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
@@ -51,10 +47,8 @@ import org.apache.syncope.core.spring.security.AuthContextUtils;
import org.apache.syncope.core.spring.security.DelegatedAdministrationException;
import org.identityconnectors.common.l10n.CurrentLocale;
import org.identityconnectors.framework.api.ConfigurationProperties;
-import org.identityconnectors.framework.api.ConnectorInfo;
import org.identityconnectors.framework.api.ConnectorInfoManager;
import org.identityconnectors.framework.api.ConnectorKey;
-import org.identityconnectors.framework.common.objects.AttributeInfo;
import org.identityconnectors.framework.common.objects.AttributeUtil;
import org.identityconnectors.framework.common.objects.ObjectClassInfo;
import org.springframework.beans.factory.annotation.Autowired;
@@ -81,13 +75,7 @@ public class ConnectorLogic extends AbstractTransactionalLogic<ConnInstanceTO> {
private ConnectorFactory connFactory;
protected void securityChecks(final Set<String> effectiveRealms, final String realm, final String key) {
- boolean authorized = IterableUtils.matchesAny(effectiveRealms, new Predicate<String>() {
-
- @Override
- public boolean evaluate(final String ownedRealm) {
- return realm.startsWith(ownedRealm);
- }
- });
+ boolean authorized = effectiveRealms.stream().anyMatch(ownedRealm -> realm.startsWith(ownedRealm));
if (!authorized) {
throw new DelegatedAdministrationException(realm, ConnInstance.class.getSimpleName(), key);
}
@@ -138,9 +126,9 @@ public class ConnectorLogic extends AbstractTransactionalLogic<ConnInstanceTO> {
if (!connInstance.getResources().isEmpty()) {
SyncopeClientException associatedResources = SyncopeClientException.build(
ClientExceptionType.AssociatedResources);
- for (ExternalResource resource : connInstance.getResources()) {
+ connInstance.getResources().forEach(resource -> {
associatedResources.getElements().add(resource.getKey());
- }
+ });
throw associatedResources;
}
@@ -154,23 +142,20 @@ public class ConnectorLogic extends AbstractTransactionalLogic<ConnInstanceTO> {
public List<ConnInstanceTO> list(final String lang) {
CurrentLocale.set(StringUtils.isBlank(lang) ? Locale.ENGLISH : new Locale(lang));
- List<ConnInstanceTO> result = CollectionUtils.collect(connInstanceDAO.findAll().iterator(),
- new Transformer<ConnInstance, ConnInstanceTO>() {
-
- @Override
- public ConnInstanceTO transform(final ConnInstance connInstance) {
- ConnInstanceTO result = null;
- try {
- result = binder.getConnInstanceTO(connInstance);
- } catch (NotFoundException e) {
- LOG.error("Connector '{}#{}' not found", connInstance.getBundleName(), connInstance.getVersion());
- }
-
- return result;
- }
- }, new ArrayList<ConnInstanceTO>());
- CollectionUtils.filter(result, PredicateUtils.notNullPredicate());
- return result;
+ return connInstanceDAO.findAll().stream().
+ filter(connInstance -> connInstance != null).
+ map(connInstance -> {
+ ConnInstanceTO result = null;
+ try {
+ result = binder.getConnInstanceTO(connInstance);
+ } catch (NotFoundException e) {
+ LOG.
+ error("Connector '{}#{}' not found", connInstance.getBundleName(), connInstance.
+ getVersion());
+ }
+
+ return result;
+ }).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.CONNECTOR_READ + "')")
@@ -197,25 +182,22 @@ public class ConnectorLogic extends AbstractTransactionalLogic<ConnInstanceTO> {
List<ConnBundleTO> connectorBundleTOs = new ArrayList<>();
for (Map.Entry<URI, ConnectorInfoManager> entry : connIdBundleManager.getConnInfoManagers().entrySet()) {
- for (ConnectorInfo bundle : entry.getValue().getConnectorInfos()) {
+ entry.getValue().getConnectorInfos().stream().map(bundle -> {
ConnBundleTO connBundleTO = new ConnBundleTO();
connBundleTO.setDisplayName(bundle.getConnectorDisplayName());
-
connBundleTO.setLocation(entry.getKey().toString());
-
ConnectorKey key = bundle.getConnectorKey();
connBundleTO.setBundleName(key.getBundleName());
connBundleTO.setConnectorName(key.getConnectorName());
connBundleTO.setVersion(key.getBundleVersion());
-
ConfigurationProperties properties = connIdBundleManager.getConfigurationProperties(bundle);
-
for (String propName : properties.getPropertyNames()) {
connBundleTO.getProperties().add(binder.build(properties.getProperty(propName)));
}
-
+ return connBundleTO;
+ }).forEachOrdered(connBundleTO -> {
connectorBundleTOs.add(connBundleTO);
- }
+ });
}
return connectorBundleTOs;
@@ -235,20 +217,20 @@ public class ConnectorLogic extends AbstractTransactionalLogic<ConnInstanceTO> {
getObjectClassInfo();
List<ConnIdObjectClassTO> result = new ArrayList<>(objectClassInfo.size());
- for (ObjectClassInfo info : objectClassInfo) {
+ objectClassInfo.stream().map(info -> {
ConnIdObjectClassTO connIdObjectClassTO = new ConnIdObjectClassTO();
connIdObjectClassTO.setType(info.getType());
connIdObjectClassTO.setAuxiliary(info.isAuxiliary());
connIdObjectClassTO.setContainer(info.isContainer());
-
- for (AttributeInfo attrInfo : info.getAttributeInfo()) {
- if (includeSpecial || !AttributeUtil.isSpecialName(attrInfo.getName())) {
- connIdObjectClassTO.getAttributes().add(attrInfo.getName());
- }
- }
-
+ info.getAttributeInfo().stream().
+ filter(attrInfo -> includeSpecial || !AttributeUtil.isSpecialName(attrInfo.getName())).
+ forEachOrdered(attrInfo -> {
+ connIdObjectClassTO.getAttributes().add(attrInfo.getName());
+ });
+ return connIdObjectClassTO;
+ }).forEachOrdered((connIdObjectClassTO) -> {
result.add(connIdObjectClassTO);
- }
+ });
return result;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/DomainLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/DomainLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/DomainLogic.java
index cfefdd0..d9d29ba 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/DomainLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/DomainLogic.java
@@ -19,10 +19,8 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.to.DomainTO;
@@ -63,13 +61,7 @@ public class DomainLogic extends AbstractTransactionalLogic<DomainTO> {
@PreAuthorize("isAuthenticated()")
public List<DomainTO> list() {
- return CollectionUtils.collect(domainDAO.findAll(), new Transformer<Domain, DomainTO>() {
-
- @Override
- public DomainTO transform(final Domain input) {
- return binder.getDomainTO(input);
- }
- }, new ArrayList<DomainTO>());
+ return domainDAO.findAll().stream().map(domain -> binder.getDomainTO(domain)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.DOMAIN_CREATE + "') and authentication.details.domain == "
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/DynRealmLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/DynRealmLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/DynRealmLogic.java
index 0b17724..de9e78a 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/DynRealmLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/DynRealmLogic.java
@@ -19,10 +19,8 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.syncope.common.lib.to.DynRealmTO;
import org.apache.syncope.common.lib.types.StandardEntitlement;
@@ -56,13 +54,8 @@ public class DynRealmLogic extends AbstractTransactionalLogic<DynRealmTO> {
}
public List<DynRealmTO> list() {
- return CollectionUtils.collect(dynRealmDAO.findAll(), new Transformer<DynRealm, DynRealmTO>() {
-
- @Override
- public DynRealmTO transform(final DynRealm input) {
- return binder.getDynRealmTO(input);
- }
- }, new ArrayList<DynRealmTO>());
+ return dynRealmDAO.findAll().stream().
+ map(dynRealm -> binder.getDynRealmTO(dynRealm)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.DYNREALM_CREATE + "')")
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/GroupLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/GroupLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/GroupLogic.java
index 898113d..efdab59 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/GroupLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/GroupLogic.java
@@ -19,17 +19,13 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.IterableUtils;
-import org.apache.commons.collections4.Predicate;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
@@ -110,21 +106,17 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
@Override
protected boolean securityChecks(final Set<String> effectiveRealms, final String realm, final String key) {
- boolean authorized = IterableUtils.matchesAny(effectiveRealms, new Predicate<String>() {
-
- @Override
- public boolean evaluate(final String ownedRealm) {
- return realm.startsWith(ownedRealm) || ownedRealm.equals(RealmUtils.getGroupOwnerRealm(realm, key));
- }
- });
+ boolean authorized = effectiveRealms.stream().anyMatch(ownedRealm
+ -> realm.startsWith(ownedRealm) || ownedRealm.equals(RealmUtils.getGroupOwnerRealm(realm, key)));
if (!authorized) {
- authorized = !CollectionUtils.intersection(groupDAO.findDynRealms(key), effectiveRealms).isEmpty();
+ authorized = groupDAO.findDynRealms(key).stream().
+ filter(dynRealm -> effectiveRealms.contains(dynRealm)).findFirst().isPresent();
}
if (!authorized) {
throw new DelegatedAdministrationException(realm, AnyTypeKind.GROUP.name(), key);
}
- return IterableUtils.matchesAny(effectiveRealms, new RealmUtils.DynRealmsPredicate());
+ return effectiveRealms.stream().anyMatch(new RealmUtils.DynRealmsPredicate());
}
@PreAuthorize("hasRole('" + StandardEntitlement.GROUP_READ + "')")
@@ -137,16 +129,8 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
@PreAuthorize("isAuthenticated() and not(hasRole('" + StandardEntitlement.ANONYMOUS + "'))")
@Transactional(readOnly = true)
public List<GroupTO> own() {
- return CollectionUtils.collect(
- userDAO.findAllGroups(userDAO.findByUsername(AuthContextUtils.getUsername())),
- new Transformer<Group, GroupTO>() {
-
- @Transactional(readOnly = true)
- @Override
- public GroupTO transform(final Group input) {
- return binder.getGroupTO(input, true);
- }
- }, new ArrayList<GroupTO>());
+ return userDAO.findAllGroups(userDAO.findByUsername(AuthContextUtils.getUsername())).stream().
+ map(group -> binder.getGroupTO(group, true)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.GROUP_SEARCH + "')")
@@ -166,14 +150,8 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
RealmUtils.getEffective(SyncopeConstants.FULL_ADMIN_REALMS, realm),
searchCond == null ? groupDAO.getAllMatchingCond() : searchCond,
page, size, orderBy, AnyTypeKind.GROUP);
- List<GroupTO> result = CollectionUtils.collect(matching, new Transformer<Group, GroupTO>() {
-
- @Transactional(readOnly = true)
- @Override
- public GroupTO transform(final Group input) {
- return binder.getGroupTO(input, details);
- }
- }, new ArrayList<GroupTO>());
+ List<GroupTO> result = matching.stream().
+ map(group -> binder.getGroupTO(group, details)).collect(Collectors.toList());
return Pair.of(count, result);
}
@@ -238,14 +216,8 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
List<Group> ownedGroups = groupDAO.findOwnedByGroup(before.getLeft().getKey());
if (!ownedGroups.isEmpty()) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.GroupOwnership);
- sce.getElements().addAll(CollectionUtils.collect(ownedGroups, new Transformer<Group, String>() {
-
- @Transactional(readOnly = true)
- @Override
- public String transform(final Group group) {
- return group.getKey() + " " + group.getName();
- }
- }, new ArrayList<String>()));
+ sce.getElements().addAll(ownedGroups.stream().
+ map(g -> g.getKey() + " " + g.getName()).collect(Collectors.toList()));
throw sce;
}
@@ -269,13 +241,9 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
GroupPatch patch = new GroupPatch();
patch.setKey(key);
- patch.getResources().addAll(CollectionUtils.collect(resources, new Transformer<String, StringPatchItem>() {
-
- @Override
- public StringPatchItem transform(final String resource) {
- return new StringPatchItem.Builder().operation(PatchOperation.DELETE).value(resource).build();
- }
- }));
+ patch.getResources().addAll(resources.stream().
+ map(resource -> new StringPatchItem.Builder().operation(PatchOperation.DELETE).value(resource).build()).
+ collect(Collectors.toList()));
return binder.getGroupTO(provisioningManager.unlink(patch));
}
@@ -292,13 +260,9 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
GroupPatch patch = new GroupPatch();
patch.setKey(key);
- patch.getResources().addAll(CollectionUtils.collect(resources, new Transformer<String, StringPatchItem>() {
-
- @Override
- public StringPatchItem transform(final String resource) {
- return new StringPatchItem.Builder().operation(PatchOperation.ADD_REPLACE).value(resource).build();
- }
- }));
+ patch.getResources().addAll(resources.stream().map(resource
+ -> new StringPatchItem.Builder().operation(PatchOperation.ADD_REPLACE).value(resource).build()).
+ collect(Collectors.toList()));
return binder.getGroupTO(provisioningManager.link(patch));
}
@@ -317,13 +281,9 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
GroupPatch patch = new GroupPatch();
patch.setKey(key);
- patch.getResources().addAll(CollectionUtils.collect(resources, new Transformer<String, StringPatchItem>() {
-
- @Override
- public StringPatchItem transform(final String resource) {
- return new StringPatchItem.Builder().operation(PatchOperation.DELETE).value(resource).build();
- }
- }));
+ patch.getResources().addAll(resources.stream().map(resource
+ -> new StringPatchItem.Builder().operation(PatchOperation.DELETE).value(resource).build()).
+ collect(Collectors.toList()));
return update(patch, nullPriorityAsync);
}
@@ -346,13 +306,9 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
GroupPatch patch = new GroupPatch();
patch.setKey(key);
- patch.getResources().addAll(CollectionUtils.collect(resources, new Transformer<String, StringPatchItem>() {
-
- @Override
- public StringPatchItem transform(final String resource) {
- return new StringPatchItem.Builder().operation(PatchOperation.ADD_REPLACE).value(resource).build();
- }
- }));
+ patch.getResources().addAll(resources.stream().map(resource
+ -> new StringPatchItem.Builder().operation(PatchOperation.ADD_REPLACE).value(resource).build()).
+ collect(Collectors.toList()));
return update(patch, nullPriorityAsync);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/LoggerLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/LoggerLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/LoggerLogic.java
index 5429c24..9c8a8b3 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/LoggerLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/LoggerLogic.java
@@ -24,13 +24,7 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.IterableUtils;
-import org.apache.commons.collections4.IteratorUtils;
-import org.apache.commons.collections4.Predicate;
-import org.apache.commons.collections4.PredicateUtils;
-import org.apache.commons.collections4.Transformer;
-import org.apache.commons.collections4.TransformerUtils;
+import java.util.stream.Collectors;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.core.LoggerContext;
@@ -60,7 +54,6 @@ import org.apache.syncope.core.persistence.api.dao.LoggerDAO;
import org.apache.syncope.core.persistence.api.dao.NotFoundException;
import org.apache.syncope.core.persistence.api.dao.TaskDAO;
import org.apache.syncope.core.persistence.api.entity.EntityFactory;
-import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource;
import org.apache.syncope.core.persistence.api.entity.Logger;
import org.apache.syncope.core.persistence.api.entity.task.SchedTask;
import org.apache.syncope.core.spring.BeanUtils;
@@ -99,31 +92,21 @@ public class LoggerLogic extends AbstractTransactionalLogic<LoggerTO> {
private EntityFactory entityFactory;
private List<LoggerTO> list(final LoggerType type) {
- return CollectionUtils.collect(loggerDAO.findAll(type), new Transformer<Logger, LoggerTO>() {
-
- @Override
- public LoggerTO transform(final Logger logger) {
- LoggerTO loggerTO = new LoggerTO();
- BeanUtils.copyProperties(logger, loggerTO);
- return loggerTO;
- }
- }, new ArrayList<LoggerTO>());
+ return loggerDAO.findAll(type).stream().map(logger -> {
+ LoggerTO loggerTO = new LoggerTO();
+ BeanUtils.copyProperties(logger, loggerTO);
+ return loggerTO;
+ }).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.LOG_LIST + "') and authentication.details.domain == "
+ "T(org.apache.syncope.common.lib.SyncopeConstants).MASTER_DOMAIN")
public List<LogAppender> memoryAppenders() {
- return CollectionUtils.collect(
- loggerLoader.getMemoryAppenders().keySet(),
- new Transformer<String, LogAppender>() {
-
- @Override
- public LogAppender transform(final String input) {
- LogAppender logAppender = new LogAppender();
- logAppender.setName(input);
- return logAppender;
- }
- }, new ArrayList<LogAppender>());
+ return loggerLoader.getMemoryAppenders().keySet().stream().map(appender -> {
+ LogAppender logAppender = new LogAppender();
+ logAppender.setName(appender);
+ return logAppender;
+ }).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.LOG_READ + "') and authentication.details.domain == "
@@ -134,10 +117,7 @@ public class LoggerLogic extends AbstractTransactionalLogic<LoggerTO> {
throw new NotFoundException("Appender " + memoryAppender);
}
- return CollectionUtils.collect(
- appender.getStatements(),
- TransformerUtils.<LogStatementTO>nopTransformer(),
- new ArrayList<LogStatementTO>());
+ return appender.getStatements().stream().collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.LOG_LIST + "') and authentication.details.domain == "
@@ -150,22 +130,18 @@ public class LoggerLogic extends AbstractTransactionalLogic<LoggerTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.AUDIT_LIST + "')")
@Transactional(readOnly = true)
public List<AuditLoggerName> listAudits() {
- return CollectionUtils.collect(
- IteratorUtils.filteredIterator(list(LoggerType.AUDIT).iterator(), PredicateUtils.notNullPredicate()),
- new Transformer<LoggerTO, AuditLoggerName>() {
-
- @Override
- public AuditLoggerName transform(final LoggerTO logger) {
- AuditLoggerName result = null;
- try {
- result = AuditLoggerName.fromLoggerName(logger.getKey());
- } catch (Exception e) {
- LOG.warn("Unexpected audit logger name: {}", logger.getKey(), e);
- }
+ return list(LoggerType.AUDIT).stream().
+ filter(logger -> logger != null).
+ map(logger -> {
+ AuditLoggerName result = null;
+ try {
+ result = AuditLoggerName.fromLoggerName(logger.getKey());
+ } catch (Exception e) {
+ LOG.warn("Unexpected audit logger name: {}", logger.getKey(), e);
+ }
- return result;
- }
- }, new ArrayList<AuditLoggerName>());
+ return result;
+ }).collect(Collectors.toList());
}
private void throwInvalidLogger(final LoggerType type) {
@@ -235,14 +211,7 @@ public class LoggerLogic extends AbstractTransactionalLogic<LoggerTO> {
logConf = new LoggerConfig(auditLoggerName, null, false);
}
for (AuditAppender auditAppender : loggerLoader.auditAppenders(AuthContextUtils.getDomain())) {
- if (IterableUtils.matchesAny(auditAppender.getEvents(), new Predicate<AuditLoggerName>() {
-
- @Override
- public boolean evaluate(final AuditLoggerName auditLoggerName) {
- return name.equalsIgnoreCase(auditLoggerName.toLoggerName());
- }
- })) {
-
+ if (auditAppender.getEvents().stream().anyMatch(event -> name.equalsIgnoreCase(event.toLoggerName()))) {
loggerLoader.addAppenderToContext(ctx, auditAppender, logConf);
}
}
@@ -380,7 +349,7 @@ public class LoggerLogic extends AbstractTransactionalLogic<LoggerTO> {
events.add(new EventCategoryTO(EventCategoryType.PUSH));
for (AnyTypeKind anyTypeKind : AnyTypeKind.values()) {
- for (ExternalResource resource : resourceDAO.findAll()) {
+ resourceDAO.findAll().forEach(resource -> {
EventCategoryTO propEventCategoryTO = new EventCategoryTO(EventCategoryType.PROPAGATION);
EventCategoryTO syncEventCategoryTO = new EventCategoryTO(EventCategoryType.PULL);
EventCategoryTO pushEventCategoryTO = new EventCategoryTO(EventCategoryType.PUSH);
@@ -414,7 +383,7 @@ public class LoggerLogic extends AbstractTransactionalLogic<LoggerTO> {
events.add(propEventCategoryTO);
events.add(syncEventCategoryTO);
events.add(pushEventCategoryTO);
- }
+ });
}
for (SchedTask task : taskDAO.<SchedTask>findAll(TaskType.SCHEDULED)) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/MailTemplateLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/MailTemplateLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/MailTemplateLogic.java
index 7839e12..ff742c5 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/MailTemplateLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/MailTemplateLogic.java
@@ -19,10 +19,8 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
@@ -34,6 +32,7 @@ import org.apache.syncope.core.persistence.api.dao.NotFoundException;
import org.apache.syncope.core.persistence.api.dao.DuplicateException;
import org.apache.syncope.core.persistence.api.dao.MailTemplateDAO;
import org.apache.syncope.core.persistence.api.dao.NotificationDAO;
+import org.apache.syncope.core.persistence.api.entity.Entity;
import org.apache.syncope.core.persistence.api.entity.EntityFactory;
import org.apache.syncope.core.persistence.api.entity.MailTemplate;
import org.apache.syncope.core.persistence.api.entity.Notification;
@@ -73,13 +72,8 @@ public class MailTemplateLogic extends AbstractTransactionalLogic<MailTemplateTO
@PreAuthorize("hasRole('" + StandardEntitlement.MAIL_TEMPLATE_LIST + "')")
public List<MailTemplateTO> list() {
- return CollectionUtils.collect(mailTemplateDAO.findAll(), new Transformer<MailTemplate, MailTemplateTO>() {
-
- @Override
- public MailTemplateTO transform(final MailTemplate input) {
- return getMailTemplateTO(input.getKey());
- }
- }, new ArrayList<MailTemplateTO>());
+ return mailTemplateDAO.findAll().stream().
+ map(template -> getMailTemplateTO(template.getKey())).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.MAIL_TEMPLATE_CREATE + "')")
@@ -145,13 +139,7 @@ public class MailTemplateLogic extends AbstractTransactionalLogic<MailTemplateTO
List<Notification> notifications = notificationDAO.findByTemplate(mailTemplate);
if (!notifications.isEmpty()) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InUseByNotifications);
- sce.getElements().addAll(CollectionUtils.collect(notifications, new Transformer<Notification, String>() {
-
- @Override
- public String transform(final Notification notification) {
- return String.valueOf(notification.getKey());
- }
- }, new ArrayList<String>()));
+ sce.getElements().addAll(notifications.stream().map(Entity::getKey).collect(Collectors.toList()));
throw sce;
}
@@ -169,7 +157,7 @@ public class MailTemplateLogic extends AbstractTransactionalLogic<MailTemplateTO
if (ArrayUtils.isNotEmpty(args)) {
for (int i = 0; key == null && i < args.length; i++) {
if (args[i] instanceof String) {
- key = ((String) args[i]).toString();
+ key = ((String) args[i]);
} else if (args[i] instanceof MailTemplateTO) {
key = ((MailTemplateTO) args[i]).getKey();
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/MemoryAppender.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/MemoryAppender.java b/core/logic/src/main/java/org/apache/syncope/core/logic/MemoryAppender.java
index 8183979..d78585b 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/MemoryAppender.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/MemoryAppender.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.logic;
import java.util.Queue;
-import org.apache.commons.collections4.queue.CircularFifoQueue;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.LogEvent;
@@ -30,6 +29,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.ReusableMessage;
+import org.apache.syncope.common.lib.collections.CircularFifoQueue;
import org.apache.syncope.common.lib.log.LogStatementTO;
import org.apache.syncope.common.lib.types.LoggerLevel;
import org.apache.syncope.core.provisioning.api.utils.ExceptionUtils2;
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/NotificationLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/NotificationLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/NotificationLogic.java
index 3b867b4..b594613 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/NotificationLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/NotificationLogic.java
@@ -19,10 +19,8 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.tuple.Triple;
import org.apache.syncope.common.lib.to.JobTO;
@@ -64,13 +62,8 @@ public class NotificationLogic extends AbstractJobLogic<NotificationTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.NOTIFICATION_LIST + "')")
public List<NotificationTO> list() {
- return CollectionUtils.collect(notificationDAO.findAll(), new Transformer<Notification, NotificationTO>() {
-
- @Override
- public NotificationTO transform(final Notification input) {
- return binder.getNotificationTO(input);
- }
- }, new ArrayList<NotificationTO>());
+ return notificationDAO.findAll().stream().
+ map(notification -> binder.getNotificationTO(notification)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.NOTIFICATION_CREATE + "')")
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/PolicyLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/PolicyLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/PolicyLogic.java
index 0cffd0c..4f5e053 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/PolicyLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/PolicyLogic.java
@@ -19,10 +19,8 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.syncope.common.lib.policy.AbstractPolicyTO;
import org.apache.syncope.common.lib.types.PolicyType;
@@ -78,13 +76,8 @@ public class PolicyLogic extends AbstractTransactionalLogic<AbstractPolicyTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.POLICY_LIST + "')")
public <T extends AbstractPolicyTO> List<T> list(final PolicyType type) {
- return CollectionUtils.collect(policyDAO.find(getPolicyClass(type)), new Transformer<Policy, T>() {
-
- @Override
- public T transform(final Policy input) {
- return binder.getPolicyTO(input);
- }
- }, new ArrayList<T>());
+ return policyDAO.find(getPolicyClass(type)).stream().
+ <T>map(policy -> binder.getPolicyTO(policy)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.POLICY_READ + "')")
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java
index e82e495..03cfe0f 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java
@@ -19,12 +19,10 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
@@ -81,13 +79,8 @@ public class RealmLogic extends AbstractTransactionalLogic<RealmTO> {
}
final boolean admin = AuthContextUtils.getAuthorizations().keySet().contains(StandardEntitlement.REALM_LIST);
- return CollectionUtils.collect(realmDAO.findDescendants(realm), new Transformer<Realm, RealmTO>() {
-
- @Override
- public RealmTO transform(final Realm input) {
- return binder.getRealmTO(input, admin);
- }
- }, new ArrayList<RealmTO>());
+ return realmDAO.findDescendants(realm).stream().
+ map(descendant -> binder.getRealmTO(descendant, admin)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.REALM_CREATE + "')")
@@ -100,9 +93,9 @@ public class RealmLogic extends AbstractTransactionalLogic<RealmTO> {
Realm realm = realmDAO.save(binder.create(parentPath, realmTO));
PropagationByResource propByRes = new PropagationByResource();
- for (String resource : realm.getResourceKeys()) {
+ realm.getResourceKeys().forEach(resource -> {
propByRes.add(ResourceOperation.CREATE, resource);
- }
+ });
List<PropagationTask> tasks = propagationManager.createTasks(realm, propByRes, null);
PropagationReporter propagationReporter = taskExecutor.execute(tasks, false);
@@ -165,9 +158,9 @@ public class RealmLogic extends AbstractTransactionalLogic<RealmTO> {
}
PropagationByResource propByRes = new PropagationByResource();
- for (String resource : realm.getResourceKeys()) {
+ realm.getResourceKeys().forEach(resource -> {
propByRes.add(ResourceOperation.DELETE, resource);
- }
+ });
List<PropagationTask> tasks = propagationManager.createTasks(realm, propByRes, null);
PropagationReporter propagationReporter = taskExecutor.execute(tasks, false);
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/RelationshipTypeLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/RelationshipTypeLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/RelationshipTypeLogic.java
index 6d96e8b..30ac9a2 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/RelationshipTypeLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/RelationshipTypeLogic.java
@@ -19,10 +19,8 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.to.RelationshipTypeTO;
@@ -58,14 +56,8 @@ public class RelationshipTypeLogic extends AbstractTransactionalLogic<Relationsh
@PreAuthorize("hasRole('" + StandardEntitlement.RELATIONSHIPTYPE_LIST + "')")
public List<RelationshipTypeTO> list() {
- return CollectionUtils.collect(relationshipTypeDAO.findAll(),
- new Transformer<RelationshipType, RelationshipTypeTO>() {
-
- @Override
- public RelationshipTypeTO transform(final RelationshipType input) {
- return binder.getRelationshipTypeTO(input);
- }
- }, new ArrayList<RelationshipTypeTO>());
+ return relationshipTypeDAO.findAll().stream().
+ map(relationshipType -> binder.getRelationshipTypeTO(relationshipType)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.RELATIONSHIPTYPE_CREATE + "')")
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java
index 5243277..854870f 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java
@@ -22,11 +22,11 @@ import java.io.ByteArrayInputStream;
import java.io.OutputStream;
import java.lang.reflect.Method;
import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
import java.util.zip.ZipInputStream;
import javax.xml.transform.stream.StreamSource;
import org.apache.cocoon.pipeline.NonCachingPipeline;
@@ -34,8 +34,6 @@ import org.apache.cocoon.pipeline.Pipeline;
import org.apache.cocoon.sax.SAXPipelineComponent;
import org.apache.cocoon.sax.component.XMLGenerator;
import org.apache.cocoon.sax.component.XMLSerializer;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.tuple.Triple;
@@ -137,13 +135,7 @@ public class ReportLogic extends AbstractExecutableLogic<ReportTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_LIST + "')")
public List<ReportTO> list() {
- return CollectionUtils.collect(reportDAO.findAll(), new Transformer<Report, ReportTO>() {
-
- @Override
- public ReportTO transform(final Report input) {
- return binder.getReportTO(input);
- }
- }, new ArrayList<ReportTO>());
+ return reportDAO.findAll().stream().map(report -> binder.getReportTO(report)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_READ + "')")
@@ -314,26 +306,15 @@ public class ReportLogic extends AbstractExecutableLogic<ReportTO> {
throw new NotFoundException("Report " + key);
}
- return CollectionUtils.collect(reportExecDAO.findAll(report, page, size, orderByClauses),
- new Transformer<ReportExec, ExecTO>() {
-
- @Override
- public ExecTO transform(final ReportExec reportExec) {
- return binder.getExecTO(reportExec);
- }
- }, new ArrayList<ExecTO>());
+ return reportExecDAO.findAll(report, page, size, orderByClauses).stream().
+ map(reportExec -> binder.getExecTO(reportExec)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_LIST + "')")
@Override
public List<ExecTO> listRecentExecutions(final int max) {
- return CollectionUtils.collect(reportExecDAO.findRecent(max), new Transformer<ReportExec, ExecTO>() {
-
- @Override
- public ExecTO transform(final ReportExec reportExec) {
- return binder.getExecTO(reportExec);
- }
- }, new ArrayList<ExecTO>());
+ return reportExecDAO.findRecent(max).stream().
+ map(reportExec -> binder.getExecTO(reportExec)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_DELETE + "')")
@@ -362,7 +343,7 @@ public class ReportLogic extends AbstractExecutableLogic<ReportTO> {
BulkActionResult result = new BulkActionResult();
- for (ReportExec exec : reportExecDAO.findAll(report, startedBefore, startedAfter, endedBefore, endedAfter)) {
+ reportExecDAO.findAll(report, startedBefore, startedAfter, endedBefore, endedAfter).forEach(exec -> {
try {
reportExecDAO.delete(exec);
result.getResults().put(String.valueOf(exec.getKey()), BulkActionResult.Status.SUCCESS);
@@ -370,7 +351,7 @@ public class ReportLogic extends AbstractExecutableLogic<ReportTO> {
LOG.error("Error deleting execution {} of report {}", exec.getKey(), key, e);
result.getResults().put(String.valueOf(exec.getKey()), BulkActionResult.Status.FAILURE);
}
- }
+ });
return result;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/ReportTemplateLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/ReportTemplateLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/ReportTemplateLogic.java
index f44427f..4d150d9 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/ReportTemplateLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/ReportTemplateLogic.java
@@ -19,10 +19,8 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
@@ -34,6 +32,7 @@ import org.apache.syncope.core.persistence.api.dao.NotFoundException;
import org.apache.syncope.core.persistence.api.dao.DuplicateException;
import org.apache.syncope.core.persistence.api.dao.ReportTemplateDAO;
import org.apache.syncope.core.persistence.api.dao.ReportDAO;
+import org.apache.syncope.core.persistence.api.entity.Entity;
import org.apache.syncope.core.persistence.api.entity.EntityFactory;
import org.apache.syncope.core.persistence.api.entity.ReportTemplate;
import org.apache.syncope.core.persistence.api.entity.Report;
@@ -73,14 +72,8 @@ public class ReportTemplateLogic extends AbstractTransactionalLogic<ReportTempla
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_TEMPLATE_LIST + "')")
public List<ReportTemplateTO> list() {
- return CollectionUtils.collect(
- reportTemplateDAO.findAll(), new Transformer<ReportTemplate, ReportTemplateTO>() {
-
- @Override
- public ReportTemplateTO transform(final ReportTemplate input) {
- return getReportTemplateTO(input.getKey());
- }
- }, new ArrayList<ReportTemplateTO>());
+ return reportTemplateDAO.findAll().stream().
+ map(template -> getReportTemplateTO(template.getKey())).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_TEMPLATE_CREATE + "')")
@@ -158,13 +151,7 @@ public class ReportTemplateLogic extends AbstractTransactionalLogic<ReportTempla
List<Report> reports = reportDAO.findByTemplate(reportTemplate);
if (!reports.isEmpty()) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InUseByNotifications);
- sce.getElements().addAll(CollectionUtils.collect(reports, new Transformer<Report, String>() {
-
- @Override
- public String transform(final Report report) {
- return String.valueOf(report.getKey());
- }
- }, new ArrayList<String>()));
+ sce.getElements().addAll(reports.stream().map(Entity::getKey).collect(Collectors.toList()));
throw sce;
}
@@ -182,7 +169,7 @@ public class ReportTemplateLogic extends AbstractTransactionalLogic<ReportTempla
if (ArrayUtils.isNotEmpty(args)) {
for (int i = 0; key == null && i < args.length; i++) {
if (args[i] instanceof String) {
- key = ((String) args[i]).toString();
+ key = ((String) args[i]);
} else if (args[i] instanceof ReportTemplateTO) {
key = ((ReportTemplateTO) args[i]).getKey();
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceHistoryLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceHistoryLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceHistoryLogic.java
index fc95f81..d027e97 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceHistoryLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceHistoryLogic.java
@@ -19,10 +19,8 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.syncope.common.lib.to.ResourceHistoryConfTO;
import org.apache.syncope.common.lib.types.StandardEntitlement;
import org.apache.syncope.core.persistence.api.dao.ExternalResourceDAO;
@@ -64,14 +62,8 @@ public class ResourceHistoryLogic extends AbstractTransactionalLogic<ResourceHis
throw new NotFoundException("Resource '" + key + "'");
}
- return CollectionUtils.collect(resourceHistoryConfDAO.findByEntity(resource),
- new Transformer<ExternalResourceHistoryConf, ResourceHistoryConfTO>() {
-
- @Override
- public ResourceHistoryConfTO transform(final ExternalResourceHistoryConf input) {
- return getResourceHistoryConfTO(input);
- }
- }, new ArrayList<ResourceHistoryConfTO>());
+ return resourceHistoryConfDAO.findByEntity(resource).stream().
+ map(historyConf -> getResourceHistoryConfTO(historyConf)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.RESOURCE_HISTORY_RESTORE + "')")
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/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 3f2ff75..eccbd6d 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
@@ -23,18 +23,16 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Optional;
import java.util.Set;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.IterableUtils;
-import org.apache.commons.collections4.IteratorUtils;
-import org.apache.commons.collections4.Predicate;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.ImmutableTriple;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.lang3.tuple.Triple;
+import org.apache.syncope.common.lib.collections.IteratorChain;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.to.ConnObjectTO;
@@ -61,7 +59,6 @@ import org.apache.syncope.core.persistence.api.dao.search.OrderByClause;
import org.apache.syncope.core.persistence.api.entity.Any;
import org.apache.syncope.core.persistence.api.entity.AnyType;
import org.apache.syncope.core.persistence.api.entity.ConnInstance;
-import org.apache.syncope.core.persistence.api.entity.VirSchema;
import org.apache.syncope.core.persistence.api.entity.resource.Provision;
import org.apache.syncope.core.provisioning.api.MappingManager;
import org.apache.syncope.core.provisioning.api.utils.RealmUtils;
@@ -120,13 +117,8 @@ public class ResourceLogic extends AbstractTransactionalLogic<ResourceTO> {
private ConnectorFactory connFactory;
protected void securityChecks(final Set<String> effectiveRealms, final String realm, final String key) {
- boolean authorized = IterableUtils.matchesAny(effectiveRealms, new Predicate<String>() {
-
- @Override
- public boolean evaluate(final String ownedRealm) {
- return realm.startsWith(ownedRealm);
- }
- });
+ effectiveRealms.stream().anyMatch(ownedRealm -> realm.startsWith(ownedRealm));
+ boolean authorized = effectiveRealms.stream().anyMatch(ownedRealm -> realm.startsWith(ownedRealm));
if (!authorized) {
throw new DelegatedAdministrationException(realm, ExternalResource.class.getSimpleName(), key);
}
@@ -201,12 +193,12 @@ public class ResourceLogic extends AbstractTransactionalLogic<ResourceTO> {
if (anyType == null) {
throw new NotFoundException("AnyType '" + anyTypeKey + "'");
}
- Provision provision = resource.getProvision(anyType);
- if (provision == null) {
+ Optional<? extends Provision> provision = resource.getProvision(anyType);
+ if (!provision.isPresent()) {
throw new NotFoundException("Provision for AnyType '" + anyTypeKey + "' in Resource '" + key + "'");
}
- provision.setSyncToken(connector.getLatestSyncToken(provision.getObjectClass()));
+ provision.get().setSyncToken(connector.getLatestSyncToken(provision.get().getObjectClass()));
}
Set<String> effectiveRealms = RealmUtils.getEffective(
@@ -234,12 +226,12 @@ public class ResourceLogic extends AbstractTransactionalLogic<ResourceTO> {
if (anyType == null) {
throw new NotFoundException("AnyType '" + anyTypeKey + "'");
}
- Provision provision = resource.getProvision(anyType);
- if (provision == null) {
+ Optional<? extends Provision> provision = resource.getProvision(anyType);
+ if (!provision.isPresent()) {
throw new NotFoundException("Provision for AnyType '" + anyTypeKey + "' in Resource '" + key + "'");
}
- provision.setSyncToken(null);
+ provision.get().setSyncToken(null);
}
Set<String> effectiveRealms = RealmUtils.getEffective(
@@ -283,13 +275,8 @@ public class ResourceLogic extends AbstractTransactionalLogic<ResourceTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.RESOURCE_LIST + "')")
@Transactional(readOnly = true)
public List<ResourceTO> list() {
- return CollectionUtils.collect(resourceDAO.findAll(), new Transformer<ExternalResource, ResourceTO>() {
-
- @Override
- public ResourceTO transform(final ExternalResource input) {
- return binder.getResourceTO(input);
- }
- }, new ArrayList<ResourceTO>());
+ return resourceDAO.findAll().stream().
+ map(resource -> binder.getResourceTO(resource)).collect(Collectors.toList());
}
private Triple<ExternalResource, AnyType, Provision> connObjectInit(
@@ -303,12 +290,12 @@ public class ResourceLogic extends AbstractTransactionalLogic<ResourceTO> {
if (anyType == null) {
throw new NotFoundException("AnyType '" + anyTypeKey + "'");
}
- Provision provision = resource.getProvision(anyType);
- if (provision == null) {
+ Optional<? extends Provision> provision = resource.getProvision(anyType);
+ if (!provision.isPresent()) {
throw new NotFoundException("Provision on resource '" + resourceKey + "' for type '" + anyTypeKey + "'");
}
- return ImmutableTriple.of(resource, anyType, provision);
+ return ImmutableTriple.of(resource, anyType, provision.get());
}
@PreAuthorize("hasRole('" + StandardEntitlement.RESOURCE_GET_CONNOBJECT + "')")
@@ -327,19 +314,19 @@ public class ResourceLogic extends AbstractTransactionalLogic<ResourceTO> {
}
// 2. build connObjectKeyItem
- MappingItem connObjectKeyItem = MappingUtils.getConnObjectKeyItem(init.getRight());
- if (connObjectKeyItem == null) {
+ Optional<MappingItem> connObjectKeyItem = MappingUtils.getConnObjectKeyItem(init.getRight());
+ if (!connObjectKeyItem.isPresent()) {
throw new NotFoundException(
"ConnObjectKey mapping for " + init.getMiddle() + " " + anyKey + " on resource '" + key + "'");
}
- String connObjectKeyValue = mappingManager.getConnObjectKeyValue(any, init.getRight());
+ Optional<String> connObjectKeyValue = mappingManager.getConnObjectKeyValue(any, init.getRight());
// 3. determine attributes to query
Set<MappingItem> linkinMappingItems = new HashSet<>();
- for (VirSchema virSchema : virSchemaDAO.findByProvision(init.getRight())) {
+ virSchemaDAO.findByProvision(init.getRight()).forEach(virSchema -> {
linkinMappingItems.add(virSchema.asLinkingMappingItem());
- }
- Iterator<MappingItem> mapItems = IteratorUtils.chainedIterator(
+ });
+ Iterator<MappingItem> mapItems = new IteratorChain<>(
init.getRight().getMapping().getItems().iterator(),
linkinMappingItems.iterator());
@@ -347,11 +334,11 @@ public class ResourceLogic extends AbstractTransactionalLogic<ResourceTO> {
Connector connector = connFactory.getConnector(init.getLeft());
ConnectorObject connectorObject = connector.getObject(
init.getRight().getObjectClass(),
- AttributeBuilder.build(connObjectKeyItem.getExtAttrName(), connObjectKeyValue),
+ AttributeBuilder.build(connObjectKeyItem.get().getExtAttrName(), connObjectKeyValue.get()),
MappingUtils.buildOperationOptions(mapItems));
if (connectorObject == null) {
throw new NotFoundException(
- "Object " + connObjectKeyValue + " with class " + init.getRight().getObjectClass()
+ "Object " + connObjectKeyValue.get() + " with class " + init.getRight().getObjectClass()
+ " not found on resource " + key);
}
@@ -394,10 +381,10 @@ public class ResourceLogic extends AbstractTransactionalLogic<ResourceTO> {
init.getRight().getMapping().getItems();
Set<MappingItem> linkinMappingItems = new HashSet<>();
- for (VirSchema virSchema : virSchemaDAO.findByProvision(init.getRight())) {
+ virSchemaDAO.findByProvision(init.getRight()).forEach(virSchema -> {
linkinMappingItems.add(virSchema.asLinkingMappingItem());
- }
- Iterator<MappingItem> mapItems = IteratorUtils.chainedIterator(
+ });
+ Iterator<MappingItem> mapItems = new IteratorChain<>(
init.getRight().getMapping().getItems().iterator(),
linkinMappingItems.iterator());
options = MappingUtils.buildOperationOptions(mapItems);
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/RoleLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/RoleLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/RoleLogic.java
index c5b3b9a..e8b9f8a 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/RoleLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/RoleLogic.java
@@ -19,10 +19,8 @@
package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.to.RoleTO;
@@ -61,13 +59,7 @@ public class RoleLogic extends AbstractTransactionalLogic<RoleTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.ROLE_LIST + "')")
@Transactional(readOnly = true)
public List<RoleTO> list() {
- return CollectionUtils.collect(roleDAO.findAll(), new Transformer<Role, RoleTO>() {
-
- @Override
- public RoleTO transform(final Role input) {
- return binder.getRoleTO(input);
- }
- }, new ArrayList<RoleTO>());
+ return roleDAO.findAll().stream().map(role -> binder.getRoleTO(role)).collect(Collectors.toList());
}
@PreAuthorize("hasRole('" + StandardEntitlement.ROLE_CREATE + "')")
http://git-wip-us.apache.org/repos/asf/syncope/blob/74ee038a/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
index 97da0f6..dba439b 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
@@ -21,8 +21,8 @@ package org.apache.syncope.core.logic;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
+import java.util.function.Function;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
@@ -145,7 +145,7 @@ public class SchemaLogic extends AbstractTransactionalLogic<AbstractSchemaTO> {
}
@PreAuthorize("isAuthenticated()")
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({ "unchecked", "Convert2Lambda" })
public <T extends AbstractSchemaTO> List<T> list(
final SchemaType schemaType, final List<String> anyTypeClasses) {
@@ -153,53 +153,50 @@ public class SchemaLogic extends AbstractTransactionalLogic<AbstractSchemaTO> {
if (anyTypeClasses != null) {
anyTypeClasses.remove(AnyTypeKind.USER.name());
anyTypeClasses.remove(AnyTypeKind.GROUP.name());
- for (String anyTypeClass : anyTypeClasses) {
+ anyTypeClasses.forEach(anyTypeClass -> {
AnyTypeClass clazz = anyTypeClassDAO.find(anyTypeClass);
if (clazz == null) {
LOG.warn("Ignoring invalid {}: {}", AnyTypeClass.class.getSimpleName(), anyTypeClass);
} else {
classes.add(clazz);
}
- }
+ });
}
List<T> result;
switch (schemaType) {
case VIRTUAL:
- result = CollectionUtils.collect(
- classes.isEmpty() ? virSchemaDAO.findAll() : virSchemaDAO.findByAnyTypeClasses(classes),
- new Transformer<VirSchema, T>() {
-
- @Override
- public T transform(final VirSchema input) {
- return (T) binder.getVirSchemaTO(input);
- }
- }, new ArrayList<T>());
+ result = (classes.isEmpty() ? virSchemaDAO.findAll() : virSchemaDAO.findByAnyTypeClasses(classes)).
+ stream().map(new Function<VirSchema, T>() {
+
+ @Override
+ public T apply(final VirSchema schema) {
+ return (T) binder.getVirSchemaTO(schema);
+ }
+ }).collect(Collectors.toList());
break;
case DERIVED:
- result = CollectionUtils.collect(
- classes.isEmpty() ? derSchemaDAO.findAll() : derSchemaDAO.findByAnyTypeClasses(classes),
- new Transformer<DerSchema, T>() {
-
- @Override
- public T transform(final DerSchema input) {
- return (T) binder.getDerSchemaTO(input);
- }
- }, new ArrayList<T>());
+ result = (classes.isEmpty() ? derSchemaDAO.findAll() : derSchemaDAO.findByAnyTypeClasses(classes)).
+ stream().map(new Function<DerSchema, T>() {
+
+ @Override
+ public T apply(final DerSchema schema) {
+ return (T) binder.getDerSchemaTO(schema);
+ }
+ }).collect(Collectors.toList());
break;
case PLAIN:
default:
- result = CollectionUtils.collect(
- classes.isEmpty() ? plainSchemaDAO.findAll() : plainSchemaDAO.findByAnyTypeClasses(classes),
- new Transformer<PlainSchema, T>() {
-
- @Override
- public T transform(final PlainSchema input) {
- return (T) binder.getPlainSchemaTO(input);
- }
- }, new ArrayList<T>());
+ result = (classes.isEmpty() ? plainSchemaDAO.findAll() : plainSchemaDAO.findByAnyTypeClasses(classes)).
+ stream().map(new Function<PlainSchema, T>() {
+
+ @Override
+ public T apply(final PlainSchema schema) {
+ return (T) binder.getPlainSchemaTO(schema);
+ }
+ }).collect(Collectors.toList());
}
return result;