aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Beeker <kiwiwings@apache.org>2017-01-07 00:26:46 +0000
committerAndreas Beeker <kiwiwings@apache.org>2017-01-07 00:26:46 +0000
commit13cc14c909d0426c347a9c50ccc6f5e62fd54fa7 (patch)
tree6603e9d10c39cf15d7090a25ee9fa897ae35fee2 /src
parentfb2dbf1e7355bf37a9ab71cfca57d5c1430484af (diff)
downloadpoi-13cc14c909d0426c347a9c50ccc6f5e62fd54fa7.tar.gz
poi-13cc14c909d0426c347a9c50ccc6f5e62fd54fa7.zip
SonarQube fixes
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1777739 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r--src/java/org/apache/poi/util/HexDump.java16
-rw-r--r--src/java/org/apache/poi/util/LittleEndianByteArrayInputStream.java12
-rw-r--r--src/ooxml/java/org/apache/poi/xdgf/usermodel/section/CombinedIterable.java2
-rw-r--r--src/ooxml/java/org/apache/poi/xslf/extractor/XSLFPowerPointExtractor.java13
-rw-r--r--src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java6
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFPicture.java52
6 files changed, 50 insertions, 51 deletions
diff --git a/src/java/org/apache/poi/util/HexDump.java b/src/java/org/apache/poi/util/HexDump.java
index 01a8f50911..7f803b9584 100644
--- a/src/java/org/apache/poi/util/HexDump.java
+++ b/src/java/org/apache/poi/util/HexDump.java
@@ -17,9 +17,7 @@
package org.apache.poi.util;
-import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -168,7 +166,9 @@ public class HexDump {
public static char toAscii(int dataB) {
char charB = (char)(dataB & 0xFF);
- if (Character.isISOControl(charB)) return '.';
+ if (Character.isISOControl(charB)) {
+ return '.';
+ }
switch (charB) {
// printable, but not compilable with current compiler encoding
@@ -408,12 +408,10 @@ public class HexDump {
}
- public static void main(String[] args) throws Exception {
- File file = new File(args[0]);
- InputStream in = new BufferedInputStream(new FileInputStream(file));
- byte[] b = new byte[(int)file.length()];
- in.read(b);
- System.out.println(HexDump.dump(b, 0, 0));
+ public static void main(String[] args) throws IOException {
+ InputStream in = new FileInputStream(args[0]);
+ byte[] b = IOUtils.toByteArray(in);
in.close();
+ System.out.println(HexDump.dump(b, 0, 0));
}
}
diff --git a/src/java/org/apache/poi/util/LittleEndianByteArrayInputStream.java b/src/java/org/apache/poi/util/LittleEndianByteArrayInputStream.java
index 2c5fe70b73..48ee58e829 100644
--- a/src/java/org/apache/poi/util/LittleEndianByteArrayInputStream.java
+++ b/src/java/org/apache/poi/util/LittleEndianByteArrayInputStream.java
@@ -56,7 +56,9 @@ public final class LittleEndianByteArrayInputStream extends ByteArrayInputStream
final int size = LittleEndianConsts.INT_SIZE;
checkPosition(size);
int le = LittleEndian.getInt(buf, pos);
- super.skip(size);
+ if (super.skip(size) < size) {
+ throw new RuntimeException("Buffer overrun");
+ }
return le;
}
@@ -65,7 +67,9 @@ public final class LittleEndianByteArrayInputStream extends ByteArrayInputStream
final int size = LittleEndianConsts.LONG_SIZE;
checkPosition(size);
long le = LittleEndian.getLong(buf, pos);
- super.skip(size);
+ if (super.skip(size) < size) {
+ throw new RuntimeException("Buffer overrun");
+ }
return le;
}
@@ -84,7 +88,9 @@ public final class LittleEndianByteArrayInputStream extends ByteArrayInputStream
final int size = LittleEndianConsts.SHORT_SIZE;
checkPosition(size);
int le = LittleEndian.getUShort(buf, pos);
- super.skip(size);
+ if (super.skip(size) < size) {
+ throw new RuntimeException("Buffer overrun");
+ }
return le;
}
diff --git a/src/ooxml/java/org/apache/poi/xdgf/usermodel/section/CombinedIterable.java b/src/ooxml/java/org/apache/poi/xdgf/usermodel/section/CombinedIterable.java
index bca48bc096..d51e9070df 100644
--- a/src/ooxml/java/org/apache/poi/xdgf/usermodel/section/CombinedIterable.java
+++ b/src/ooxml/java/org/apache/poi/xdgf/usermodel/section/CombinedIterable.java
@@ -118,7 +118,7 @@ public class CombinedIterable<T> implements Iterable<T> {
} else {
lastI = masterIdx;
- val = currentMaster.getValue();
+ val = (currentMaster != null) ? currentMaster.getValue() : null;
currentMaster = null;
}
diff --git a/src/ooxml/java/org/apache/poi/xslf/extractor/XSLFPowerPointExtractor.java b/src/ooxml/java/org/apache/poi/xslf/extractor/XSLFPowerPointExtractor.java
index 5f757d0c59..d3ff89613f 100644
--- a/src/ooxml/java/org/apache/poi/xslf/extractor/XSLFPowerPointExtractor.java
+++ b/src/ooxml/java/org/apache/poi/xslf/extractor/XSLFPowerPointExtractor.java
@@ -101,7 +101,8 @@ public class XSLFPowerPointExtractor extends POIXMLTextExtractor {
/**
* Gets the slide text, but not the notes text
*/
- public String getText() {
+ @Override
+ public String getText() {
return getText(slidesByDefault, notesByDefault);
}
@@ -162,12 +163,10 @@ public class XSLFPowerPointExtractor extends POIXMLTextExtractor {
// If requested, get text from the master and it's layout
if(masterText) {
- if(layout != null) {
- extractText(layout, true, text);
- }
- if(master != null) {
- extractText(master, true, text);
- }
+ assert (layout != null);
+ extractText(layout, true, text);
+ assert (master != null);
+ extractText(master, true, text);
}
// If the slide has comments, do those too
diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
index cee2d0eb04..d022450cbe 100644
--- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
+++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
@@ -115,11 +115,7 @@ implements SlideShow<XSLFShape,XSLFTextParagraph> {
} catch (Exception e){
throw new POIXMLException(e);
} finally {
- try {
- is.close();
- } catch (Exception e) {
- throw new POIXMLException(e);
- }
+ IOUtils.closeQuietly(is);
}
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFPicture.java b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFPicture.java
index 241c650628..9635882973 100644
--- a/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFPicture.java
+++ b/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFPicture.java
@@ -17,6 +17,9 @@
package org.apache.poi.xssf.streaming;
+import java.awt.Dimension;
+import java.io.IOException;
+
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.ss.usermodel.Picture;
import org.apache.poi.ss.usermodel.Row;
@@ -26,15 +29,19 @@ import org.apache.poi.ss.util.ImageUtils;
import org.apache.poi.util.Internal;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
-import org.apache.poi.xssf.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFAnchor;
+import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
+import org.apache.poi.xssf.usermodel.XSSFDrawing;
+import org.apache.poi.xssf.usermodel.XSSFPicture;
+import org.apache.poi.xssf.usermodel.XSSFPictureData;
+import org.apache.poi.xssf.usermodel.XSSFShape;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D;
import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTPicture;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
-import java.awt.Dimension;
-import java.io.IOException;
-
/**
* Streaming version of Picture.
* Most of the code is a copy of the non-streaming XSSFPicture code.
@@ -140,38 +147,31 @@ public final class SXSSFPicture implements Picture {
double scaledHeight = size.getHeight() * scale;
float w = 0;
- int col2 = anchor.getCol1();
- int dx2 = 0;
+ int col2 = anchor.getCol1()-1;
- for (;;) {
- w += getColumnWidthInPixels(col2);
- if(w > scaledWidth) break;
- col2++;
+ while (w <= scaledWidth) {
+ w += getColumnWidthInPixels(++col2);
}
- if(w > scaledWidth) {
- double cw = getColumnWidthInPixels(col2 );
- double delta = w - scaledWidth;
- dx2 = (int)(XSSFShape.EMU_PER_PIXEL * (cw - delta));
- }
+ assert (w > scaledWidth);
+ double cw = getColumnWidthInPixels(col2);
+ double deltaW = w - scaledWidth;
+ int dx2 = (int)(XSSFShape.EMU_PER_PIXEL * (cw - deltaW));
+
anchor.setCol2(col2);
anchor.setDx2(dx2);
double h = 0;
- int row2 = anchor.getRow1();
- int dy2 = 0;
+ int row2 = anchor.getRow1()-1;
- for (;;) {
- h += getRowHeightInPixels(row2);
- if(h > scaledHeight) break;
- row2++;
+ while (h <= scaledHeight) {
+ h += getRowHeightInPixels(++row2);
}
- if(h > scaledHeight) {
- double ch = getRowHeightInPixels(row2);
- double delta = h - scaledHeight;
- dy2 = (int)(XSSFShape.EMU_PER_PIXEL * (ch - delta));
- }
+ assert (h > scaledHeight);
+ double ch = getRowHeightInPixels(row2);
+ double deltaH = h - scaledHeight;
+ int dy2 = (int)(XSSFShape.EMU_PER_PIXEL * (ch - deltaH));
anchor.setRow2(row2);
anchor.setDy2(dy2);