From e71d19c851b9ffa61cf45547c7d75b32b2de33f4 Mon Sep 17 00:00:00 2001 From: kortschak Date: Wed, 24 Sep 2014 09:14:59 +0930 Subject: [PATCH] Don't retain results where the value is empty Empty quad terms are not valid, so we should be able to safely drop any results where the value is "". --- query/gremlin/session.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/query/gremlin/session.go b/query/gremlin/session.go index 887027e..bf9f7c3 100644 --- a/query/gremlin/session.go +++ b/query/gremlin/session.go @@ -210,17 +210,22 @@ func (s *Session) BuildJSON(result interface{}) { if data.val == nil { obj := make(map[string]string) tags := data.actualResults - tagKeys := make([]string, len(tags)) - i := 0 + var tagKeys []string for k := range tags { - tagKeys[i] = k - i++ + tagKeys = append(tagKeys, k) } sort.Strings(tagKeys) for _, k := range tagKeys { - obj[k] = s.qs.NameOf(tags[k]) + name := s.qs.NameOf(tags[k]) + if name != "" { + obj[k] = name + } else { + delete(obj, k) + } + } + if len(obj) != 0 { + s.dataOutput = append(s.dataOutput, obj) } - s.dataOutput = append(s.dataOutput, obj) } else { if data.val.IsObject() { export, _ := data.val.Export()