You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/02/05 20:22:17 UTC
svn commit: r1873667 - in /pdfbox/trunk:
pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/
pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/
pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/
preflight/src/main/java/org/apache/pdf...
Author: tilman
Date: Wed Feb 5 20:22:17 2020
New Revision: 1873667
URL: http://svn.apache.org/viewvc?rev=1873667&view=rev
Log:
PDFBOX-4767: return empty list instead of null
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDStream.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDInlineImage.java
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/PDStreamTest.java
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/MetadataValidationProcess.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDStream.java?rev=1873667&r1=1873666&r2=1873667&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDStream.java Wed Feb 5 20:22:17 2020
@@ -22,6 +22,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.pdfbox.cos.COSArray;
@@ -239,13 +240,12 @@ public class PDStream implements COSObje
/**
* This will get the list of filters that are associated with this stream.
- * Or null if there are none.
*
- * @return A list of all encoding filters to apply to this stream.
+ * @return A (possibly empty) list of all encoding filters to apply to this stream, never null.
*/
public List<COSName> getFilters()
{
- List<COSName> retval = null;
+ List<COSName> retval = Collections.EMPTY_LIST;
COSBase filters = stream.getFilters();
if (filters instanceof COSName)
{
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDInlineImage.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDInlineImage.java?rev=1873667&r1=1873666&r2=1873667&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDInlineImage.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDInlineImage.java Wed Feb 5 20:22:17 2020
@@ -23,6 +23,8 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import org.apache.pdfbox.cos.COSArray;
import org.apache.pdfbox.cos.COSBase;
@@ -236,14 +238,13 @@ public final class PDInlineImage impleme
}
/**
- * Returns a list of filters applied to this stream, or null if there are none.
+ * Returns A list of filters applied to this stream.
*
- * @return a list of filters applied to this stream
+ * @return A (possibly empty) list of filters applied to this stream, never null.
*/
- // TODO return an empty list if there are none?
public List<String> getFilters()
{
- List<String> names = null;
+ List<String> names = Collections.EMPTY_LIST;
COSBase filters = parameters.getDictionaryObject(COSName.F, COSName.FILTER);
if (filters instanceof COSName)
{
Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/PDStreamTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/PDStreamTest.java?rev=1873667&r1=1873666&r2=1873667&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/PDStreamTest.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/PDStreamTest.java Wed Feb 5 20:22:17 2020
@@ -42,7 +42,7 @@ public class PDStreamTest
{
InputStream is = new ByteArrayInputStream(new byte[] { 12, 34, 56, 78 });
PDStream pdStream = new PDStream(doc, is, (COSArray) null);
- Assert.assertNull(pdStream.getFilters());
+ Assert.assertTrue(pdStream.getFilters().isEmpty());
List<String> stopFilters = new ArrayList<>();
stopFilters.add(COSName.DCT_DECODE.toString());
stopFilters.add(COSName.DCT_DECODE_ABBREVIATION.toString());
Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/MetadataValidationProcess.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/MetadataValidationProcess.java?rev=1873667&r1=1873666&r2=1873667&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/MetadataValidationProcess.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/MetadataValidationProcess.java Wed Feb 5 20:22:17 2020
@@ -270,10 +270,9 @@ public class MetadataValidationProcess e
throw new XpacketParsingException("Failed while retrieving xpacket", error);
}
- // no filter key
- if (metadata.getFilters() != null)
+ if (metadata.getCOSObject().containsKey(COSName.FILTER))
{
- // should not be defined
+ // filter key should not be defined
ValidationError error = new ValidationError(
PreflightConstants.ERROR_SYNTAX_STREAM_INVALID_FILTER,
"Filter specified in metadata dictionary");