VOL-1552 - inital stub
remove extra file
Change-Id: I9f5c93eefbde51c64a7c1b13244eca3a16de8a41
diff --git a/cli/util/tableGen.go b/cli/util/tableGen.go
new file mode 100644
index 0000000..3b07ef0
--- /dev/null
+++ b/cli/util/tableGen.go
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2018-present Open Networking Foundation
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+
+ * http://www.apache.org/licenses/LICENSE-2.0
+
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+package util
+
+import (
+ "fmt"
+ "strings"
+)
+
+func BuildTable(keys []string, rows []map[string]string) (string, error) {
+ var returnString string
+ fieldSizes := make(map[string]int)
+
+ for i := 0; i < len(rows); i++ {
+ for key, value := range rows[i] {
+ currentSize := len(value)
+ if currentSize > fieldSizes[key] {
+ fieldSizes[key] = currentSize
+ }
+
+ }
+ }
+ for i := 0; i < len(keys); i++ {
+ currentSize := len(keys[i])
+ if currentSize > fieldSizes[keys[i]] {
+ fieldSizes[keys[i]] = currentSize
+ }
+ }
+ bottom := "+"
+
+ for i := 0; i < len(rows); i++ {
+ header := "|"
+ line := "|"
+ for j := 0; j < len(keys); j++ {
+ key := keys[j]
+ value := rows[i][key]
+ if i == 0 {
+ pad := 2 + fieldSizes[key] - len(key)
+ field := fmt.Sprintf("%s%s|", strings.Repeat(" ", pad), key)
+ spacer := fmt.Sprintf("%s+", strings.Repeat("-", fieldSizes[key]+2))
+ header = header + field
+ bottom = bottom + spacer
+ }
+ pad := 2 + fieldSizes[key] - len(value)
+ field := fmt.Sprintf("%s%s|", strings.Repeat(" ", pad), value)
+ line = line + field
+
+ }
+ if i == 0 {
+ returnString = bottom + "\n" + header + "\n" + bottom + "\n"
+ }
+
+ returnString = returnString + line + "\n"
+ }
+ returnString = returnString + bottom + "\n"
+
+ return returnString, nil
+
+}