You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2015/09/01 18:49:03 UTC
[25/37] incubator-geode git commit: GEODE-287: Remove old gfsh code
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/49d99d4e/gemfire-core/src/main/java/com/gemstone/gemfire/internal/tools/gfsh/app/util/PrintUtil.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/tools/gfsh/app/util/PrintUtil.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/tools/gfsh/app/util/PrintUtil.java
deleted file mode 100644
index 514b3b8..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/tools/gfsh/app/util/PrintUtil.java
+++ /dev/null
@@ -1,1683 +0,0 @@
-package com.gemstone.gemfire.internal.tools.gfsh.app.util;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.query.SelectResults;
-import com.gemstone.gemfire.cache.query.Struct;
-import com.gemstone.gemfire.cache.query.types.CollectionType;
-import com.gemstone.gemfire.cache.query.types.ObjectType;
-import com.gemstone.gemfire.cache.query.types.StructType;
-import com.gemstone.gemfire.internal.tools.gfsh.app.cache.data.Mappable;
-import com.gemstone.gemfire.internal.tools.gfsh.app.misc.util.StringUtil;
-
-public class PrintUtil
-{
- private static boolean tableFormat = false;
-
- public static boolean isTableFormat()
- {
- return tableFormat;
- }
-
- public static void setTableFormat(boolean tableFormat)
- {
- PrintUtil.tableFormat = tableFormat;
- }
-
- /**
- * Prints the region entries. It prints both keys and values formatted.
- * @param region
- * @param startIndex
- * @param startRowNum
- * @param rowCount
- * @param keyList
- * @return Returns the number of rows printed.
- * @throws Exception
- */
- public static int printEntries(Region region, Iterator regionIterator, int startIndex, int startRowNum, int rowCount, List keyList) throws Exception
- {
- if (isTableFormat() == false) {
- return SimplePrintUtil.printEntries(region, regionIterator, startIndex, startRowNum, rowCount, keyList);
- }
-
- if (region == null || regionIterator == null) {
- System.out.println("Error: Region is null");
- return 0;
- }
-
- int endIndex = startIndex + rowCount; // exclusive
- if (endIndex >= region.size()) {
- endIndex = region.size();
- }
-
-
- // Determine max column lengths
- HashSet keyNameSet = new HashSet();
- HashSet valueNameSet = new HashSet();
- ArrayList keyMaxLenList = new ArrayList();
- ArrayList valueMaxLenList = new ArrayList();
- Object key = null;
- Object value = null;
- Set nameSet = region.entrySet();
- int index = startIndex;
-
- ArrayList<Region.Entry> entryList = new ArrayList();
- for (Iterator itr = regionIterator; index < endIndex && itr.hasNext(); index++) {
- Region.Entry entry = (Region.Entry) itr.next();
- entryList.add(entry);
- key = entry.getKey();
- value = entry.getValue();
- computeMaxLengths(keyMaxLenList, valueMaxLenList, key, value);
- keyNameSet.add(key.getClass().getName());
- if (value != null) {
- valueNameSet.add(value.getClass().getName());
- }
- }
-
- if (key == null) {
- return 0;
- }
-
- // Print headers including row column
- int rowMax = String.valueOf(endIndex).length();
- if (rowMax < 3) {
- rowMax = 3;
- }
- printHeaders(keyMaxLenList, valueMaxLenList, key, value, rowMax);
-
- // Print keys and values
- int row = startRowNum;
- index = startIndex;
- for (Iterator itr = entryList.iterator(); index < endIndex && itr.hasNext(); index++) {
-
- System.out.print(StringUtil.getRightPaddedString(row + "", rowMax, ' '));
- System.out.print(" ");
-
- Region.Entry entry = (Region.Entry) itr.next();
- key = entry.getKey();
- value = entry.getValue();
- if (keyList != null) {
- keyList.add(key);
- }
- printObject(keyMaxLenList, key, true);
- System.out.print(" | ");
- printObject(valueMaxLenList, value, false);
- System.out.println();
- row++;
- }
- System.out.println();
- System.out.println(" Fetch size: " + rowCount);
- System.out.println(" Returned: " + (row-1) + "/" + region.size());
- for (Object keyName : keyNameSet) {
- System.out.println(" Key Class: " + keyName);
- }
- for (Object valueName : valueNameSet) {
- System.out.println("Value Class: " + valueName);
-
- }
- return endIndex - startIndex;
- }
-
- public static int printEntries(Region region, Map keyMap, List keyList) throws Exception
- {
- if (isTableFormat() == false) {
- return SimplePrintUtil.printEntries(region, keyMap, keyList);
- }
-
- if (region == null) {
- System.out.println("Error: Region is null");
- return 0;
- }
-
- // Determine max column lengths
- HashSet keyNameSet = new HashSet();
- HashSet valueNameSet = new HashSet();
- ArrayList keyMaxLenList = new ArrayList();
- ArrayList valueMaxLenList = new ArrayList();
- ArrayList indexList = new ArrayList(keyMap.keySet());
- Collections.sort(indexList);
- Object key = null;
- Object value = null;
- for (Iterator iterator = indexList.iterator(); iterator.hasNext();) {
- Object index = iterator.next();
- key = keyMap.get(index);
- value = region.get(key);
- computeMaxLengths(keyMaxLenList, valueMaxLenList, key, value);
- keyNameSet.add(key.getClass().getName());
- if (value != null) {
- valueNameSet.add(value.getClass().getName());
- }
- }
- if (key == null) {
- return 0;
- }
-
- // Print headers including row column
- int rowCount = keyMap.size();
- int rowMax = String.valueOf(rowCount).length();
- if (rowMax < 3) {
- rowMax = 3;
- }
- printHeaders(keyMaxLenList, valueMaxLenList, key, value, rowMax);
-
- // Print keys and values
- int row = 1;
- for (Iterator iterator = indexList.iterator(); iterator.hasNext();) {
-
- System.out.print(StringUtil.getRightPaddedString(row + "", rowMax, ' '));
- System.out.print(" ");
-
- Object index = iterator.next();
- key = keyMap.get(index);
- value = region.get(key);
- if (keyList != null) {
- keyList.add(key);
- }
- printObject(keyMaxLenList, key, true);
- System.out.print(" | ");
- printObject(valueMaxLenList, value, false);
- System.out.println();
- row++;
- }
- System.out.println();
- for (Object keyName : keyNameSet) {
- System.out.println(" Key Class: " + keyName);
- }
- for (Object valueName : valueNameSet) {
- System.out.println("Value Class: " + valueName);
- }
- return rowCount;
- }
-
- public static int printEntries(Region region, Set keySet, List keyList) throws Exception
- {
-
- if (isTableFormat() == false) {
- return SimplePrintUtil.printEntries(region, keySet, keyList);
- }
-
- if (region == null) {
- System.out.println("Error: Region is null");
- return 0;
- }
-
- // Determine max column lengths
- HashSet keyNameSet = new HashSet();
- HashSet valueNameSet = new HashSet();
- ArrayList keyMaxLenList = new ArrayList();
- ArrayList valueMaxLenList = new ArrayList();
- Object key = null;
- Object value = null;
- for (Iterator iterator = keySet.iterator(); iterator.hasNext();) {
- key = iterator.next();
- value = region.get(key);
- computeMaxLengths(keyMaxLenList, valueMaxLenList, key, value);
- keyNameSet.add(key.getClass().getName());
- if (value != null) {
- valueNameSet.add(value.getClass().getName());
- }
- }
- if (key == null) {
- return 0;
- }
-
- // Print headers including row column
- int rowCount = keySet.size();
- int rowMax = String.valueOf(rowCount).length();
- if (rowMax < 3) {
- rowMax = 3;
- }
- printHeaders(keyMaxLenList, valueMaxLenList, key, value, rowMax);
-
- // Print keys and values
- int row = 1;
- for (Iterator iterator = keySet.iterator(); iterator.hasNext();) {
-
- System.out.print(StringUtil.getRightPaddedString(row + "", rowMax, ' '));
- System.out.print(" ");
-
- key = iterator.next();
- value = region.get(key);
- if (keyList != null) {
- keyList.add(key);
- }
- printObject(keyMaxLenList, key, true);
- System.out.print(" | ");
- printObject(valueMaxLenList, value, false);
- System.out.println();
- row++;
- }
- System.out.println();
- for (Object keyName : keyNameSet) {
- System.out.println(" Key Class: " + keyName);
- }
- for (Object valueName : valueNameSet) {
- System.out.println("Value Class: " + valueName);
- }
- return rowCount;
- }
-
- public static int printEntries(Map map, int startIndex, int startRowNum, int rowCount, int actualSize, List keyList) throws Exception
- {
- if (isTableFormat() == false) {
- return SimplePrintUtil.printEntries(map, startIndex, startRowNum, rowCount, actualSize, keyList);
- }
-
- if (map == null) {
- System.out.println("Error: map is null");
- return 0;
- }
-
- // Determine max column lengths
- HashSet keyNameSet = new HashSet();
- HashSet valueNameSet = new HashSet();
- ArrayList keyMaxLenList = new ArrayList();
- ArrayList valueMaxLenList = new ArrayList();
- Object key = null;
- Object value = null;
- Set entrySet = map.entrySet();
- int count = 0;
- for (Iterator itr = entrySet.iterator(); count < rowCount && itr.hasNext(); count++) {
- Map.Entry entry = (Map.Entry) itr.next();
- key = entry.getKey();
- value = entry.getValue();
- computeMaxLengths(keyMaxLenList, valueMaxLenList, key, value);
- keyNameSet.add(key.getClass().getName());
- if (value != null) {
- valueNameSet.add(value.getClass().getName());
- }
- }
-
- if (key == null) {
- return 0;
- }
-
- // Print headers including row column
- int rowMax = String.valueOf(startRowNum + rowCount - 1).length();
- if (rowMax < 3) {
- rowMax = 3;
- }
- printHeaders(keyMaxLenList, valueMaxLenList, key, value, rowMax);
-
- // Print keys and values
-// int row = 1;
- count = 0;
- int row = startRowNum;
- int lastRow = startRowNum + rowCount - 1;
- for (Iterator itr = entrySet.iterator(); count < rowCount && itr.hasNext(); count++) {
-
- System.out.print(StringUtil.getRightPaddedString(row + "", rowMax, ' '));
- System.out.print(" ");
-
- Map.Entry entry = (Map.Entry) itr.next();
- key = entry.getKey();
- value = entry.getValue();
- if (keyList != null) {
- keyList.add(key);
- }
- printObject(keyMaxLenList, key, true);
- System.out.print(" | ");
- printObject(valueMaxLenList, value, false);
- System.out.println();
- row++;
- }
- System.out.println();
- System.out.println(" Fetch size: " + rowCount);
- System.out.println(" Returned: " + (row-1) + "/" + actualSize);
- for (Object keyName : keyNameSet) {
- System.out.println(" Key Class: " + keyName);
- }
- for (Object valueName : valueNameSet) {
- System.out.println("Value Class: " + valueName);
- }
- return count;
- }
-
- public static int printSet(Set set, int rowCount, List keyList) throws Exception
- {
- return printSet(set, rowCount, keyList, true);
- }
-
- public static int printSet(Set set, int rowCount, List keyList, boolean showSummary) throws Exception
- {
- return printSet(set, rowCount, keyList, "Key", showSummary);
- }
-
- public static int printSet(Set set, int rowCount, List keyList,
- String keyColumnName,
- boolean showSummary) throws Exception
- {
- if (isTableFormat() == false) {
- return SimplePrintUtil.printSet(set, rowCount, keyList,
- keyColumnName, showSummary);
- }
-
- if (set == null) {
- return 0;
- }
-
- // Determine max column lengths
- HashSet keyNameSet = new HashSet();
- ArrayList keyMaxLenList = new ArrayList();
- Object key = null;
- Set nameSet = set;
- int count = 0;
- int keyMin = keyColumnName.length();
- for (Iterator itr = nameSet.iterator(); count < rowCount && itr.hasNext(); count++) {
- key = itr.next();
- computeMaxLengths(keyMaxLenList, key, true, keyMin, 0);
- keyNameSet.add(key.getClass().getName());
- }
-
- if (key == null) {
- return 0;
- }
-
- // Print headers including row column
- int rowMax = String.valueOf(rowCount).length();
- if (rowMax < 3) {
- rowMax = 3;
- }
- printHeaders(keyMaxLenList, null, key, null, rowMax, keyColumnName, null, false);
-
- // Print keys and values
- int row = 1;
- count = 0;
- for (Iterator itr = nameSet.iterator(); count < rowCount && itr.hasNext(); count++) {
-
- System.out.print(StringUtil.getRightPaddedString(row + "", rowMax, ' '));
- System.out.print(" ");
-
- key = itr.next();
- if (keyList != null) {
- keyList.add(key);
- }
- printObject(keyMaxLenList, key, true);
- System.out.println();
- row++;
- }
- if (showSummary) {
- System.out.println();
- System.out.println("Displayed (fetched): " + (row - 1));
- System.out.println(" Actual Size: " + set.size());
- for (Object keyName : keyNameSet) {
- System.out.println(" " + keyColumnName + " Class: " + keyName);
- }
- }
- return row - 1;
- }
-
- public static int printEntries(Map map, int rowCount, List keyList) throws Exception
- {
- return printEntries(map, rowCount, keyList, true, true);
- }
-
- public static int printEntries(Map map, int rowCount, List keyList, boolean showSummary, boolean showValues) throws Exception
- {
- return printEntries(map, rowCount, keyList, "Key", "Value", showSummary, showValues);
- }
-
- public static int printEntries(Map map, int rowCount, List keyList,
- String keyColumnName, String valueColumnName,
- boolean showSummary, boolean showValues) throws Exception
- {
- if (isTableFormat() == false) {
- return SimplePrintUtil.printEntries(map, rowCount, keyList,
- keyColumnName, valueColumnName, showSummary, showValues);
- }
-
- if (map == null) {
- System.out.println("Error: Region is null");
- return 0;
- }
-
- // Determine max column lengths
- HashSet keyNameSet = new HashSet();
- HashSet valueNameSet = new HashSet();
- ArrayList keyMaxLenList = new ArrayList();
- ArrayList valueMaxLenList = new ArrayList();
- Object key = null;
- Object value = null;
- Set nameSet = map.entrySet();
- int count = 0;
- int keyMin = keyColumnName.length();
- int valueMin = valueColumnName.length();
- for (Iterator itr = nameSet.iterator(); count < rowCount && itr.hasNext(); count++) {
- Map.Entry entry = (Map.Entry) itr.next();
- key = entry.getKey();
- value = entry.getValue();
- computeMaxLengths(keyMaxLenList, valueMaxLenList, key, value, keyMin, valueMin);
- keyNameSet.add(key.getClass().getName());
- if (value != null) {
- valueNameSet.add(value.getClass().getName());
- }
- }
-
- if (key == null) {
- return 0;
- }
-
- // Print headers including row column
- int rowMax = String.valueOf(rowCount).length();
- if (rowMax < 3) {
- rowMax = 3;
- }
- printHeaders(keyMaxLenList, valueMaxLenList, key, value, rowMax, keyColumnName, valueColumnName, showValues);
-
- // Print keys and values
- int row = 1;
- count = 0;
- for (Iterator itr = nameSet.iterator(); count < rowCount && itr.hasNext(); count++) {
-
- System.out.print(StringUtil.getRightPaddedString(row + "", rowMax, ' '));
- System.out.print(" ");
-
- Map.Entry entry = (Map.Entry) itr.next();
- key = entry.getKey();
- value = entry.getValue();
- if (keyList != null) {
- keyList.add(key);
- }
- printObject(keyMaxLenList, key, true);
- if (showValues) {
- System.out.print(" | ");
- printObject(valueMaxLenList, value, false);
- }
- System.out.println();
- row++;
- }
- if (showSummary) {
- System.out.println();
- System.out.println("Displayed (fetched): " + (row - 1));
- System.out.println(" Actual Size: " + map.size());
- for (Object keyName : keyNameSet) {
- System.out.println(" " + keyColumnName + " Class: " + keyName);
- }
- for (Object valueName : valueNameSet) {
- System.out.println(" " + valueColumnName + " Class: " + valueName);
-
- }
- }
- return row - 1;
- }
-
- private static void computeMaxLengths(List keyList, List valueList, Object key, Object value)
- {
- computeMaxLengths(keyList, valueList, key, value, 3, 5); // "Key", "Value"
- }
-
- private static void computeMaxLengths(List keyList, List valueList, Object key, Object value, int keyMin, int valueMin)
- {
- computeMaxLengths(keyList, key, true, keyMin, valueMin);
- computeMaxLengths(valueList, value, false, keyMin, valueMin);
- }
-
- private static void printTopHeaders(List list, Object obj,
- boolean printLastColumnSpaces, String primitiveHeader)
- {
- Object object = obj;
- if (object == null) {
- object = "null";
- }
- if (object instanceof String || object.getClass().isPrimitive() ||
- object.getClass() == Boolean.class ||
- object.getClass() == Byte.class ||
- object.getClass() == Character.class ||
- object.getClass() == Short.class ||
- object.getClass() == Integer.class ||
- object.getClass() == Long.class ||
- object.getClass() == Float.class ||
- object.getClass() == Double.class ||
- object.getClass().isArray() ||
- object instanceof Date)
- {
-
- int maxLen = (Integer) list.get(0);
- if (maxLen < primitiveHeader.length()) {
- maxLen = primitiveHeader.length();
- }
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString(primitiveHeader, maxLen, ' '));
- } else {
- System.out.print(primitiveHeader);
- }
-
- } else if (object instanceof Map) {
-
- // Map
- Map map = (Map) object;
- Set set = map.keySet();
- if (set != null) {
- TreeSet keySet = new TreeSet(set);
- int listIndex = 0;
- for (Object header : keySet) {
- int maxLen = (Integer) list.get(listIndex);
- if (listIndex == list.size() - 1) {
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString(header.toString(), maxLen, ' '));
- } else {
- System.out.print(header);
- }
- } else {
- System.out.print(StringUtil.getRightPaddedString(header.toString(), maxLen, ' '));
- System.out.print(" ");
- }
-
- listIndex++;
- }
- }
-
- } else {
-
- // print object
- Class cls = object.getClass();
- Method methods[] = cls.getMethods();
- Method method;
- Class retType;
- String name;
- Object value;
- int listIndex = 0;
- for (int i = 0; i < methods.length; i++) {
- method = methods[i];
- name = method.getName();
- if (name.length() <= 3 || name.startsWith("get") == false || name.equals("getClass")) {
- continue;
- }
- retType = method.getReturnType();
- if (retType == Void.TYPE) {
- continue;
- }
- try {
- value = method.invoke(object, (Object[])null);
- value = getPrintableValue(value);
- int maxLen = (Integer) list.get(listIndex);
- String header = name.substring(3);
- if (listIndex == list.size() - 1) {
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString(header, maxLen, ' '));
- } else {
- System.out.print(header);
- }
- } else {
- System.out.print(StringUtil.getRightPaddedString(header, maxLen, ' '));
- System.out.print(" ");
- }
-
- listIndex++;
- } catch (Exception ex) {
- }
- }
- }
- }
-
- private static void printBottomHeaders(List list, Object obj, boolean printLastColumnSpaces,
- String primitiveHeader)
- {
- Object object = obj;
- if (object == null) {
- object = "null";
- }
-
- if (object instanceof String || object.getClass().isPrimitive() ||
- object.getClass() == Boolean.class ||
- object.getClass() == Byte.class ||
- object.getClass() == Character.class ||
- object.getClass() == Short.class ||
- object.getClass() == Integer.class ||
- object.getClass() == Long.class ||
- object.getClass() == Float.class ||
- object.getClass() == Double.class ||
- object.getClass().isArray() ||
- object instanceof Date)
- {
-
- int maxLen = (Integer) list.get(0);
- if (maxLen < primitiveHeader.length()) {
- maxLen = primitiveHeader.length();
- }
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString(StringUtil.getRightPaddedString("", primitiveHeader
- .length(), '-'), maxLen, ' '));
- } else {
- System.out.print(StringUtil.getRightPaddedString("", primitiveHeader.length(), '-'));
- }
-
- } else if (object instanceof Map) {
-
- // Map
- Map map = (Map) object;
- Set<String> set = map.keySet();
- if (set != null) {
- TreeSet keySet = new TreeSet(set);
- int listIndex = 0;
- for (Object header : keySet) {
- Object value = map.get(header);
- value = getPrintableValue(value);
- int maxLen = (Integer) list.get(listIndex);
-
- if (listIndex == list.size() - 1) {
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString(StringUtil.getRightPaddedString("", header.toString()
- .length(), '-'), maxLen, ' '));
- } else {
- System.out.print(StringUtil.getRightPaddedString("", header.toString().length(), '-'));
- }
- } else {
- System.out.print(StringUtil.getRightPaddedString(StringUtil.getRightPaddedString("", header.toString()
- .length(), '-'), maxLen, ' '));
- System.out.print(" ");
- }
- listIndex++;
- }
- }
-
- } else {
-
- Class cls = object.getClass();
- Method methods[] = cls.getMethods();
- Method method;
- Class retType;
- String name;
- Object value;
- int listIndex = 0;
- for (int i = 0; i < methods.length; i++) {
- method = methods[i];
- name = method.getName();
- if (name.length() <= 3 || name.startsWith("get") == false || name.equals("getClass")) {
- continue;
- }
- retType = method.getReturnType();
- if (retType == Void.TYPE) {
- continue;
- }
- try {
- value = method.invoke(object, (Object[])null);
- value = getPrintableValue(value);
- int maxLen = (Integer) list.get(listIndex);
- String header = name.substring(3);
-
- if (listIndex == list.size() - 1) {
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString(StringUtil.getRightPaddedString("", header
- .length(), '-'), maxLen, ' '));
- } else {
- System.out.print(StringUtil.getRightPaddedString("", header.length(), '-'));
- }
- } else {
- System.out.print(StringUtil.getRightPaddedString(StringUtil.getRightPaddedString("", header
- .length(), '-'), maxLen, ' '));
- System.out.print(" ");
- }
- listIndex++;
- } catch (Exception ex) {
- }
- }
- }
- }
-
- private static void printHeaders(List keyList, List valueList,
- Object key, Object value, int rowMaxLen)
- throws Exception
- {
- printHeaders(keyList, valueList, key, value, rowMaxLen, "Key", "Value", true);
- }
-
- private static void printHeaders(List keyList, List valueList,
- Object key, Object value, int rowMaxLen,
- String keyColumnName, String valueColumnName, boolean showValues)
- throws Exception
- {
- System.out.print(StringUtil.getRightPaddedString("Row", rowMaxLen, ' '));
- System.out.print(" ");
- printTopHeaders(keyList, key, true, keyColumnName);
- if (showValues) {
- System.out.print(" | ");
- printTopHeaders(valueList, value, false, valueColumnName);
- }
- System.out.println();
-
- if (rowMaxLen < 3) {
- rowMaxLen = 3;
- }
- System.out.print(StringUtil.getRightPaddedString("", rowMaxLen, '-'));
- System.out.print(" ");
- printBottomHeaders(keyList, key, true, keyColumnName);
- if (showValues) {
- System.out.print(" | ");
- printBottomHeaders(valueList, value, false, valueColumnName);
- }
- System.out.println();
- }
-
- /**
- * Prints the SelectResults contents up to the specified rowCount.
- * @param sr
- * @param startRowNum
- * @param rowCount
- * @return The number of rows printed
- */
- public static int printSelectResults(SelectResults sr, int startIndex, int startRowNum, int rowCount)
- {
- if (isTableFormat() == false) {
- return SimplePrintUtil.printSelectResults(sr, startIndex, startRowNum, rowCount);
- }
-
- if (sr == null) {
- System.out.println("Error: SelectResults is null");
- return 0;
- }
-
- int endIndex = startIndex + rowCount; // exclusive
- if (endIndex >= sr.size()) {
- endIndex = sr.size();
- }
-
- CollectionType type = sr.getCollectionType();
- ObjectType elementType = type.getElementType();
- int row = 1;
- if (rowCount == -1) {
- rowCount = sr.size();
- }
-
- HashSet elementNameSet = new HashSet();
- ArrayList maxLenList = new ArrayList();
- Object element = null;
- boolean isStructType = false;
- StructType structType = null;
- Struct struct = null;
- List srList = sr.asList();
-
- for (int i = startIndex; i < endIndex; i++) {
- element = srList.get(i);
- if (elementType.isStructType()) {
- structType = (StructType) elementType;
- struct = (Struct) element;
- computeMaxLengths(maxLenList, structType, struct);
- isStructType = true;
- } else {
- computeMaxLengths(maxLenList, element, false);
- if (element != null) {
- elementNameSet.add(element.getClass().getName());
- }
- }
- row++;
- }
-
- if (element == null && struct == null) {
- return 0;
- }
-
- int rowMax = String.valueOf(startRowNum + rowCount - 1).length();
- if (rowMax < 3) {
- rowMax = 3;
- }
- if (isStructType) {
- printHeaders(maxLenList, structType, struct, rowMax);
- } else {
- printHeaders(maxLenList, element, rowMax);
- }
-
- row = startRowNum;
- for (int i = startIndex; i < endIndex; i++) {
- element = srList.get(i);
-
- if (elementType.isStructType()) {
-
- structType = (StructType) elementType;
- struct = (Struct) element;
- System.out.print(StringUtil.getRightPaddedString(row + "", rowMax, ' '));
- System.out.print(" ");
- printStruct(maxLenList, structType, struct);
- System.out.println();
-
- } else {
-
- System.out.print(StringUtil.getRightPaddedString(row + "", rowMax, ' '));
- System.out.print(" ");
- printObject(maxLenList, element, false);
- System.out.println();
- }
- row++;
- }
- System.out.println();
- for (Object elementClassName : elementNameSet) {
- System.out.println("Class: " + elementClassName);
- }
- return endIndex - startIndex;
- }
-
- private static int printSelectResults_iterator(SelectResults sr, int startRowNum, int rowCount)
- {
- if (sr == null) {
- System.out.println("SelectResults is null");
- return 0;
- }
-
- CollectionType type = sr.getCollectionType();
- ObjectType elementType = type.getElementType();
- int row = 1;
- if (rowCount == -1) {
- rowCount = sr.size();
- }
-
- HashSet elementNameSet = new HashSet();
- ArrayList maxLenList = new ArrayList();
- Object element = null;
- boolean isStructType = false;
- StructType structType = null;
- Struct struct = null;
- for (Iterator iter = sr.iterator(); iter.hasNext() && row <= rowCount;) {
- element = iter.next();
- if (elementType.isStructType()) {
- structType = (StructType) elementType;
- struct = (Struct) element;
- computeMaxLengths(maxLenList, structType, struct);
- isStructType = true;
- } else {
- computeMaxLengths(maxLenList, element, false);
- elementNameSet.add(element.getClass().getName());
- }
- row++;
- }
-
- if (element == null && struct == null) {
- return 0;
- }
-
- int rowMax = String.valueOf(startRowNum + rowCount - 1).length();
- if (rowMax < 3) {
- rowMax = 3;
- }
- if (isStructType) {
- printHeaders(maxLenList, structType, struct, rowMax);
- } else {
- printHeaders(maxLenList, element, rowMax);
- }
-
- row = startRowNum;
- int lastRow = startRowNum + rowCount - 1;
- for (Iterator iter = sr.iterator(); iter.hasNext() && row <= lastRow;) {
- element = iter.next();
-
- if (elementType.isStructType()) {
-
- structType = (StructType) elementType;
- struct = (Struct) element;
- System.out.print(StringUtil.getRightPaddedString(row + "", rowMax, ' '));
- System.out.print(" ");
- printStruct(maxLenList, structType, struct);
- System.out.println();
-
- } else {
-
- System.out.print(StringUtil.getRightPaddedString(row + "", rowMax, ' '));
- System.out.print(" ");
- printObject(maxLenList, element, false);
- System.out.println();
- }
- row++;
- }
- System.out.println();
- for (Object elementClassName : elementNameSet) {
- System.out.println("Class: " + elementClassName);
- }
- return row - 1;
- }
-
- private static void computeMaxLengths(List list, StructType structType, Struct struct)
- {
- ObjectType[] fieldTypes = structType.getFieldTypes();
- String[] fieldNames = structType.getFieldNames();
- Object[] fieldValues = struct.getFieldValues();
-
- int listIndex = 0;
- for (int i = 0; i < fieldTypes.length; i++) {
- ObjectType fieldType = fieldTypes[i];
- String fieldName = fieldNames[i];
- Object fieldValue = fieldValues[i];
-
- Integer len;
- if (listIndex >= list.size()) {
- len = fieldName.length();
- list.add(len);
- } else {
- len = (Integer) list.get(listIndex);
- }
- if (fieldValue == null) {
- if (len.intValue() < 4) {
- len = 4;
- }
- } else {
- int valueLen = fieldValue.toString().length();
- if (len.intValue() < valueLen) {
- len = valueLen;
- }
- }
- list.set(listIndex, len);
- listIndex++;
- }
- }
-
- private static void computeMaxLengths(List list, Object obj, boolean isKey)
- {
- computeMaxLengths(list, obj, isKey, 3, 5);
- }
-
- private static void computeMaxLengths(List list, Object obj, boolean isKey, int keyMin, int valueMin)
- {
- Object object = obj;
- if (obj == null) {
- object = "null";
- }
- if (object instanceof String || object.getClass().isPrimitive() ||
- object.getClass() == Boolean.class ||
- object.getClass() == Byte.class ||
- object.getClass() == Character.class ||
- object.getClass() == Short.class ||
- object.getClass() == Integer.class ||
- object.getClass() == Long.class ||
- object.getClass() == Float.class ||
- object.getClass() == Double.class ||
- object.getClass().isArray() ||
- object instanceof Date)
- {
- if (list.size() > 0) {
- int len = (Integer) list.get(0);
- if (len < object.toString().length()) {
- list.set(0, object.toString().length());
- }
- } else {
- if (isKey) {
- if (object.toString().length() < keyMin) { // Key
- list.add(keyMin);
- } else {
- list.add(object.toString().length());
- }
- } else {
- if (object.toString().length() < valueMin) { // Value
- list.add(valueMin);
- } else {
- list.add(object.toString().length());
- }
- }
- }
-
- } else if (object instanceof Map) {
-
- // Map
- Map map = (Map) object;
- Set set = map.keySet();
- if (set != null) {
- TreeSet keySet = new TreeSet(set);
- int listIndex = 0;
- for (Object name : keySet) {
- Object value = map.get(name);
- value = getPrintableValue(value);
- Integer len;
- if (listIndex >= list.size()) {
- len = name.toString().length();
- list.add(len);
- } else {
- len = (Integer) list.get(listIndex);
- }
- if (value == null) {
- if (len.intValue() < 4) {
- len = 4;
- }
- } else {
- int valueLen = value.toString().length();
- if (len.intValue() < valueLen) {
- len = valueLen;
- }
- }
- list.set(listIndex, len);
- listIndex++;
- }
- }
-
- } else {
-
- Class cls = object.getClass();
- Method methods[] = cls.getMethods();
- Method method;
- Class retType;
- String name;
- Object value;
- int listIndex = 0;
- for (int i = 0; i < methods.length; i++) {
- method = methods[i];
- name = method.getName();
- if (name.length() <= 3 || name.startsWith("get") == false || name.equals("getClass")) {
- continue;
- }
- retType = method.getReturnType();
- if (retType == Void.TYPE) {
- continue;
- }
- try {
- value = method.invoke(object, (Object[])null);
- value = getPrintableValue(value);
- Integer len;
- if (listIndex >= list.size()) {
- len = name.length() - 3;
- list.add(len);
- } else {
- len = (Integer) list.get(listIndex);
- }
- if (value == null) {
- if (len.intValue() < 4) {
- len = 4;
- }
- } else {
- int valueLen = value.toString().length();
- if (len.intValue() < valueLen) {
- len = valueLen;
- }
- }
- list.set(listIndex, len);
- listIndex++;
- } catch (Exception ex) {
- }
- }
- }
- }
-
- private static void printHeaders(List list, StructType structType, Struct struct, int rowMaxLen)
- {
- System.out.print(StringUtil.getRightPaddedString("Row", rowMaxLen, ' '));
- System.out.print(" ");
-
- ObjectType[] fieldTypes = structType.getFieldTypes();
- String[] fieldNames = structType.getFieldNames();
- Object[] fieldValues = struct.getFieldValues();
-
- int listIndex = 0;
- for (int i = 0; i < fieldTypes.length; i++) {
- ObjectType fieldType = fieldTypes[i];
- String fieldName = fieldNames[i];
- Object fieldValue = fieldValues[i];
- fieldValue = getPrintableValue(fieldValue);
- int maxLen = (Integer) list.get(listIndex);
- String header = fieldName;
- System.out.print(StringUtil.getRightPaddedString(header, maxLen, ' '));
- System.out.print(" ");
- listIndex++;
- }
- System.out.println();
- System.out.print(StringUtil.getRightPaddedString("", rowMaxLen, '-'));
- System.out.print(" ");
- listIndex = 0;
- for (int i = 0; i < fieldTypes.length; i++) {
- ObjectType fieldType = fieldTypes[i];
- String fieldName = fieldNames[i];
- Object fieldValue = fieldValues[i];
- fieldValue = getPrintableValue(fieldValue);
- int maxLen = (Integer) list.get(listIndex);
- String header = fieldName;
- System.out.print(StringUtil.getRightPaddedString(StringUtil.getRightPaddedString("", header.length(), '-'),
- maxLen, ' '));
- System.out.print(" ");
- listIndex++;
- }
- System.out.println();
- }
-
- private static void printHeaders(List list, Object object, int rowMaxLen)
- {
- System.out.print(StringUtil.getRightPaddedString("Row", rowMaxLen, ' '));
- System.out.print(" ");
- printTopHeaders(list, object, false, "Value");
- System.out.println();
-
- System.out.print(StringUtil.getRightPaddedString("", rowMaxLen, '-'));
- System.out.print(" ");
- printBottomHeaders(list, object, false, "Value");
- System.out.println();
- }
-
- private static void printStruct(List list, StructType structType, Struct struct)
- {
- ObjectType[] fieldTypes = structType.getFieldTypes();
- String[] fieldNames = structType.getFieldNames();
- Object[] fieldValues = struct.getFieldValues();
-
- int listIndex = 0;
- for (int i = 0; i < fieldTypes.length; i++) {
- ObjectType fieldType = fieldTypes[i];
- String fieldName = fieldNames[i];
- Object fieldValue = fieldValues[i];
- int maxLen = (Integer) list.get(listIndex);
- if (listIndex == list.size() - 1) {
- if (fieldValue == null) {
- System.out.println("null");
- } else {
- System.out.print(fieldValue.toString());
- }
- } else {
- if (fieldValue == null) {
- System.out.print(StringUtil.getRightPaddedString("null", maxLen, ' '));
- } else {
- System.out.print(StringUtil.getRightPaddedString(fieldValue.toString(), maxLen, ' '));
- }
- System.out.print(" ");
- }
- listIndex++;
- }
- }
-
- private static void printObject(List list, Object obj, boolean printLastColumnSpaces)
- {
- Object object = obj;
- if (object == null) {
- object = "null";
- }
-
- if (object instanceof String || object.getClass().isPrimitive() ||
- object.getClass() == Boolean.class ||
- object.getClass() == Byte.class ||
- object.getClass() == Character.class ||
- object.getClass() == Short.class ||
- object.getClass() == Integer.class ||
- object.getClass() == Long.class ||
- object.getClass() == Float.class ||
- object.getClass() == Double.class ||
- object.getClass().isArray() ||
- object instanceof Date)
- {
- object = getPrintableValue(object);
- if (list.size() > 0) {
- int maxLen = (Integer) list.get(0);
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString(object.toString(), maxLen, ' '));
- } else {
- System.out.print(object.toString());
- }
- } else {
- System.out.print(object.toString());
- }
-
- } else if (object instanceof Map) {
-
- Map map = (Map) object;
- Set set = map.keySet();
- if (set != null) {
- TreeSet keySet = new TreeSet(set);
- int listIndex = 0;
- for (Object key : keySet) {
- Object value = map.get(key);
- value = getPrintableValue(value);
-
- int maxLen = (Integer) list.get(listIndex);
- if (listIndex == list.size() - 1) {
- if (value == null) {
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString("null", maxLen, ' '));
- } else {
- System.out.print("null");
- }
- } else {
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString(value.toString(), maxLen, ' '));
- } else {
- System.out.print(value.toString());
- }
- }
-
- } else {
- if (value == null) {
- System.out.print(StringUtil.getRightPaddedString("null", maxLen, ' '));
- } else {
- System.out.print(StringUtil.getRightPaddedString(value.toString(), maxLen, ' '));
- }
- System.out.print(" ");
- }
-
- listIndex++;
- }
- }
-
- } else {
-
- Class cls = object.getClass();
- Method methods[] = cls.getMethods();
- Method method;
- Class retType;
- String name;
- Object value;
- int listIndex = 0;
- for (int i = 0; i < methods.length; i++) {
- method = methods[i];
- name = method.getName();
- if (name.length() <= 3 || name.startsWith("get") == false || name.equals("getClass")) {
- continue;
- }
- retType = method.getReturnType();
- if (retType == Void.TYPE) {
- continue;
- }
- try {
- value = method.invoke(object, (Object[])null);
- value = getPrintableValue(value);
-
- int maxLen = (Integer) list.get(listIndex);
- if (listIndex == list.size() - 1) {
- if (value == null) {
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString("null", maxLen, ' '));
- } else {
- System.out.print("null");
- }
- } else {
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString(value.toString(), maxLen, ' '));
- } else {
- System.out.print(value.toString());
- }
- }
-
- } else {
- if (value == null) {
- System.out.print(StringUtil.getRightPaddedString("null", maxLen, ' '));
- } else {
- System.out.print(StringUtil.getRightPaddedString(value.toString(), maxLen, ' '));
- }
- System.out.print(" ");
- }
-
- listIndex++;
- } catch (Exception ex) {
- }
- }
- }
- }
-
- public static void printList(List resultList)
- {
- ArrayList maxLenList = new ArrayList();
- Object nonNullObject = null;
- for (int i = 0; i < resultList.size(); i++) {
- Object object = resultList.get(i);
- if (object != null) {
- nonNullObject = object;
- }
- computeMaxLengths(maxLenList, object, true); // TODO: true?
- }
- if (nonNullObject == null) {
- return;
- }
-
- int rowMax = String.valueOf(resultList.size()).length();
- if (rowMax < 3) {
- rowMax = 3;
- }
- printHeaders(maxLenList, nonNullObject, rowMax);
- for (int i = 0; i < resultList.size(); i++) {
- Object object = resultList.get(i);
- System.out.print(StringUtil.getRightPaddedString((i + 1) + "", rowMax, ' '));
- System.out.print(" ");
- printObject(maxLenList, object, false);
- System.out.println();
- }
- }
-
- public static int printList(List list, int startIndex, int startRowNum, int rowCount, int actualSize, List keyList) throws Exception
- {
- if (list == null || list.size() == 0) {
- return 0;
- }
-
- if (isTableFormat() == false) {
- return SimplePrintUtil.printList(list, startIndex, startRowNum, rowCount, actualSize, keyList);
- }
-
- // Determine max column lengths
- HashSet objectNameSet = new HashSet();
- ArrayList maxLenList = new ArrayList();
- int count = 0;
- Object object = null;
- for (Iterator itr = list.iterator(); count < rowCount && itr.hasNext(); count++) {
- object = itr.next();
- computeMaxLengths(maxLenList, object, true);
- objectNameSet.add(object.getClass().getName());
- }
-
- if (object == null) {
- return 0;
- }
-
- // Print headers including row column
- int rowMax = String.valueOf(startRowNum + rowCount - 1).length();
- if (rowMax < 3) {
- rowMax = 3;
- }
- printHeaders(maxLenList, object, rowMax);
-
- // Print keys and values
-// int row = 1;
- count = 0;
- int row = startRowNum;
- int lastRow = startRowNum + rowCount - 1;
- for (Iterator itr = list.iterator(); count < rowCount && itr.hasNext(); count++) {
-
- System.out.print(StringUtil.getRightPaddedString(row + "", rowMax, ' '));
- System.out.print(" ");
-
- object = itr.next();
- if (keyList != null) {
- keyList.add(object);
- }
- printObject(maxLenList, object, true);
- System.out.println();
- row++;
- }
- System.out.println();
- System.out.println(" Fetch size: " + rowCount);
- System.out.println(" Returned: " + (row-1) + "/" + actualSize);
- for (Object keyName : objectNameSet) {
- System.out.println(" Class: " + keyName);
- }
- return count;
- }
-
- private static void computeMappableMaxLengths(List list, Mappable mappable)
- {
- computeMappableMaxLengths(list, mappable, null);
- }
-
- private static void computeMappableMaxLengths(List list, Mappable mappable, List<String>keyList)
- {
- String name;
- Object value;
- int listIndex = 0;
- if (keyList == null) {
- keyList = new ArrayList(mappable.getKeys());
- Collections.sort(keyList);
- }
- for (int i = 0; i < keyList.size(); i++) {
- name = keyList.get(i);
- value = mappable.getValue(name);
- value = getPrintableValue(value);
- Integer len;
- if (listIndex >= list.size()) {
- len = name.length();
- list.add(len);
- } else {
- len = (Integer) list.get(listIndex);
- }
- if (value == null) {
- if (len.intValue() < 4) {
- len = 4;
- }
- } else {
- int valueLen = value.toString().length();
- if (len.intValue() < valueLen) {
- len = valueLen;
- }
- }
- list.set(listIndex, len);
- listIndex++;
- }
- }
-
- private static void printMappableHeaders(List list, Mappable mappable, int rowMaxLen)
- {
- printMappableHeaders(list, mappable, rowMaxLen, null);
- }
-
- private static void printMappableHeaders(List list, Mappable mappable, int rowMaxLen, List<String>keyList)
- {
- System.out.print(StringUtil.getRightPaddedString("Row", rowMaxLen, ' '));
- System.out.print(" ");
- printMappableTopHeaders(list, mappable, false, keyList);
- System.out.println();
- if (rowMaxLen < 3) {
- rowMaxLen = 3;
- }
- System.out.print(StringUtil.getRightPaddedString("", rowMaxLen, '-'));
- System.out.print(" ");
- printMappableBottomHeaders(list, mappable, false, keyList);
- System.out.println();
- }
-
-//FindBugs - private method never called
-// private static void printMappableTopHeaders(List list, Mappable mappable,
-// boolean printLastColumnSpaces)
-// {
-// printMappableTopHeaders(list, mappable, printLastColumnSpaces, null);
-// }
-
- private static void printMappableTopHeaders(List list, Mappable mappable,
- boolean printLastColumnSpaces, List<String>keyList)
- {
- int listIndex = 0;
- if (keyList == null) {
- keyList = new ArrayList(mappable.getKeys());
- Collections.sort(keyList);
- }
- for (int i = 0; i < keyList.size(); i++) {
- String header = keyList.get(i);
- int maxLen = (Integer) list.get(listIndex);
- if (listIndex == list.size() - 1) {
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString(header, maxLen, ' '));
- } else {
- System.out.print(header);
- }
- } else {
- System.out.print(StringUtil.getRightPaddedString(header, maxLen, ' '));
- System.out.print(" ");
- }
-
- listIndex++;
- }
- }
-
-//FindBugs - private method never called
-// private static void printMappableBottomHeaders(List list, Mappable mappable, boolean printLastColumnSpaces)
-// {
-// printMappableBottomHeaders(list, mappable, printLastColumnSpaces, null);
-// }
-
- private static void printMappableBottomHeaders(List list, Mappable mappable, boolean printLastColumnSpaces, List<String> keyList)
- {
- int listIndex = 0;
- if (keyList == null) {
- keyList = new ArrayList(mappable.getKeys());
- Collections.sort(keyList);
- }
- for (int i = 0; i < keyList.size(); i++) {
- String header = keyList.get(i);
- int maxLen = (Integer) list.get(listIndex);
- if (listIndex == list.size() - 1) {
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString(StringUtil.getRightPaddedString("", header
- .length(), '-'), maxLen, ' '));
- } else {
- System.out.print(StringUtil.getRightPaddedString("", header.length(), '-'));
- }
- } else {
- System.out.print(StringUtil.getRightPaddedString(StringUtil.getRightPaddedString("", header
- .length(), '-'), maxLen, ' '));
- System.out.print(" ");
- }
- listIndex++;
- }
- }
-
- private static void printMappable(List list, Mappable mappable, boolean printLastColumnSpaces)
- {
- printMappable(list, mappable, printLastColumnSpaces, null);
- }
-
- private static void printMappable(List list, Mappable mappable, boolean printLastColumnSpaces, List<String>keyList)
- {
- int listIndex = 0;
- if (keyList == null) {
- keyList = new ArrayList(mappable.getKeys());
- Collections.sort(keyList);
- }
- for (int i = 0; i < keyList.size(); i++) {
- String name = keyList.get(i);
- Object value = mappable.getValue(name);
- value = getPrintableValue(value);
-
- int maxLen = (Integer) list.get(listIndex);
- if (listIndex == list.size() - 1) {
- if (value == null) {
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString("null", maxLen, ' '));
- } else {
- System.out.print("null");
- }
- } else {
- if (printLastColumnSpaces) {
- System.out.print(StringUtil.getRightPaddedString(value.toString(), maxLen, ' '));
- } else {
- System.out.print(value.toString());
- }
- }
-
- } else {
- if (value == null) {
- System.out.print(StringUtil.getRightPaddedString("null", maxLen, ' '));
- } else {
- System.out.print(StringUtil.getRightPaddedString(value.toString(), maxLen, ' '));
- }
- System.out.print(" ");
- }
-
- listIndex++;
- }
- }
-
- public static void printMappableList(List<Mappable> resultList)
- {
- printMappableList(resultList, null);
- }
-
- public static void printMappableList(List<Mappable> resultList, String sortByKey)
- {
- List<Mappable> list;
- if (sortByKey != null) {
- TreeMap map = new TreeMap();
- for (int i = 0; i < resultList.size(); i++) {
- Mappable mappable = resultList.get(i);
- map.put(mappable.getValue(sortByKey), mappable);
- }
- list = new ArrayList(map.values());
- } else {
- list = resultList;
- }
-
- if (isTableFormat() == false) {
- SimplePrintUtil.printMappableList(list);
- return;
- }
-
- ArrayList maxLenList = new ArrayList();
- Mappable nonNullMappable = null;
- for (int i = 0; i < list.size(); i++) {
- Mappable mappable = list.get(i);
- if (mappable != null) {
- nonNullMappable = mappable;
- }
- computeMappableMaxLengths(maxLenList, mappable);
- }
- if (nonNullMappable == null) {
- return;
- }
-
- int rowMax = String.valueOf(list.size()).length();
- if (rowMax < 3) {
- rowMax = 3;
- }
- printMappableHeaders(maxLenList, nonNullMappable, rowMax);
- for (int i = 0; i < list.size(); i++) {
- Mappable mappable = list.get(i);
- System.out.print(StringUtil.getRightPaddedString((i + 1) + "", rowMax, ' '));
- System.out.print(" ");
- printMappable(maxLenList, mappable, false);
- System.out.println();
- }
- }
-
- public static void printMappableList(List<Mappable> resultList, String sortByKey, List<String>keyList)
- {
- List<Mappable> list;
- if (sortByKey != null) {
- TreeMap map = new TreeMap();
- for (int i = 0; i < resultList.size(); i++) {
- Mappable mappable = resultList.get(i);
- map.put(mappable.getValue(sortByKey), mappable);
- }
- list = new ArrayList(map.values());
- } else {
- list = resultList;
- }
-
- if (isTableFormat() == false) {
- SimplePrintUtil.printMappableList(list);
- return;
- }
-
- ArrayList maxLenList = new ArrayList();
- Mappable nonNullMappable = null;
- for (int i = 0; i < list.size(); i++) {
- Mappable mappable = list.get(i);
- if (mappable != null) {
- nonNullMappable = mappable;
- }
- computeMappableMaxLengths(maxLenList, mappable, keyList);
- }
- if (nonNullMappable == null) {
- return;
- }
-
- int rowMax = String.valueOf(list.size()).length();
- if (rowMax < 3) {
- rowMax = 3;
- }
- printMappableHeaders(maxLenList, nonNullMappable, rowMax, keyList);
- for (int i = 0; i < list.size(); i++) {
- Mappable mappable = list.get(i);
- System.out.print(StringUtil.getRightPaddedString((i + 1) + "", rowMax, ' '));
- System.out.print(" ");
- printMappable(maxLenList, mappable, false, keyList);
- System.out.println();
- }
- }
-
-
- private static Object getPrintableValue(Object value)
- {
- if (value instanceof Byte) {
- value = ((Byte) value).toString();
- } else if (value instanceof byte[]) {
- value = "[B " + ((byte[])value).length;
- } else if (value instanceof boolean[]) {
- value = "[Z " + ((boolean[])value).length;
- } else if (value instanceof short[]) {
- value = "[S " + ((short[])value).length;
- } else if (value instanceof int[]) {
- value = "[I " + ((int[])value).length;
- } else if (value instanceof long[]) {
- value = "[J " + ((long[])value).length;
- } else if (value instanceof float[]) {
- value = "[F " + ((float[])value).length;
- } else if (value instanceof double[]) {
- value = "[D " + ((double[])value).length;
- }
- return value;
- }
-}