]> source.dussan.org Git - poi.git/commitdiff
sonar fixes
authorAndreas Beeker <kiwiwings@apache.org>
Sat, 2 Jun 2018 21:28:06 +0000 (21:28 +0000)
committerAndreas Beeker <kiwiwings@apache.org>
Sat, 2 Jun 2018 21:28:06 +0000 (21:28 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1832748 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/hpsf/Section.java
src/java/org/apache/poi/ss/usermodel/DataFormatter.java
src/ooxml/java/org/apache/poi/ooxml/extractor/ExtractorFactory.java
src/ooxml/java/org/apache/poi/ooxml/util/SAXHelper.java
src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFPicture.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPicture.java
src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFChart.java
src/scratchpad/src/org/apache/poi/hslf/record/TextRulerAtom.java

index 88677801c7592d5c25dbf2f782f56472d792d7e8..bcacfb33488d8c406e929d86e5387dcec17e26c1 100644 (file)
@@ -844,10 +844,10 @@ public class Section {
                 if (cp == CodePageUtil.CP_UNICODE) {
                     pad = 2+((4 - ((nrBytes+2) & 0x3)) & 0x3);
                 }
-                leis.skip(pad);
+                IOUtils.skipFully(leis, pad);
 
                 dic.put(id, str);
-            } catch (RuntimeException ex) {
+            } catch (RuntimeException|IOException ex) {
                 LOG.log(POILogger.WARN, errMsg, ex);
                 isCorrupted = true;
                 break;
index 09e9b8455812ecf8bd133704bc39d0d2f7ad3444..b225989c1d6db794e8a696bace492cea62160729 100644 (file)
@@ -812,6 +812,9 @@ public class DataFormatter implements Observer {
      * @return Formatted value
      */
     private String getFormattedDateString(Cell cell, ConditionalFormattingEvaluator cfEvaluator) {
+        if (cell == null) {
+            return null;
+        }
         Format dateFormat = getFormat(cell, cfEvaluator);
         if(dateFormat instanceof ExcelStyleDateFormatter) {
            // Hint about the raw excel value
@@ -837,7 +840,9 @@ public class DataFormatter implements Observer {
      * @return a formatted number string
      */
     private String getFormattedNumberString(Cell cell, ConditionalFormattingEvaluator cfEvaluator) {
-
+        if (cell == null) {
+            return null;
+        }
         Format numberFormat = getFormat(cell, cfEvaluator);
         double d = cell.getNumericCellValue();
         if (numberFormat == null) {
index 6603f585823fa3d5a29e827fffc8f40384233f3f..d3218099388ec890a2f2e9769fcf3f9027396313 100644 (file)
@@ -146,7 +146,7 @@ public class ExtractorFactory {
             // ensure file-handle release
             IOUtils.closeQuietly(fs);
             throw new IllegalArgumentException("Your File was neither an OLE2 file, nor an OOXML file");
-        } catch (OpenXML4JException | Error | RuntimeException | IOException | XmlException e) {
+        } catch (OpenXML4JException | Error | RuntimeException | IOException | XmlException e) { // NOSONAR
             // ensure file-handle release
             IOUtils.closeQuietly(fs);
             throw e;
@@ -245,7 +245,7 @@ public class ExtractorFactory {
 
             throw new IllegalArgumentException("No supported documents found in the OOXML package (found "+contentType+")");
 
-        } catch (IOException | Error | RuntimeException | XmlException | OpenXML4JException e) {
+        } catch (IOException | Error | RuntimeException | XmlException | OpenXML4JException e) { // NOSONAR
             // ensure that we close the package again if there is an error opening it, however
             // we need to revert the package to not re-write the file via close(), which is very likely not wanted for a TextExtractor!
             pkg.revert();
index 630e5540abdd5f7f7a90ae5a710beac11048e2b1..806aede58379c00efff9fb87b5b66f642e1eec00 100644 (file)
@@ -68,7 +68,7 @@ public final class SAXHelper {
             saxFactory = SAXParserFactory.newInstance();
             saxFactory.setValidating(false);
             saxFactory.setNamespaceAware(true);
-        } catch (RuntimeException | Error re) {
+        } catch (RuntimeException | Error re) { // NOSONAR
             // this also catches NoClassDefFoundError, which may be due to a local class path issue
             // This may occur if the code is run inside a web container
             // or a restricted JVM
index ad54c3eccdc2f034c64a738b3b2296871c3477b2..1d83b7c7d634a0cc570797789ef967e91fa5d47c 100644 (file)
@@ -106,13 +106,12 @@ public final class SXSSFPicture implements Picture {
     @Override
     public void resize(double scale){
         XSSFClientAnchor anchor = getClientAnchor();
-        if (anchor == null) {
+        XSSFClientAnchor pref = getPreferredSize(scale);
+        if (anchor == null || pref == null) {
             logger.log(POILogger.WARN, "picture is not anchored via client anchor - ignoring resize call");
             return;
         }
 
-        XSSFClientAnchor pref = getPreferredSize(scale);
-
         int row2 = anchor.getRow1() + (pref.getRow2() - pref.getRow1());
         int col2 = anchor.getCol1() + (pref.getCol2() - pref.getCol1());
 
index b488f1a6ba982dc85ff6e695e6c75c90caf06d01..bd39bc0359b98e21c0250234aa269d3081744d5b 100644 (file)
@@ -176,8 +176,11 @@ public final class XSSFPicture extends XSSFShape implements Picture {
      */
     public void resize(double scaleX, double scaleY){
         XSSFClientAnchor anchor = getClientAnchor();
-
         XSSFClientAnchor pref = getPreferredSize(scaleX,scaleY);
+        if (anchor == null || pref == null) {
+            logger.log(POILogger.WARN, "picture is not anchored via client anchor - ignoring resize call");
+            return;
+        }
 
         int row2 = anchor.getRow1() + (pref.getRow2() - pref.getRow1());
         int col2 = anchor.getCol1() + (pref.getCol2() - pref.getCol1());
index 368fa3c1126c5048e2210f1aee4091c93e8841c1..44820a58710c2bbf822b83bb289256d80ce1bc6b 100644 (file)
@@ -92,21 +92,11 @@ public class XWPFChart extends XDDFChart {
 
     public Long getChecksum() {
         if (this.checksum == null) {
-            InputStream is = null;
             byte[] data;
-            try {
-                is = getPackagePart().getInputStream();
+            try (InputStream is = getPackagePart().getInputStream()) {
                 data = IOUtils.toByteArray(is);
             } catch (IOException e) {
                 throw new POIXMLException(e);
-            } finally {
-                try {
-                    if (is != null) {
-                        is.close();
-                    }
-                } catch (IOException e) {
-                    throw new POIXMLException(e);
-                }
             }
             this.checksum = IOUtils.calculateChecksum(data);
         }
index e0c45a5dafd49c40bdf03e571d8778b8add0a39c..b8ef54ad1047b65d3e7df448089ac047fb1632ed 100644 (file)
@@ -29,6 +29,7 @@ import java.util.List;
 import org.apache.poi.hslf.model.textproperties.HSLFTabStop;
 import org.apache.poi.hslf.model.textproperties.HSLFTabStopPropCollection;
 import org.apache.poi.util.BitField;
+import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.LittleEndianByteArrayInputStream;
 import org.apache.poi.util.LittleEndianOutputStream;
@@ -89,7 +90,7 @@ public final class TextRulerAtom extends RecordAtom {
 
         try {
             // Get the header.
-            leis.read(_header);
+            IOUtils.readFully(leis, _header);
 
             // Get the record data.
             read(leis);