diff options
author | Andreas Beeker <kiwiwings@apache.org> | 2015-10-12 20:43:42 +0000 |
---|---|---|
committer | Andreas Beeker <kiwiwings@apache.org> | 2015-10-12 20:43:42 +0000 |
commit | 86c72f59dabff2653a5d5ef2caf441e899665eb4 (patch) | |
tree | 8806fc40a457c810df0a3046de7f7a147c1ab8bc /src/java/org | |
parent | 5735e23853c6e79529f96771ee20c97b2341a9e2 (diff) | |
download | poi-86c72f59dabff2653a5d5ef2caf441e899665eb4.tar.gz poi-86c72f59dabff2653a5d5ef2caf441e899665eb4.zip |
- removed deprecated and confusing methods in XSSFColor
- sonar fixes
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1708236 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org')
3 files changed, 605 insertions, 561 deletions
diff --git a/src/java/org/apache/poi/hssf/usermodel/DummyGraphics2d.java b/src/java/org/apache/poi/hssf/usermodel/DummyGraphics2d.java index 3baefb6913..cfe5bf6c9e 100644 --- a/src/java/org/apache/poi/hssf/usermodel/DummyGraphics2d.java +++ b/src/java/org/apache/poi/hssf/usermodel/DummyGraphics2d.java @@ -18,7 +18,21 @@ package org.apache.poi.hssf.usermodel;
-import java.awt.*;
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Composite;
+import java.awt.Font;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.GraphicsConfiguration;
+import java.awt.Image;
+import java.awt.Paint;
+import java.awt.Polygon;
+import java.awt.Rectangle;
+import java.awt.RenderingHints;
+import java.awt.Shape;
+import java.awt.Stroke;
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
import java.awt.geom.AffineTransform;
@@ -27,775 +41,785 @@ import java.awt.image.BufferedImageOp; import java.awt.image.ImageObserver;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.RenderableImage;
+import java.io.PrintStream;
import java.text.AttributedCharacterIterator;
import java.util.Arrays;
import java.util.Map;
-public class DummyGraphics2d
- extends Graphics2D
-{
+public class DummyGraphics2d extends Graphics2D {
private BufferedImage bufimg;
- private Graphics2D g2D;
+ private final Graphics2D g2D;
+ private final PrintStream log;
- public DummyGraphics2d()
- {
+ public DummyGraphics2d() {
+ this(System.out);
+ }
+
+ public DummyGraphics2d(PrintStream log) {
bufimg = new BufferedImage(1000, 1000, 2);
g2D = (Graphics2D)bufimg.getGraphics();
+ this.log = log;
+ }
+
+ public DummyGraphics2d(PrintStream log, Graphics2D g2D) {
+ this.g2D = g2D;
+ this.log = log;
}
- public void addRenderingHints(Map<?,?> hints)
- {
- System.out.println( "addRenderingHinds(Map):" );
- System.out.println( " hints = " + hints );
+ public void addRenderingHints(Map<?,?> hints) {
+ String l =
+ "addRenderingHinds(Map):" +
+ "\n hints = " + hints;
+ log.println( l );
g2D.addRenderingHints( hints );
}
- public void clip(Shape s)
- {
- System.out.println( "clip(Shape):" );
- System.out.println( " s = " + s );
+ public void clip(Shape s) {
+ String l =
+ "clip(Shape):" +
+ "\n s = " + s;
+ log.println( l );
g2D.clip( s );
}
- public void draw(Shape s)
- {
- System.out.println( "draw(Shape):" );
- System.out.println( "s = " + s );
+ public void draw(Shape s) {
+ String l =
+ "draw(Shape):" +
+ "\n s = " + s;
+ log.println( l );
g2D.draw( s );
}
- public void drawGlyphVector(GlyphVector g, float x, float y)
- {
- System.out.println( "drawGlyphVector(GlyphVector, float, float):" );
- System.out.println( "g = " + g );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
+ public void drawGlyphVector(GlyphVector g, float x, float y) {
+ String l =
+ "drawGlyphVector(GlyphVector, float, float):" +
+ "\n g = " + g +
+ "\n x = " + x +
+ "\n y = " + y;
+ log.println( l );
g2D.drawGlyphVector( g, x, y );
}
- public void drawImage(BufferedImage img,
- BufferedImageOp op,
- int x,
- int y)
- {
- System.out.println( "drawImage(BufferedImage, BufferedImageOp, x, y):" );
- System.out.println( "img = " + img );
- System.out.println( "op = " + op );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
+ public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y) {
+ String l =
+ "drawImage(BufferedImage, BufferedImageOp, x, y):" +
+ "\n img = " + img +
+ "\n op = " + op +
+ "\n x = " + x +
+ "\n y = " + y;
+ log.println( l );
g2D.drawImage( img, op, x, y );
}
- public boolean drawImage(Image img,
- AffineTransform xform,
- ImageObserver obs)
- {
- System.out.println( "drawImage(Image,AfflineTransform,ImageObserver):" );
- System.out.println( "img = " + img );
- System.out.println( "xform = " + xform );
- System.out.println( "obs = " + obs );
+ public boolean drawImage(Image img, AffineTransform xform, ImageObserver obs) {
+ String l =
+ "drawImage(Image,AfflineTransform,ImageObserver):" +
+ "\n img = " + img +
+ "\n xform = " + xform +
+ "\n obs = " + obs;
+ log.println( l );
return g2D.drawImage( img, xform, obs );
}
- public void drawRenderableImage(RenderableImage img,
- AffineTransform xform)
- {
- System.out.println( "drawRenderableImage(RenderableImage, AfflineTransform):" );
- System.out.println( "img = " + img );
- System.out.println( "xform = " + xform );
+ public void drawRenderableImage(RenderableImage img, AffineTransform xform) {
+ String l =
+ "drawRenderableImage(RenderableImage, AfflineTransform):" +
+ "\n img = " + img +
+ "\n xform = " + xform;
+ log.println( l );
g2D.drawRenderableImage( img, xform );
}
- public void drawRenderedImage(RenderedImage img,
- AffineTransform xform)
- {
- System.out.println( "drawRenderedImage(RenderedImage, AffineTransform):" );
- System.out.println( "img = " + img );
- System.out.println( "xform = " + xform );
+ public void drawRenderedImage(RenderedImage img, AffineTransform xform) {
+ String l =
+ "drawRenderedImage(RenderedImage, AffineTransform):" +
+ "\n img = " + img +
+ "\n xform = " + xform;
+ log.println( l );
g2D.drawRenderedImage( img, xform );
}
- public void drawString(AttributedCharacterIterator iterator,
- float x, float y)
- {
- System.out.println( "drawString(AttributedCharacterIterator):" );
- System.out.println( "iterator = " + iterator );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
+ public void drawString(AttributedCharacterIterator iterator, float x, float y) {
+ String l =
+ "drawString(AttributedCharacterIterator):" +
+ "\n iterator = " + iterator +
+ "\n x = " + x +
+ "\n y = " + y;
+ log.println( l );
g2D.drawString( iterator, x, y );
}
-// public void drawString(AttributedCharacterIterator iterator,
-// int x, int y)
-// {
-// g2D.drawString( iterator, x, y );
-// }
-
- public void drawString(String s, float x, float y)
- {
- System.out.println( "drawString(s,x,y):" );
- System.out.println( "s = " + s );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
+ public void drawString(String s, float x, float y) {
+ String l =
+ "drawString(s,x,y):" +
+ "\n s = " + s +
+ "\n x = " + x +
+ "\n y = " + y;
+ log.println( l );
g2D.drawString( s, x, y );
}
-// public void drawString(String str, int x, int y)
-// {
-// g2D.drawString( str, x, y );
-// }
-
- public void fill(Shape s)
- {
- System.out.println( "fill(Shape):" );
- System.out.println( "s = " + s );
+ public void fill(Shape s) {
+ String l =
+ "fill(Shape):" +
+ "\n s = " + s;
+ log.println( l );
g2D.fill( s );
}
-// public void fill3DRect(int x, int y, int width, int height,
-// boolean raised) {
-// g2D.fill3DRect( x, y, width, height, raised );
-// }
-
- public Color getBackground()
- {
- System.out.println( "getBackground():" );
+ public Color getBackground() {
+ log.println( "getBackground():" );
return g2D.getBackground();
}
- public Composite getComposite()
- {
- System.out.println( "getComposite():" );
+ public Composite getComposite() {
+ log.println( "getComposite():" );
return g2D.getComposite();
}
- public GraphicsConfiguration getDeviceConfiguration()
- {
- System.out.println( "getDeviceConfiguration():" );
+ public GraphicsConfiguration getDeviceConfiguration() {
+ log.println( "getDeviceConfiguration():" );
return g2D.getDeviceConfiguration();
}
- public FontRenderContext getFontRenderContext()
- {
- System.out.println( "getFontRenderContext():" );
+ public FontRenderContext getFontRenderContext() {
+ log.println( "getFontRenderContext():" );
return g2D.getFontRenderContext();
}
- public Paint getPaint()
- {
- System.out.println( "getPaint():" );
+ public Paint getPaint() {
+ log.println( "getPaint():" );
return g2D.getPaint();
}
- public Object getRenderingHint(RenderingHints.Key hintKey)
- {
- System.out.println( "getRenderingHint(RenderingHints.Key):" );
- System.out.println( "hintKey = " + hintKey );
+ public Object getRenderingHint(RenderingHints.Key hintKey) {
+ String l =
+ "getRenderingHint(RenderingHints.Key):" +
+ "\n hintKey = " + hintKey;
+ log.println( l );
return g2D.getRenderingHint( hintKey );
}
- public RenderingHints getRenderingHints()
- {
- System.out.println( "getRenderingHints():" );
+ public RenderingHints getRenderingHints() {
+ log.println( "getRenderingHints():" );
return g2D.getRenderingHints();
}
- public Stroke getStroke()
- {
- System.out.println( "getStroke():" );
+ public Stroke getStroke() {
+ log.println( "getStroke():" );
return g2D.getStroke();
}
- public AffineTransform getTransform()
- {
- System.out.println( "getTransform():" );
+ public AffineTransform getTransform() {
+ log.println( "getTransform():" );
return g2D.getTransform();
}
- public boolean hit(Rectangle rect,
- Shape s,
- boolean onStroke)
- {
- System.out.println( "hit(Rectangle, Shape, onStroke):" );
- System.out.println( "rect = " + rect );
- System.out.println( "s = " + s );
- System.out.println( "onStroke = " + onStroke );
+ public boolean hit(Rectangle rect, Shape s, boolean onStroke) {
+ String l =
+ "hit(Rectangle, Shape, onStroke):" +
+ "\n rect = " + rect +
+ "\n s = " + s +
+ "\n onStroke = " + onStroke;
+ log.println( l );
return g2D.hit( rect, s, onStroke );
}
- public void rotate(double theta)
- {
- System.out.println( "rotate(theta):" );
- System.out.println( "theta = " + theta );
+ public void rotate(double theta) {
+ String l =
+ "rotate(theta):" +
+ "\n theta = " + theta;
+ log.println( l );
g2D.rotate( theta );
}
- public void rotate(double theta, double x, double y)
- {
- System.out.println( "rotate(double,double,double):" );
- System.out.println( "theta = " + theta );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
+ public void rotate(double theta, double x, double y) {
+ String l =
+ "rotate(double,double,double):" +
+ "\n theta = " + theta +
+ "\n x = " + x +
+ "\n y = " + y;
+ log.println( l );
g2D.rotate( theta, x, y );
}
- public void scale(double sx, double sy)
- {
- System.out.println( "scale(double,double):" );
- System.out.println( "sx = " + sx );
- System.out.println( "sy" );
+ public void scale(double sx, double sy) {
+ String l =
+ "scale(double,double):" +
+ "\n sx = " + sx +
+ "\n sy";
+ log.println( l );
g2D.scale( sx, sy );
}
- public void setBackground(Color color)
- {
- System.out.println( "setBackground(Color):" );
- System.out.println( "color = " + color );
+ public void setBackground(Color color) {
+ String l =
+ "setBackground(Color):" +
+ "\n color = " + color;
+ log.println( l );
g2D.setBackground( color );
}
- public void setComposite(Composite comp)
- {
- System.out.println( "setComposite(Composite):" );
- System.out.println( "comp = " + comp );
+ public void setComposite(Composite comp) {
+ String l =
+ "setComposite(Composite):" +
+ "\n comp = " + comp;
+ log.println( l );
g2D.setComposite( comp );
}
- public void setPaint( Paint paint )
- {
- System.out.println( "setPaint(Paint):" );
- System.out.println( "paint = " + paint );
+ public void setPaint( Paint paint ) {
+ String l =
+ "setPaint(Paint):" +
+ "\n paint = " + paint;
+ log.println( l );
g2D.setPaint( paint );
}
- public void setRenderingHint(RenderingHints.Key hintKey, Object hintValue)
- {
- System.out.println( "setRenderingHint(RenderingHints.Key, Object):" );
- System.out.println( "hintKey = " + hintKey );
- System.out.println( "hintValue = " + hintValue );
+ public void setRenderingHint(RenderingHints.Key hintKey, Object hintValue) {
+ String l =
+ "setRenderingHint(RenderingHints.Key, Object):" +
+ "\n hintKey = " + hintKey +
+ "\n hintValue = " + hintValue;
+ log.println( l );
g2D.setRenderingHint( hintKey, hintValue );
}
- public void setRenderingHints(Map<?,?> hints)
- {
- System.out.println( "setRenderingHints(Map):" );
- System.out.println( "hints = " + hints );
+ public void setRenderingHints(Map<?,?> hints) {
+ String l =
+ "setRenderingHints(Map):" +
+ "\n hints = " + hints;
+ log.println( l );
g2D.setRenderingHints( hints );
}
- public void setStroke(Stroke s)
- {
- System.out.println( "setStroke(Stoke):" );
+ public void setStroke(Stroke s) {
+ String l;
if (s instanceof BasicStroke) {
BasicStroke bs = (BasicStroke)s;
- StringBuilder str = new StringBuilder("s = BasicStroke(");
- str.append("dash[]: "+Arrays.toString(bs.getDashArray())+", ");
- str.append("dashPhase: "+bs.getDashPhase()+", ");
- str.append("endCap: "+bs.getEndCap()+", ");
- str.append("lineJoin: "+bs.getLineJoin()+", ");
- str.append("width: "+bs.getLineWidth()+", ");
- str.append("miterLimit: "+bs.getMiterLimit()+")");
- System.out.println(str.toString());
+ l = "setStroke(Stoke):" +
+ "\n s = BasicStroke(" +
+ "\n dash[]: "+Arrays.toString(bs.getDashArray()) +
+ "\n dashPhase: "+bs.getDashPhase() +
+ "\n endCap: "+bs.getEndCap() +
+ "\n lineJoin: "+bs.getLineJoin() +
+ "\n width: "+bs.getLineWidth() +
+ "\n miterLimit: "+bs.getMiterLimit() +
+ "\n )";
} else {
- System.out.println( "s = " + s );
+ l = "setStroke(Stoke):" +
+ "\n s = " + s;
}
+ log.println( l );
g2D.setStroke( s );
}
- public void setTransform(AffineTransform Tx)
- {
- System.out.println( "setTransform():" );
- System.out.println( "Tx = " + Tx );
+ public void setTransform(AffineTransform Tx) {
+ String l =
+ "setTransform():" +
+ "\n Tx = " + Tx;
+ log.println( l );
g2D.setTransform( Tx );
}
- public void shear(double shx, double shy)
- {
- System.out.println( "shear(shx, dhy):" );
- System.out.println( "shx = " + shx );
- System.out.println( "shy = " + shy );
+ public void shear(double shx, double shy) {
+ String l =
+ "shear(shx, dhy):" +
+ "\n shx = " + shx +
+ "\n shy = " + shy;
+ log.println( l );
g2D.shear( shx, shy );
}
- public void transform(AffineTransform Tx)
- {
- System.out.println( "transform(AffineTransform):" );
- System.out.println( "Tx = " + Tx );
+ public void transform(AffineTransform Tx) {
+ String l =
+ "transform(AffineTransform):" +
+ "\n Tx = " + Tx;
+ log.println( l );
g2D.transform( Tx );
}
- public void translate(double tx, double ty)
- {
- System.out.println( "translate(double, double):" );
- System.out.println( "tx = " + tx );
- System.out.println( "ty = " + ty );
+ public void translate(double tx, double ty) {
+ String l =
+ "translate(double, double):" +
+ "\n tx = " + tx +
+ "\n ty = " + ty;
+ log.println( l );
g2D.translate( tx, ty );
}
-// public void translate(int x, int y)
-// {
-// g2D.translate( x, y );
-// }
-
- public void clearRect(int x, int y, int width, int height)
- {
- System.out.println( "clearRect(int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
+ public void clearRect(int x, int y, int width, int height) {
+ String l =
+ "clearRect(int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height;
+ log.println( l );
g2D.clearRect( x, y, width, height );
}
- public void clipRect(int x, int y, int width, int height)
- {
- System.out.println( "clipRect(int, int, int, int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
+ public void clipRect(int x, int y, int width, int height) {
+ String l =
+ "clipRect(int, int, int, int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "height = " + height;
+ log.println( l );
g2D.clipRect( x, y, width, height );
}
- public void copyArea(int x, int y, int width, int height,
- int dx, int dy)
- {
- System.out.println( "copyArea(int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
+ public void copyArea(int x, int y, int width, int height, int dx, int dy) {
+ String l =
+ "copyArea(int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height;
+ log.println( l );
g2D.copyArea( x, y, width, height, dx, dy );
}
- public Graphics create()
- {
- System.out.println( "create():" );
+ public Graphics create() {
+ log.println( "create():" );
return g2D.create();
}
public Graphics create(int x, int y, int width, int height) {
- System.out.println( "create(int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
+ String l =
+ "create(int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height;
+ log.println( l );
return g2D.create( x, y, width, height );
}
- public void dispose()
- {
- System.out.println( "dispose():" );
+ public void dispose() {
+ log.println( "dispose():" );
g2D.dispose();
}
- public void draw3DRect(int x, int y, int width, int height,
- boolean raised) {
- System.out.println( "draw3DRect(int,int,int,int,boolean):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
- System.out.println( "raised = " + raised );
+ public void draw3DRect(int x, int y, int width, int height, boolean raised) {
+ String l =
+ "draw3DRect(int,int,int,int,boolean):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height +
+ "\n raised = " + raised;
+ log.println( l );
g2D.draw3DRect( x, y, width, height, raised );
}
- public void drawArc(int x, int y, int width, int height,
- int startAngle, int arcAngle)
- {
- System.out.println( "drawArc(int,int,int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
- System.out.println( "startAngle = " + startAngle );
- System.out.println( "arcAngle = " + arcAngle );
+ public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) {
+ String l =
+ "drawArc(int,int,int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height +
+ "\n startAngle = " + startAngle +
+ "\n arcAngle = " + arcAngle;
+ log.println( l );
g2D.drawArc( x, y, width, height, startAngle, arcAngle );
}
public void drawBytes(byte data[], int offset, int length, int x, int y) {
- System.out.println( "drawBytes(byte[],int,int,int,int):" );
- System.out.println( "data = " + Arrays.toString(data) );
- System.out.println( "offset = " + offset );
- System.out.println( "length = " + length );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
+ String l =
+ "drawBytes(byte[],int,int,int,int):" +
+ "\n data = " + Arrays.toString(data) +
+ "\n offset = " + offset +
+ "\n length = " + length +
+ "\n x = " + x +
+ "\n y = " + y;
+ log.println( l );
g2D.drawBytes( data, offset, length, x, y );
}
public void drawChars(char data[], int offset, int length, int x, int y) {
- System.out.println( "drawChars(data,int,int,int,int):" );
- System.out.println( "data = " + Arrays.toString(data) );
- System.out.println( "offset = " + offset );
- System.out.println( "length = " + length );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
+ String l =
+ "drawChars(data,int,int,int,int):" +
+ "\n data = " + Arrays.toString(data) +
+ "\n offset = " + offset +
+ "\n length = " + length +
+ "\n x = " + x +
+ "\n y = " + y;
+ log.println( l );
g2D.drawChars( data, offset, length, x, y );
}
- public boolean drawImage(Image img,
- int dx1, int dy1, int dx2, int dy2,
- int sx1, int sy1, int sx2, int sy2,
- ImageObserver observer)
- {
- System.out.println( "drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver):" );
- System.out.println( "img = " + img );
- System.out.println( "dx1 = " + dx1 );
- System.out.println( "dy1 = " + dy1 );
- System.out.println( "dx2 = " + dx2 );
- System.out.println( "dy2 = " + dy2 );
- System.out.println( "sx1 = " + sx1 );
- System.out.println( "sy1 = " + sy1 );
- System.out.println( "sx2 = " + sx2 );
- System.out.println( "sy2 = " + sy2 );
- System.out.println( "observer = " + observer );
+ public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer) {
+ String l =
+ "drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver):" +
+ "\n img = " + img +
+ "\n dx1 = " + dx1 +
+ "\n dy1 = " + dy1 +
+ "\n dx2 = " + dx2 +
+ "\n dy2 = " + dy2 +
+ "\n sx1 = " + sx1 +
+ "\n sy1 = " + sy1 +
+ "\n sx2 = " + sx2 +
+ "\n sy2 = " + sy2 +
+ "\n observer = " + observer;
+ log.println( l );
return g2D.drawImage( img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer );
}
- public boolean drawImage(Image img,
- int dx1, int dy1, int dx2, int dy2,
- int sx1, int sy1, int sx2, int sy2,
- Color bgcolor,
- ImageObserver observer)
- {
- System.out.println( "drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver):" );
- System.out.println( "img = " + img );
- System.out.println( "dx1 = " + dx1 );
- System.out.println( "dy1 = " + dy1 );
- System.out.println( "dx2 = " + dx2 );
- System.out.println( "dy2 = " + dy2 );
- System.out.println( "sx1 = " + sx1 );
- System.out.println( "sy1 = " + sy1 );
- System.out.println( "sx2 = " + sx2 );
- System.out.println( "sy2 = " + sy2 );
- System.out.println( "bgcolor = " + bgcolor );
- System.out.println( "observer = " + observer );
+ public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer) {
+ String l =
+ "drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver):" +
+ "\n img = " + img +
+ "\n dx1 = " + dx1 +
+ "\n dy1 = " + dy1 +
+ "\n dx2 = " + dx2 +
+ "\n dy2 = " + dy2 +
+ "\n sx1 = " + sx1 +
+ "\n sy1 = " + sy1 +
+ "\n sx2 = " + sx2 +
+ "\n sy2 = " + sy2 +
+ "\n bgcolor = " + bgcolor +
+ "\n observer = " + observer;
+ log.println( l );
return g2D.drawImage( img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, bgcolor, observer );
}
- public boolean drawImage(Image img, int x, int y,
- Color bgcolor,
- ImageObserver observer)
- {
- System.out.println( "drawImage(Image,int,int,Color,ImageObserver):" );
- System.out.println( "img = " + img );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "bgcolor = " + bgcolor );
- System.out.println( "observer = " + observer );
+ public boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer) {
+ String l =
+ "drawImage(Image,int,int,Color,ImageObserver):" +
+ "\n img = " + img +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n bgcolor = " + bgcolor +
+ "\n observer = " + observer;
+ log.println( l );
return g2D.drawImage( img, x, y, bgcolor, observer );
}
- public boolean drawImage(Image img, int x, int y,
- ImageObserver observer)
- {
- System.out.println( "drawImage(Image,int,int,observer):" );
- System.out.println( "img = " + img );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "observer = " + observer );
+ public boolean drawImage(Image img, int x, int y, ImageObserver observer) {
+ String l =
+ "drawImage(Image,int,int,observer):" +
+ "\n img = " + img +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n observer = " + observer;
+ log.println( l );
return g2D.drawImage( img, x, y, observer );
}
- public boolean drawImage(Image img, int x, int y,
- int width, int height,
- Color bgcolor,
- ImageObserver observer)
- {
- System.out.println( "drawImage(Image,int,int,int,int,Color,ImageObserver):" );
- System.out.println( "img = " + img );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
- System.out.println( "bgcolor = " + bgcolor );
- System.out.println( "observer = " + observer );
+ public boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer) {
+ String l =
+ "drawImage(Image,int,int,int,int,Color,ImageObserver):" +
+ "\n img = " + img +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height +
+ "\n bgcolor = " + bgcolor +
+ "\n observer = " + observer;
+ log.println( l );
return g2D.drawImage( img, x, y, width, height, bgcolor, observer );
}
- public boolean drawImage(Image img, int x, int y,
- int width, int height,
- ImageObserver observer)
- {
- System.out.println( "drawImage(Image,int,int,width,height,observer):" );
- System.out.println( "img = " + img );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
- System.out.println( "observer = " + observer );
+ public boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer) {
+ String l =
+ "drawImage(Image,int,int,width,height,observer):" +
+ "\n img = " + img +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height +
+ "\n observer = " + observer;
+ log.println( l );
return g2D.drawImage( img, x, y, width, height, observer );
}
- public void drawLine(int x1, int y1, int x2, int y2)
- {
- System.out.println( "drawLine(int,int,int,int):" );
- System.out.println( "x1 = " + x1 );
- System.out.println( "y1 = " + y1 );
- System.out.println( "x2 = " + x2 );
- System.out.println( "y2 = " + y2 );
+ public void drawLine(int x1, int y1, int x2, int y2) {
+ String l =
+ "drawLine(int,int,int,int):" +
+ "\n x1 = " + x1 +
+ "\n y1 = " + y1 +
+ "\n x2 = " + x2 +
+ "\n y2 = " + y2;
+ log.println( l );
g2D.drawLine( x1, y1, x2, y2 );
}
- public void drawOval(int x, int y, int width, int height)
- {
- System.out.println( "drawOval(int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
+ public void drawOval(int x, int y, int width, int height) {
+ String l =
+ "drawOval(int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height;
+ log.println( l );
g2D.drawOval( x, y, width, height );
}
public void drawPolygon(Polygon p) {
- System.out.println( "drawPolygon(Polygon):" );
- System.out.println( "p = " + p );
+ String l =
+ "drawPolygon(Polygon):" +
+ "\n p = " + p;
+ log.println( l );
g2D.drawPolygon( p );
}
- public void drawPolygon(int xPoints[], int yPoints[],
- int nPoints)
- {
- System.out.println( "drawPolygon(int[],int[],int):" );
- System.out.println( "xPoints = " + Arrays.toString(xPoints) );
- System.out.println( "yPoints = " + Arrays.toString(yPoints) );
- System.out.println( "nPoints = " + nPoints );
+ public void drawPolygon(int xPoints[], int yPoints[], int nPoints) {
+ String l =
+ "drawPolygon(int[],int[],int):" +
+ "\n xPoints = " + Arrays.toString(xPoints) +
+ "\n yPoints = " + Arrays.toString(yPoints) +
+ "\n nPoints = " + nPoints;
+ log.println( l );
g2D.drawPolygon( xPoints, yPoints, nPoints );
}
- public void drawPolyline(int xPoints[], int yPoints[],
- int nPoints)
- {
- System.out.println( "drawPolyline(int[],int[],int):" );
- System.out.println( "xPoints = " + Arrays.toString(xPoints) );
- System.out.println( "yPoints = " + Arrays.toString(yPoints) );
- System.out.println( "nPoints = " + nPoints );
+ public void drawPolyline(int xPoints[], int yPoints[], int nPoints) {
+ String l =
+ "drawPolyline(int[],int[],int):" +
+ "\n xPoints = " + Arrays.toString(xPoints) +
+ "\n yPoints = " + Arrays.toString(yPoints) +
+ "\n nPoints = " + nPoints;
+ log.println( l );
g2D.drawPolyline( xPoints, yPoints, nPoints );
}
public void drawRect(int x, int y, int width, int height) {
- System.out.println( "drawRect(int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
+ String l =
+ "drawRect(int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height;
+ log.println( l );
g2D.drawRect( x, y, width, height );
}
- public void drawRoundRect(int x, int y, int width, int height,
- int arcWidth, int arcHeight)
- {
- System.out.println( "drawRoundRect(int,int,int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
- System.out.println( "arcWidth = " + arcWidth );
- System.out.println( "arcHeight = " + arcHeight );
+ public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {
+ String l =
+ "drawRoundRect(int,int,int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height +
+ "\n arcWidth = " + arcWidth +
+ "\n arcHeight = " + arcHeight;
+ log.println( l );
g2D.drawRoundRect( x, y, width, height, arcWidth, arcHeight );
}
- public void drawString(AttributedCharacterIterator iterator,
- int x, int y)
- {
- System.out.println( "drawString(AttributedCharacterIterator,int,int):" );
- System.out.println( "iterator = " + iterator );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
+ public void drawString(AttributedCharacterIterator iterator, int x, int y) {
+ String l =
+ "drawString(AttributedCharacterIterator,int,int):" +
+ "\n iterator = " + iterator +
+ "\n x = " + x +
+ "\n y = " + y;
+ log.println( l );
g2D.drawString( iterator, x, y );
}
- public void drawString(String str, int x, int y)
- {
- System.out.println( "drawString(str,int,int):" );
- System.out.println( "str = " + str );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
+ public void drawString(String str, int x, int y) {
+ String l =
+ "drawString(str,int,int):" +
+ "\n str = " + str +
+ "\n x = " + x +
+ "\n y = " + y;
+ log.println( l );
g2D.drawString( str, x, y );
}
- public void fill3DRect(int x, int y, int width, int height,
- boolean raised) {
- System.out.println( "fill3DRect(int,int,int,int,boolean):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
- System.out.println( "raised = " + raised );
+ public void fill3DRect(int x, int y, int width, int height, boolean raised) {
+ String l =
+ "fill3DRect(int,int,int,int,boolean):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height +
+ "\n raised = " + raised;
+ log.println( l );
g2D.fill3DRect( x, y, width, height, raised );
}
- public void fillArc(int x, int y, int width, int height,
- int startAngle, int arcAngle)
- {
- System.out.println( "fillArc(int,int,int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
- System.out.println( "startAngle = " + startAngle );
- System.out.println( "arcAngle = " + arcAngle );
+ public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) {
+ String l =
+ "fillArc(int,int,int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height +
+ "\n startAngle = " + startAngle +
+ "\n arcAngle = " + arcAngle;
+ log.println( l );
g2D.fillArc( x, y, width, height, startAngle, arcAngle );
}
- public void fillOval(int x, int y, int width, int height)
- {
- System.out.println( "fillOval(int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
+ public void fillOval(int x, int y, int width, int height) {
+ String l =
+ "fillOval(int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height;
+ log.println( l );
g2D.fillOval( x, y, width, height );
}
public void fillPolygon(Polygon p) {
- System.out.println( "fillPolygon(Polygon):" );
- System.out.println( "p = " + p );
+ String l =
+ "fillPolygon(Polygon):" +
+ "\n p = " + p;
+ log.println( l );
g2D.fillPolygon( p );
}
- public void fillPolygon(int xPoints[], int yPoints[],
- int nPoints)
- {
- System.out.println( "fillPolygon(int[],int[],int):" );
- System.out.println( "xPoints = " + Arrays.toString(xPoints) );
- System.out.println( "yPoints = " + Arrays.toString(yPoints) );
- System.out.println( "nPoints = " + nPoints );
+ public void fillPolygon(int xPoints[], int yPoints[], int nPoints) {
+ String l =
+ "fillPolygon(int[],int[],int):" +
+ "\n xPoints = " + Arrays.toString(xPoints) +
+ "\n yPoints = " + Arrays.toString(yPoints) +
+ "\n nPoints = " + nPoints;
+ log.println( l );
g2D.fillPolygon( xPoints, yPoints, nPoints );
}
- public void fillRect(int x, int y, int width, int height)
- {
- System.out.println( "fillRect(int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
+ public void fillRect(int x, int y, int width, int height) {
+ String l =
+ "fillRect(int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height;
+ log.println( l );
g2D.fillRect( x, y, width, height );
}
- public void fillRoundRect(int x, int y, int width, int height,
- int arcWidth, int arcHeight)
- {
- System.out.println( "fillRoundRect(int,int,int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
+ public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {
+ String l =
+ "fillRoundRect(int,int,int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height;
+ log.println( l );
g2D.fillRoundRect( x, y, width, height, arcWidth, arcHeight );
}
public void finalize() {
- System.out.println( "finalize():" );
- g2D.finalize();
-
+ log.println( "finalize():" );
+ g2D.finalize(); // NOSOLAR
super.finalize();
}
- public Shape getClip()
- {
- System.out.println( "getClip():" );
+ public Shape getClip() {
+ log.println( "getClip():" );
return g2D.getClip();
}
- public Rectangle getClipBounds()
- {
- System.out.println( "getClipBounds():" );
+ public Rectangle getClipBounds() {
+ log.println( "getClipBounds():" );
return g2D.getClipBounds();
}
public Rectangle getClipBounds(Rectangle r) {
- System.out.println( "getClipBounds(Rectangle):" );
- System.out.println( "r = " + r );
+ String l =
+ "getClipBounds(Rectangle):" +
+ "\n r = " + r;
+ log.println( l );
return g2D.getClipBounds( r );
}
- public Color getColor()
- {
- System.out.println( "getColor():" );
+ public Color getColor() {
+ log.println( "getColor():" );
return g2D.getColor();
}
- public Font getFont()
- {
- System.out.println( "getFont():" );
+ public Font getFont() {
+ log.println( "getFont():" );
return g2D.getFont();
}
public FontMetrics getFontMetrics() {
- System.out.println( "getFontMetrics():" );
+ log.println( "getFontMetrics():" );
return g2D.getFontMetrics();
}
- public FontMetrics getFontMetrics(Font f)
- {
- System.out.println( "getFontMetrics():" );
+ public FontMetrics getFontMetrics(Font f) {
+ log.println( "getFontMetrics():" );
return g2D.getFontMetrics( f );
}
public boolean hitClip(int x, int y, int width, int height) {
- System.out.println( "hitClip(int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
+ String l =
+ "hitClip(int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height;
+ log.println( l );
return g2D.hitClip( x, y, width, height );
}
- public void setClip(Shape clip)
- {
- System.out.println( "setClip(Shape):" );
- System.out.println( "clip = " + clip );
+ public void setClip(Shape clip) {
+ String l =
+ "setClip(Shape):" +
+ "\n clip = " + clip;
+ log.println( l );
g2D.setClip( clip );
}
- public void setClip(int x, int y, int width, int height)
- {
- System.out.println( "setClip(int,int,int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
- System.out.println( "width = " + width );
- System.out.println( "height = " + height );
+ public void setClip(int x, int y, int width, int height) {
+ String l =
+ "setClip(int,int,int,int):" +
+ "\n x = " + x +
+ "\n y = " + y +
+ "\n width = " + width +
+ "\n height = " + height;
+ log.println( l );
g2D.setClip( x, y, width, height );
}
- public void setColor(Color c)
- {
- System.out.println( "setColor():" );
- System.out.println( "c = " + c );
+ public void setColor(Color c) {
+ String l =
+ "setColor():" +
+ "\n c = " + c;
+ log.println( l );
g2D.setColor( c );
}
- public void setFont(Font font)
- {
- System.out.println( "setFont(Font):" );
- System.out.println( "font = " + font );
+ public void setFont(Font font) {
+ String l =
+ "setFont(Font):" +
+ "\n font = " + font;
+ log.println( l );
g2D.setFont( font );
}
- public void setPaintMode()
- {
- System.out.println( "setPaintMode():" );
+ public void setPaintMode() {
+ log.println( "setPaintMode():" );
g2D.setPaintMode();
}
- public void setXORMode(Color c1)
- {
- System.out.println( "setXORMode(Color):" );
- System.out.println( "c1 = " + c1 );
+ public void setXORMode(Color c1) {
+ String l =
+ "setXORMode(Color):" +
+ "\n c1 = " + c1;
+ log.println( l );
g2D.setXORMode( c1 );
}
public String toString() {
- System.out.println( "toString():" );
+ log.println( "toString():" );
return g2D.toString();
}
- public void translate(int x, int y)
- {
- System.out.println( "translate(int,int):" );
- System.out.println( "x = " + x );
- System.out.println( "y = " + y );
+ public void translate(int x, int y) {
+ String l =
+ "translate(int,int):" +
+ "\n x = " + x +
+ "\n y = " + y;
+ log.println( l );
g2D.translate( x, y );
}
}
diff --git a/src/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java b/src/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java index 37e7616aea..fcfd23f178 100644 --- a/src/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java +++ b/src/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java @@ -20,13 +20,15 @@ package org.apache.poi.hssf.usermodel; import java.awt.Font; import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Map; import java.util.Properties; +import org.apache.poi.util.POILogFactory; +import org.apache.poi.util.POILogger; + /** * Allows the user to lookup the font metrics for a particular font without * actually having the font on the system. The font details are loaded as a @@ -35,11 +37,14 @@ import java.util.Properties; * font. Use a multiplier for other sizes. */ final class StaticFontMetrics { + private static final POILogger LOGGER = POILogFactory.getLogger(StaticFontMetrics.class); /** The font metrics property file we're using */ private static Properties fontMetricsProps; /** Our cache of font details we've already looked up */ - private static Map<String, FontDetails> fontDetailsMap = new HashMap<String, FontDetails>(); + private static final Map<String, FontDetails> fontDetailsMap = new HashMap<String, FontDetails>(); + private StaticFontMetrics() {} + /** * Retrieves the fake font details for a given font. * @@ -47,47 +52,15 @@ final class StaticFontMetrics { * the font to lookup. * @return the fake font. */ - public static FontDetails getFontDetails(Font font) { + public static synchronized FontDetails getFontDetails(Font font) { // If we haven't already identified out font metrics file, // figure out which one to use and load it if (fontMetricsProps == null) { - InputStream metricsIn = null; - try { - fontMetricsProps = new Properties(); - - // Check to see if the font metric file was specified - // as a system property - String propFileName = null; - try { - propFileName = System.getProperty("font.metrics.filename"); - } catch (SecurityException e) { - } - - if (propFileName != null) { - File file = new File(propFileName); - if (!file.exists()) - throw new FileNotFoundException( - "font_metrics.properties not found at path " - + file.getAbsolutePath()); - metricsIn = new FileInputStream(file); - } else { - // Use the built-in font metrics file off the classpath - metricsIn = FontDetails.class.getResourceAsStream("/font_metrics.properties"); - if (metricsIn == null) - throw new FileNotFoundException( - "font_metrics.properties not found in classpath"); - } - fontMetricsProps.load(metricsIn); - } catch (IOException e) { - throw new RuntimeException("Could not load font metrics: " + e.getMessage()); - } finally { - if (metricsIn != null) { - try { - metricsIn.close(); - } catch (IOException ignore) { - } - } - } + try { + fontMetricsProps = loadMetrics(); + } catch (IOException e) { + throw new RuntimeException("Could not load font metrics", e); + } } // Grab the base name of the font they've asked about @@ -97,28 +70,73 @@ final class StaticFontMetrics { // Others have different font instances for bold etc // (eg font.dialog.plain.* vs font.Californian FB Bold.*) String fontStyle = ""; - if (font.isPlain()) + if (font.isPlain()) { fontStyle += "plain"; - if (font.isBold()) + } + if (font.isBold()) { fontStyle += "bold"; - if (font.isItalic()) + } + if (font.isItalic()) { fontStyle += "italic"; + } // Do we have a definition for this font with just the name? // If not, check with the font style added - if (fontMetricsProps.get(FontDetails.buildFontHeightProperty(fontName)) == null - && fontMetricsProps.get(FontDetails.buildFontHeightProperty(fontName + "." - + fontStyle)) != null) { + String fontHeight = FontDetails.buildFontHeightProperty(fontName); + String styleHeight = FontDetails.buildFontHeightProperty(fontName + "." + fontStyle); + + if (fontMetricsProps.get(fontHeight) == null + && fontMetricsProps.get(styleHeight) != null) { // Need to add on the style to the font name fontName += "." + fontStyle; } // Get the details on this font - if (fontDetailsMap.get(fontName) == null) { - FontDetails fontDetails = FontDetails.create(fontName, fontMetricsProps); + FontDetails fontDetails = fontDetailsMap.get(fontName); + if (fontDetails == null) { + fontDetails = FontDetails.create(fontName, fontMetricsProps); fontDetailsMap.put(fontName, fontDetails); - return fontDetails; } - return fontDetailsMap.get(fontName); + return fontDetails; + } + + private static Properties loadMetrics() throws IOException { + // Check to see if the font metric file was specified + // as a system property + File propFile = null; + try { + String propFileName = System.getProperty("font.metrics.filename"); + if (propFileName != null) { + propFile = new File(propFileName); + if (!propFile.exists()) { + LOGGER.log(POILogger.WARN, "font_metrics.properties not found at path "+propFile.getAbsolutePath()); + propFile = null; + } + } + } catch (SecurityException e) { + LOGGER.log(POILogger.WARN, "Can't access font.metrics.filename system property", e); + } + + InputStream metricsIn = null; + try { + if (propFile != null) { + metricsIn = new FileInputStream(propFile); + } else { + // Use the built-in font metrics file off the classpath + metricsIn = FontDetails.class.getResourceAsStream("/font_metrics.properties"); + if (metricsIn == null) { + String err = "font_metrics.properties not found in classpath"; + throw new IOException(err); + } + } + + Properties props = new Properties(); + props.load(metricsIn); + return props; + } finally { + if (metricsIn != null) { + metricsIn.close(); + } + } } } diff --git a/src/java/org/apache/poi/ss/usermodel/FractionFormat.java b/src/java/org/apache/poi/ss/usermodel/FractionFormat.java index b371c4ec84..bd5c8c8fec 100644 --- a/src/java/org/apache/poi/ss/usermodel/FractionFormat.java +++ b/src/java/org/apache/poi/ss/usermodel/FractionFormat.java @@ -99,31 +99,33 @@ public class FractionFormat extends Format { public String format(Number num) {
- double doubleValue = num.doubleValue();
+ final double doubleValue = num.doubleValue();
- boolean isNeg = (doubleValue < 0.0f) ? true : false;
- double absDoubleValue = Math.abs(doubleValue);
+ final boolean isNeg = (doubleValue < 0.0f) ? true : false;
+ final double absDoubleValue = Math.abs(doubleValue);
- double wholePart = Math.floor(absDoubleValue);
- double decPart = absDoubleValue - wholePart;
+ final double wholePart = Math.floor(absDoubleValue);
+ final double decPart = absDoubleValue - wholePart;
if (wholePart + decPart == 0) {
return "0";
}
- //if the absolute value is smaller than 1 over the exact or maxDenom
- //you can stop here and return "0"
- if (absDoubleValue < (1/Math.max(exactDenom, maxDenom))){
- return "0";
- }
+ // if the absolute value is smaller than 1 over the exact or maxDenom
+ // you can stop here and return "0"
+ // reciprocal is result of an int devision ... and so it's nearly always 0
+ // double reciprocal = 1/Math.max(exactDenom, maxDenom);
+ // if (absDoubleValue < reciprocal) {
+ // return "0";
+ // }
//this is necessary to prevent overflow in the maxDenom calculation
- if (wholePart+(int)decPart == wholePart+decPart){
+ if (Double.compare(decPart, 0) == 0){
StringBuilder sb = new StringBuilder();
if (isNeg){
sb.append("-");
}
- sb.append(Integer.toString((int)wholePart));
+ sb.append((int)wholePart);
return sb.toString();
}
|