]> source.dussan.org Git - poi.git/commitdiff
various sonarqube fixes - mainly resource closing
authorAndreas Beeker <kiwiwings@apache.org>
Sat, 17 Dec 2016 02:35:30 +0000 (02:35 +0000)
committerAndreas Beeker <kiwiwings@apache.org>
Sat, 17 Dec 2016 02:35:30 +0000 (02:35 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1774705 13f79535-47bb-0310-9956-ffa450edef68

src/examples/src/org/apache/poi/hpsf/examples/CopyCompare.java
src/examples/src/org/apache/poi/hpsf/examples/WriteAuthorAndTitle.java
src/examples/src/org/apache/poi/hpsf/examples/WriteTitle.java
src/java/org/apache/poi/POIDocument.java
src/scratchpad/src/org/apache/poi/hpbf/extractor/PublisherTextExtractor.java
src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java

index d276fa4e7224d7cd9f6aeb504e578cb790837f88..1a0ade2af0d1b910b18dccc3f732028e25f261b6 100644 (file)
@@ -243,7 +243,6 @@ public class CopyCompare
     throws NoPropertySetStreamException, MarkUnsupportedException,
            UnsupportedEncodingException, IOException
     {
-        boolean equal = true;
         final DocumentInputStream dis1 = new DocumentInputStream(d1);
         final DocumentInputStream dis2 = new DocumentInputStream(d2);
         try {
@@ -251,23 +250,20 @@ public class CopyCompare
                 PropertySet.isPropertySetStream(dis2)) {
                 final PropertySet ps1 = PropertySetFactory.create(dis1);
                 final PropertySet ps2 = PropertySetFactory.create(dis2);
-                equal = ps1.equals(ps2);
-                if (!equal) {
+                if (!ps1.equals(ps2)) {
                     msg.append("Property sets are not equal.\n");
-                    return equal;
+                    return false;
                 }
             } else {
-                int i1;
-                int i2;
+                int i1, i2;
                 do {
                     i1 = dis1.read();
                     i2 = dis2.read();
                     if (i1 != i2) {
-                        equal = false;
                         msg.append("Documents are not equal.\n");
-                        break;
+                        return false;
                     }
-                } while (equal && i1 == -1);
+                } while (i1 > -1);
             }
         } finally {
             dis2.close();
index 4e86030a548b68847be4700b9905c93de9ddf01d..b5734c04396f4dff74e53347e73c3df095289d3a 100644 (file)
@@ -166,53 +166,42 @@ public class WriteAuthorAndTitle
 
             Throwable t = null;
 
-            try
-            {
+            try {
                 /* Find out whether the current document is a property set
                  * stream or not. */
-                if (PropertySet.isPropertySetStream(stream))
-                {
-                    /* Yes, the current document is a property set stream.
-                     * Let's create a PropertySet instance from it. */
-                    PropertySet ps = null;
-                    try
-                    {
-                        ps = PropertySetFactory.create(stream);
-                    }
-                    catch (NoPropertySetStreamException ex)
-                    {
+                if (PropertySet.isPropertySetStream(stream)) {
+                    try {
+                        /* Yes, the current document is a property set stream.
+                         * Let's create a PropertySet instance from it. */
+                        PropertySet ps = PropertySetFactory.create(stream);
+
+                        /* Now we know that we really have a property set. The next
+                         * step is to find out whether it is a summary information
+                         * or not. */
+                        if (ps.isSummaryInformation()) {
+                            /* Yes, it is a summary information. We will modify it
+                             * and write the result to the destination POIFS. */
+                            editSI(poiFs, path, name, ps);
+                        } else {
+                            /* No, it is not a summary information. We don't care
+                             * about its internals and copy it unmodified to the
+                             * destination POIFS. */
+                            copy(poiFs, path, name, ps);
+                        }
+                    } catch (NoPropertySetStreamException ex) {
                         /* This exception will not be thrown because we already
                          * checked above. */
                     }
-
-                    /* Now we know that we really have a property set. The next
-                     * step is to find out whether it is a summary information
-                     * or not. */
-                    if (ps.isSummaryInformation())
-                        /* Yes, it is a summary information. We will modify it
-                         * and write the result to the destination POIFS. */
-                        editSI(poiFs, path, name, ps);
-                    else
-                        /* No, it is not a summary information. We don't care
-                         * about its internals and copy it unmodified to the
-                         * destination POIFS. */
-                        copy(poiFs, path, name, ps);
-                }
-                else
+                } else {
                     /* No, the current document is not a property set stream. We
                      * copy it unmodified to the destination POIFS. */
                     copy(poiFs, event.getPath(), event.getName(), stream);
-            }
-            catch (MarkUnsupportedException ex)
-            {
+                }
+            } catch (MarkUnsupportedException ex) {
                 t = ex;
-            }
-            catch (IOException ex)
-            {
+            } catch (IOException ex) {
                 t = ex;
-            }
-            catch (WritingNotSupportedException ex)
-            {
+            } catch (WritingNotSupportedException ex) {
                 t = ex;
             }
 
@@ -221,8 +210,7 @@ public class WriteAuthorAndTitle
              * lines check whether a checked exception occured and throws an
              * unchecked exception. The message of that exception is that of
              * the underlying checked exception. */
-            if (t != null)
-            {
+            if (t != null) {
                 throw new HPSFRuntimeException
                     ("Could not read file \"" + path + "/" + name +
                      "\". Reason: " + Util.toString(t));
index e57ef17b44cec4743d84058b9a379dc675051b17..4323ce242f24509293a6ce8f29d47eed758ac4ec 100644 (file)
@@ -97,7 +97,10 @@ public class WriteTitle
         poiFs.createDocument(is, SummaryInformation.DEFAULT_STREAM_NAME);
 
         /* Write the whole POI file system to a disk file. */
-        poiFs.writeFilesystem(new FileOutputStream(fileName));
+        FileOutputStream fos = new FileOutputStream(fileName);
+        poiFs.writeFilesystem(fos);
+        fos.close();
+        poiFs.close();
     }
 
 }
index ed8e6783e49ca65a14a55da96ca40660be42305e..70cce74d18214d0d7187a9578a2de01485416cc5 100644 (file)
@@ -424,7 +424,7 @@ public abstract class POIDocument implements Closeable {
     @Internal
     protected boolean initDirectory() {
         if (directory == null) {
-            directory = new NPOIFSFileSystem().getRoot();
+            directory = new NPOIFSFileSystem().getRoot(); // NOSONAR
             return true;
         }
         return false;
index 2295f235f560c08364cd500809a57192c6739ad1..a0dc8b9afa6a4f803c7445debe6f2b410e076ad6 100644 (file)
@@ -108,10 +108,14 @@ public final class PublisherTextExtractor extends POIOLE2TextExtractor {
                }
 
                for(int i=0; i<args.length; i++) {
-                       PublisherTextExtractor te = new PublisherTextExtractor(
-                                       new FileInputStream(args[i])
-                       );
-                       System.out.println(te.getText());
+                   FileInputStream fis = new FileInputStream(args[i]);
+                   try {
+                       PublisherTextExtractor te = new PublisherTextExtractor(fis);
+                       System.out.println(te.getText());
+                       te.close();
+                   } finally {
+                       fis.close();
+                   }
                }
        }
 }
index 7494b55337b84548de3a64400daeb07a7e4e744e..315836c91e10f6771c5266322ede1d4c17bbcb79 100644 (file)
@@ -20,6 +20,7 @@ package org.apache.poi.hslf.blip;
 import java.awt.Dimension;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
+import java.io.EOFException;
 import java.io.IOException;
 import java.util.zip.InflaterInputStream;
 
@@ -56,7 +57,11 @@ public final class PICT extends Metafile {
         ByteArrayInputStream bis = new ByteArrayInputStream(data);
         Header header = new Header();
         header.read(data, pos);
-        bis.skip(pos + header.getSize());
+        long bs_exp = pos + header.getSize();
+        long bs_act = bis.skip(bs_exp);
+        if (bs_exp != bs_act) {
+            throw new EOFException();
+        }
         byte[] chunk = new byte[4096];
         ByteArrayOutputStream out = new ByteArrayOutputStream(header.getWmfSize());
         InflaterInputStream inflater = new InflaterInputStream( bis );