Print no result line if empty.result.indicator is empty string. This seems like a better use of the empty string setting than to actually just print an empty string line.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/6599159b Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/6599159b Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/6599159b Branch: refs/heads/TINKERPOP-1404 Commit: 6599159bb861fda3464f2004fc2512bf85ca40c9 Parents: 687ae74 Author: Stephen Mallette <sp...@genoprime.com> Authored: Thu Sep 15 12:30:04 2016 -0400 Committer: Stephen Mallette <sp...@genoprime.com> Committed: Thu Sep 15 12:30:04 2016 -0400 ---------------------------------------------------------------------- CHANGELOG.asciidoc | 1 + docs/src/reference/gremlin-applications.asciidoc | 3 ++- .../tinkerpop/gremlin/console/Console.groovy | 19 ++++++++++++++----- 3 files changed, 17 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6599159b/CHANGELOG.asciidoc ---------------------------------------------------------------------- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 3b1e4b6..15e1bb2 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -32,6 +32,7 @@ TinkerPop 3.2.3 (Release Date: NOT OFFICIALLY RELEASED YET) * `TraversalRing` returns a `null` if it does not contain traversals (previously `IdentityTraversal`). * Fixed a `JavaTranslator` bug where `Bytecode` instructions were being mutated during translation. * Added `Path` to Gremlin-Python with respective GraphSON 2.0 deserializer. +* If `empty.result.indicator` is set to an empty string, then no "result line" is printed in the console. * VertexPrograms can now declare traverser requirements, e.g. to have access to the path when used with `.program()`. * New build options for `gremlin-python` where `-DglvPython` is no longer required. * Added missing `InetAddress` to GraphSON extension module. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6599159b/docs/src/reference/gremlin-applications.asciidoc ---------------------------------------------------------------------- diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc index 1a0fd16..13ac6ff 100644 --- a/docs/src/reference/gremlin-applications.asciidoc +++ b/docs/src/reference/gremlin-applications.asciidoc @@ -173,7 +173,8 @@ Preferences are set with `:set name value`. Values can contain spaces when quot |result.prompt.color | colors | Color of the result prompt. |input.prompt | string | Text of the input prompt. |result.prompt | string | Text of the result prompt. -|empty.result.indicator | string | Text of the void/no results indicator. +|empty.result.indicator | string | Text of the void/no results indicator - setting to empty string (i.e. "" at the +command line) will print no result line in these cases. |========================================================= Colors can contain a comma-separated combination of 1 each of foreground, background, and attribute. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6599159b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy ---------------------------------------------------------------------- diff --git a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy index eeda56d..19ae3c4 100644 --- a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy +++ b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy @@ -199,10 +199,7 @@ class Console { if (this.tempIterator.hasNext()) { int counter = 0; while (this.tempIterator.hasNext() && (Preferences.maxIteration == -1 || counter < Preferences.maxIteration)) { - final Object object = this.tempIterator.next() - String prompt = Colorizer.render(Preferences.resultPromptColor, buildResultPrompt()) - String colorizedResult = colorizeResult(object) - io.out.println(prompt + ((null == object) ? Preferences.emptyResult : colorizedResult)) + printResult(tempIterator.next()) counter++; } if (this.tempIterator.hasNext()) @@ -250,7 +247,7 @@ class Console { io.out.println(Colorizer.render(Preferences.resultPromptColor,(buildResultPrompt() + result.prettyPrint(width < 20 ? 80 : width)))) return null } else { - io.out.println(Colorizer.render(Preferences.resultPromptColor,buildResultPrompt()).toString() + ((null == result) ? Preferences.emptyResult : colorizeResult(result))) + printResult(result) return null } } catch (final Exception e) { @@ -261,6 +258,18 @@ class Console { } } + def printResult(def object) { + final String prompt = Colorizer.render(Preferences.resultPromptColor, buildResultPrompt()) + // if preference is set to empty string then don't print any result + if (object != null) { + io.out.println(prompt + colorizeResult(object)) + } else { + if (!Preferences.emptyResult.isEmpty()) { + io.out.println(prompt + Preferences.emptyResult) + } + } + } + def colorizeResult = { object -> if (object instanceof Vertex) { return Colorizer.render(Preferences.vertexColor, object.toString())