From 0ad7ef43d579e99e0e6ae2938da0d234cce4ccbb Mon Sep 17 00:00:00 2001 From: jendib Date: Sun, 21 Feb 2016 14:11:17 +0100 Subject: [PATCH] #68: User ID available in events fired by a user --- .../core/event/DocumentCreatedAsyncEvent.java | 2 +- .../core/event/DocumentDeletedAsyncEvent.java | 2 +- .../core/event/DocumentUpdatedAsyncEvent.java | 2 +- .../core/event/FileCreatedAsyncEvent.java | 2 +- .../core/event/FileDeletedAsyncEvent.java | 2 +- .../sismics/docs/core/event/UserEvent.java | 21 +++++++++++++++++++ .../docs/rest/resource/DocumentResource.java | 4 ++++ .../docs/rest/resource/FileResource.java | 3 +++ .../docs/rest/resource/UserResource.java | 4 ++++ 9 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 docs-core/src/main/java/com/sismics/docs/core/event/UserEvent.java diff --git a/docs-core/src/main/java/com/sismics/docs/core/event/DocumentCreatedAsyncEvent.java b/docs-core/src/main/java/com/sismics/docs/core/event/DocumentCreatedAsyncEvent.java index ac52f535..f43575ff 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/event/DocumentCreatedAsyncEvent.java +++ b/docs-core/src/main/java/com/sismics/docs/core/event/DocumentCreatedAsyncEvent.java @@ -8,7 +8,7 @@ import com.sismics.docs.core.model.jpa.Document; * * @author bgamard */ -public class DocumentCreatedAsyncEvent { +public class DocumentCreatedAsyncEvent extends UserEvent { /** * Created document. */ diff --git a/docs-core/src/main/java/com/sismics/docs/core/event/DocumentDeletedAsyncEvent.java b/docs-core/src/main/java/com/sismics/docs/core/event/DocumentDeletedAsyncEvent.java index a8999d2e..2ea7dd69 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/event/DocumentDeletedAsyncEvent.java +++ b/docs-core/src/main/java/com/sismics/docs/core/event/DocumentDeletedAsyncEvent.java @@ -8,7 +8,7 @@ import com.sismics.docs.core.model.jpa.Document; * * @author bgamard */ -public class DocumentDeletedAsyncEvent { +public class DocumentDeletedAsyncEvent extends UserEvent { /** * Created document. */ diff --git a/docs-core/src/main/java/com/sismics/docs/core/event/DocumentUpdatedAsyncEvent.java b/docs-core/src/main/java/com/sismics/docs/core/event/DocumentUpdatedAsyncEvent.java index 6d94543e..da82cc1e 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/event/DocumentUpdatedAsyncEvent.java +++ b/docs-core/src/main/java/com/sismics/docs/core/event/DocumentUpdatedAsyncEvent.java @@ -8,7 +8,7 @@ import com.sismics.docs.core.model.jpa.Document; * * @author bgamard */ -public class DocumentUpdatedAsyncEvent { +public class DocumentUpdatedAsyncEvent extends UserEvent { /** * Created document. */ diff --git a/docs-core/src/main/java/com/sismics/docs/core/event/FileCreatedAsyncEvent.java b/docs-core/src/main/java/com/sismics/docs/core/event/FileCreatedAsyncEvent.java index 8eab7115..5dbf7d30 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/event/FileCreatedAsyncEvent.java +++ b/docs-core/src/main/java/com/sismics/docs/core/event/FileCreatedAsyncEvent.java @@ -11,7 +11,7 @@ import com.sismics.docs.core.model.jpa.File; * * @author bgamard */ -public class FileCreatedAsyncEvent { +public class FileCreatedAsyncEvent extends UserEvent { /** * Created file. */ diff --git a/docs-core/src/main/java/com/sismics/docs/core/event/FileDeletedAsyncEvent.java b/docs-core/src/main/java/com/sismics/docs/core/event/FileDeletedAsyncEvent.java index 6e51a76f..96637094 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/event/FileDeletedAsyncEvent.java +++ b/docs-core/src/main/java/com/sismics/docs/core/event/FileDeletedAsyncEvent.java @@ -8,7 +8,7 @@ import com.sismics.docs.core.model.jpa.File; * * @author bgamard */ -public class FileDeletedAsyncEvent { +public class FileDeletedAsyncEvent extends UserEvent { /** * Deleted file. */ diff --git a/docs-core/src/main/java/com/sismics/docs/core/event/UserEvent.java b/docs-core/src/main/java/com/sismics/docs/core/event/UserEvent.java new file mode 100644 index 00000000..e6e59edf --- /dev/null +++ b/docs-core/src/main/java/com/sismics/docs/core/event/UserEvent.java @@ -0,0 +1,21 @@ +package com.sismics.docs.core.event; + +/** + * Event fired by a user. + * + * @author bgamard + */ +public abstract class UserEvent { + /** + * User ID who fired the event. + */ + private String userId; + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } +} diff --git a/docs-web/src/main/java/com/sismics/docs/rest/resource/DocumentResource.java b/docs-web/src/main/java/com/sismics/docs/rest/resource/DocumentResource.java index 7dd63371..06ccd8ea 100644 --- a/docs-web/src/main/java/com/sismics/docs/rest/resource/DocumentResource.java +++ b/docs-web/src/main/java/com/sismics/docs/rest/resource/DocumentResource.java @@ -482,6 +482,7 @@ public class DocumentResource extends BaseResource { // Raise a document created event DocumentCreatedAsyncEvent documentCreatedAsyncEvent = new DocumentCreatedAsyncEvent(); + documentCreatedAsyncEvent.setUserId(principal.getId()); documentCreatedAsyncEvent.setDocument(document); AppContext.getInstance().getAsyncEventBus().post(documentCreatedAsyncEvent); @@ -588,6 +589,7 @@ public class DocumentResource extends BaseResource { // Raise a document updated event DocumentUpdatedAsyncEvent documentUpdatedAsyncEvent = new DocumentUpdatedAsyncEvent(); + documentUpdatedAsyncEvent.setUserId(principal.getId()); documentUpdatedAsyncEvent.setDocument(document); AppContext.getInstance().getAsyncEventBus().post(documentUpdatedAsyncEvent); @@ -650,12 +652,14 @@ public class DocumentResource extends BaseResource { // Raise file deleted events for (File file : fileList) { FileDeletedAsyncEvent fileDeletedAsyncEvent = new FileDeletedAsyncEvent(); + fileDeletedAsyncEvent.setUserId(principal.getId()); fileDeletedAsyncEvent.setFile(file); AppContext.getInstance().getAsyncEventBus().post(fileDeletedAsyncEvent); } // Raise a document deleted event DocumentDeletedAsyncEvent documentDeletedAsyncEvent = new DocumentDeletedAsyncEvent(); + documentDeletedAsyncEvent.setUserId(principal.getId()); documentDeletedAsyncEvent.setDocument(document); AppContext.getInstance().getAsyncEventBus().post(documentDeletedAsyncEvent); diff --git a/docs-web/src/main/java/com/sismics/docs/rest/resource/FileResource.java b/docs-web/src/main/java/com/sismics/docs/rest/resource/FileResource.java index b371cff8..1f01564b 100644 --- a/docs-web/src/main/java/com/sismics/docs/rest/resource/FileResource.java +++ b/docs-web/src/main/java/com/sismics/docs/rest/resource/FileResource.java @@ -163,6 +163,7 @@ public class FileResource extends BaseResource { // Raise a new file created event if we have a document if (documentId != null) { FileCreatedAsyncEvent fileCreatedAsyncEvent = new FileCreatedAsyncEvent(); + fileCreatedAsyncEvent.setUserId(principal.getId()); fileCreatedAsyncEvent.setDocument(document); fileCreatedAsyncEvent.setFile(file); fileCreatedAsyncEvent.setInputStream(fileInputStream); @@ -228,6 +229,7 @@ public class FileResource extends BaseResource { InputStream fileInputStream = Files.newInputStream(storedFile); final InputStream responseInputStream = EncryptionUtil.decryptInputStream(fileInputStream, user.getPrivateKey()); FileCreatedAsyncEvent fileCreatedAsyncEvent = new FileCreatedAsyncEvent(); + fileCreatedAsyncEvent.setUserId(principal.getId()); fileCreatedAsyncEvent.setDocument(document); fileCreatedAsyncEvent.setFile(file); fileCreatedAsyncEvent.setInputStream(responseInputStream); @@ -377,6 +379,7 @@ public class FileResource extends BaseResource { // Raise a new file deleted event FileDeletedAsyncEvent fileDeletedAsyncEvent = new FileDeletedAsyncEvent(); + fileDeletedAsyncEvent.setUserId(principal.getId()); fileDeletedAsyncEvent.setFile(file); AppContext.getInstance().getAsyncEventBus().post(fileDeletedAsyncEvent); diff --git a/docs-web/src/main/java/com/sismics/docs/rest/resource/UserResource.java b/docs-web/src/main/java/com/sismics/docs/rest/resource/UserResource.java index 8cad2785..28af8b4e 100644 --- a/docs-web/src/main/java/com/sismics/docs/rest/resource/UserResource.java +++ b/docs-web/src/main/java/com/sismics/docs/rest/resource/UserResource.java @@ -361,6 +361,7 @@ public class UserResource extends BaseResource { // Raise deleted events for documents for (Document document : documentList) { DocumentDeletedAsyncEvent documentDeletedAsyncEvent = new DocumentDeletedAsyncEvent(); + documentDeletedAsyncEvent.setUserId(principal.getId()); documentDeletedAsyncEvent.setDocument(document); AppContext.getInstance().getAsyncEventBus().post(documentDeletedAsyncEvent); } @@ -368,6 +369,7 @@ public class UserResource extends BaseResource { // Raise deleted events for files for (File file : fileList) { FileDeletedAsyncEvent fileDeletedAsyncEvent = new FileDeletedAsyncEvent(); + fileDeletedAsyncEvent.setUserId(principal.getId()); fileDeletedAsyncEvent.setFile(file); AppContext.getInstance().getAsyncEventBus().post(fileDeletedAsyncEvent); } @@ -418,6 +420,7 @@ public class UserResource extends BaseResource { // Raise deleted events for documents for (Document document : documentList) { DocumentDeletedAsyncEvent documentDeletedAsyncEvent = new DocumentDeletedAsyncEvent(); + documentDeletedAsyncEvent.setUserId(principal.getId()); documentDeletedAsyncEvent.setDocument(document); AppContext.getInstance().getAsyncEventBus().post(documentDeletedAsyncEvent); } @@ -425,6 +428,7 @@ public class UserResource extends BaseResource { // Raise deleted events for files for (File file : fileList) { FileDeletedAsyncEvent fileDeletedAsyncEvent = new FileDeletedAsyncEvent(); + fileDeletedAsyncEvent.setUserId(principal.getId()); fileDeletedAsyncEvent.setFile(file); AppContext.getInstance().getAsyncEventBus().post(fileDeletedAsyncEvent); }