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 2018/10/05 12:06:58 UTC
[3/3] syncope git commit: Do not report loggers used to support the
Audit process
Do not report loggers used to support the Audit process
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/a69fe31a
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/a69fe31a
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/a69fe31a
Branch: refs/heads/2_0_X
Commit: a69fe31a721bea5f99d1355e2060f9668fe40392
Parents: 81b214a
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Fri Oct 5 14:06:43 2018 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Fri Oct 5 14:06:43 2018 +0200
----------------------------------------------------------------------
.../apache/syncope/core/logic/LoggerLogic.java | 43 ++++++++++++++------
1 file changed, 30 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/a69fe31a/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 623d880..6843778 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
@@ -55,10 +55,12 @@ import org.apache.syncope.common.lib.types.AuditElements;
import org.apache.syncope.common.lib.types.StandardEntitlement;
import org.apache.syncope.core.logic.audit.AuditAppender;
import org.apache.syncope.core.logic.init.LoggerLoader;
+import org.apache.syncope.core.persistence.api.dao.DomainDAO;
import org.apache.syncope.core.persistence.api.dao.ExternalResourceDAO;
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.Domain;
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;
@@ -96,19 +98,10 @@ public class LoggerLogic extends AbstractTransactionalLogic<LoggerTO> {
private TaskDAO taskDAO;
@Autowired
- private EntityFactory entityFactory;
-
- private List<LoggerTO> list(final LoggerType type) {
- return CollectionUtils.collect(loggerDAO.findAll(type), new Transformer<Logger, LoggerTO>() {
+ private DomainDAO domainDAO;
- @Override
- public LoggerTO transform(final Logger logger) {
- LoggerTO loggerTO = new LoggerTO();
- BeanUtils.copyProperties(logger, loggerTO);
- return loggerTO;
- }
- }, new ArrayList<LoggerTO>());
- }
+ @Autowired
+ private EntityFactory entityFactory;
@PreAuthorize("hasRole('" + StandardEntitlement.LOG_LIST + "') and authentication.details.domain == "
+ "T(org.apache.syncope.common.lib.SyncopeConstants).MASTER_DOMAIN")
@@ -142,11 +135,35 @@ public class LoggerLogic extends AbstractTransactionalLogic<LoggerTO> {
new ArrayList<LogStatementTO>());
}
+ 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>());
+ }
+
@PreAuthorize("hasRole('" + StandardEntitlement.LOG_LIST + "') and authentication.details.domain == "
+ "T(org.apache.syncope.common.lib.SyncopeConstants).MASTER_DOMAIN")
@Transactional(readOnly = true)
public List<LoggerTO> listLogs() {
- return list(LoggerType.LOG);
+ List<LoggerTO> logs = list(LoggerType.LOG);
+ CollectionUtils.filterInverse(logs, new Predicate<LoggerTO>() {
+
+ @Override
+ public boolean evaluate(final LoggerTO logger) {
+ boolean result = logger.getKey().startsWith(SyncopeConstants.MASTER_DOMAIN);
+ for (Domain domain : domainDAO.findAll()) {
+ result |= logger.getKey().startsWith(domain.getKey());
+ }
+ return result;
+ }
+ });
+ return logs;
}
@PreAuthorize("hasRole('" + StandardEntitlement.AUDIT_LIST + "')")