From f9b61546ab5c0974c39159c51b41549c2b52a178 Mon Sep 17 00:00:00 2001 From: Benjamin Gamard Date: Mon, 2 Apr 2018 11:09:21 +0200 Subject: [PATCH] richer acl event --- .../core/listener/async/AclCreatedAsyncListener.java | 5 ++--- .../core/listener/async/AclDeletedAsyncListener.java | 5 ++--- .../sismics/docs/core/util/indexing/IndexingHandler.java | 9 +++++++-- .../docs/core/util/indexing/LuceneIndexingHandler.java | 5 +++-- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/docs-core/src/main/java/com/sismics/docs/core/listener/async/AclCreatedAsyncListener.java b/docs-core/src/main/java/com/sismics/docs/core/listener/async/AclCreatedAsyncListener.java index 91329559..d5a9fb6c 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/listener/async/AclCreatedAsyncListener.java +++ b/docs-core/src/main/java/com/sismics/docs/core/listener/async/AclCreatedAsyncListener.java @@ -29,8 +29,7 @@ public class AclCreatedAsyncListener { log.info("ACL created event: " + event.toString()); } - TransactionUtil.handle(() -> { - AppContext.getInstance().getIndexingHandler().createAcl(event.getSourceId()); - }); + TransactionUtil.handle(() -> AppContext.getInstance().getIndexingHandler() + .createAcl(event.getSourceId(), event.getPerm(), event.getTargetId())); } } diff --git a/docs-core/src/main/java/com/sismics/docs/core/listener/async/AclDeletedAsyncListener.java b/docs-core/src/main/java/com/sismics/docs/core/listener/async/AclDeletedAsyncListener.java index 591eedf1..e5a24425 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/listener/async/AclDeletedAsyncListener.java +++ b/docs-core/src/main/java/com/sismics/docs/core/listener/async/AclDeletedAsyncListener.java @@ -29,8 +29,7 @@ public class AclDeletedAsyncListener { log.info("ACL deleted event: " + event.toString()); } - TransactionUtil.handle(() -> { - AppContext.getInstance().getIndexingHandler().deleteAcl(event.getSourceId()); - }); + TransactionUtil.handle(() -> AppContext.getInstance().getIndexingHandler() + .deleteAcl(event.getSourceId(), event.getPerm(), event.getTargetId())); } } diff --git a/docs-core/src/main/java/com/sismics/docs/core/util/indexing/IndexingHandler.java b/docs-core/src/main/java/com/sismics/docs/core/util/indexing/IndexingHandler.java index 188d0865..563676f7 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/util/indexing/IndexingHandler.java +++ b/docs-core/src/main/java/com/sismics/docs/core/util/indexing/IndexingHandler.java @@ -1,5 +1,6 @@ package com.sismics.docs.core.util.indexing; +import com.sismics.docs.core.constant.PermType; import com.sismics.docs.core.dao.criteria.DocumentCriteria; import com.sismics.docs.core.dao.dto.DocumentDto; import com.sismics.docs.core.model.jpa.Document; @@ -74,15 +75,19 @@ public interface IndexingHandler { * Create an ACL. * * @param sourceId Source ID + * @param perm Permission type + * @param targetId Target ID */ - void createAcl(String sourceId); + void createAcl(String sourceId, PermType perm, String targetId); /** * Delete an ACL. * * @param sourceId Source ID + * @param perm Permission type + * @param targetId Target ID */ - void deleteAcl(String sourceId); + void deleteAcl(String sourceId, PermType perm, String targetId); /** * Searches documents by criteria. diff --git a/docs-core/src/main/java/com/sismics/docs/core/util/indexing/LuceneIndexingHandler.java b/docs-core/src/main/java/com/sismics/docs/core/util/indexing/LuceneIndexingHandler.java index 8e9b68ab..a9285318 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/util/indexing/LuceneIndexingHandler.java +++ b/docs-core/src/main/java/com/sismics/docs/core/util/indexing/LuceneIndexingHandler.java @@ -4,6 +4,7 @@ import com.google.common.base.Joiner; import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.sismics.docs.core.constant.ConfigType; +import com.sismics.docs.core.constant.PermType; import com.sismics.docs.core.dao.ConfigDao; import com.sismics.docs.core.dao.criteria.DocumentCriteria; import com.sismics.docs.core.dao.dto.DocumentDto; @@ -169,12 +170,12 @@ public class LuceneIndexingHandler implements IndexingHandler { } @Override - public void createAcl(String sourceId) { + public void createAcl(String sourceId, PermType perm, String targetId) { // Lucene does not index ACLs } @Override - public void deleteAcl(String sourceId) { + public void deleteAcl(String sourceId, PermType perm, String targetId) { // Lucene does not index ACLs }