From e724da933e4d94ddb17e90c38f5ccd6ce1a900c4 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Fri, 19 Jan 2024 14:36:43 +0100 Subject: [PATCH] updated plugin --- catalogue-binding-plugin/.classpath | 28 +++++ catalogue-binding-plugin/.project | 23 ++++ catalogue-binding-plugin/pom.xml | 28 +++-- .../CatalogueBindingPlugin.java | 114 ++++++++---------- .../cms/plugins/PluginsReflections.java | 2 +- 5 files changed, 116 insertions(+), 79 deletions(-) create mode 100644 catalogue-binding-plugin/.classpath create mode 100644 catalogue-binding-plugin/.project diff --git a/catalogue-binding-plugin/.classpath b/catalogue-binding-plugin/.classpath new file mode 100644 index 0000000..2b1b042 --- /dev/null +++ b/catalogue-binding-plugin/.classpath @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/catalogue-binding-plugin/.project b/catalogue-binding-plugin/.project new file mode 100644 index 0000000..940ccef --- /dev/null +++ b/catalogue-binding-plugin/.project @@ -0,0 +1,23 @@ + + + ckan-plugin + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/catalogue-binding-plugin/pom.xml b/catalogue-binding-plugin/pom.xml index f1d4c46..51d592a 100644 --- a/catalogue-binding-plugin/pom.xml +++ b/catalogue-binding-plugin/pom.xml @@ -3,16 +3,18 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 + + catalogue-binding-plugins + 1.0.0-SNAPSHOT + gCube CMS - Catalogue Binding Plugin + + org.gcube.application.cms gcube-cms-suite [1.0.0, 2.0.0-SNAPSHOT) - catalogue-binding-plugins - 1.0.0-SNAPSHOT - gCube CMS - Catalogue Binding Plugin - https://code-repo.d4science.org/gCubeSystem @@ -27,13 +29,13 @@ - org.gcube.distribution - gcube-smartgears-bom - ${gcube-smartgears-bom-version} - pom - import - - + org.gcube.distribution + gcube-smartgears-bom + ${gcube-smartgears-bom-version} + pom + import + + org.gcube.application.cms cms-plugin-framework ${plugin-framework-version} @@ -49,8 +51,8 @@ org.gcube.application.cms cms-plugin-framework - - + + org.gcube.application.cms default-lc-managers provided diff --git a/catalogue-binding-plugin/src/main/java/org/gcube/application/cms/cataloguebinding/CatalogueBindingPlugin.java b/catalogue-binding-plugin/src/main/java/org/gcube/application/cms/cataloguebinding/CatalogueBindingPlugin.java index 4ee5106..438bcba 100644 --- a/catalogue-binding-plugin/src/main/java/org/gcube/application/cms/cataloguebinding/CatalogueBindingPlugin.java +++ b/catalogue-binding-plugin/src/main/java/org/gcube/application/cms/cataloguebinding/CatalogueBindingPlugin.java @@ -41,8 +41,11 @@ import lombok.extern.slf4j.Slf4j; @Slf4j public class CatalogueBindingPlugin extends AbstractPlugin implements EventListenerPluginInterface { - public static final PluginDescriptor DESCRIPTOR = new PluginDescriptor(CatalogueBindingPlugin.PLUGIN_ID, - CatalogueBindingPlugin.PLUGIN_TYPE); + public static final String SUBSCRIBE_EVENTS_CONFIG = "subscribeEvents"; + public static final String PLUGIN_ID = "Catalogue-Binding-Plugin"; + public static final String PLUGIN_TYPE = "EventListener"; + + public static final PluginDescriptor DESCRIPTOR = new PluginDescriptor(PLUGIN_ID, PLUGIN_TYPE); static { DESCRIPTOR.setVersion(new Semver("1.0.0")); @@ -59,73 +62,12 @@ public class CatalogueBindingPlugin extends AbstractPlugin implements EventListe return DESCRIPTOR; } - - /** - * Inits the in context. - * - * @return the initialization report - * @throws InitializationException the initialization exception - */ - @Override - @Synchronized - public InitializationReport initInContext() throws InitializationException { - InitializationReport report = new InitializationReport(); - try { - String context = UserUtils.getCurrent().getContext(); - if (getCatalogueBindingMapPerContext() == null) { - log.info("Initializing in " + context); - catalogueBindingMap.put(context, new EventsSubscribed()); - } - report.setStatus(Report.Status.OK); - report.putMessage("Initialized " + DESCRIPTOR.getId() + " in the " + context); - } catch (Exception e) { - InitializationException exc = new InitializationException("Unable to initialize " + DESCRIPTOR.getId(), e); - log.error("initInContext error: {} ", exc); - throw exc; - } - return report; - } - - public static final String SUBSCRIBE_EVENTS_CONFIG = "subscribeEvents"; - public static final String PLUGIN_ID = "Catalogue-Binding-Plugin"; - public static final String PLUGIN_TYPE = "EventListener"; - - /** - * Instantiates a new materialization config. - * - * @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it - * - * Jan 17, 2024 - */ - - /** - * Instantiates a new subscribe events config. - */ - - /** - * Instantiates a new subscribe events config. - */ + @Data - public static class SubscribeEventsConfig { + public class SubscribeEventsConfig { private String event; } - protected Map catalogueBindingMap = null; - - /** - * Gets the catalogue binding map per context. - * - * @return the catalogue binding map per context - */ - protected EventsSubscribed getCatalogueBindingMapPerContext() { - String context = UserUtils.getCurrent().getContext(); - log.debug("Getting {} from cache map for context {}", CatalogueBindingPlugin.PLUGIN_ID, context); - if (catalogueBindingMap == null) - catalogueBindingMap = new LinkedHashMap(); - - return catalogueBindingMap.get(context); - } - /** * Inits the. * @@ -211,6 +153,48 @@ public class CatalogueBindingPlugin extends AbstractPlugin implements EventListe } + /** + * Inits the in context. + * + * @return the initialization report + * @throws InitializationException the initialization exception + */ + @Override + @Synchronized + public InitializationReport initInContext() throws InitializationException { + InitializationReport report = new InitializationReport(); + try { + String context = UserUtils.getCurrent().getContext(); + if (getCatalogueBindingMapPerContext() == null) { + log.info("Initializing in " + context); + catalogueBindingMap.put(context, new EventsSubscribed()); + } + report.setStatus(Report.Status.OK); + report.putMessage("Initialized " + DESCRIPTOR.getId() + " in the " + context); + } catch (Exception e) { + InitializationException exc = new InitializationException("Unable to initialize " + DESCRIPTOR.getId(), e); + log.error("initInContext error: {} ", exc); + throw exc; + } + return report; + } + + protected Map catalogueBindingMap = null; + + /** + * Gets the catalogue binding map per context. + * + * @return the catalogue binding map per context + */ + protected EventsSubscribed getCatalogueBindingMapPerContext() { + String context = UserUtils.getCurrent().getContext(); + log.debug("Getting {} from cache map for context {}", CatalogueBindingPlugin.PLUGIN_ID, context); + if (catalogueBindingMap == null) + catalogueBindingMap = new LinkedHashMap(); + + return catalogueBindingMap.get(context); + } + /** * Read events subscribed from configuration in the UCD. * 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 78a965d..cf27d7f 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 @@ -29,7 +29,7 @@ public class PluginsReflections { log.debug("Evaluating class {}",pluginClass); if(!pluginClass.isInterface() && !Modifier.isAbstract(pluginClass.getModifiers())){ try { - log.debug("\nFound implementation {} ",pluginClass); + log.debug("Found implementation {} ",pluginClass); Plugin plugin = pluginClass.newInstance(); log.debug("Loading {} description : {}", plugin, plugin.getDescriptor());