aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCédric Walter <cedricwalter@apache.org>2014-03-31 15:54:52 +0000
committerCédric Walter <cedricwalter@apache.org>2014-03-31 15:54:52 +0000
commite684262ca6c2aba6ca58283e81376de7f98debc1 (patch)
tree44c4e00d4363159f2b20a788ff421f2a86df081d
parent60801c50172d24f58eca169a22362886f578b651 (diff)
downloadpoi-e684262ca6c2aba6ca58283e81376de7f98debc1.tar.gz
poi-e684262ca6c2aba6ca58283e81376de7f98debc1.zip
performance issue logging calls are expensive because of the objects created when assembling the log messages. Using the check() method of the logging sub-system can prevent object creation
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1583357 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/java/org/apache/poi/ddf/EscherContainerRecord.java4
-rw-r--r--src/java/org/apache/poi/ddf/EscherMetafileBlip.java54
-rw-r--r--src/java/org/apache/poi/hssf/model/InternalSheet.java4
-rw-r--r--src/scratchpad/src/org/apache/poi/hslf/model/PPGraphics2D.java68
-rw-r--r--src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java8
-rw-r--r--src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java4
-rw-r--r--src/scratchpad/src/org/apache/poi/hwpf/model/NilPICFAndBinData.java9
-rw-r--r--src/scratchpad/src/org/apache/poi/hwpf/model/PlfLfo.java8
-rw-r--r--src/scratchpad/src/org/apache/poi/hwpf/model/Xstz.java6
9 files changed, 108 insertions, 57 deletions
diff --git a/src/java/org/apache/poi/ddf/EscherContainerRecord.java b/src/java/org/apache/poi/ddf/EscherContainerRecord.java
index 860edd8071..8454231cf1 100644
--- a/src/java/org/apache/poi/ddf/EscherContainerRecord.java
+++ b/src/java/org/apache/poi/ddf/EscherContainerRecord.java
@@ -85,7 +85,9 @@ public final class EscherContainerRecord extends EscherRecord {
addChildRecord(child);
if (offset >= data.length && bytesRemaining > 0) {
_remainingLength = bytesRemaining;
- log.log(POILogger.WARN, "Not enough Escher data: " + bytesRemaining + " bytes remaining but no space left");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not enough Escher data: " + bytesRemaining + " bytes remaining but no space left");
+ }
}
}
return bytesWritten;
diff --git a/src/java/org/apache/poi/ddf/EscherMetafileBlip.java b/src/java/org/apache/poi/ddf/EscherMetafileBlip.java
index 428d11e4e9..f1444b9843 100644
--- a/src/java/org/apache/poi/ddf/EscherMetafileBlip.java
+++ b/src/java/org/apache/poi/ddf/EscherMetafileBlip.java
@@ -254,31 +254,31 @@ public final class EscherMetafileBlip extends EscherBlipRecord {
" Filter: " + HexDump.toHex( field_7_fFilter ) + '\n' +
" Extra Data:" + '\n' + extraData +
(remainingData == null ? null : ("\n" +
- " Remaining Data: " + HexDump.toHex(remainingData, 32)));
- }
-
- @Override
- public String toXml(String tab) {
- String extraData = "";
- StringBuilder builder = new StringBuilder();
- builder.append(tab).append(formatXmlRecordHeader(getClass().getSimpleName(), HexDump.toHex(getRecordId()), HexDump.toHex(getVersion()), HexDump.toHex(getInstance())))
- .append(tab).append("\t").append("<UID>0x").append(HexDump.toHex( field_1_UID ) + '\n' +
- (field_2_UID == null ? "" : (" UID2: 0x" + HexDump.toHex( field_2_UID ) + '\n'))).append("</UID>\n")
- .append(tab).append("\t").append("<UncompressedSize>0x").append(HexDump.toHex( field_2_cb )).append("</UncompressedSize>\n")
- .append(tab).append("\t").append("<Bounds>").append(getBounds()).append("</Bounds>\n")
- .append(tab).append("\t").append("<SizeInEMU>").append(getSizeEMU()).append("</SizeInEMU>\n")
- .append(tab).append("\t").append("<CompressedSize>0x").append(HexDump.toHex( field_5_cbSave )).append("</CompressedSize>\n")
- .append(tab).append("\t").append("<Compression>0x").append(HexDump.toHex( field_6_fCompression )).append("</Compression>\n")
- .append(tab).append("\t").append("<Filter>0x").append(HexDump.toHex( field_7_fFilter )).append("</Filter>\n")
- .append(tab).append("\t").append("<ExtraData>").append(extraData).append("</ExtraData>\n")
- .append(tab).append("\t").append("<RemainingData>0x").append(HexDump.toHex(remainingData, 32)).append("</RemainingData>\n");
- builder.append(tab).append("</").append(getClass().getSimpleName()).append(">\n");
- return builder.toString();
- }
-
- /**
- * Return the blip signature
- *
+ " Remaining Data: " + HexDump.toHex(remainingData, 32)));
+ }
+
+ @Override
+ public String toXml(String tab) {
+ String extraData = "";
+ StringBuilder builder = new StringBuilder();
+ builder.append(tab).append(formatXmlRecordHeader(getClass().getSimpleName(), HexDump.toHex(getRecordId()), HexDump.toHex(getVersion()), HexDump.toHex(getInstance())))
+ .append(tab).append("\t").append("<UID>0x").append(HexDump.toHex( field_1_UID ) + '\n' +
+ (field_2_UID == null ? "" : (" UID2: 0x" + HexDump.toHex( field_2_UID ) + '\n'))).append("</UID>\n")
+ .append(tab).append("\t").append("<UncompressedSize>0x").append(HexDump.toHex( field_2_cb )).append("</UncompressedSize>\n")
+ .append(tab).append("\t").append("<Bounds>").append(getBounds()).append("</Bounds>\n")
+ .append(tab).append("\t").append("<SizeInEMU>").append(getSizeEMU()).append("</SizeInEMU>\n")
+ .append(tab).append("\t").append("<CompressedSize>0x").append(HexDump.toHex( field_5_cbSave )).append("</CompressedSize>\n")
+ .append(tab).append("\t").append("<Compression>0x").append(HexDump.toHex( field_6_fCompression )).append("</Compression>\n")
+ .append(tab).append("\t").append("<Filter>0x").append(HexDump.toHex( field_7_fFilter )).append("</Filter>\n")
+ .append(tab).append("\t").append("<ExtraData>").append(extraData).append("</ExtraData>\n")
+ .append(tab).append("\t").append("<RemainingData>0x").append(HexDump.toHex(remainingData, 32)).append("</RemainingData>\n");
+ builder.append(tab).append("</").append(getClass().getSimpleName()).append(">\n");
+ return builder.toString();
+ }
+
+ /**
+ * Return the blip signature
+ *
* @return the blip signature
*/
public short getSignature() {
@@ -287,7 +287,9 @@ public final class EscherMetafileBlip extends EscherBlipRecord {
case RECORD_ID_WMF: return HSSFPictureData.MSOBI_WMF;
case RECORD_ID_PICT: return HSSFPictureData.MSOBI_PICT;
}
- log.log(POILogger.WARN, "Unknown metafile: " + getRecordId());
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Unknown metafile: " + getRecordId());
+ }
return 0;
}
diff --git a/src/java/org/apache/poi/hssf/model/InternalSheet.java b/src/java/org/apache/poi/hssf/model/InternalSheet.java
index ade41fdb59..277fdbd723 100644
--- a/src/java/org/apache/poi/hssf/model/InternalSheet.java
+++ b/src/java/org/apache/poi/hssf/model/InternalSheet.java
@@ -292,7 +292,9 @@ public final class InternalSheet {
// Not clear which application wrote these files.
rra = new RowRecordsAggregate();
} else {
- log.log(POILogger.WARN, "DIMENSION record not found even though row/cells present");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "DIMENSION record not found even though row/cells present");
+ }
// Not sure if any tools write files like this, but Excel reads them OK
}
dimsloc = findFirstRecordLocBySid(WindowTwoRecord.sid);
diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/PPGraphics2D.java b/src/scratchpad/src/org/apache/poi/hslf/model/PPGraphics2D.java
index 86c67dcebd..99acb335b5 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/model/PPGraphics2D.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/model/PPGraphics2D.java
@@ -359,7 +359,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
* this method clears the current <code>Clip</code>.
*/
public void clip(Shape s){
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
}
/**
@@ -379,7 +381,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
* @since JDK1.1
*/
public Shape getClip(){
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
return null;
}
@@ -647,7 +651,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
public boolean drawImage(Image img, int x, int y,
Color bgcolor,
ImageObserver observer){
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
return false;
}
@@ -694,7 +700,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
int width, int height,
Color bgcolor,
ImageObserver observer){
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
return false;
}
@@ -751,7 +759,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
int dx1, int dy1, int dx2, int dy2,
int sx1, int sy1, int sx2, int sy2,
ImageObserver observer){
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
return false;
}
@@ -813,7 +823,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
int sx1, int sy1, int sx2, int sy2,
Color bgcolor,
ImageObserver observer){
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
return false;
}
@@ -851,7 +863,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
*/
public boolean drawImage(Image img, int x, int y,
ImageObserver observer) {
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
return false;
}
@@ -1036,7 +1050,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
* @since JDK1.1
*/
public void setClip(Shape clip) {
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
}
/**
@@ -1334,7 +1350,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
* @see java.awt.AlphaComposite
*/
public void setComposite(Composite comp){
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
}
/**
@@ -1345,7 +1363,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
* @see #setComposite
*/
public Composite getComposite(){
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
return null;
}
@@ -1486,7 +1506,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
* @see #setClip
*/
public void drawString(AttributedCharacterIterator iterator, float x, float y) {
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
}
/**
@@ -1589,7 +1611,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
* @see #setClip(Shape)
*/
public boolean drawImage(Image img, AffineTransform xform, ImageObserver obs) {
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
return false;
}
@@ -1632,7 +1656,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
public boolean drawImage(Image img, int x, int y,
int width, int height,
ImageObserver observer) {
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
return false;
}
@@ -1679,7 +1705,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
* @param c1 the XOR alternation color
*/
public void setXORMode(Color c1) {
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
}
/**
@@ -1690,7 +1718,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
* overwrite the destination with the current color.
*/
public void setPaintMode() {
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
}
/**
@@ -1725,7 +1755,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
* @see #drawRenderedImage
*/
public void drawRenderedImage(RenderedImage img, AffineTransform xform) {
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
}
/**
@@ -1750,7 +1782,9 @@ public final class PPGraphics2D extends Graphics2D implements Cloneable {
* @see #setClip
*/
public void drawRenderableImage(RenderableImage img, AffineTransform xform) {
- log.log(POILogger.WARN, "Not implemented");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Not implemented");
+ }
}
protected void applyStroke(SimpleShape shape) {
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java b/src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java
index ff55082afd..68911d1933 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java
@@ -170,9 +170,11 @@ public final class FIBFieldHandler
{
if (dsOffset + dsSize > tableStream.length)
{
- log.log(POILogger.WARN, "Unhandled data structure points to outside the buffer. " +
- "offset = " + dsOffset + ", length = " + dsSize +
- ", buffer length = " + tableStream.length);
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Unhandled data structure points to outside the buffer. " +
+ "offset = " + dsOffset + ", length = " + dsSize +
+ ", buffer length = " + tableStream.length);
+ }
}
else
{
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java b/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java
index eaea30733d..cef396efff 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java
@@ -143,7 +143,9 @@ public final class ListTables
ListLevel lvl = lst.getLevels()[level];
return lvl;
}
- log.log(POILogger.WARN, "Requested level " + level + " which was greater than the maximum defined (" + lst.numLevels() + ")");
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Requested level " + level + " which was greater than the maximum defined (" + lst.numLevels() + ")");
+ }
return null;
}
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/NilPICFAndBinData.java b/src/scratchpad/src/org/apache/poi/hwpf/model/NilPICFAndBinData.java
index dd992128ed..58cf567a58 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/NilPICFAndBinData.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/NilPICFAndBinData.java
@@ -42,9 +42,12 @@ public class NilPICFAndBinData
if ( cbHeader != 0x44 )
{
- log.log( POILogger.WARN, "NilPICFAndBinData at offset ", offset,
- " cbHeader 0x" + Integer.toHexString( cbHeader )
- + " != 0x44" );
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "NilPICFAndBinData at offset ", offset,
+ " cbHeader 0x" + Integer.toHexString(cbHeader)
+ + " != 0x44"
+ );
+ }
}
// skip the 62 ignored bytes
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/PlfLfo.java b/src/scratchpad/src/org/apache/poi/hwpf/model/PlfLfo.java
index 4fd8cc2c35..6e114d8dab 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/PlfLfo.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/PlfLfo.java
@@ -106,9 +106,11 @@ public class PlfLfo
if ( ( offset - fcPlfLfo ) != lcbPlfLfo )
{
- log.log( POILogger.WARN, "Actual size of PlfLfo is "
- + ( offset - fcPlfLfo ) + " bytes, but expected "
- + lcbPlfLfo );
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "Actual size of PlfLfo is "
+ + (offset - fcPlfLfo) + " bytes, but expected "
+ + lcbPlfLfo);
+ }
}
}
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/Xstz.java b/src/scratchpad/src/org/apache/poi/hwpf/model/Xstz.java
index c719f50337..4aef0171fa 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/Xstz.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/Xstz.java
@@ -49,8 +49,10 @@ public class Xstz
short term = LittleEndian.getShort( data, offset );
if ( term != 0 )
{
- log.log( POILogger.WARN, "chTerm at the end of Xstz at offset ",
- offset, " is not 0" );
+ if (log.check(POILogger.WARN)) {
+ log.log(POILogger.WARN, "chTerm at the end of Xstz at offset ",
+ offset, " is not 0");
+ }
}
}