diff --git a/src/net/azib/ipscan/config/ComponentRegistry.java b/src/net/azib/ipscan/config/ComponentRegistry.java
index 748c1919..05e8a70b 100755
--- a/src/net/azib/ipscan/config/ComponentRegistry.java
+++ b/src/net/azib/ipscan/config/ComponentRegistry.java
@@ -5,11 +5,11 @@
*/
package net.azib.ipscan.config;
+import net.azib.ipscan.core.PluginLoader;
import net.azib.ipscan.core.Scanner;
import net.azib.ipscan.core.ScannerDispatcherThreadFactory;
import net.azib.ipscan.core.ScanningResultList;
import net.azib.ipscan.core.net.PingerRegistry;
-import net.azib.ipscan.core.plugins.PluginLoader;
import net.azib.ipscan.exporters.*;
import net.azib.ipscan.fetchers.*;
import net.azib.ipscan.gui.*;
diff --git a/src/net/azib/ipscan/core/plugins/Pluggable.java b/src/net/azib/ipscan/core/Plugin.java
similarity index 81%
rename from src/net/azib/ipscan/core/plugins/Pluggable.java
rename to src/net/azib/ipscan/core/Plugin.java
index 4dfd4056..3c6ffd80 100644
--- a/src/net/azib/ipscan/core/plugins/Pluggable.java
+++ b/src/net/azib/ipscan/core/Plugin.java
@@ -4,15 +4,14 @@
* Licensed under GPLv2.
*/
-package net.azib.ipscan.core.plugins;
+package net.azib.ipscan.core;
/**
- * Pluggable
+ * Base interface for all plugins.
*
* @author Anton Keks
*/
-public interface Pluggable {
-
+public interface Plugin {
/**
* @return unique ID of the pluggable, representing it
*/
diff --git a/src/net/azib/ipscan/core/plugins/PluginLoader.java b/src/net/azib/ipscan/core/PluginLoader.java
similarity index 92%
rename from src/net/azib/ipscan/core/plugins/PluginLoader.java
rename to src/net/azib/ipscan/core/PluginLoader.java
index b2a2c6cd..0c45e0e7 100644
--- a/src/net/azib/ipscan/core/plugins/PluginLoader.java
+++ b/src/net/azib/ipscan/core/PluginLoader.java
@@ -1,4 +1,4 @@
-package net.azib.ipscan.core.plugins;
+package net.azib.ipscan.core;
import net.azib.ipscan.config.LoggerFactory;
import org.picocontainer.MutablePicoContainer;
@@ -22,7 +22,7 @@ import java.util.logging.Logger;
* These jar files must have their classes listed in META-INF/MANIFEST.MF as IPScan-Plugins.
*
*
- * In either way, all plugins must implement {@link Pluggable} and one or more of the concrete interfaces.
+ * In either way, all plugins must implement {@link net.azib.ipscan.core.Plugin} and one or more of the concrete interfaces.
*/
public class PluginLoader {
static final Logger LOG = LoggerFactory.getLogger();
@@ -44,10 +44,10 @@ public class PluginLoader {
for (String className : classes) {
try {
Class clazz = Class.forName(className, true, classLoader);
- if (Pluggable.class.isAssignableFrom(clazz))
+ if (Plugin.class.isAssignableFrom(clazz))
container.registerComponentImplementation(clazz);
else
- LOG.warning("Plugin class " + clazz.getName() + " is not assignable to " + Pluggable.class.getName());
+ LOG.warning("Plugin class " + clazz.getName() + " is not assignable to " + Plugin.class.getName());
}
catch (ClassNotFoundException e) {
LOG.warning("Unable to load plugin: " + className);
diff --git a/src/net/azib/ipscan/exporters/Exporter.java b/src/net/azib/ipscan/exporters/Exporter.java
index c6f427d4..b2d858f2 100755
--- a/src/net/azib/ipscan/exporters/Exporter.java
+++ b/src/net/azib/ipscan/exporters/Exporter.java
@@ -5,12 +5,12 @@
*/
package net.azib.ipscan.exporters;
+import net.azib.ipscan.core.Plugin;
+
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
-import net.azib.ipscan.core.plugins.Pluggable;
-
/**
* An Exporter is a class, which is able to export scanning results into a
* specific output format.
@@ -25,7 +25,7 @@ import net.azib.ipscan.core.plugins.Pluggable;
*
* @author Anton Keks
*/
-public interface Exporter extends Cloneable, Pluggable {
+public interface Exporter extends Cloneable, Plugin {
/**
* @return the filename extension of the file type this Exporter produces (like txt, html, etc)
diff --git a/src/net/azib/ipscan/feeders/Feeder.java b/src/net/azib/ipscan/feeders/Feeder.java
index 3f3fac55..adcfc66e 100755
--- a/src/net/azib/ipscan/feeders/Feeder.java
+++ b/src/net/azib/ipscan/feeders/Feeder.java
@@ -5,8 +5,8 @@
*/
package net.azib.ipscan.feeders;
+import net.azib.ipscan.core.Plugin;
import net.azib.ipscan.core.ScanningSubject;
-import net.azib.ipscan.core.plugins.Pluggable;
/**
* Interface of a Feeder, which is used to feed scanner with IP addresses.
@@ -22,7 +22,7 @@ import net.azib.ipscan.core.plugins.Pluggable;
*
* @author Anton Keks
*/
-public interface Feeder extends Pluggable {
+public interface Feeder extends Plugin {
/**
* @return true in case there are more IPs left for processing
diff --git a/src/net/azib/ipscan/fetchers/Fetcher.java b/src/net/azib/ipscan/fetchers/Fetcher.java
index faa2e737..646dae8b 100755
--- a/src/net/azib/ipscan/fetchers/Fetcher.java
+++ b/src/net/azib/ipscan/fetchers/Fetcher.java
@@ -4,8 +4,8 @@
*/
package net.azib.ipscan.fetchers;
+import net.azib.ipscan.core.Plugin;
import net.azib.ipscan.core.ScanningSubject;
-import net.azib.ipscan.core.plugins.Pluggable;
import net.azib.ipscan.core.values.NotAvailable;
import net.azib.ipscan.core.values.NotScanned;
@@ -24,7 +24,7 @@ import net.azib.ipscan.core.values.NotScanned;
*
* @author Anton Keks
*/
-public interface Fetcher extends Cloneable, Pluggable {
+public interface Fetcher extends Cloneable, Plugin {
/**
* @return full name to be displayed in the result table column.
diff --git a/test/net/azib/ipscan/core/plugins/PluginLoaderTest.java b/test/net/azib/ipscan/core/plugins/PluginLoaderTest.java
index 5c6bee81..35d5034e 100644
--- a/test/net/azib/ipscan/core/plugins/PluginLoaderTest.java
+++ b/test/net/azib/ipscan/core/plugins/PluginLoaderTest.java
@@ -1,11 +1,13 @@
package net.azib.ipscan.core.plugins;
+import net.azib.ipscan.core.PluginLoader;
import net.azib.ipscan.core.ScanningSubject;
import net.azib.ipscan.fetchers.AbstractFetcher;
import org.junit.Test;
import org.picocontainer.MutablePicoContainer;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
public class PluginLoaderTest {
@Test