You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/05/05 14:24:15 UTC
[09/50] incubator-ignite git commit: # IGNITE-789 review.
# IGNITE-789 review.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a06f5faf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a06f5faf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a06f5faf
Branch: refs/heads/ignite-834
Commit: a06f5faf6e0fe509a9fed339c32002834aa672a9
Parents: be7bfda
Author: AKuznetsov <ak...@gridgain.com>
Authored: Wed Apr 29 18:54:55 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Wed Apr 29 18:54:55 2015 +0700
----------------------------------------------------------------------
.../visor/cache/VisorCacheStartTask.java | 86 ++++++++++++++++----
1 file changed, 68 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a06f5faf/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStartTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStartTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStartTask.java
index 270c48a..2aa03a2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStartTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStartTask.java
@@ -25,7 +25,6 @@ import org.apache.ignite.internal.util.typedef.*;
import org.apache.ignite.internal.util.typedef.internal.*;
import org.apache.ignite.internal.visor.*;
import org.apache.ignite.internal.visor.util.*;
-import org.apache.ignite.lang.*;
import org.jetbrains.annotations.*;
import java.io.*;
@@ -36,12 +35,12 @@ import java.util.*;
*/
@GridInternal
public class VisorCacheStartTask extends
- VisorMultiNodeTask<IgniteBiTuple<String, String>, Map<UUID, IgniteException>, Void> {
+ VisorMultiNodeTask<VisorCacheStartTask.VisorCacheStartArg, Map<UUID, IgniteException>, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorCacheStartJob job(IgniteBiTuple<String, String> arg) {
+ @Override protected VisorCacheStartJob job(VisorCacheStartArg arg) {
return new VisorCacheStartJob(arg, debug);
}
@@ -57,9 +56,59 @@ public class VisorCacheStartTask extends
}
/**
+ * Cache start arguments.
+ */
+ @SuppressWarnings("PublicInnerClass")
+ public static class VisorCacheStartArg implements Serializable {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** */
+ private final boolean near;
+
+ /** */
+ private final String name;
+
+ /** */
+ private final String cfg;
+
+ /**
+ * @param near {@code true} if near cache should be started.
+ * @param name Name for near cache.
+ * @param cfg Cache XML configuration.
+ */
+ public VisorCacheStartArg(boolean near, String name, String cfg) {
+ this.near = near;
+ this.name = name;
+ this.cfg = cfg;
+ }
+
+ /**
+ * @return {@code true} if near cache should be started.
+ */
+ public boolean near() {
+ return near;
+ }
+
+ /**
+ * @return Name for near cache.
+ */
+ public String name() {
+ return name;
+ }
+
+ /**
+ * @return Cache XML configuration.
+ */
+ public String configuration() {
+ return cfg;
+ }
+ }
+
+ /**
* Job that start cache or near cache with specified configuration.
*/
- private static class VisorCacheStartJob extends VisorJob<IgniteBiTuple<String, String>, Void> {
+ private static class VisorCacheStartJob extends VisorJob<VisorCacheStartArg, Void> {
/** */
private static final long serialVersionUID = 0L;
@@ -69,29 +118,30 @@ public class VisorCacheStartTask extends
* @param arg Contains cache name and XML configurations of cache.
* @param debug Debug flag.
*/
- private VisorCacheStartJob(IgniteBiTuple<String, String> arg, boolean debug) {
+ private VisorCacheStartJob(VisorCacheStartArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Void run(IgniteBiTuple<String, String> arg) {
- String name = arg.get1();
-
- String cfg = arg.get2();
+ @Override protected Void run(VisorCacheStartArg arg) throws IgniteException {
+ String cfg = arg.configuration();
assert !F.isEmpty(cfg);
- if (name == null) {
- CacheConfiguration cacheCfg = Ignition.loadSpringBean(new ByteArrayInputStream(cfg.getBytes()),
- "cacheConfiguration");
+ try (ByteArrayInputStream bais = new ByteArrayInputStream(cfg.getBytes())) {
+ if (arg.near) {
+ NearCacheConfiguration nearCfg = Ignition.loadSpringBean(bais, "nearCacheConfiguration");
- ignite.createCache(cacheCfg);
- }
- else {
- NearCacheConfiguration nearCfg = Ignition.loadSpringBean(
- new ByteArrayInputStream(arg.get2().getBytes()), "nearCacheConfiguration");
+ ignite.createNearCache(VisorTaskUtils.unescapeName(arg.name()), nearCfg);
+ }
+ else {
+ CacheConfiguration cacheCfg = Ignition.loadSpringBean(bais, "cacheConfiguration");
- ignite.createNearCache(VisorTaskUtils.unescapeName(name), nearCfg);
+ ignite.createCache(cacheCfg);
+ }
+ }
+ catch (IOException e) {
+ throw new IgniteException(e);
}
return null;