Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-sprint-3 887c1a870 -> 86c3bc551


# ignite-707


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/17c94b6b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/17c94b6b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/17c94b6b

Branch: refs/heads/ignite-sprint-3
Commit: 17c94b6b730989b6d4a5cbcc5893cced73518e47
Parents: 3e6da9c
Author: sboikov <sboi...@gridgain.com>
Authored: Thu Apr 9 12:02:07 2015 +0300
Committer: sboikov <sboi...@gridgain.com>
Committed: Thu Apr 9 12:02:07 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/GridPluginContext.java      | 15 ++----
 .../apache/ignite/internal/IgniteKernal.java    |  5 --
 .../plugin/IgnitePluginProcessor.java           | 52 +++++---------------
 .../ignite/plugin/CachePluginConfiguration.java |  2 +-
 .../org/apache/ignite/plugin/IgnitePlugin.java  |  3 --
 .../ignite/plugin/PluginConfiguration.java      | 10 +---
 .../org/apache/ignite/plugin/PluginContext.java |  7 +--
 .../apache/ignite/plugin/PluginProvider.java    |  4 +-
 8 files changed, 20 insertions(+), 78 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/17c94b6b/modules/core/src/main/java/org/apache/ignite/internal/GridPluginContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridPluginContext.java 
b/modules/core/src/main/java/org/apache/ignite/internal/GridPluginContext.java
index 31a4246..af03670 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridPluginContext.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridPluginContext.java
@@ -30,30 +30,21 @@ import java.util.*;
  */
 public class GridPluginContext implements PluginContext {
     /** */
-    private final PluginConfiguration cfg;
-
-    /** */
     private final GridKernalContext ctx;
 
     /** */
-    private IgniteConfiguration igniteCfg;
+    private final IgniteConfiguration igniteCfg;
 
     /**
      * @param ctx Kernal context.
-     * @param cfg Plugin configuration.
+     * @param igniteCfg Ignite configuration.
      */
-    public GridPluginContext(GridKernalContext ctx, PluginConfiguration cfg, 
IgniteConfiguration igniteCfg) {
-        this.cfg = cfg;
+    public GridPluginContext(GridKernalContext ctx, IgniteConfiguration 
igniteCfg) {
         this.ctx = ctx;
         this.igniteCfg = igniteCfg;
     }
 
     /** {@inheritDoc} */
-    @Override public <C extends PluginConfiguration> C configuration() {
-        return (C)cfg;
-    }
-
-    /** {@inheritDoc} */
     @Override public IgniteConfiguration igniteConfiguration() {
         return igniteCfg;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/17c94b6b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 0db2ad6..8e5779e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -1021,11 +1021,6 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
         A.ensure(cfg.getNetworkTimeout() > 0, "cfg.getNetworkTimeout() > 0");
         A.ensure(cfg.getNetworkSendRetryDelay() > 0, 
"cfg.getNetworkSendRetryDelay() > 0");
         A.ensure(cfg.getNetworkSendRetryCount() > 0, 
"cfg.getNetworkSendRetryCount() > 0");
-
-        if (!F.isEmpty(cfg.getPluginConfigurations())) {
-            for (PluginConfiguration pluginCfg : cfg.getPluginConfigurations())
-                A.notNull(pluginCfg.providerClass(), 
"PluginConfiguration.providerClass()");
-        }
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/17c94b6b/modules/core/src/main/java/org/apache/ignite/internal/processors/plugin/IgnitePluginProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/plugin/IgnitePluginProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/plugin/IgnitePluginProcessor.java
index bf5d61f..8d71ad7 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/plugin/IgnitePluginProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/plugin/IgnitePluginProcessor.java
@@ -53,53 +53,25 @@ public class IgnitePluginProcessor extends 
GridProcessorAdapter {
 
         ExtensionRegistryImpl registry = new ExtensionRegistryImpl();
 
-        if (cfg.getPluginConfigurations() != null) {
-            for (PluginConfiguration pluginCfg : 
cfg.getPluginConfigurations()) {
-                GridPluginContext pluginCtx = new GridPluginContext(ctx, 
pluginCfg, cfg);
+        ServiceLoader<PluginProvider> ldr = 
ServiceLoader.load(PluginProvider.class);
 
-                PluginProvider provider;
+        for (PluginProvider provider : ldr) {
+            GridPluginContext pluginCtx = new GridPluginContext(ctx, cfg);
 
-                try {
-                    if (pluginCfg.providerClass() == null)
-                        throw new IgniteException("Provider class is null.");
+            if (F.isEmpty(provider.name()))
+                throw new IgniteException("Plugin name can not be empty.");
 
-                    try {
-                        Constructor<? extends PluginProvider> ctr =
-                            
pluginCfg.providerClass().getConstructor(PluginContext.class);
+            if (plugins.containsKey(provider.name()))
+                throw new IgniteException("Duplicated plugin name: " + 
provider.name());
 
-                        provider = ctr.newInstance(pluginCtx);
-                    }
-                    catch (NoSuchMethodException ignore) {
-                        try {
-                            Constructor<? extends PluginProvider> ctr =
-                                
pluginCfg.providerClass().getConstructor(pluginCfg.getClass());
+            plugins.put(provider.name(), provider);
 
-                            provider = ctr.newInstance(pluginCfg);
-                        }
-                        catch (NoSuchMethodException ignored) {
-                            provider = pluginCfg.providerClass().newInstance();
-                        }
-                    }
-                }
-                catch (InstantiationException | IllegalAccessException | 
InvocationTargetException e) {
-                    throw new IgniteException("Failed to create plugin 
provider instance.", e);
-                }
+            pluginCtxMap.put(provider, pluginCtx);
 
-                if (F.isEmpty(provider.name()))
-                    throw new IgniteException("Plugin name can not be empty.");
+            provider.initExtensions(pluginCtx, registry);
 
-                if (provider.plugin() == null)
-                    throw new IgniteException("Plugin is null.");
-
-                if (plugins.containsKey(provider.name()))
-                    throw new IgniteException("Duplicated plugin name: " + 
provider.name());
-
-                plugins.put(provider.name(), provider);
-
-                pluginCtxMap.put(provider, pluginCtx);
-
-                provider.initExtensions(pluginCtx, registry);
-            }
+            if (provider.plugin() == null)
+                throw new IgniteException("Plugin is null.");
         }
 
         extensions = registry.createExtensionMap();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/17c94b6b/modules/core/src/main/java/org/apache/ignite/plugin/CachePluginConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/CachePluginConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/plugin/CachePluginConfiguration.java
index 1df48b3..2bb0996 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/plugin/CachePluginConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/plugin/CachePluginConfiguration.java
@@ -30,7 +30,7 @@ public interface CachePluginConfiguration<K, V> extends 
Serializable {
      * Creates cache plugin provider.
      *
      * @return Cache plugin provider class.
-     * @param ctx
+     * @param ctx Plugin context.
      */
     public CachePluginProvider createProvider(CachePluginContext ctx);
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/17c94b6b/modules/core/src/main/java/org/apache/ignite/plugin/IgnitePlugin.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/IgnitePlugin.java 
b/modules/core/src/main/java/org/apache/ignite/plugin/IgnitePlugin.java
index 6a928af..7a8a99a 100644
--- a/modules/core/src/main/java/org/apache/ignite/plugin/IgnitePlugin.java
+++ b/modules/core/src/main/java/org/apache/ignite/plugin/IgnitePlugin.java
@@ -19,9 +19,6 @@ package org.apache.ignite.plugin;
 
 /**
  * Marker interface for all Ignite plugins.
- *
- * @author @java.author
- * @version @java.version
  */
 public interface IgnitePlugin {
     // No-op.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/17c94b6b/modules/core/src/main/java/org/apache/ignite/plugin/PluginConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/PluginConfiguration.java 
b/modules/core/src/main/java/org/apache/ignite/plugin/PluginConfiguration.java
index f30e897..1a4e2dc 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/plugin/PluginConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/plugin/PluginConfiguration.java
@@ -18,14 +18,8 @@
 package org.apache.ignite.plugin;
 
 /**
- * TODO: Add class description.
- *
- * @author @java.author
- * @version @java.version
+ * Plugin configuration.
  */
 public interface PluginConfiguration {
-    /**
-     * @return Plugin provider class.
-     */
-    public Class<? extends PluginProvider> providerClass();
+    // No-op.
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/17c94b6b/modules/core/src/main/java/org/apache/ignite/plugin/PluginContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/PluginContext.java 
b/modules/core/src/main/java/org/apache/ignite/plugin/PluginContext.java
index f2a972c..6a4f20b 100644
--- a/modules/core/src/main/java/org/apache/ignite/plugin/PluginContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/plugin/PluginContext.java
@@ -26,15 +26,10 @@ import org.apache.ignite.spi.discovery.DiscoverySpi;
 import java.util.*;
 
 /**
- * TODO: Add class description.
+ * Plugin context.
  */
 public interface PluginContext {
     /**
-     * @return Plugin configuration.
-     */
-    public <C extends PluginConfiguration> C configuration();
-
-    /**
      * @return Ignite configuration.
      */
     public IgniteConfiguration igniteConfiguration();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/17c94b6b/modules/core/src/main/java/org/apache/ignite/plugin/PluginProvider.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/PluginProvider.java 
b/modules/core/src/main/java/org/apache/ignite/plugin/PluginProvider.java
index 1d965f5..d2aedff 100644
--- a/modules/core/src/main/java/org/apache/ignite/plugin/PluginProvider.java
+++ b/modules/core/src/main/java/org/apache/ignite/plugin/PluginProvider.java
@@ -25,9 +25,6 @@ import java.util.*;
 
 /**
  * Pluggable ignite component.
- *
- * @author @java.author
- * @version @java.version
  */
 public interface PluginProvider<C extends PluginConfiguration> {
     /**
@@ -51,6 +48,7 @@ public interface PluginProvider<C extends 
PluginConfiguration> {
     public <T extends IgnitePlugin> T plugin();
 
     /**
+     * @param ctx Plugin context.
      * @param cls Ignite component class.
      * @return Ignite component or {@code null} if component is not supported.
      */

Reply via email to