# IGNITE-298 Escape cache and grid names.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/b81c6a25 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/b81c6a25 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/b81c6a25 Branch: refs/heads/ignite-349 Commit: b81c6a25ba2ed743c251a34eb044123667d4be44 Parents: 7488edd Author: AKuznetsov <akuznet...@gridgain.com> Authored: Tue Mar 3 15:31:35 2015 +0700 Committer: AKuznetsov <akuznet...@gridgain.com> Committed: Tue Mar 3 15:31:35 2015 +0700 ---------------------------------------------------------------------- .../commands/cache/VisorCacheCommand.scala | 17 +++++++----- .../commands/cache/VisorCacheScanCommand.scala | 7 +++-- .../config/VisorConfigurationCommand.scala | 5 ++-- .../visor/commands/node/VisorNodeCommand.scala | 6 ++--- .../scala/org/apache/ignite/visor/visor.scala | 27 +++++++++++--------- 5 files changed, 35 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b81c6a25/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 e2ca05b..2db43dc 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 @@ -22,6 +22,7 @@ import org.apache.ignite.cluster.ClusterNode 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.jetbrains.annotations._ @@ -243,10 +244,11 @@ class VisorCacheCommand { } val cacheName = argValue("c", argLst) match { - case Some("<default>") | Some(CACHE_DFLT) => + case Some(dfltName) if dfltName == DFLT_CACHE_KEY || dfltName == DFLT_CACHE_NAME => argLst = argLst.filter(_._1 != "c") ++ Seq("c" -> null) Some(null) + case cn => cn } @@ -422,9 +424,9 @@ class VisorCacheCommand { */ private def mkCacheName(@Nullable s: String): String = { if (s == null) { - val v = mfind(CACHE_DFLT) + val v = mfind(DFLT_CACHE_KEY) - "<default>" + (if (v.isDefined) "(@" + v.get._1 + ')' else "") + DFLT_CACHE_NAME + (if (v.isDefined) "(@" + v.get._1 + ')' else "") } else { val v = mfind(s) @@ -438,7 +440,7 @@ class VisorCacheCommand { * * @param s Cache host. */ - private def registerCacheName(@Nullable s: String) = setVarIfAbsent(if (s != null) s else CACHE_DFLT, "c") + private def registerCacheName(@Nullable s: String) = setVarIfAbsent(if (s != null) s else DFLT_CACHE_KEY, "c") /** * ===Command=== @@ -744,8 +746,11 @@ object VisorCacheCommand { ref = VisorConsoleCommand(cmd.cache, cmd.cache) ) + /** Default cache name to show on screen. */ + private final val DFLT_CACHE_NAME = escapeName(null) + /** Default cache key. */ - protected val CACHE_DFLT = "<default>-" + UUID.randomUUID().toString + protected val DFLT_CACHE_KEY = DFLT_CACHE_NAME + "-" + UUID.randomUUID().toString /** Singleton command */ private val cmd = new VisorCacheCommand @@ -852,7 +857,7 @@ object VisorCacheCommand { cacheT += ("Concurrent Asynchronous Operations Number", cfg.maxConcurrentAsyncOperations()) cacheT += ("Memory Mode", cfg.memoryMode()) cacheT += ("Keep Values Bytes", cfg.valueBytes()) - cacheT += ("Off-Heap Size", cfg.offsetHeapMaxMemory()) + cacheT += ("Off-Heap Size", if (cfg.offsetHeapMaxMemory() >= 0) cfg.offsetHeapMaxMemory() else NA) cacheT += ("Loader Factory Class Name", safe(cfg.loaderFactory())) cacheT += ("Writer Factory Class Name", safe(cfg.writerFactory())) http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b81c6a25/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala ---------------------------------------------------------------------- diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala index a3d6967..4fb1896 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala @@ -21,6 +21,7 @@ import org.apache.ignite.internal.visor.query.VisorQueryTask.VisorQueryArg import org.apache.ignite.internal.visor.query.{VisorQueryNextPageTask, VisorQueryResult, VisorQueryTask} import org.apache.ignite.cluster.ClusterNode +import org.apache.ignite.internal.visor.util.VisorTaskUtils._ import org.apache.ignite.lang.IgniteBiTuple import org.apache.ignite.visor.commands._ @@ -177,18 +178,16 @@ class VisorCacheScanCommand { return } - def escapeCacheName(name: String) = if (name == null) "<default>" else name - var res: VisorQueryResult = fullRes if (res.rows.isEmpty) { - println("Cache: " + escapeCacheName(cacheName) + " is empty") + println("Cache: " + escapeName(cacheName) + " is empty") return } def render() { - println("Entries in cache: " + escapeCacheName(cacheName)) + println("Entries in cache: " + escapeName(cacheName)) val t = VisorTextTable() http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b81c6a25/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala ---------------------------------------------------------------------- diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala index a2ab512..788ef19 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala @@ -21,6 +21,7 @@ import org.apache.ignite._ import org.apache.ignite.cluster.ClusterNode import org.apache.ignite.internal.util.{IgniteUtils => U} import org.apache.ignite.internal.visor.node.VisorNodeConfigurationCollectorTask +import org.apache.ignite.internal.visor.util.VisorTaskUtils._ import org.apache.ignite.lang.IgniteBiTuple import java.lang.System._ @@ -199,7 +200,7 @@ class VisorConfigurationCommand { val basic = cfg.basic() - cmnT += ("Grid name", safe(basic.gridName(), "<default>")) + cmnT += ("Grid name", escapeName(basic.gridName())) cmnT += ("Ignite home", safe(basic.ggHome())) cmnT += ("Localhost", safe(basic.localHost())) cmnT += ("Node ID", safe(basic.nodeId())) @@ -407,7 +408,7 @@ class VisorConfigurationCommand { println("\nNo system properties defined.") cfg.caches().foreach(cacheCfg => { - VisorCacheCommand.showCacheConfiguration("\nCache '" + safe(cacheCfg.name()) + "':", cacheCfg) + VisorCacheCommand.showCacheConfiguration("\nCache '" + escapeName(cacheCfg.name()) + "':", cacheCfg) }) } } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b81c6a25/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/node/VisorNodeCommand.scala ---------------------------------------------------------------------- diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/node/VisorNodeCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/node/VisorNodeCommand.scala index 79625e2..eeb2a6c 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/node/VisorNodeCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/node/VisorNodeCommand.scala @@ -22,7 +22,7 @@ import org.apache.ignite.internal.IgniteNodeAttributes._ import org.apache.ignite.internal.util.lang.{GridFunc => F} import org.apache.ignite.internal.util.typedef.X import org.apache.ignite.internal.util.{IgniteUtils => U} - +import org.apache.ignite.internal.visor.util.VisorTaskUtils._ import org.jetbrains.annotations._ import java.util.UUID @@ -190,7 +190,7 @@ class VisorNodeCommand { t += ("JRE information", node.attribute(ATTR_JIT_NAME)) t += ("Non-loopback IPs", node.attribute(ATTR_IPS)) t += ("Enabled MACs", node.attribute(ATTR_MACS)) - t += ("Grid name", safe(gridName, "<default>")) + t += ("Grid name", escapeName(gridName)) t += ("JVM start time", formatDateTime(m.getStartTime)) t += ("Node start time", formatDateTime(m.getNodeStartTime)) t += ("Up time", X.timeSpan2HMSM(m.getUpTime)) @@ -245,7 +245,7 @@ class VisorNodeCommand { t += ("Language runtime", node.attribute(ATTR_LANG_RUNTIME)) t += ("Ignite version", verStr) t += ("JRE information", node.attribute(ATTR_JIT_NAME)) - t += ("Grid name", safe(gridName, "<default>")) + t += ("Grid name", escapeName(gridName)) t += ("JVM start time", formatDateTime(m.getStartTime)) t += ("Node start time", formatDateTime(m.getNodeStartTime)) t += ("Up time", X.timeSpan2HMSM(m.getUpTime)) http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b81c6a25/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala ---------------------------------------------------------------------- diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala index b9b5dbc..964de1d 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala @@ -17,36 +17,39 @@ package org.apache.ignite.visor -import java.io._ -import java.net._ -import java.text._ -import java.util.concurrent._ -import java.util.{HashSet => JHashSet, _} - import org.apache.ignite.IgniteSystemProperties._ +import org.apache.ignite._ import org.apache.ignite.cluster.{ClusterGroup, ClusterMetrics, ClusterNode} import org.apache.ignite.configuration.IgniteConfiguration import org.apache.ignite.events.EventType._ import org.apache.ignite.events.{DiscoveryEvent, Event} import org.apache.ignite.internal.IgniteComponentType._ import org.apache.ignite.internal.IgniteNodeAttributes._ +import org.apache.ignite.internal.IgniteVersionUtils._ import org.apache.ignite.internal.cluster.ClusterGroupEmptyCheckedException import org.apache.ignite.internal.processors.spring.IgniteSpringProcessor -import org.apache.ignite.internal.{IgniteVersionUtils, IgniteEx} -import IgniteVersionUtils._ import org.apache.ignite.internal.util.lang.{GridFunc => F} import org.apache.ignite.internal.util.typedef._ -import org.apache.ignite.internal.util.{IgniteUtils => U, GridConfigurationFinder} +import org.apache.ignite.internal.util.{GridConfigurationFinder, IgniteUtils => U} import org.apache.ignite.internal.visor.VisorTaskArgument import org.apache.ignite.internal.visor.node.VisorNodeEventsCollectorTask import org.apache.ignite.internal.visor.node.VisorNodeEventsCollectorTask.VisorNodeEventsCollectorTaskArg +import org.apache.ignite.internal.visor.util.VisorTaskUtils._ +import org.apache.ignite.internal.IgniteEx import org.apache.ignite.lang.{IgniteNotPeerDeployable, IgnitePredicate} import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi import org.apache.ignite.thread.IgniteThreadPoolExecutor -import org.apache.ignite.visor.commands.{VisorConsoleCommand, VisorTextTable} -import org.apache.ignite._ + import org.jetbrains.annotations.Nullable +import java.io._ +import java.net._ +import java.text._ +import java.util.concurrent._ +import java.util.{HashSet => JHashSet, _} + +import org.apache.ignite.visor.commands.{VisorConsoleCommand, VisorTextTable} + import scala.collection.JavaConversions._ import scala.collection.immutable import scala.io.StdIn @@ -1317,7 +1320,7 @@ object visor extends VisorTag { else { val n = ignite.name - if (n == null) "<default>" else n + escapeName(n) } ) t += ("Config path", safe(cfgPath))