diff --git a/plugin-api/pom.xml b/plugin-api/pom.xml index 516198e..5324385 100644 --- a/plugin-api/pom.xml +++ b/plugin-api/pom.xml @@ -15,4 +15,13 @@ Firefly Framework - Plugin API Core API and interfaces for the Firefly plugin system + + + + + org.fireflyframework + fireflyframework-kernel + ${project.version} + + diff --git a/plugin-api/src/main/java/org/fireflyframework/plugin/api/PluginException.java b/plugin-api/src/main/java/org/fireflyframework/plugin/api/PluginException.java index 3ac468c..7c043bb 100644 --- a/plugin-api/src/main/java/org/fireflyframework/plugin/api/PluginException.java +++ b/plugin-api/src/main/java/org/fireflyframework/plugin/api/PluginException.java @@ -16,10 +16,12 @@ package org.fireflyframework.plugin.api; +import org.fireflyframework.kernel.exception.FireflyException; + /** * Base exception for plugin-related errors. */ -public class PluginException extends Exception { +public class PluginException extends FireflyException { public PluginException(String message) { super(message); diff --git a/plugin-core/src/main/java/org/fireflyframework/plugin/core/DefaultExtensionRegistry.java b/plugin-core/src/main/java/org/fireflyframework/plugin/core/DefaultExtensionRegistry.java index a196ea0..37143ff 100644 --- a/plugin-core/src/main/java/org/fireflyframework/plugin/core/DefaultExtensionRegistry.java +++ b/plugin-core/src/main/java/org/fireflyframework/plugin/core/DefaultExtensionRegistry.java @@ -30,7 +30,7 @@ */ public class DefaultExtensionRegistry implements ExtensionRegistry { - private static final Logger logger = LoggerFactory.getLogger(DefaultExtensionRegistry.class); + private static final Logger log = LoggerFactory.getLogger(DefaultExtensionRegistry.class); private final Map> extensionPoints = new ConcurrentHashMap<>(); private final Map>> extensions = new ConcurrentHashMap<>(); @@ -40,7 +40,7 @@ public void registerExtensionPoint(String extensionPointId, Class extensi Objects.requireNonNull(extensionPointId, "Extension point ID cannot be null"); Objects.requireNonNull(extensionPointClass, "Extension point class cannot be null"); - logger.info("Registering extension point: {} -> {}", extensionPointId, extensionPointClass.getName()); + log.info("Registering extension point: {} -> {}", extensionPointId, extensionPointClass.getName()); extensionPoints.put(extensionPointId, extensionPointClass); extensions.putIfAbsent(extensionPointId, new CopyOnWriteArrayList<>()); } @@ -62,7 +62,7 @@ public void registerExtension(String extensionPointId, T extension, int prio ); } - logger.info("Registering extension {} for extension point {} with priority {}", + log.info("Registering extension {} for extension point {} with priority {}", extension.getClass().getSimpleName(), extensionPointId, priority); List> extensionList = extensions.computeIfAbsent( @@ -82,7 +82,7 @@ public void unregisterExtension(String extensionPointId, T extension) { Objects.requireNonNull(extensionPointId, "Extension point ID cannot be null"); Objects.requireNonNull(extension, "Extension cannot be null"); - logger.info("Unregistering extension {} from extension point {}", + log.info("Unregistering extension {} from extension point {}", extension.getClass().getSimpleName(), extensionPointId); List> extensionList = extensions.get(extensionPointId); diff --git a/plugin-core/src/main/java/org/fireflyframework/plugin/core/DefaultPluginManager.java b/plugin-core/src/main/java/org/fireflyframework/plugin/core/DefaultPluginManager.java index b78dd12..da4e4d8 100644 --- a/plugin-core/src/main/java/org/fireflyframework/plugin/core/DefaultPluginManager.java +++ b/plugin-core/src/main/java/org/fireflyframework/plugin/core/DefaultPluginManager.java @@ -35,7 +35,7 @@ */ public class DefaultPluginManager implements PluginManager { - private static final Logger logger = LoggerFactory.getLogger(DefaultPluginManager.class); + private static final Logger log = LoggerFactory.getLogger(DefaultPluginManager.class); private final Map plugins = new ConcurrentHashMap<>(); private final Map descriptors = new ConcurrentHashMap<>(); @@ -57,11 +57,11 @@ public DefaultPluginManager(ExtensionRegistry extensionRegistry) { @Override public synchronized void initialize() throws PluginException { if (initialized) { - logger.warn("Plugin manager already initialized"); + log.warn("Plugin manager already initialized"); return; } - logger.info("Initializing plugin manager"); + log.info("Initializing plugin manager"); initialized = true; } @@ -83,7 +83,7 @@ public PluginDescriptor loadPlugin(Class pluginClass) throws P throw new PluginException("Plugin already loaded: " + pluginId); } - logger.info("Loading plugin: {} ({})", metadata.name(), pluginId); + log.info("Loading plugin: {} ({})", metadata.name(), pluginId); // Create descriptor PluginDescriptor descriptor = PluginDescriptor.builder() @@ -100,7 +100,7 @@ public PluginDescriptor loadPlugin(Class pluginClass) throws P plugin.initialize(); descriptor = descriptor.withState(PluginState.INITIALIZED); descriptors.put(pluginId, descriptor); - logger.info("Plugin initialized: {}", pluginId); + log.info("Plugin initialized: {}", pluginId); } catch (Exception e) { descriptor = descriptor.withState(PluginState.FAILED); descriptors.put(pluginId, descriptor); @@ -130,7 +130,7 @@ public void startPlugin(String pluginId) throws PluginException { PluginDescriptor descriptor = descriptors.get(pluginId); if (descriptor.state() == PluginState.STARTED) { - logger.warn("Plugin already started: {}", pluginId); + log.warn("Plugin already started: {}", pluginId); return; } @@ -150,13 +150,13 @@ public void startPlugin(String pluginId) throws PluginException { throw new PluginException("Failed to resolve dependencies for plugin: " + pluginId, e); } - logger.info("Starting plugin: {}", pluginId); + log.info("Starting plugin: {}", pluginId); try { plugin.start(); descriptor = descriptor.withState(PluginState.STARTED); descriptors.put(pluginId, descriptor); - logger.info("Plugin started: {}", pluginId); + log.info("Plugin started: {}", pluginId); } catch (Exception e) { descriptor = descriptor.withState(PluginState.FAILED); descriptors.put(pluginId, descriptor); @@ -175,17 +175,17 @@ public void stopPlugin(String pluginId) throws PluginException { PluginDescriptor descriptor = descriptors.get(pluginId); if (descriptor.state() != PluginState.STARTED) { - logger.warn("Plugin not started: {}", pluginId); + log.warn("Plugin not started: {}", pluginId); return; } - logger.info("Stopping plugin: {}", pluginId); + log.info("Stopping plugin: {}", pluginId); try { plugin.stop(); descriptor = descriptor.withState(PluginState.STOPPED); descriptors.put(pluginId, descriptor); - logger.info("Plugin stopped: {}", pluginId); + log.info("Plugin stopped: {}", pluginId); } catch (Exception e) { descriptor = descriptor.withState(PluginState.FAILED); descriptors.put(pluginId, descriptor); @@ -209,7 +209,7 @@ public void unloadPlugin(String pluginId) throws PluginException { stopPlugin(pluginId); } - logger.info("Unloading plugin: {}", pluginId); + log.info("Unloading plugin: {}", pluginId); try { // Unregister extensions @@ -222,7 +222,7 @@ public void unloadPlugin(String pluginId) throws PluginException { plugins.remove(pluginId); descriptors.remove(pluginId); - logger.info("Plugin unloaded: {}", pluginId); + log.info("Plugin unloaded: {}", pluginId); } catch (Exception e) { throw new PluginException("Failed to unload plugin: " + pluginId, e); } @@ -254,7 +254,7 @@ public synchronized void shutdown() throws PluginException { return; } - logger.info("Shutting down plugin manager"); + log.info("Shutting down plugin manager"); // Stop and unload all plugins List pluginIds = new ArrayList<>(plugins.keySet()); @@ -262,7 +262,7 @@ public synchronized void shutdown() throws PluginException { try { unloadPlugin(pluginId); } catch (Exception e) { - logger.error("Error unloading plugin during shutdown: {}", pluginId, e); + log.error("Error unloading plugin during shutdown: {}", pluginId, e); } } @@ -285,10 +285,10 @@ private void registerPluginExtensions(Plugin plugin, Class pluginClass) { extension, annotation.priority() ); - logger.debug("Registered extension {} for plugin {}", + log.debug("Registered extension {} for plugin {}", innerClass.getSimpleName(), plugin.getMetadata().id()); } catch (Exception e) { - logger.error("Failed to register extension: {}", innerClass.getName(), e); + log.error("Failed to register extension: {}", innerClass.getName(), e); } } } @@ -308,10 +308,10 @@ private void unregisterPluginExtensions(Plugin plugin, Class pluginClass) { annotation.extensionPointId(), extension ); - logger.debug("Unregistered extension {} for plugin {}", + log.debug("Unregistered extension {} for plugin {}", innerClass.getSimpleName(), plugin.getMetadata().id()); } catch (Exception e) { - logger.error("Failed to unregister extension: {}", innerClass.getName(), e); + log.error("Failed to unregister extension: {}", innerClass.getName(), e); } } }