Author: gbailleul Date: Sat Apr 21 07:44:35 2012 New Revision: 1328603 URL: http://svn.apache.org/viewvc?rev=1328603&view=rev Log: PDFBOX-1198 : removed commons-io dependency in xmpbox and added closeQuietly methods in existing IOUtils in PDFBOX
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/IOUtils.java pdfbox/trunk/xmpbox/pom.xml pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/SaveMetadataHelper.java pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMLPropertiesDescriptionManager.java pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMLValueTypeDescriptionManager.java pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/SaveMetadataHelperTest.java pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/parser/XMLPropertiesDescriptionManagerTest.java pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/parser/XMLValueTypeDescriptionManagerTest.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/IOUtils.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/IOUtils.java?rev=1328603&r1=1328602&r2=1328603&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/IOUtils.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/IOUtils.java Sat Apr 21 07:44:35 2012 @@ -23,6 +23,8 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.io.Reader; +import java.io.Writer; /** * This class contains various I/O-related methods. @@ -97,4 +99,79 @@ public class IOUtils } + /** + * Unconditionally close an <code>InputStream</code>. + * <p> + * Equivalent to {@link InputStream#close()}, except any exceptions will be ignored. + * This is typically used in finally blocks. + * + * @param input the InputStream to close, may be null or already closed + */ + public static void closeQuietly(InputStream input) { + try { + if (input != null) { + input.close(); + } + } catch (IOException ioe) { + // ignore + } + } + + /** + * Unconditionally close an <code>Reader</code>. + * <p> + * Equivalent to {@link Reader#close()}, except any exceptions will be ignored. + * This is typically used in finally blocks. + * + * @param input the Reader to close, may be null or already closed + */ + public static void closeQuietly(Reader input) { + try { + if (input != null) { + input.close(); + } + } catch (IOException ioe) { + // ignore + } + } + + /** + * Unconditionally close a <code>Writer</code>. + * <p> + * Equivalent to {@link Writer#close()}, except any exceptions will be ignored. + * This is typically used in finally blocks. + * + * @param output the Writer to close, may be null or already closed + */ + public static void closeQuietly(Writer output) { + try { + if (output != null) { + output.close(); + } + } catch (IOException ioe) { + // ignore + } + } + + /** + * Unconditionally close an <code>OutputStream</code>. + * <p> + * Equivalent to {@link OutputStream#close()}, except any exceptions will be ignored. + * This is typically used in finally blocks. + * + * @param output the OutputStream to close, may be null or already closed + */ + public static void closeQuietly(OutputStream output) { + try { + if (output != null) { + output.close(); + } + } catch (IOException ioe) { + // ignore + } + } + + + + } Modified: pdfbox/trunk/xmpbox/pom.xml URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/pom.xml?rev=1328603&r1=1328602&r2=1328603&view=diff ============================================================================== --- pdfbox/trunk/xmpbox/pom.xml (original) +++ pdfbox/trunk/xmpbox/pom.xml Sat Apr 21 07:44:35 2012 @@ -45,11 +45,6 @@ <scope>test</scope> </dependency> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - <version>1.4</version> - </dependency> <dependency> <groupId>com.thoughtworks.xstream</groupId> @@ -70,6 +65,13 @@ <type>jar</type> <scope>compile</scope> </dependency> + <dependency> + <groupId>org.apache.pdfbox</groupId> + <artifactId>pdfbox</artifactId> + <version>${project.Version}</version> + <type>bundle</type> + <scope>compile</scope> + </dependency> </dependencies> <build> Modified: pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/SaveMetadataHelper.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/SaveMetadataHelper.java?rev=1328603&r1=1328602&r2=1328603&view=diff ============================================================================== --- pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/SaveMetadataHelper.java (original) +++ pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/SaveMetadataHelper.java Sat Apr 21 07:44:35 2012 @@ -21,16 +21,15 @@ package org.apache.padaf.xmpbox; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; import javax.xml.transform.TransformerException; - -import org.apache.commons.io.IOUtils; -import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.padaf.xmpbox.parser.XMLUtil; import org.apache.padaf.xmpbox.schema.XMPSchema; +import org.apache.pdfbox.io.IOUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; Modified: pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMLPropertiesDescriptionManager.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMLPropertiesDescriptionManager.java?rev=1328603&r1=1328602&r2=1328603&view=diff ============================================================================== --- pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMLPropertiesDescriptionManager.java (original) +++ pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMLPropertiesDescriptionManager.java Sat Apr 21 07:44:35 2012 @@ -21,15 +21,12 @@ package org.apache.padaf.xmpbox.parser; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; - -import org.apache.commons.io.IOUtils; +import org.apache.pdfbox.io.IOUtils; import org.apache.padaf.xmpbox.BuildPDFAExtensionSchemaDescriptionException; import org.apache.padaf.xmpbox.schema.XMPSchema; import org.apache.padaf.xmpbox.type.PropertyDescription; Modified: pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMLValueTypeDescriptionManager.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMLValueTypeDescriptionManager.java?rev=1328603&r1=1328602&r2=1328603&view=diff ============================================================================== --- pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMLValueTypeDescriptionManager.java (original) +++ pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMLValueTypeDescriptionManager.java Sat Apr 21 07:44:35 2012 @@ -21,20 +21,16 @@ package org.apache.padaf.xmpbox.parser; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; - -import org.apache.commons.io.IOUtils; import org.apache.padaf.xmpbox.BuildPDFAExtensionSchemaDescriptionException; import org.apache.padaf.xmpbox.schema.XMPSchema; import org.apache.padaf.xmpbox.type.FieldDescription; import org.apache.padaf.xmpbox.type.ValueTypeDescription; +import org.apache.pdfbox.io.IOUtils; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; Modified: pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java?rev=1328603&r1=1328602&r2=1328603&view=diff ============================================================================== --- pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java (original) +++ pdfbox/trunk/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java Sat Apr 21 07:44:35 2012 @@ -37,7 +37,6 @@ import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; -import org.apache.commons.io.IOUtils; import org.apache.padaf.xmpbox.CreateXMPMetadataException; import org.apache.padaf.xmpbox.XMPMetadata; import org.apache.padaf.xmpbox.schema.PDFAExtensionSchema; @@ -55,6 +54,7 @@ import org.apache.padaf.xmpbox.type.Inte import org.apache.padaf.xmpbox.type.RealType; import org.apache.padaf.xmpbox.type.TextType; import org.apache.padaf.xmpbox.type.ThumbnailType; +import org.apache.pdfbox.io.IOUtils; /** @@ -246,7 +246,7 @@ public class XMPDocumentBuilder { private byte[] getStreamAsByteArray(InputStream input) throws XmpParsingException { ByteArrayOutputStream bos = new ByteArrayOutputStream(); try { - IOUtils.copyLarge(input, bos); + IOUtils.copy(input, bos); } catch (IOException e) { throw new XmpParsingException("An error has occured when processing the underlying XMP source", e); } finally { Modified: pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/SaveMetadataHelperTest.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/SaveMetadataHelperTest.java?rev=1328603&r1=1328602&r2=1328603&view=diff ============================================================================== --- pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/SaveMetadataHelperTest.java (original) +++ pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/SaveMetadataHelperTest.java Sat Apr 21 07:44:35 2012 @@ -21,10 +21,8 @@ package org.apache.padaf.xmpbox; +import java.io.ByteArrayOutputStream; -import org.apache.commons.io.output.ByteArrayOutputStream; -import org.apache.padaf.xmpbox.SaveMetadataHelper; -import org.apache.padaf.xmpbox.XMPMetadata; import org.apache.padaf.xmpbox.schema.AdobePDFSchema; import org.apache.padaf.xmpbox.schema.DublinCoreSchema; import org.junit.Assert; Modified: pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/parser/XMLPropertiesDescriptionManagerTest.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/parser/XMLPropertiesDescriptionManagerTest.java?rev=1328603&r1=1328602&r2=1328603&view=diff ============================================================================== --- pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/parser/XMLPropertiesDescriptionManagerTest.java (original) +++ pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/parser/XMLPropertiesDescriptionManagerTest.java Sat Apr 21 07:44:35 2012 @@ -29,9 +29,8 @@ import java.util.List; import junit.framework.Assert; -import org.apache.commons.io.IOUtils; -import org.apache.padaf.xmpbox.parser.XMLPropertiesDescriptionManager; import org.apache.padaf.xmpbox.type.PropertyDescription; +import org.apache.pdfbox.io.IOUtils; import org.junit.Test; public class XMLPropertiesDescriptionManagerTest { Modified: pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/parser/XMLValueTypeDescriptionManagerTest.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/parser/XMLValueTypeDescriptionManagerTest.java?rev=1328603&r1=1328602&r2=1328603&view=diff ============================================================================== --- pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/parser/XMLValueTypeDescriptionManagerTest.java (original) +++ pdfbox/trunk/xmpbox/src/test/java/org/apache/padaf/xmpbox/parser/XMLValueTypeDescriptionManagerTest.java Sat Apr 21 07:44:35 2012 @@ -29,10 +29,9 @@ import java.util.List; import junit.framework.Assert; -import org.apache.commons.io.IOUtils; -import org.apache.padaf.xmpbox.parser.XMLValueTypeDescriptionManager; import org.apache.padaf.xmpbox.type.FieldDescription; import org.apache.padaf.xmpbox.type.ValueTypeDescription; +import org.apache.pdfbox.io.IOUtils; import org.junit.Test; public class XMLValueTypeDescriptionManagerTest {