From 413f6516d90ae741413a65e16c05ae4e83abadec Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Wed, 17 Jan 2024 16:09:48 +0100 Subject: [PATCH] Component refactored. Changed Event Manager --- .../cms/caches/AbstractScopedMap.java | 6 ++-- .../application/cms/caches/TTLObject.java | 4 +-- .../application/cms/caches/TimedMap.java | 11 +++---- .../implementations/DefaultISProvider.java | 4 +-- .../cms/implementations/ISInterface.java | 4 +-- .../ImplementationProvider.java | 13 ++++---- .../cms/implementations/ProjectAccess.java | 4 +-- .../cms/implementations/WorkspaceManager.java | 12 ++++++-- .../cms/implementations/utils/UserUtils.java | 17 ++++++----- .../cms/plugins/LifecycleManager.java | 6 +++- .../cms/plugins/PluginManagerInterface.java | 4 +-- .../cms/plugins/PluginsReflections.java | 11 +++---- .../cms/plugins/events/EventManager.java | 20 +++++++------ .../cms/plugins/events/ItemObservable.java | 4 ++- .../cms/plugins/events/ItemObserved.java | 15 ++++++++-- .../cms/plugins/model/ComparableVersion.java | 20 +++++++++---- .../reports/DocumentHandlingReport.java | 14 +++++---- .../plugins/reports/EventExecutionReport.java | 5 ++-- .../plugins/reports/IndexDocumentReport.java | 5 ++-- .../reports/MaterializationReport.java | 3 +- .../cms/plugins/reports/Report.java | 9 +++--- .../plugins/reports/StepExecutionReport.java | 16 +++++----- .../requests/BaseExecutionRequest.java | 9 +++--- .../cms/plugins/requests/BaseRequest.java | 7 ++++- .../requests/EventExecutionRequest.java | 9 +++--- .../requests/IndexDocumentRequest.java | 5 ++-- .../requests/MaterializationRequest.java | 5 ++-- .../requests/StepExecutionRequest.java | 9 +++--- .../cms/serialization/JacksonProvider.java | 9 +++--- .../cms/serialization/Serialization.java | 30 ++++++++++++------- 30 files changed, 178 insertions(+), 112 deletions(-) diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/caches/AbstractScopedMap.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/caches/AbstractScopedMap.java index 983503a..a932c33 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/caches/AbstractScopedMap.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/caches/AbstractScopedMap.java @@ -1,10 +1,10 @@ package org.gcube.application.cms.caches; +import org.gcube.application.cms.implementations.utils.UserUtils; +import org.gcube.application.geoportal.common.model.rest.ConfigurationException; + import lombok.NonNull; import lombok.extern.slf4j.Slf4j; -import org.gcube.application.cms.implementations.utils.UserUtils; -import org.gcube.application.geoportal.common.model.rest.ConfigurationException; -import org.gcube.application.geoportal.common.utils.ContextUtils; @Slf4j /** diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/caches/TTLObject.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/caches/TTLObject.java index a8f2105..f3b12b4 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/caches/TTLObject.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/caches/TTLObject.java @@ -1,11 +1,11 @@ package org.gcube.application.cms.caches; +import java.time.LocalDateTime; + import lombok.AllArgsConstructor; import lombok.Getter; import lombok.ToString; -import java.time.LocalDateTime; - @Getter @ToString @AllArgsConstructor diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/caches/TimedMap.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/caches/TimedMap.java index fdc0e66..cbc6e73 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/caches/TimedMap.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/caches/TimedMap.java @@ -1,15 +1,16 @@ package org.gcube.application.cms.caches; +import java.time.LocalDateTime; +import java.time.temporal.TemporalAmount; +import java.util.concurrent.ConcurrentHashMap; + +import org.gcube.application.geoportal.common.model.rest.ConfigurationException; + import lombok.Getter; import lombok.NonNull; import lombok.RequiredArgsConstructor; import lombok.Setter; import lombok.extern.slf4j.Slf4j; -import org.gcube.application.geoportal.common.model.rest.ConfigurationException; - -import java.time.LocalDateTime; -import java.time.temporal.TemporalAmount; -import java.util.concurrent.ConcurrentHashMap; @Slf4j @RequiredArgsConstructor diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/DefaultISProvider.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/DefaultISProvider.java index c400dea..c1cb6a2 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/DefaultISProvider.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/DefaultISProvider.java @@ -1,5 +1,7 @@ package org.gcube.application.cms.implementations; +import java.util.List; + import org.gcube.application.cms.caches.Engine; import org.gcube.application.geoportal.common.model.rest.ConfigurationException; import org.gcube.application.geoportal.common.model.rest.DatabaseConnection; @@ -7,8 +9,6 @@ import org.gcube.application.geoportal.common.utils.ISUtils; import org.gcube.common.resources.gcore.GenericResource; import org.gcube.common.resources.gcore.ServiceEndpoint; -import java.util.List; - public class DefaultISProvider implements ISInterface, Engine { diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/ISInterface.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/ISInterface.java index b2ea604..8b33d4c 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/ISInterface.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/ISInterface.java @@ -1,12 +1,12 @@ package org.gcube.application.cms.implementations; +import java.util.List; + import org.gcube.application.geoportal.common.model.rest.ConfigurationException; import org.gcube.application.geoportal.common.model.rest.DatabaseConnection; import org.gcube.common.resources.gcore.GenericResource; import org.gcube.common.resources.gcore.ServiceEndpoint; -import java.util.List; - public interface ISInterface { public DatabaseConnection queryForDatabase(String category, String platform,String flagName, String flagValue) throws ConfigurationException; diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/ImplementationProvider.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/ImplementationProvider.java index bd63cc1..8c79a7d 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/ImplementationProvider.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/ImplementationProvider.java @@ -1,17 +1,18 @@ package org.gcube.application.cms.implementations; -import lombok.Synchronized; -import lombok.extern.slf4j.Slf4j; -import org.gcube.application.cms.caches.Engine; -import org.gcube.application.geoportal.common.model.rest.ConfigurationException; -import org.gcube.common.storagehub.client.dsl.StorageHubClient; - import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import org.gcube.application.cms.caches.Engine; +import org.gcube.application.geoportal.common.model.rest.ConfigurationException; +import org.gcube.common.storagehub.client.dsl.StorageHubClient; + +import lombok.Synchronized; +import lombok.extern.slf4j.Slf4j; + @Slf4j public class ImplementationProvider { diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/ProjectAccess.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/ProjectAccess.java index e163ed9..f00cef9 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/ProjectAccess.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/ProjectAccess.java @@ -1,5 +1,7 @@ package org.gcube.application.cms.implementations; +import java.util.List; + import org.bson.Document; import org.gcube.application.cms.implementations.faults.InvalidUserRoleException; import org.gcube.application.cms.implementations.faults.ProjectNotFoundException; @@ -10,8 +12,6 @@ import org.gcube.application.geoportal.common.model.document.relationships.Relat import org.gcube.application.geoportal.common.model.rest.ConfigurationException; import org.gcube.application.geoportal.common.model.rest.QueryRequest; -import java.util.List; - public interface ProjectAccess { diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/WorkspaceManager.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/WorkspaceManager.java index d10a27c..56eab21 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/WorkspaceManager.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/WorkspaceManager.java @@ -1,7 +1,7 @@ package org.gcube.application.cms.implementations; -import lombok.*; -import lombok.extern.slf4j.Slf4j; +import java.io.InputStream; + import org.gcube.application.geoportal.common.model.configuration.Archive; import org.gcube.application.geoportal.common.model.document.filesets.RegisteredFile; import org.gcube.application.geoportal.common.model.rest.ConfigurationException; @@ -11,7 +11,13 @@ import org.gcube.common.storagehub.client.dsl.FolderContainer; import org.gcube.common.storagehub.client.dsl.StorageHubClient; import org.gcube.common.storagehub.model.exceptions.StorageHubException; -import java.io.InputStream; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.Setter; +import lombok.Synchronized; +import lombok.extern.slf4j.Slf4j; @Slf4j public class WorkspaceManager { diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/utils/UserUtils.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/utils/UserUtils.java index d810f01..86806ff 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/utils/UserUtils.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/implementations/utils/UserUtils.java @@ -1,8 +1,11 @@ package org.gcube.application.cms.implementations.utils; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.extern.slf4j.Slf4j; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + import org.gcube.application.geoportal.common.model.document.accounting.AccountingInfo; import org.gcube.application.geoportal.common.model.document.accounting.Context; import org.gcube.application.geoportal.common.model.document.accounting.User; @@ -11,11 +14,9 @@ import org.gcube.common.authorization.library.provider.SecurityTokenProvider; import org.gcube.common.authorization.utils.manager.SecretManager; import org.gcube.common.authorization.utils.manager.SecretManagerProvider; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; @Slf4j public class UserUtils { diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/LifecycleManager.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/LifecycleManager.java index 44a068e..4216435 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/LifecycleManager.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/LifecycleManager.java @@ -1,6 +1,10 @@ package org.gcube.application.cms.plugins; -import org.gcube.application.cms.plugins.faults.*; +import org.gcube.application.cms.plugins.faults.EventException; +import org.gcube.application.cms.plugins.faults.InsufficientPrivileges; +import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException; +import org.gcube.application.cms.plugins.faults.InvalidProfileException; +import org.gcube.application.cms.plugins.faults.StepException; import org.gcube.application.cms.plugins.reports.EventExecutionReport; import org.gcube.application.cms.plugins.reports.StepExecutionReport; import org.gcube.application.cms.plugins.requests.BaseRequest; diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/PluginManagerInterface.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/PluginManagerInterface.java index 4560093..26671c0 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/PluginManagerInterface.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/PluginManagerInterface.java @@ -1,9 +1,9 @@ package org.gcube.application.cms.plugins; -import org.gcube.application.geoportal.common.model.rest.ConfigurationException; - import java.util.Map; +import org.gcube.application.geoportal.common.model.rest.ConfigurationException; + public interface PluginManagerInterface { public Plugin getById(String pluginID) throws ConfigurationException; diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/PluginsReflections.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/PluginsReflections.java index 15e944d..5491f51 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/PluginsReflections.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/PluginsReflections.java @@ -1,14 +1,15 @@ package org.gcube.application.cms.plugins; -import lombok.extern.slf4j.Slf4j; -import org.reflections.Reflections; -import org.reflections.util.ConfigurationBuilder; -import org.reflections.util.FilterBuilder; - import java.lang.reflect.Modifier; import java.util.HashMap; import java.util.Map; +import org.reflections.Reflections; +import org.reflections.util.ConfigurationBuilder; +import org.reflections.util.FilterBuilder; + +import lombok.extern.slf4j.Slf4j; + @Slf4j public class PluginsReflections { diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/events/EventManager.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/events/EventManager.java index fdfa9d8..02681df 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/events/EventManager.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/events/EventManager.java @@ -4,6 +4,8 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import org.gcube.application.geoportal.common.model.document.Project; + /** * The Class EventManager. * @@ -11,9 +13,9 @@ import java.util.List; * * Dec 11, 2023 */ -public class EventManager implements EventManagerInterface { +public class EventManager implements EventManagerInterface> { - private HashMap>> listeners = new HashMap>>(); + private HashMap>>> listeners = new HashMap>>>(); /** * The Class Event. @@ -87,10 +89,10 @@ public class EventManager implements EventManagerInterface { * @param eventType the event type * @param listener the listener */ - public void subscribe(Event eventType, EventListener listener) { - List> list = listeners.get(eventType); + public void subscribe(Event eventType, EventListener> listener) { + List>> list = listeners.get(eventType); if (list == null) - list = new ArrayList>(); + list = new ArrayList>>(); list.add(listener); listeners.put(eventType, list); @@ -102,8 +104,8 @@ public class EventManager implements EventManagerInterface { * @param eventType the event type * @param listener the listener */ - public void unsubscribe(Event eventType, EventListener listener) { - List> list = listeners.get(eventType); + public void unsubscribe(Event eventType, EventListener> listener) { + List>> list = listeners.get(eventType); if (list == null) return; @@ -117,10 +119,10 @@ public class EventManager implements EventManagerInterface { * @param eventType the event type * @param item the item */ - public void notify(Event eventType, ItemObservable item) { + public void notify(Event eventType, ItemObserved item) { for (EventManager.Event event : listeners.keySet()) { if (event.equals(eventType)) { - for (EventListener eventListner : listeners.get(eventType)) { + for (EventListener> eventListner : listeners.get(eventType)) { eventListner.updated(item); } } diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/events/ItemObservable.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/events/ItemObservable.java index dab4c0c..993aba1 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/events/ItemObservable.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/events/ItemObservable.java @@ -2,6 +2,8 @@ package org.gcube.application.cms.plugins.events; public interface ItemObservable { - public String getId(); + public String getProjectId(); + + public String getUCD_Id(); } diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/events/ItemObserved.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/events/ItemObserved.java index 0f68750..47e9869 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/events/ItemObserved.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/events/ItemObserved.java @@ -3,6 +3,7 @@ package org.gcube.application.cms.plugins.events; import org.gcube.application.geoportal.common.model.document.Project; import org.gcube.application.geoportal.common.model.document.accounting.Context; import org.gcube.application.geoportal.common.model.document.accounting.User; +import org.gcube.application.geoportal.common.model.useCaseDescriptor.UseCaseDescriptor; import lombok.AllArgsConstructor; import lombok.Getter; @@ -18,14 +19,24 @@ import lombok.extern.slf4j.Slf4j; public class ItemObserved implements ItemObservable { User caller; Context context; + UseCaseDescriptor useCaseDescriptor; T project; EventManager.Event event; - public String getId() { - log.debug("Called getId"); + + public String getProjectId() { + log.debug("Called getProjectId"); if (project == null) return null; return project.getId(); } + + @Override + public String getUCD_Id() { + log.debug("Called getUCD_Id"); + if (useCaseDescriptor == null) + return null; + return useCaseDescriptor.getId(); + } } diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/model/ComparableVersion.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/model/ComparableVersion.java index 9682bd1..132725f 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/model/ComparableVersion.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/model/ComparableVersion.java @@ -1,5 +1,15 @@ package org.gcube.application.cms.plugins.model; +import java.math.BigInteger; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Deque; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Properties; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -18,11 +28,11 @@ package org.gcube.application.cms.plugins.model; * specific language governing permissions and limitations * under the License. */ - -import lombok.*; - -import java.math.BigInteger; -import java.util.*; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; /** *

diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/DocumentHandlingReport.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/DocumentHandlingReport.java index 6f1945a..7e1136a 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/DocumentHandlingReport.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/DocumentHandlingReport.java @@ -1,9 +1,8 @@ package org.gcube.application.cms.plugins.reports; -import com.fasterxml.jackson.core.JsonProcessingException; -import lombok.Data; -import lombok.NonNull; -import lombok.extern.slf4j.Slf4j; +import java.util.ArrayList; +import java.util.List; + import org.bson.Document; import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException; import org.gcube.application.cms.plugins.faults.PluginExecutionException; @@ -12,8 +11,11 @@ import org.gcube.application.geoportal.common.model.document.Project; import org.gcube.application.geoportal.common.model.document.identification.IdentificationReference; import org.gcube.application.geoportal.common.model.document.lifecycle.LifecycleInformation; -import java.util.ArrayList; -import java.util.List; +import com.fasterxml.jackson.core.JsonProcessingException; + +import lombok.Data; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; @Data diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/EventExecutionReport.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/EventExecutionReport.java index 421ac03..8591b48 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/EventExecutionReport.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/EventExecutionReport.java @@ -1,11 +1,12 @@ package org.gcube.application.cms.plugins.reports; -import lombok.ToString; -import lombok.extern.slf4j.Slf4j; import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException; import org.gcube.application.cms.plugins.requests.EventExecutionRequest; import org.gcube.application.geoportal.common.model.document.lifecycle.LifecycleInformation; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; + @ToString(callSuper = true) @Slf4j public class EventExecutionReport extends DocumentHandlingReport{ diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/IndexDocumentReport.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/IndexDocumentReport.java index b8c680f..7d45cad 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/IndexDocumentReport.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/IndexDocumentReport.java @@ -1,10 +1,11 @@ package org.gcube.application.cms.plugins.reports; +import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException; +import org.gcube.application.cms.plugins.requests.IndexDocumentRequest; + import lombok.Getter; import lombok.NonNull; import lombok.Setter; -import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException; -import org.gcube.application.cms.plugins.requests.IndexDocumentRequest; @Getter @Setter diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/MaterializationReport.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/MaterializationReport.java index d712617..07dce0b 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/MaterializationReport.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/MaterializationReport.java @@ -1,9 +1,10 @@ package org.gcube.application.cms.plugins.reports; -import lombok.NonNull; import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException; import org.gcube.application.cms.plugins.requests.MaterializationRequest; +import lombok.NonNull; + public class MaterializationReport extends DocumentHandlingReport{ diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/Report.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/Report.java index 16b3f74..586322e 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/Report.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/Report.java @@ -1,12 +1,13 @@ package org.gcube.application.cms.plugins.reports; +import java.util.ArrayList; +import java.util.List; + +import org.gcube.application.cms.plugins.faults.PluginExecutionException; + import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.gcube.application.cms.plugins.faults.PluginExecutionException; - -import java.util.ArrayList; -import java.util.List; @Getter @Setter diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/StepExecutionReport.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/StepExecutionReport.java index 38cd2c5..babdd40 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/StepExecutionReport.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/StepExecutionReport.java @@ -1,18 +1,20 @@ package org.gcube.application.cms.plugins.reports; -import com.fasterxml.jackson.core.JsonProcessingException; -import lombok.Getter; -import lombok.NonNull; -import lombok.Setter; -import lombok.ToString; +import java.util.ArrayList; +import java.util.List; + import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException; import org.gcube.application.cms.plugins.faults.PluginExecutionException; import org.gcube.application.cms.plugins.requests.EventExecutionRequest; import org.gcube.application.cms.plugins.requests.StepExecutionRequest; import org.gcube.application.geoportal.common.model.document.Project; -import java.util.ArrayList; -import java.util.List; +import com.fasterxml.jackson.core.JsonProcessingException; + +import lombok.Getter; +import lombok.NonNull; +import lombok.Setter; +import lombok.ToString; @Getter @Setter diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/BaseExecutionRequest.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/BaseExecutionRequest.java index dfcf190..fbf0134 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/BaseExecutionRequest.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/BaseExecutionRequest.java @@ -1,15 +1,16 @@ package org.gcube.application.cms.plugins.requests; -import lombok.Getter; -import lombok.NonNull; -import lombok.Setter; -import lombok.ToString; import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException; import org.gcube.application.geoportal.common.model.document.Project; import org.gcube.application.geoportal.common.model.document.accounting.Context; import org.gcube.application.geoportal.common.model.document.accounting.User; import org.gcube.application.geoportal.common.model.useCaseDescriptor.UseCaseDescriptor; +import lombok.Getter; +import lombok.NonNull; +import lombok.Setter; +import lombok.ToString; + @Getter @Setter @ToString(callSuper = true) diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/BaseRequest.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/BaseRequest.java index 1e2191d..3735cec 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/BaseRequest.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/BaseRequest.java @@ -1,6 +1,5 @@ package org.gcube.application.cms.plugins.requests; -import lombok.*; import org.bson.Document; import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException; import org.gcube.application.cms.serialization.Serialization; @@ -8,6 +7,12 @@ import org.gcube.application.geoportal.common.model.document.accounting.Context; import org.gcube.application.geoportal.common.model.document.accounting.User; import org.gcube.application.geoportal.common.model.useCaseDescriptor.UseCaseDescriptor; +import lombok.Getter; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.Setter; +import lombok.ToString; + @Getter @Setter @ToString(callSuper = true) diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/EventExecutionRequest.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/EventExecutionRequest.java index 25ec153..323576c 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/EventExecutionRequest.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/EventExecutionRequest.java @@ -1,13 +1,14 @@ package org.gcube.application.cms.plugins.requests; +import org.gcube.application.geoportal.common.model.document.Project; +import org.gcube.application.geoportal.common.model.document.accounting.Context; +import org.gcube.application.geoportal.common.model.document.accounting.User; +import org.gcube.application.geoportal.common.model.useCaseDescriptor.UseCaseDescriptor; + import lombok.Getter; import lombok.NonNull; import lombok.Setter; import lombok.ToString; -import org.gcube.application.geoportal.common.model.document.Project; -import org.gcube.application.geoportal.common.model.document.accounting.Context; -import org.gcube.application.geoportal.common.model.document.accounting.User; -import org.gcube.application.geoportal.common.model.useCaseDescriptor.UseCaseDescriptor; @Getter @Setter diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/IndexDocumentRequest.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/IndexDocumentRequest.java index 4321c41..0237e61 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/IndexDocumentRequest.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/IndexDocumentRequest.java @@ -1,12 +1,13 @@ package org.gcube.application.cms.plugins.requests; -import lombok.NonNull; -import lombok.ToString; import org.gcube.application.geoportal.common.model.document.Project; import org.gcube.application.geoportal.common.model.document.accounting.Context; import org.gcube.application.geoportal.common.model.document.accounting.User; import org.gcube.application.geoportal.common.model.useCaseDescriptor.UseCaseDescriptor; +import lombok.NonNull; +import lombok.ToString; + @ToString(callSuper = true) public class IndexDocumentRequest extends BaseExecutionRequest{ public IndexDocumentRequest(@NonNull UseCaseDescriptor useCaseDescriptor, @NonNull User caller, @NonNull Context context, Project document) { diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/MaterializationRequest.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/MaterializationRequest.java index 42c1f3c..574a7ca 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/MaterializationRequest.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/MaterializationRequest.java @@ -1,12 +1,13 @@ package org.gcube.application.cms.plugins.requests; -import lombok.NonNull; -import lombok.ToString; import org.gcube.application.geoportal.common.model.document.Project; import org.gcube.application.geoportal.common.model.document.accounting.Context; import org.gcube.application.geoportal.common.model.document.accounting.User; import org.gcube.application.geoportal.common.model.useCaseDescriptor.UseCaseDescriptor; +import lombok.NonNull; +import lombok.ToString; + @ToString(callSuper = true) public class MaterializationRequest extends BaseExecutionRequest{ public MaterializationRequest(@NonNull UseCaseDescriptor useCaseDescriptor, @NonNull User caller, @NonNull Context context, Project document) { diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/StepExecutionRequest.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/StepExecutionRequest.java index 6cf8376..8b985ae 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/StepExecutionRequest.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/StepExecutionRequest.java @@ -1,13 +1,14 @@ package org.gcube.application.cms.plugins.requests; +import org.gcube.application.geoportal.common.model.document.Project; +import org.gcube.application.geoportal.common.model.document.accounting.Context; +import org.gcube.application.geoportal.common.model.document.accounting.User; +import org.gcube.application.geoportal.common.model.useCaseDescriptor.UseCaseDescriptor; + import lombok.Getter; import lombok.NonNull; import lombok.Setter; import lombok.ToString; -import org.gcube.application.geoportal.common.model.document.Project; -import org.gcube.application.geoportal.common.model.document.accounting.Context; -import org.gcube.application.geoportal.common.model.document.accounting.User; -import org.gcube.application.geoportal.common.model.useCaseDescriptor.UseCaseDescriptor; @Getter @Setter diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/serialization/JacksonProvider.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/serialization/JacksonProvider.java index 7e74818..afbeb80 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/serialization/JacksonProvider.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/serialization/JacksonProvider.java @@ -1,15 +1,16 @@ package org.gcube.application.cms.serialization; +import java.util.EnumSet; +import java.util.Set; + +import org.gcube.application.geoportal.common.JSONSerializationProvider; + import com.jayway.jsonpath.Configuration; import com.jayway.jsonpath.Option; import com.jayway.jsonpath.spi.json.JacksonJsonProvider; import com.jayway.jsonpath.spi.json.JsonProvider; import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider; import com.jayway.jsonpath.spi.mapper.MappingProvider; -import org.gcube.application.geoportal.common.JSONSerializationProvider; - -import java.util.EnumSet; -import java.util.Set; public class JacksonProvider implements JSONSerializationProvider { diff --git a/cms-plugin-framework/src/main/java/org/gcube/application/cms/serialization/Serialization.java b/cms-plugin-framework/src/main/java/org/gcube/application/cms/serialization/Serialization.java index ae6dc8e..04fde40 100644 --- a/cms-plugin-framework/src/main/java/org/gcube/application/cms/serialization/Serialization.java +++ b/cms-plugin-framework/src/main/java/org/gcube/application/cms/serialization/Serialization.java @@ -1,22 +1,30 @@ package org.gcube.application.cms.serialization; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.*; -import com.fasterxml.jackson.databind.module.SimpleModule; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; -import com.vdurmont.semver4j.Semver; -import lombok.extern.slf4j.Slf4j; +import java.io.IOException; +import java.time.format.DateTimeFormatter; +import java.util.Iterator; + import org.bson.Document; import org.bson.types.ObjectId; import org.gcube.application.cms.plugins.model.ComparableVersion; import org.gcube.application.geoportal.common.model.document.Project; import org.gcube.application.geoportal.common.model.rest.QueryRequest; -import java.io.IOException; -import java.time.format.DateTimeFormatter; -import java.util.Iterator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.vdurmont.semver4j.Semver; + +import lombok.extern.slf4j.Slf4j; @Slf4j public class Serialization {