From 2082216b0f9a2e23ae8fb7301b2a92846df70a27 Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Wed, 4 May 2022 11:26:41 +0200 Subject: [PATCH] refactored worspace classes --- .../model/beans/WorkspaceNotification.java | 28 ----------------- .../beans/WorkspaceNotificationType.java | 31 ------------------- .../AddedItemEvent.java} | 20 ++++++------ .../FileItemBean.java} | 16 +++++----- .../FolderBean.java} | 10 +++--- .../SharedFolderEvent.java} | 20 ++++++------ .../UnsharedFolderEvent.java} | 14 ++++----- .../model/beans/workspace/WorkspaceEvent.java | 28 +++++++++++++++++ .../beans/workspace/WorkspaceEventType.java | 31 +++++++++++++++++++ 9 files changed, 99 insertions(+), 99 deletions(-) delete mode 100644 src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotification.java delete mode 100644 src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationType.java rename src/main/java/org/gcube/social_networking/socialnetworking/model/beans/{WorkspaceNotificationAddedItem.java => workspace/AddedItemEvent.java} (64%) rename src/main/java/org/gcube/social_networking/socialnetworking/model/beans/{WorkspaceFileItemBean.java => workspace/FileItemBean.java} (79%) rename src/main/java/org/gcube/social_networking/socialnetworking/model/beans/{WorkspaceFolderBean.java => workspace/FolderBean.java} (89%) rename src/main/java/org/gcube/social_networking/socialnetworking/model/beans/{WorkspaceNotificationSharedFolder.java => workspace/SharedFolderEvent.java} (62%) rename src/main/java/org/gcube/social_networking/socialnetworking/model/beans/{WorkspaceNotificationUnsharedFolder.java => workspace/UnsharedFolderEvent.java} (78%) create mode 100644 src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/WorkspaceEvent.java create mode 100644 src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/WorkspaceEventType.java diff --git a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotification.java b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotification.java deleted file mode 100644 index 0b41e23..0000000 --- a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotification.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.gcube.social_networking.socialnetworking.model.beans; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonSubTypes; -import com.fasterxml.jackson.annotation.JsonTypeInfo; -import com.fasterxml.jackson.annotation.JsonTypeInfo.As; - -/** - * The WorkspaceNotification super class - */ -@JsonIgnoreProperties(ignoreUnknown = true) -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, -include = As.PROPERTY, property = "type") @JsonSubTypes({ -@JsonSubTypes.Type(value = WorkspaceNotificationSharedFolder.class, name = "FOLDER_SHARE"), -@JsonSubTypes.Type(value = WorkspaceNotificationUnsharedFolder.class, name = "FOLDER_UNSHARE"), -@JsonSubTypes.Type(value = WorkspaceNotificationAddedItem.class, name = "ITEM_NEW") -}) -public abstract class WorkspaceNotification { - protected final WorkspaceNotificationType TYPE; - - WorkspaceNotification(WorkspaceNotificationType TYPE) { - this.TYPE = TYPE; - } - - public WorkspaceNotificationType getType() { - return TYPE; - } -} diff --git a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationType.java b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationType.java deleted file mode 100644 index de29fc9..0000000 --- a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationType.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.gcube.social_networking.socialnetworking.model.beans; - -public enum WorkspaceNotificationType { - - /** - * use to notify a user she got a workspace item new in some of her workspace shared folder - */ - ITEM_NEW(WorkspaceNotificationAddedItem.class), - /** - * use to notify a user he got a workspace folder shared - */ - FOLDER_SHARE(WorkspaceNotificationSharedFolder.class), - /** - * use to notify a user he got a workspace folder Unshared - */ - FOLDER_UNSHARE(WorkspaceNotificationUnsharedFolder.class); - - - - Class beanClass; - - WorkspaceNotificationType(Class beanClass){ - this.beanClass = beanClass; - } - - - public Class getNotificationClass(){ - return this.beanClass; - } - -} diff --git a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationAddedItem.java b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/AddedItemEvent.java similarity index 64% rename from src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationAddedItem.java rename to src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/AddedItemEvent.java index f99e476..708f49d 100644 --- a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationAddedItem.java +++ b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/AddedItemEvent.java @@ -1,4 +1,4 @@ -package org.gcube.social_networking.socialnetworking.model.beans; +package org.gcube.social_networking.socialnetworking.model.beans.workspace; import javax.validation.constraints.NotNull; @@ -8,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonTypeName; @JsonIgnoreProperties(ignoreUnknown=true) @JsonTypeName("ITEM_NEW") -public class WorkspaceNotificationAddedItem extends WorkspaceNotification { +public class AddedItemEvent extends WorkspaceEvent { /** * the username of the user you wish to notify */ @@ -18,15 +18,15 @@ public class WorkspaceNotificationAddedItem extends WorkspaceNotification { @JsonProperty("fileItem") @NotNull(message="fileItem cannot be missing") - private WorkspaceFileItemBean item; + private FileItemBean item; - public WorkspaceNotificationAddedItem() { - super(WorkspaceNotificationType.ITEM_NEW); + public AddedItemEvent() { + super(WorkspaceEventType.ITEM_NEW); // TODO Auto-generated constructor stub } - public WorkspaceNotificationAddedItem(String userIdToNotify, WorkspaceFileItemBean item) { - super(WorkspaceNotificationType.ITEM_NEW); + public AddedItemEvent(String userIdToNotify, FileItemBean item) { + super(WorkspaceEventType.ITEM_NEW); this.userIdToNotify = userIdToNotify; this.item = item; } @@ -39,17 +39,17 @@ public class WorkspaceNotificationAddedItem extends WorkspaceNotification { this.userIdToNotify = userIdToNotify; } - public WorkspaceFileItemBean getItem() { + public FileItemBean getItem() { return item; } - public void setItem(WorkspaceFileItemBean item) { + public void setItem(FileItemBean item) { this.item = item; } @Override public String toString() { - return "WorkspaceNotificationAddedItem [userIdToNotify=" + userIdToNotify + ", item=" + item + "]"; + return "AddedItemEvent [userIdToNotify=" + userIdToNotify + ", item=" + item + "]"; } diff --git a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceFileItemBean.java b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/FileItemBean.java similarity index 79% rename from src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceFileItemBean.java rename to src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/FileItemBean.java index 346a171..e22a8ed 100644 --- a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceFileItemBean.java +++ b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/FileItemBean.java @@ -1,10 +1,10 @@ -package org.gcube.social_networking.socialnetworking.model.beans; +package org.gcube.social_networking.socialnetworking.model.beans.workspace; import javax.validation.constraints.NotNull; import com.fasterxml.jackson.annotation.JsonProperty; -public class WorkspaceFileItemBean { +public class FileItemBean { @JsonProperty("id") @NotNull @@ -24,13 +24,13 @@ public class WorkspaceFileItemBean { @JsonProperty("parent") @NotNull - private WorkspaceFolderBean parent; + private FolderBean parent; - public WorkspaceFileItemBean() { + public FileItemBean() { super(); } - public WorkspaceFileItemBean(String id, String name, String title, String path, WorkspaceFolderBean parent) { + public FileItemBean(String id, String name, String title, String path, FolderBean parent) { super(); this.id = id; this.name = name; @@ -64,11 +64,11 @@ public class WorkspaceFileItemBean { this.path = path; } - public WorkspaceFolderBean getParent() { + public FolderBean getParent() { return parent; } - public void setParent(WorkspaceFolderBean parent) { + public void setParent(FolderBean parent) { this.parent = parent; } @@ -85,7 +85,7 @@ public class WorkspaceFileItemBean { @Override public String toString() { StringBuilder builder = new StringBuilder(); - builder.append("WorkspaceFileItemBean [id="); + builder.append("FileItemBean [id="); builder.append(id); builder.append(", name="); builder.append(name); diff --git a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceFolderBean.java b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/FolderBean.java similarity index 89% rename from src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceFolderBean.java rename to src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/FolderBean.java index 80f3dcc..800b407 100644 --- a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceFolderBean.java +++ b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/FolderBean.java @@ -1,11 +1,11 @@ -package org.gcube.social_networking.socialnetworking.model.beans; +package org.gcube.social_networking.socialnetworking.model.beans.workspace; import javax.validation.constraints.NotNull; import com.fasterxml.jackson.annotation.JsonProperty; -public class WorkspaceFolderBean { +public class FolderBean { @@ -37,12 +37,12 @@ public class WorkspaceFolderBean { @NotNull boolean vreFolder; - public WorkspaceFolderBean() { + public FolderBean() { super(); // TODO Auto-generated constructor stub } - public WorkspaceFolderBean(String id, String name, String title, String displayName, String path, String parentId, boolean vreFolder) { + public FolderBean(String id, String name, String title, String displayName, String path, String parentId, boolean vreFolder) { super(); this.id = id; this.name = name; @@ -118,7 +118,7 @@ public class WorkspaceFolderBean { @Override public String toString() { StringBuilder builder = new StringBuilder(); - builder.append("WorkspaceFolderBean [id="); + builder.append("FolderBean [id="); builder.append(id); builder.append(", name="); builder.append(name); diff --git a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationSharedFolder.java b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/SharedFolderEvent.java similarity index 62% rename from src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationSharedFolder.java rename to src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/SharedFolderEvent.java index b004528..b9f6021 100644 --- a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationSharedFolder.java +++ b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/SharedFolderEvent.java @@ -1,4 +1,4 @@ -package org.gcube.social_networking.socialnetworking.model.beans; +package org.gcube.social_networking.socialnetworking.model.beans.workspace; import javax.validation.constraints.NotNull; @@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonTypeName; @JsonIgnoreProperties(ignoreUnknown=true) @JsonTypeName("FOLDER_SHARE") -public class WorkspaceNotificationSharedFolder extends WorkspaceNotification { +public class SharedFolderEvent extends WorkspaceEvent { /** * the username of the user you wish to notify @@ -20,15 +20,15 @@ public class WorkspaceNotificationSharedFolder extends WorkspaceNotification { @JsonProperty("folderItem") @NotNull(message="folderItem cannot be missing") - private WorkspaceFolderBean folder; + private FolderBean folder; - public WorkspaceNotificationSharedFolder() { - super(WorkspaceNotificationType.FOLDER_SHARE); + public SharedFolderEvent() { + super(WorkspaceEventType.FOLDER_SHARE); } - public WorkspaceNotificationSharedFolder(String userIdToNotify, WorkspaceFolderBean folder) { - super(WorkspaceNotificationType.FOLDER_SHARE); + public SharedFolderEvent(String userIdToNotify, FolderBean folder) { + super(WorkspaceEventType.FOLDER_SHARE); this.userIdToNotify = userIdToNotify; this.folder = folder; } @@ -41,16 +41,16 @@ public class WorkspaceNotificationSharedFolder extends WorkspaceNotification { this.userIdToNotify = userIdToNotify; } - public WorkspaceFolderBean getFolder() { + public FolderBean getFolder() { return folder; } - public void setFolder(WorkspaceFolderBean folder) { + public void setFolder(FolderBean folder) { this.folder = folder; } @Override public String toString() { - return "WorkspaceNotificationSharedFolder [userIdToNotify=" + userIdToNotify + ", folder=" + folder + "]"; + return "SharedFolderEvent [userIdToNotify=" + userIdToNotify + ", folder=" + folder + "]"; } } diff --git a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationUnsharedFolder.java b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/UnsharedFolderEvent.java similarity index 78% rename from src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationUnsharedFolder.java rename to src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/UnsharedFolderEvent.java index d8f0f9d..3d895f8 100644 --- a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/WorkspaceNotificationUnsharedFolder.java +++ b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/UnsharedFolderEvent.java @@ -1,4 +1,4 @@ -package org.gcube.social_networking.socialnetworking.model.beans; +package org.gcube.social_networking.socialnetworking.model.beans.workspace; import javax.validation.constraints.NotNull; @@ -8,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonTypeName; @JsonIgnoreProperties(ignoreUnknown=true) @JsonTypeName("FOLDER_UNSHARE") -public class WorkspaceNotificationUnsharedFolder extends WorkspaceNotification { +public class UnsharedFolderEvent extends WorkspaceEvent { /** @@ -27,13 +27,13 @@ public class WorkspaceNotificationUnsharedFolder extends WorkspaceNotification { private String unsharedFolderName; - public WorkspaceNotificationUnsharedFolder() { - super(WorkspaceNotificationType.FOLDER_UNSHARE); + public UnsharedFolderEvent() { + super(WorkspaceEventType.FOLDER_UNSHARE); // TODO Auto-generated constructor stub } - public WorkspaceNotificationUnsharedFolder(String userIdToNotify, String unsharedFolderId, String unsharedFolderName) { - super(WorkspaceNotificationType.FOLDER_UNSHARE); + public UnsharedFolderEvent(String userIdToNotify, String unsharedFolderId, String unsharedFolderName) { + super(WorkspaceEventType.FOLDER_UNSHARE); this.userIdToNotify = userIdToNotify; this.unsharedFolderId = unsharedFolderId; this.unsharedFolderName = unsharedFolderName; @@ -45,7 +45,7 @@ public class WorkspaceNotificationUnsharedFolder extends WorkspaceNotification { @Override public String toString() { - return "WorkspaceNotificationUnsharedFolder [userIdToNotify=" + userIdToNotify + ", unsharedFolderId=" + return "UnsharedFolderEvent [userIdToNotify=" + userIdToNotify + ", unsharedFolderId=" + unsharedFolderId + ", unsharedFolderName=" + unsharedFolderName + ", Type=" + TYPE + "]"; } diff --git a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/WorkspaceEvent.java b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/WorkspaceEvent.java new file mode 100644 index 0000000..2c94853 --- /dev/null +++ b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/WorkspaceEvent.java @@ -0,0 +1,28 @@ +package org.gcube.social_networking.socialnetworking.model.beans.workspace; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeInfo.As; + +/** + * The WorkspaceEvent super class + */ +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, +include = As.PROPERTY, property = "type") @JsonSubTypes({ +@JsonSubTypes.Type(value = SharedFolderEvent.class, name = "FOLDER_SHARE"), +@JsonSubTypes.Type(value = UnsharedFolderEvent.class, name = "FOLDER_UNSHARE"), +@JsonSubTypes.Type(value = AddedItemEvent.class, name = "ITEM_NEW") +}) +public abstract class WorkspaceEvent { + protected final WorkspaceEventType TYPE; + + WorkspaceEvent(WorkspaceEventType TYPE) { + this.TYPE = TYPE; + } + + public WorkspaceEventType getType() { + return TYPE; + } +} diff --git a/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/WorkspaceEventType.java b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/WorkspaceEventType.java new file mode 100644 index 0000000..059c4e9 --- /dev/null +++ b/src/main/java/org/gcube/social_networking/socialnetworking/model/beans/workspace/WorkspaceEventType.java @@ -0,0 +1,31 @@ +package org.gcube.social_networking.socialnetworking.model.beans.workspace; + +public enum WorkspaceEventType { + + /** + * use to notify a user she got a workspace item new in some of her workspace shared folder + */ + ITEM_NEW(AddedItemEvent.class), + /** + * use to notify a user he got a workspace folder shared + */ + FOLDER_SHARE(SharedFolderEvent.class), + /** + * use to notify a user he got a workspace folder Unshared + */ + FOLDER_UNSHARE(UnsharedFolderEvent.class); + + + + Class beanClass; + + WorkspaceEventType(Class beanClass){ + this.beanClass = beanClass; + } + + + public Class getNotificationClass(){ + return this.beanClass; + } + +}