# IGNITE-639 WIP.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a9ab5712 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a9ab5712 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a9ab5712 Branch: refs/heads/ignite-694 Commit: a9ab57127ba41e44a9dec9e04efd266a616b757b Parents: 58d241c Author: AKuznetsov <akuznet...@gridgain.com> Authored: Tue Mar 31 10:46:30 2015 +0700 Committer: AKuznetsov <akuznet...@gridgain.com> Committed: Tue Mar 31 10:46:30 2015 +0700 ---------------------------------------------------------------------- .../commands/cache/VisorCacheCommand.scala | 35 +++++++++++++------- 1 file changed, 23 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9ab5712/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala ---------------------------------------------------------------------- diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala index f044d53..e11c197 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala @@ -19,20 +19,22 @@ package org.apache.ignite.visor.commands.cache import org.apache.ignite._ import org.apache.ignite.cluster.ClusterNode +import org.apache.ignite.internal.processors.cache.{GridCacheUtils => CU} import org.apache.ignite.internal.util.typedef._ -import org.apache.ignite.internal.visor.cache._ -import org.apache.ignite.internal.visor.node.{VisorGridConfiguration, VisorNodeConfigurationCollectorTask} -import org.apache.ignite.internal.visor.util.VisorTaskUtils._ import org.apache.ignite.lang.IgniteBiTuple +import org.apache.ignite.visor.VisorTag +import org.apache.ignite.visor.commands.cache.VisorCacheCommand._ +import org.apache.ignite.visor.commands.{VisorConsoleCommand, VisorTextTable} +import org.apache.ignite.visor.visor._ + import org.jetbrains.annotations._ import java.lang.{Boolean => JavaBoolean} import java.util.UUID -import org.apache.ignite.visor.VisorTag -import org.apache.ignite.visor.commands.cache.VisorCacheCommand._ -import org.apache.ignite.visor.commands.{VisorConsoleCommand, VisorTextTable} -import org.apache.ignite.visor.visor._ +import org.apache.ignite.internal.visor.cache._ +import org.apache.ignite.internal.visor.node.{VisorGridConfiguration, VisorNodeConfigurationCollectorTask} +import org.apache.ignite.internal.visor.util.VisorTaskUtils._ import scala.collection.JavaConversions._ import scala.language.{implicitConversions, reflectiveCalls} @@ -238,7 +240,7 @@ class VisorCacheCommand { case Right(n) => n } - val cacheName = argValue("c", argLst) match { + var cacheName = argValue("c", argLst) match { case Some(dfltName) if dfltName == DFLT_CACHE_KEY || dfltName == DFLT_CACHE_NAME => argLst = argLst.filter(_._1 != "c") ++ Seq("c" -> null) @@ -250,7 +252,10 @@ class VisorCacheCommand { if (Seq("clear", "swap", "scan", "stop").exists(hasArgFlag(_, argLst))) { if (cacheName.isEmpty) askForCache("Select cache from:", node) match { - case Some(name) => argLst = argLst ++ Seq("c" -> name) + case Some(name) => + argLst = argLst ++ Seq("c" -> name) + + cacheName = Some(name) case None => break() } @@ -260,8 +265,14 @@ class VisorCacheCommand { VisorCacheSwapCommand().swap(argLst, node) else if (hasArgFlag("scan", argLst)) VisorCacheScanCommand().scan(argLst, node) - else if (hasArgFlag("stop", argLst)) - VisorCacheStopCommand().scan(argLst, node) + else if (hasArgFlag("stop", argLst)) { + cacheName.foreach(name => { + if (!CU.isSystemCache(name)) + VisorCacheStopCommand().scan(argLst, node) + else + warn("Stopping of system cache is not allowed: " + name) + }) + } break() } @@ -739,7 +750,7 @@ object VisorCacheCommand { /** Default cache name to show on screen. */ private final val DFLT_CACHE_NAME = escapeName(null) - + /** Default cache key. */ protected val DFLT_CACHE_KEY = DFLT_CACHE_NAME + "-" + UUID.randomUUID().toString