diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/AbstractEntry.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/AbstractEntry.java index 82dd331d..d1a166f9 100644 --- a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/AbstractEntry.java +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/AbstractEntry.java @@ -30,12 +30,12 @@ package com.twelvemonkeys.imageio.metadata; -import com.twelvemonkeys.lang.Validate; -import com.twelvemonkeys.util.CollectionUtil; - import java.lang.reflect.Array; import java.util.Arrays; +import com.twelvemonkeys.lang.Validate; +import com.twelvemonkeys.util.CollectionUtil; + /** * AbstractEntry * @@ -84,17 +84,21 @@ public abstract class AbstractEntry implements Entry { } public String getValueAsString() { - if (valueCount() > 1) { - if (valueCount() < 16) { + int count = valueCount(); + + if (count == 0 && value != null && value.getClass().isArray() && Array.getLength(value) == 0) { + return ""; + } + if (count > 1) { + if (count < 16) { return arrayToString(value); } else { String first = arrayToString(CollectionUtil.subArray(value, 0, 4)); - String last = arrayToString(CollectionUtil.subArray(value, valueCount() - 4, 4)); - return String.format("%s ... %s (%d)", first.substring(0, first.length() - 1), last.substring(1), valueCount()); + String last = arrayToString(CollectionUtil.subArray(value, count - 4, 4)); + return String.format("%s ... %s (%d)", first.substring(0, first.length() - 1), last.substring(1), count); } } - if (value != null && value.getClass().isArray() && Array.getLength(value) == 1) { return String.valueOf(Array.get(value, 0)); } diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/Rational.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/Rational.java index 97ea6f81..b28847e5 100644 --- a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/Rational.java +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/Rational.java @@ -41,7 +41,6 @@ package com.twelvemonkeys.imageio.metadata.exif; * * @deprecated Use com.twelvemonkeys.imageio.metadata.tiff.Rational instead. */ -@SuppressWarnings("deprecation") public final class Rational extends Number implements Comparable { private final com.twelvemonkeys.imageio.metadata.tiff.Rational delegate; diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/tiff/Rational.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/tiff/Rational.java index 3788d260..07db755a 100644 --- a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/tiff/Rational.java +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/tiff/Rational.java @@ -143,7 +143,7 @@ public final class Rational extends Number implements Comparable { double thisVal = doubleValue(); double otherVal = pOther.doubleValue(); - return thisVal < otherVal ? -1 : thisVal == otherVal ? 0 : 1; + return Double.compare(thisVal, otherVal); } /// Object overrides