sonar fixes

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1706648 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andreas Beeker 2015-10-04 00:35:30 +00:00
parent 6d5e892986
commit 012cfb107c
13 changed files with 132 additions and 110 deletions

View File

@ -150,6 +150,7 @@ public class Section
* @exception UnsupportedEncodingException if the section's codepage is not
* supported.
*/
@SuppressWarnings("unchecked")
public Section(final byte[] src, final int offset)
throws UnsupportedEncodingException
{
@ -332,19 +333,25 @@ public class Section
public boolean equals(Object obj) {
if (this == obj)
if (this == obj) {
return true;
if (obj == null)
}
if (obj == null) {
return false;
if (getClass() != obj.getClass())
}
if (getClass() != obj.getClass()) {
return false;
}
PropertyListEntry other = (PropertyListEntry) obj;
if (id != other.id)
if (id != other.id) {
return false;
if (length != other.length)
}
if (length != other.length) {
return false;
if (offset != other.offset)
}
if (offset != other.offset) {
return false;
}
return true;
}

View File

@ -80,7 +80,11 @@ public abstract class BlockStore {
protected class ChainLoopDetector {
private boolean[] used_blocks;
protected ChainLoopDetector(long rawSize) {
int numBlocks = (int)Math.ceil( ((double)rawSize) / getBlockStoreBlockSize() );
int blkSize = getBlockStoreBlockSize();
int numBlocks = (int)(rawSize / blkSize);
if ((rawSize % blkSize) != 0) {
numBlocks++;
}
used_blocks = new boolean[numBlocks];
}
protected void claim(int offset) {

View File

@ -119,8 +119,13 @@ public final class NPropertyTable extends PropertyTableBase {
*/
public int countBlocks()
{
int size = _properties.size() * POIFSConstants.PROPERTY_SIZE;
return (int)Math.ceil( ((double)size) / _bigBigBlockSize.getBigBlockSize());
long rawSize = _properties.size() * POIFSConstants.PROPERTY_SIZE;
int blkSize = _bigBigBlockSize.getBigBlockSize();
int numBlocks = (int)(rawSize / blkSize);
if ((rawSize % blkSize) != 0) {
numBlocks++;
}
return numBlocks;
}
/**

View File

@ -265,9 +265,10 @@ public final class BATBlock extends BigBlock {
public static BATBlockAndIndex getBATBlockAndIndex(final int offset,
final HeaderBlock header, final List<BATBlock> bats) {
POIFSBigBlockSize bigBlockSize = header.getBigBlockSize();
int entriesPerBlock = bigBlockSize.getBATEntriesPerBlock();
int whichBAT = (int)Math.floor(offset / bigBlockSize.getBATEntriesPerBlock());
int index = offset % bigBlockSize.getBATEntriesPerBlock();
int whichBAT = offset / entriesPerBlock;
int index = offset % entriesPerBlock;
return new BATBlockAndIndex( index, bats.get(whichBAT) );
}
@ -279,10 +280,11 @@ public final class BATBlock extends BigBlock {
public static BATBlockAndIndex getSBATBlockAndIndex(final int offset,
final HeaderBlock header, final List<BATBlock> sbats) {
POIFSBigBlockSize bigBlockSize = header.getBigBlockSize();
int entriesPerBlock = bigBlockSize.getBATEntriesPerBlock();
// SBATs are so much easier, as they're chained streams
int whichSBAT = (int)Math.floor(offset / bigBlockSize.getBATEntriesPerBlock());
int index = offset % bigBlockSize.getBATEntriesPerBlock();
int whichSBAT = offset / entriesPerBlock;
int index = offset % entriesPerBlock;
return new BATBlockAndIndex( index, sbats.get(whichSBAT) );
}

View File

@ -115,7 +115,7 @@ public abstract class AggregateFunction extends MultiOperandNumericFunction {
double n = (N - 1) * dn + 1;
if (n == 1d) {
result = StatsLib.kthSmallest(ds, 1);
} else if (n == N) {
} else if (Double.compare(n, N) == 0) {
result = StatsLib.kthLargest(ds, 1);
} else {
int k = (int) n;

View File

@ -366,7 +366,7 @@ public abstract class NumericFunction implements Function {
double d1 = NumericFunction.singleOperandEvaluate(arg1, srcRowIndex, srcColumnIndex);
double logE = Math.log(d0);
double base = d1;
if (base == Math.E) {
if (Double.compare(base, Math.E) == 0) {
result = logE;
} else {
result = logE / Math.log(base);

View File

@ -24,6 +24,8 @@ import java.util.regex.Pattern;
import org.apache.poi.ss.format.SimpleFraction;
import org.apache.poi.ss.formula.eval.NotImplementedException;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
/**
* <p>Format class that handles Excel style fractions, such as "# #/#" and "#/###"</p>
@ -39,7 +41,8 @@ import org.apache.poi.ss.formula.eval.NotImplementedException;
@SuppressWarnings("serial")
public class FractionFormat extends Format {
private final static Pattern DENOM_FORMAT_PATTERN = Pattern.compile("(?:(#+)|(\\d+))");
private static final POILogger LOGGER = POILogFactory.getLogger(FractionFormat.class);
private static final Pattern DENOM_FORMAT_PATTERN = Pattern.compile("(?:(#+)|(\\d+))");
//this was chosen to match the earlier limitation of max denom power
//it can be expanded to get closer to Excel's calculations
@ -47,7 +50,7 @@ public class FractionFormat extends Format {
//but as of this writing, the numerators and denominators
//with formats of that nature on very small values were quite
//far from Excel's calculations
private final static int MAX_DENOM_POW = 4;
private static final int MAX_DENOM_POW = 4;
//there are two options:
//a) an exact denominator is specified in the formatString
@ -133,7 +136,7 @@ public class FractionFormat extends Format {
fract = SimpleFraction.buildFractionMaxDenominator(decPart, maxDenom);
}
} catch (RuntimeException e){
e.printStackTrace();
LOGGER.log(POILogger.WARN, "Can't format fraction", e);
return Double.toString(doubleValue);
}

View File

@ -237,7 +237,7 @@ public class ImageUtils {
if (isHSSF) {
w *= 1 - anchor.getDx1()/1024d;
} else {
w -= anchor.getDx1()/EMU_PER_PIXEL;
w -= anchor.getDx1()/(double)EMU_PER_PIXEL;
}
while(col2 < anchor.getCol2()){
@ -247,7 +247,7 @@ public class ImageUtils {
if (isHSSF) {
w += sheet.getColumnWidthInPixels(col2) * anchor.getDx2()/1024d;
} else {
w += anchor.getDx2()/EMU_PER_PIXEL;
w += anchor.getDx2()/(double)EMU_PER_PIXEL;
}
double h = 0;
@ -257,7 +257,7 @@ public class ImageUtils {
if (isHSSF) {
h *= 1 - anchor.getDy1()/256d;
} else {
h -= anchor.getDy1()/EMU_PER_PIXEL;
h -= anchor.getDy1()/(double)EMU_PER_PIXEL;
}
while(row2 < anchor.getRow2()){
@ -267,10 +267,13 @@ public class ImageUtils {
if (isHSSF) {
h += getRowHeightInPixels(sheet,row2) * anchor.getDy2()/256;
} else {
h += anchor.getDy2()/EMU_PER_PIXEL;
h += anchor.getDy2()/(double)EMU_PER_PIXEL;
}
return new Dimension((int)w*EMU_PER_PIXEL, (int)h*EMU_PER_PIXEL);
w *= EMU_PER_PIXEL;
h *= EMU_PER_PIXEL;
return new Dimension((int)Math.rint(w), (int)Math.rint(h));
}

View File

@ -343,21 +343,21 @@ public class HexDump {
* @return string of 8 (zero padded) uppercase hex chars and prefixed with '0x'
*/
public static String intToHex(int value) {
return xpad(value & 0xFFFFFFFF, 8, "0x");
return xpad(value & 0xFFFFFFFFL, 8, "0x");
}
/**
* @return string of 4 (zero padded) uppercase hex chars and prefixed with '0x'
*/
public static String shortToHex(int value) {
return xpad(value & 0xFFFF, 4, "0x");
return xpad(value & 0xFFFFL, 4, "0x");
}
/**
* @return string of 2 (zero padded) uppercase hex chars and prefixed with '0x'
*/
public static String byteToHex(int value) {
return xpad(value & 0xFF, 2, "0x");
return xpad(value & 0xFFL, 2, "0x");
}
private static String xpad(long value, int pad, String prefix) {

View File

@ -559,20 +559,18 @@ public final class PackagePropertiesPart extends PackagePart implements
* @throws InvalidFormatException
* Throws if the date format isnot valid.
*/
private Nullable<Date> setDateValue(String s) throws InvalidFormatException {
if (s == null || s.equals("")) {
private Nullable<Date> setDateValue(String dateStr) throws InvalidFormatException {
if (dateStr == null || dateStr.equals("")) {
return new Nullable<Date>();
}
if (!s.endsWith("Z")) {
s += "Z";
}
String dateTzStr = dateStr.endsWith("Z") ? dateStr : (dateStr + "Z");
SimpleDateFormat df = new SimpleDateFormat(DEFAULT_DATEFORMAT, Locale.ROOT);
df.setTimeZone(LocaleUtil.TIMEZONE_UTC);
Date d = df.parse(s, new ParsePosition(0));
Date d = df.parse(dateTzStr, new ParsePosition(0));
if (d == null) {
df = new SimpleDateFormat(ALTERNATIVE_DATEFORMAT, Locale.ROOT);
df.setTimeZone(LocaleUtil.TIMEZONE_UTC);
d = df.parse(s, new ParsePosition(0));
d = df.parse(dateTzStr, new ParsePosition(0));
}
if (d == null) {
throw new InvalidFormatException("Date not well formated");

View File

@ -78,15 +78,17 @@ public class XSLFSlideShow extends POIXMLDocument {
embedds = new LinkedList<PackagePart>();
for (CTSlideIdListEntry ctSlide : getSlideReferences().getSldIdArray()) {
PackagePart corePart = getCorePart();
PackagePart slidePart = corePart.getRelatedPart(
corePart.getRelationship(ctSlide.getId2()));
PackagePart slidePart = corePart.getRelatedPart(corePart.getRelationship(ctSlide.getId2()));
for(PackageRelationship rel : slidePart.getRelationshipsByType(OLE_OBJECT_REL_TYPE))
embedds.add(slidePart.getRelatedPart(rel)); // TODO: Add this reference to each slide as well
for(PackageRelationship rel : slidePart.getRelationshipsByType(PACK_OBJECT_REL_TYPE))
for(PackageRelationship rel : slidePart.getRelationshipsByType(OLE_OBJECT_REL_TYPE)) {
// TODO: Add this reference to each slide as well
embedds.add(slidePart.getRelatedPart(rel));
}
for (PackageRelationship rel : slidePart.getRelationshipsByType(PACK_OBJECT_REL_TYPE)) {
embedds.add(slidePart.getRelatedPart(rel));
}
}
}
public XSLFSlideShow(String file) throws OpenXML4JException, IOException, XmlException {
this(openPackage(file));
@ -109,9 +111,7 @@ public class XSLFSlideShow extends POIXMLDocument {
@Internal
public CTSlideIdList getSlideReferences() {
if(! getPresentation().isSetSldIdLst()) {
getPresentation().setSldIdLst(
CTSlideIdList.Factory.newInstance()
);
getPresentation().setSldIdLst(CTSlideIdList.Factory.newInstance());
}
return getPresentation().getSldIdLst();
}
@ -152,9 +152,7 @@ public class XSLFSlideShow extends POIXMLDocument {
public PackagePart getSlidePart(CTSlideIdListEntry slide) throws IOException, XmlException {
try {
PackagePart corePart = getCorePart();
return corePart.getRelatedPart(
corePart.getRelationship(slide.getId2())
);
return corePart.getRelatedPart(corePart.getRelationship(slide.getId2()));
} catch(InvalidFormatException e) {
throw new XmlException(e);
}

View File

@ -915,21 +915,23 @@ public abstract class AbstractWordConverter
Element currentBlock, Range textRange, int currentTableLevel,
String hyperlink );
protected void processImage( Element currentBlock, boolean inlined,
Picture picture )
{
protected void processImage( Element currentBlock, boolean inlined, Picture picture ) {
PicturesManager fileManager = getPicturesManager();
if ( fileManager != null )
{
final int aspectRatioX = picture.getHorizontalScalingFactor();
final int aspectRatioY = picture.getVerticalScalingFactor();
if ( fileManager != null ) {
final float aspectRatioX = picture.getHorizontalScalingFactor();
final float aspectRatioY = picture.getVerticalScalingFactor();
final float imageWidth = aspectRatioX > 0 ? picture.getDxaGoal()
* aspectRatioX / 1000 / AbstractWordUtils.TWIPS_PER_INCH
: picture.getDxaGoal() / AbstractWordUtils.TWIPS_PER_INCH;
final float imageHeight = aspectRatioY > 0 ? picture.getDyaGoal()
* aspectRatioY / 1000 / AbstractWordUtils.TWIPS_PER_INCH
: picture.getDyaGoal() / AbstractWordUtils.TWIPS_PER_INCH;
float imageWidth = picture.getDxaGoal();
if (aspectRatioX > 0) {
imageWidth *= aspectRatioX / 1000f;
}
imageWidth /= AbstractWordUtils.TWIPS_PER_INCH;
float imageHeight = picture.getDyaGoal();
if (aspectRatioY > 0) {
imageHeight *= aspectRatioY / 1000f;
}
imageHeight /= AbstractWordUtils.TWIPS_PER_INCH;
String url = fileManager.savePicture( picture.getContent(),
picture.suggestPictureType(),

View File

@ -381,7 +381,7 @@ public final class CharacterSprmUncompressor extends SprmUncompressor
//byte cInc = (byte)(((byte)(param & 0xfe00) >>> 4) >> 1);
byte cInc = (byte) ((operand & 0xff00) >>> 8);
cInc = (byte) (cInc >>> 1);
cInc >>>= 1;
if (cInc != 0)
{
newCHP.setHps (Math.max (newCHP.getHps () + (cInc * 2), 2));