Skip to content
This repository has been archived by the owner on Jul 11, 2022. It is now read-only.

Commit

Permalink
Merge pull request #188 from josejulio/Bug-907897
Browse files Browse the repository at this point in the history
Bug 907897 - pretty.print(null) fails
  • Loading branch information
lzoubek committed Oct 27, 2015
2 parents 86bbcd5 + 8b540d7 commit 70d9b36
Showing 1 changed file with 24 additions and 14 deletions.
Expand Up @@ -122,24 +122,34 @@ public void setHideRowCount(boolean hideRowCount) {

public void print(Object object) {

if (object == null) {
this.out.println("null");
return;
}

if (object instanceof Map) {
print((Map) object);
printMap((Map) object);
return;
}

if (object instanceof Collection) {
print((Collection) object);
printCollection((Collection) object);
return;
}

if (object instanceof Configuration) {
print((Configuration) object);
printConfiguration((Configuration) object);
return;
}

if (object instanceof String[][]) {
printMultidimensionalStringArray((String[][])object);
return;
}

if (object != null && object.getClass().isArray()) {
if (!object.getClass().getComponentType().isPrimitive()) {
print((Object[]) object);
printArray((Object[]) object);
} else {
Class<?> oClass = object.getClass();
// note: we assume single-dimension arrays!
Expand Down Expand Up @@ -293,7 +303,7 @@ private String abbreviate(String string, int maxWidth) {
return "..." + string.substring(string.length() - (maxWidth - 3));
}

public void print(Map map) {
public void printMap(Map map) {

String[][] data = new String[map.size()][];
int i = 0;
Expand All @@ -305,10 +315,10 @@ public void print(Map map) {
i++;
}
this.headers = new String[] { "Key", "Value" };
print(data);
printArray(data);
}

public void print(Collection list) {
public void printCollection(Collection list) {
// List of arbitrary objects
if (list == null || list.size() == 0) {
if (!hideRowCount) {
Expand Down Expand Up @@ -337,7 +347,7 @@ public void print(Collection list) {
for (Object object : list) {
data[i++][0] = (String) object;
}
this.print(data);
this.printArray(data);
} else {

if (consistentMaps(list)) {
Expand Down Expand Up @@ -395,7 +405,7 @@ public void print(Collection list) {
i++;
}

this.print(data);
this.printArray(data);
}
}
}
Expand Down Expand Up @@ -473,15 +483,15 @@ private boolean consistentMaps(Collection list) {

if (keys != null) {
headers = keys.toArray(new String[keys.size()]);
print(data);
printArray(data);
return true;
} else {
return false;
}

}

public void print(Configuration config) {
public void printConfiguration(Configuration config) {
out.println("Configuration [" + config.getId() + "] - " + config.getNotes());
for (PropertySimple p : config.getSimpleProperties().values()) {
print(p, 1);
Expand Down Expand Up @@ -556,7 +566,7 @@ private boolean allOneType(Collection list) {
return true;
}

public void print(Object[] data) {
public void printArray(Object[] data) {
if (data == null || data.length == 0) {
if (!hideRowCount) {
out.println("0 rows");
Expand All @@ -565,7 +575,7 @@ public void print(Object[] data) {
}
out.println("Array of " + (data.getClass().getComponentType().getName()));

print(Arrays.asList(data));
printCollection(Arrays.asList(data));
}

private void resizeColumns(int[] actualColumnWidths, int maxColumnWidth, List<Integer> columns) {
Expand Down Expand Up @@ -599,7 +609,7 @@ private void resizeColumns(int[] actualColumnWidths, int maxColumnWidth, List<In
}
}

public void print(String[][] data) {
public void printMultidimensionalStringArray(String[][] data) {

if (data == null || data.length == 0) {
if (!hideRowCount) {
Expand Down

0 comments on commit 70d9b36

Please sign in to comment.