]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Fix or suppress 5- to 9-instance findbug warnings.
authorGlenn Adams <gadams@apache.org>
Sun, 10 Aug 2014 06:55:01 +0000 (06:55 +0000)
committerGlenn Adams <gadams@apache.org>
Sun, 10 Aug 2014 06:55:01 +0000 (06:55 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1617052 13f79535-47bb-0310-9956-ffa450edef68

74 files changed:
findbugs-exclude.xml
src/java/org/apache/fop/afp/AFPGraphics2D.java
src/java/org/apache/fop/afp/AFPPaintingState.java
src/java/org/apache/fop/afp/apps/FontPatternExtractor.java
src/java/org/apache/fop/afp/goca/GraphicsChainedSegment.java
src/java/org/apache/fop/afp/ioca/IDEStructureParameter.java
src/java/org/apache/fop/afp/modca/AbstractResourceGroupContainer.java
src/java/org/apache/fop/afp/modca/ObjectAreaPosition.java
src/java/org/apache/fop/afp/modca/ResourceEnvironmentGroup.java
src/java/org/apache/fop/area/Block.java
src/java/org/apache/fop/area/LineArea.java
src/java/org/apache/fop/area/LinkResolver.java
src/java/org/apache/fop/area/inline/AbstractTextArea.java
src/java/org/apache/fop/area/inline/InlineArea.java
src/java/org/apache/fop/area/inline/InlineParent.java
src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java
src/java/org/apache/fop/cli/CommandLineOptions.java
src/java/org/apache/fop/cli/Main.java
src/java/org/apache/fop/datatypes/URISpecification.java
src/java/org/apache/fop/datatypes/ValidationPercentBaseContext.java
src/java/org/apache/fop/fo/FOPropertyMapping.java
src/java/org/apache/fop/fo/NullCharIterator.java
src/java/org/apache/fop/fo/expr/PropertyTokenizer.java
src/java/org/apache/fop/fo/flow/Marker.java
src/java/org/apache/fop/fo/properties/ColorProperty.java
src/java/org/apache/fop/fo/properties/PropertyMaker.java
src/java/org/apache/fop/fonts/FontCache.java
src/java/org/apache/fop/fonts/FontReader.java
src/java/org/apache/fop/fonts/FontTriplet.java
src/java/org/apache/fop/fonts/apps/AbstractFontReader.java
src/java/org/apache/fop/fonts/apps/TTFReader.java
src/java/org/apache/fop/fonts/truetype/OFDirTabEntry.java
src/java/org/apache/fop/fonts/truetype/OTFFile.java
src/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java
src/java/org/apache/fop/fonts/truetype/OpenFont.java
src/java/org/apache/fop/fonts/type1/PFMFile.java
src/java/org/apache/fop/hyphenation/HyphenationTree.java
src/java/org/apache/fop/hyphenation/Hyphenator.java
src/java/org/apache/fop/layoutmgr/AbstractPageSequenceLayoutManager.java
src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java
src/java/org/apache/fop/layoutmgr/FlowLayoutManager.java
src/java/org/apache/fop/layoutmgr/list/ListItemContentLayoutManager.java
src/java/org/apache/fop/layoutmgr/table/CollapsingBorderModel.java
src/java/org/apache/fop/layoutmgr/table/TableCellLayoutManager.java
src/java/org/apache/fop/pdf/PDFGState.java
src/java/org/apache/fop/pdf/PDFPaintingState.java
src/java/org/apache/fop/pdf/PDFResources.java
src/java/org/apache/fop/render/afp/AFPRendererConfigurator.java
src/java/org/apache/fop/render/intermediate/IFRenderer.java
src/java/org/apache/fop/render/pcl/PCLGenerator.java
src/java/org/apache/fop/render/pcl/PCLGraphics2D.java
src/java/org/apache/fop/render/pcl/PCLRendererConfigurator.java
src/java/org/apache/fop/render/pdf/ImageRawJPEGAdapter.java
src/java/org/apache/fop/render/ps/PSDocumentHandler.java
src/java/org/apache/fop/render/ps/PSFontUtils.java
src/java/org/apache/fop/render/ps/PSImageUtils.java
src/java/org/apache/fop/render/ps/PSRendererConfigurator.java
src/java/org/apache/fop/render/ps/ResourceHandler.java
src/java/org/apache/fop/render/rtf/TextAttributesConverter.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfColorTable.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfFontManager.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfHeader.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfStyleSheetTable.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTemplate.java
src/java/org/apache/fop/render/txt/TXTRenderer.java
src/java/org/apache/fop/svg/GraphicsConfiguration.java
src/java/org/apache/fop/svg/PDFTextUtil.java
src/java/org/apache/fop/tools/TestConverter.java
src/java/org/apache/fop/tools/anttasks/FileCompare.java
src/java/org/apache/fop/tools/anttasks/RunTest.java
src/java/org/apache/fop/tools/fontlist/FontListMain.java
src/java/org/apache/fop/util/AbstractPaintingState.java
src/java/org/apache/fop/util/ColorUtil.java
src/java/org/apache/fop/util/QName.java

index 2deaa263f9ff020a5ede17ac24360d20627f3c61..246e7b0312b2cbe8704d2eaa030671e91507c767 100644 (file)
 <?xml version="1.0" encoding="utf-8"?>
 <FindBugsFilter>
+
+  <!--
+  !
+  ! This file is divided into two parts:
+  ! 1. APPROVED EXCLUSIONS
+  ! 2. TEMPORARY (UNAPPROVED) EXCLUSIONS
+  !
+  ! Approved exclusions come in two sub-types:
+  ! 1. general exclusion of a named bug pattern, meaning that all instances that matches the bug
+  !    pattern identifier are excluded;
+  ! 2. specific exclusions for a named bug pattern, meaning that all instance exclusions are
+  !    explicitly enumerated;
+  !
+  ! All specific exclusions must be accompanied inline (i.e., in the affected source code) by
+  ! a commented out annotation of the form:
+  !
+  ! // @SuppressFBWarnings("pattern identifier")
+  !
+  ! where pattern identifier is one of findbugs' named patterns. At an appropriate point in the
+  ! future, these commented out annotations will be uncommented and exclusion patterns removed
+  ! from this file.
+  !
+  ! Temporary (unapproved) exclusions are short-term work arounds that should be removed as
+  ! soon as possible by either (1) fixing (eliminating) cause of warning, or (2) conversion to
+  ! approved exclusion.
+  !
+  ! The organization of pattern matches employs the following levels (from top down):
+  ! 1. bug pattern
+  ! 2. or clause matching instances
+  ! 3. class name, if applies to class/interface
+  ! 4. and clause matching class/instance and single or or clause of multiple {method,field} members
+  !
+  ! for example,
+  !
+  ! <Match>
+  !   <Bug pattern="pattern identifier"/>
+  !   <Or>
+  !     <And>
+  !       <Class name="dotted class name"/>
+  !       <Member name="unqualified member name"/>
+  !     </And>
+  !   </Or>
+  ! </Match>
+  !
+  -->
+
+  <!-- START - APPROVED EXCLUSIONS -->
   <Match>
-    <!-- 131 warnings -->
-    <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    <Or>
+      <And>
+        <Class name="org.apache.fop.render.intermediate.IFGraphicContext"/>
+        <Method name="clone"/>
+      </And>
+    </Or>
+  </Match>
+  <Match>
+    <Bug pattern="DM_EXIT"/>
+    <Or>
+      <And>
+        <Class name="org.apache.fop.cli.CommandLineOptions"/>
+        <Or>
+          <Method name="parseCustomOutputOption"/>
+          <Method name="parseOptions"/>
+        </Or>
+      </And>
+      <And>
+        <Class name="org.apache.fop.cli.Main"/>
+        <Or>
+          <Method name="startFOP"/>
+          <Method name="startFOPWithDynamicClasspath"/>
+        </Or>
+      </And>
+      <And>
+        <Class name="org.apache.fop.tools.fontlist.FontListMain"/>
+        <Or>
+          <Method name="parseArguments"/>
+        </Or>
+      </And>
+    </Or>
   </Match>
   <Match>
-    <!-- 8 warnings -->
-    <Bug pattern="CI_CONFUSED_INHERITANCE"/>
+    <Bug pattern="EQ_ALWAYS_TRUE"/>
+    <Or>
+      <And>
+        <Class name="org.apache.fop.fo.properties.ToBeImplementedProperty"/>
+        <Method name="equals"/>
+      </And>
+    </Or>
   </Match>
   <Match>
-    <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    <Bug pattern="MS_EXPOSE_REP"/>
     <Or>
       <And>
-        <Class name="org.apache.fop.render.intermediate.IFGraphicContext"/>
-        <Method name="clone"/>
+        <Class name="org.apache.fop.fo.FOPropertyMapping"/>
+        <Method name="getGenericMappings"/>
+      </And>
+    </Or>
+  </Match>
+  <Match>
+    <Bug pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE"/>
+    <Or>
+      <Class name="org.apache.fop.apps.MimeConstants"/>
+      <Class name="org.apache.fop.events.EventListener"/>
+      <Class name="org.apache.fop.render.Graphics2DImagePainter"/>
+    </Or>
+  </Match>
+  <Match>
+    <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+    <Or>
+      <Class name="org.apache.fop.render.ps.PSFontUtils"/>
+      <Class name="org.apache.fop.render.ps.PSImageUtils"/>
+      <Class name="org.apache.fop.svg.GraphicsConfiguration"/>
+      <Class name="org.apache.fop.svg.PDFTextUtil"/>
+      <Class name="org.apache.fop.util.QName"/>
+    </Or>
+  </Match>
+  <Match>
+    <Bug pattern="SE_INNER_CLASS"/>
+    <Or>
+      <Class name="org.apache.fop.afp.AFPPaintingState$AFPData"/>
+      <Class name="org.apache.fop.area.inline.AbstractTextArea$TextAdjustingInfo"/>
+      <Class name="org.apache.fop.area.inline.InlineArea$InlineAdjustingInfo"/>
+      <Class name="org.apache.fop.area.LineArea$LineAdjustingInfo"/>
+      <Class name="org.apache.fop.pdf.PDFPaintingState$PDFData"/>
+      <Class name="org.apache.fop.util.AbstractPaintingState$StateStack"/>
+    </Or>
+  </Match>
+  <Match>
+    <Bug pattern="SF_SWITCH_FALLTHROUGH"/>
+    <Or>
+      <And>
+        <Class name="org.apache.fop.render.awt.viewer.PreviewPanel$Reloader"/>
+        <Method name="run"/>
       </And>
     </Or>
   </Match>
+  <!-- END - APPROVED EXCLUSIONS -->
+
+  <!-- START - TEMPORARY (UNAPPROVED) EXCLUSIONS -->
+  <Match>
+    <!-- 131 warnings -->
+    <Bug pattern="BC_UNCONFIRMED_CAST"/>
+  </Match>
   <Match>
     <!-- 15 warnings -->
     <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
     <!-- 29 warnings -->
     <Bug pattern="DM_CONVERT_CASE"/>
   </Match>
-  <Match>
-    <!-- 5 warnings -->
-    <Bug pattern="DM_EXIT"/>
-  </Match>
   <Match>
     <!-- 20 warnings -->
     <Bug pattern="DM_FP_NUMBER_CTOR"/>
     <!-- 55 warnings -->
     <Bug pattern="EI_EXPOSE_REP2"/>
   </Match>
-  <Match>
-    <Bug pattern="EQ_ALWAYS_TRUE"/>
-    <Or>
-      <And>
-        <Class name="org.apache.fop.fo.properties.ToBeImplementedProperty"/>
-        <Method name="equals"/>
-      </And>
-    </Or>
-  </Match>
   <Match>
     <!-- 12 warnings -->
     <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
   </Match>
-  <Match>
-    <!-- 6 warnings -->
-    <Bug pattern="ITA_INEFFICIENT_TO_ARRAY"/>
-  </Match>
-  <Match>
-    <!-- 9 warnings -->
-    <Bug pattern="LI_LAZY_INIT_STATIC"/>
-  </Match>
-  <Match>
-    <Bug pattern="MS_EXPOSE_REP"/>
-    <Or>
-      <And>
-        <Class name="org.apache.fop.fo.FOPropertyMapping"/>
-        <Method name="getGenericMappings"/>
-      </And>
-    </Or>
-  </Match>
   <Match>
     <!-- 12 warnings -->
     <Bug pattern="MS_OOI_PKGPROTECT"/>
     <!-- 11 warnings -->
     <Bug pattern="NM_CONFUSING"/>
   </Match>
-  <Match>
-    <Bug pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE"/>
-    <Or>
-      <Class name="org.apache.fop.apps.MimeConstants"/>
-      <Class name="org.apache.fop.events.EventListener"/>
-      <Class name="org.apache.fop.render.Graphics2DImagePainter"/>
-    </Or>
-  </Match>
-  <Match>
-    <!-- 5 warnings -->
-    <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
-  </Match>
   <Match>
     <!-- 46 warnings -->
     <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
     <!-- 23 warnings -->
     <Bug pattern="REC_CATCH_EXCEPTION"/>
   </Match>
-  <Match>
-    <!-- 8 warnings -->
-    <Bug pattern="RI_REDUNDANT_INTERFACES"/>
-  </Match>
   <Match>
     <!-- 11 warnings -->
     <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
     <!-- 33 warnings -->
     <Bug pattern="SE_BAD_FIELD"/>
   </Match>
-  <Match>
-    <!-- 6 warnings -->
-    <Bug pattern="SE_INNER_CLASS"/>
-  </Match>
-  <Match>
-    <!-- 9 warnings -->
-    <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/>
-  </Match>
-  <Match>
-    <Bug pattern="SF_SWITCH_FALLTHROUGH"/>
-    <Or>
-      <And>
-        <Class name="org.apache.fop.render.awt.viewer.PreviewPanel$Reloader"/>
-        <Method name="run"/>
-      </And>
-    </Or>
-  </Match>
   <Match>
     <!-- 21 warnings -->
     <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
     <!-- 20 warnings -->
     <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
   </Match>
-  <Match>
-    <!-- 5 warnings -->
-    <Bug pattern="SR_NOT_CHECKED"/>
-  </Match>
-  <Match>
-    <!-- 6 warnings -->
-    <Bug pattern="SS_SHOULD_BE_STATIC"/>
-  </Match>
-  <Match>
-    <!-- 8 warnings -->
-    <Bug pattern="UCF_USELESS_CONTROL_FLOW"/>
-  </Match>
-  <Match>
-    <!-- 6 warnings -->
-    <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
-  </Match>
   <Match>
     <!-- 12 warnings -->
     <Bug pattern="URF_UNREAD_FIELD"/>
     <!-- 58 warnings -->
     <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
   </Match>
-  <Match>
-    <!-- 5 warnings -->
-    <Bug pattern="UWF_UNWRITTEN_FIELD"/>
-  </Match>
-  <Match>
-    <!-- 6 warnings -->
-    <Bug pattern="WMI_WRONG_MAP_ITERATOR"/>
-  </Match>
+  <!-- END - TEMPORARY (UNAPPROVED) EXCLUSIONS -->
+
 </FindBugsFilter>
index 3fc70f3a47b6bfd6ecfbf3d04143c8ee7ad5a66e..f6db94458d5cdcb6e050b1482b7566d7fe04d62f 100644 (file)
@@ -32,7 +32,6 @@ import java.awt.Paint;
 import java.awt.Rectangle;
 import java.awt.Shape;
 import java.awt.Stroke;
-import java.awt.TexturePaint;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Ellipse2D;
 import java.awt.geom.Line2D;
@@ -333,14 +332,14 @@ public class AFPGraphics2D extends AbstractGraphics2D implements NativeImageHand
             return true;
         }
         LOG.debug("NYI: applyPaint() " + paint + " fill=" + fill);
-        if (paint instanceof TexturePaint) {
+//      if (paint instanceof TexturePaint) {
 //            TexturePaint texturePaint = (TexturePaint)paint;
 //            BufferedImage bufferedImage = texturePaint.getImage();
 //            AffineTransform at = paintingState.getTransform();
 //            int x = (int)Math.round(at.getTranslateX());
 //            int y = (int)Math.round(at.getTranslateY());
 //            drawImage(bufferedImage, x, y, null);
-        }
+//      }
         return false;
     }
 
index 5a606dfdf28efcc96c01d65f0d4db6c16efcae09..349ecc2dc9a968dd4d0e59b3fdd67d2dc0bb3705 100644 (file)
@@ -20,6 +20,8 @@
 package org.apache.fop.afp;
 
 import java.awt.Point;
+import java.io.IOException;
+import java.io.ObjectInputStream;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -34,8 +36,7 @@ import org.apache.fop.util.AbstractPaintingState;
  * This keeps information about the current painting state when writing to an
  * AFP datastream.
  */
-public class AFPPaintingState extends org.apache.fop.util.AbstractPaintingState implements
-        Cloneable {
+public class AFPPaintingState extends org.apache.fop.util.AbstractPaintingState {
 
     private static final long serialVersionUID = 8206711712452344473L;
 
@@ -57,7 +58,7 @@ public class AFPPaintingState extends org.apache.fop.util.AbstractPaintingState
     private float bitmapEncodingQuality;
 
     /** color image handler */
-    private transient ColorConverter colorConverter = GrayScaleColorConverter.getInstance();
+    private transient ColorConverter colorConverter;
 
     /**
      * true if certain image formats may be embedded unchanged in their native
@@ -98,13 +99,23 @@ public class AFPPaintingState extends org.apache.fop.util.AbstractPaintingState
     private boolean fs45;
 
     /** the current page */
-    private transient AFPPagePaintingState pagePaintingState = new AFPPagePaintingState();
+    private transient AFPPagePaintingState pagePaintingState;
 
     // /** reference orientation */
     // private int orientation = 0;
 
     /** a unit converter */
-    private final transient AFPUnitConverter unitConv = new AFPUnitConverter(this);
+    private final transient AFPUnitConverter unitConv;
+
+    public AFPPaintingState() {
+        colorConverter = GrayScaleColorConverter.getInstance();
+        pagePaintingState = new AFPPagePaintingState();
+        unitConv = new AFPUnitConverter(this);
+    }
+
+    private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
+        ois.defaultReadObject();
+    }
 
     /**
      * Sets the rotation to be used for portrait pages, valid values are 0
@@ -722,6 +733,7 @@ public class AFPPaintingState extends org.apache.fop.util.AbstractPaintingState
     /**
      * Block level state data
      */
+    // @SuppressFBWarnings("SE_INNER_CLASS")
     private class AFPData extends org.apache.fop.util.AbstractPaintingState.AbstractData {
         private static final long serialVersionUID = -1789481244175275686L;
 
index 66150dda3d2b46760ec7c111f5ae234dd9e68f5d..478c7dcd727e9c544c5c008a9a8f769db77ae610 100644 (file)
@@ -67,7 +67,9 @@ public class FontPatternExtractor {
             DataInputStream din = new DataInputStream(bin);
             long len = din.readInt() & 0xFFFFFFFFL;
             println("Length: " + len);
-            din.skip(4); //checksum
+            if (din.skip(4) != 4) { //checksum
+                throw new IOException("premature EOF when skipping checksum");
+            }
             int tidLen = din.readUnsignedShort() - 2;
             byte[] tid = new byte[tidLen];
             din.readFully(tid);
index 9db13995a576a53e119229e70e252e76d04605c6..5a5bab771a8f5a5027fc94a3fe83e1e651c52df4 100644 (file)
@@ -30,7 +30,7 @@ import org.apache.fop.afp.util.BinaryUtils;
 public final class GraphicsChainedSegment extends AbstractGraphicsDrawingOrderContainer {
 
     /** The maximum segment data length */
-    protected static final int MAX_DATA_LEN = 8192;
+    public static final int MAX_DATA_LEN = 8192;
 
     private byte[] predecessorNameBytes;
     private boolean appended;
index ba616def4b3530118b66a26fd6f7059fe989b95c..8256f986fc2438c214e242bd9b6070726497e989 100644 (file)
@@ -43,7 +43,7 @@ public class IDEStructureParameter implements Streamable {
     private boolean subtractive;
 
     /** setting for GRAYCODE flag */
-    private boolean grayCoding;
+    // private boolean grayCoding; // never written
 
     /** the image color model */
     private byte colorModel = COLOR_MODEL_RGB;
@@ -133,9 +133,11 @@ public class IDEStructureParameter implements Streamable {
         if (subtractive) {
             flags |= 1 << 7;
         }
+        /* graCoding is never written
         if (grayCoding) {
             flags |= 1 << 6;
         }
+        */
 
         DataOutputStream dout = new DataOutputStream(os);
         dout.writeByte(0x9B); //ID
index f52ede6526951172fc94a69cd3cfaf0ddf33313b..667faca80361c8e41eff5a0b7866432173baafc5 100644 (file)
@@ -26,14 +26,12 @@ import java.util.Iterator;
 
 import org.apache.fop.afp.Completable;
 import org.apache.fop.afp.Factory;
-import org.apache.fop.afp.Streamable;
 
 
 /**
  * An abstract container of resource objects
  */
-public abstract class AbstractResourceGroupContainer extends AbstractPageObject
-implements Streamable {
+public abstract class AbstractResourceGroupContainer extends AbstractPageObject {
 
     /** The container started state */
     protected boolean started;
index 8d8d7d951d0198ce7b1a4f13efcc5ae0eaad20fb..016d74107c3f9156ec26ee0a19a2daecaafa1bdc 100644 (file)
@@ -42,8 +42,8 @@ public class ObjectAreaPosition extends AbstractAFPObject {
     private final int x;
     private final int y;
     private final int rotation;
-    private int xOffset;
-    private int yOffset;
+    // private int xOffset; // never written
+    // private int yOffset; // never written
     private byte refCSys = 0x01; //Page or overlay coordinate system
 
     /**
@@ -108,12 +108,12 @@ public class ObjectAreaPosition extends AbstractAFPObject {
         byte yorient = (byte)(rotation / 2 + 45);
         data[19] = yorient; // YoaOrent
 
-        byte[] xoffset = BinaryUtils.convert(xOffset, 3);
+        byte[] xoffset = BinaryUtils.convert(/*xOffset*/ 0, 3);
         data[22] = xoffset[0]; // XocaOSet
         data[23] = xoffset[1];
         data[24] = xoffset[2];
 
-        byte[] yoffset = BinaryUtils.convert(yOffset, 3);
+        byte[] yoffset = BinaryUtils.convert(/*yOffset*/ 0, 3);
         data[25] = yoffset[0]; // YocaOSet
         data[26] = yoffset[1];
         data[27] = yoffset[2];
@@ -136,7 +136,7 @@ public class ObjectAreaPosition extends AbstractAFPObject {
             + ", y=" + y
             + ", rotation=" + rotation
             + ", rotation=" + rotation
-            + ", xOffset=" + xOffset
-            + ", yOffset=" + yOffset;
+            + ", xOffset=" + /*xOffset*/ 0
+            + ", yOffset=" + /*yOffset*/ 0;
     }
 }
index db9b5e1c904860fcde8b5b54fba7d76da299b876..db254273e82e7572dd38aece8ad683e27377f8f8 100644 (file)
@@ -21,7 +21,6 @@ package org.apache.fop.afp.modca;
 
 import java.io.IOException;
 import java.io.OutputStream;
-import java.util.List;
 
 import org.apache.fop.afp.Completable;
 
@@ -35,7 +34,8 @@ public class ResourceEnvironmentGroup extends AbstractEnvironmentGroup implement
     private static final String DEFAULT_NAME = "REG00001";
 
     /** the pre-process presentation objects contained in this resource environment group */
-    private List/*<PreprocessPresentationObject>*/ preProcessPresentationObjects;
+    // never written
+    // private List/*<PreprocessPresentationObject>*/ preProcessPresentationObjects;
 
     /** the resource environment group state */
     private boolean complete;
@@ -47,13 +47,15 @@ public class ResourceEnvironmentGroup extends AbstractEnvironmentGroup implement
         this(DEFAULT_NAME);
     }
 
-    private List/*<PreprocessPresentationObject>*/ getPreprocessPresentationObjects() {
+    /* not used
+    private List getPreprocessPresentationObjects() {
         if (preProcessPresentationObjects == null) {
             this.preProcessPresentationObjects
-                = new java.util.ArrayList/*<PreprocessPresentationObject>*/();
+                = new java.util.ArrayList();
         }
         return this.preProcessPresentationObjects;
     }
+    */
 
     /**
      * Constructor for the ResourceEnvironmentGroup, this takes a
@@ -92,7 +94,7 @@ public class ResourceEnvironmentGroup extends AbstractEnvironmentGroup implement
     protected void writeContent(OutputStream os) throws IOException {
         writeObjects(mapDataResources, os);
         writeObjects(mapPageOverlays, os);
-        writeObjects(preProcessPresentationObjects, os);
+        // writeObjects(preProcessPresentationObjects, os); always empty list
     }
 
     /** {@inheritDoc} */
index 337d1fb377203e1c74805c145c41b513fe13ecad..e04a5dc43697fff39183291db344d75ff89e0ce8 100644 (file)
 
 package org.apache.fop.area;
 
+import java.io.IOException;
+import java.io.ObjectInputStream;
 import java.util.Locale;
 
-
 // block areas hold either more block areas or line
 // areas can also be used as a block spacer
 // a block area may have children positioned by stacking
@@ -63,12 +64,20 @@ public class Block extends BlockParent {
     private int positioning = STACK;
 
     /** if true, allow BPD update */
-    protected transient boolean allowBPDUpdate = true;
+    protected transient boolean allowBPDUpdate;
 
     private Locale locale;
 
     private String location;
 
+    public Block() {
+        allowBPDUpdate = true;
+    }
+
+    private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
+        ois.defaultReadObject();
+    }
+
     /**
      * Add the block to this block area.
      *
index 8debd1e3d7e8726ff0bab12a023482b9ce3cf32f..3213eb588764363e60bb1cd3dad905c66f18f2e8 100644 (file)
@@ -44,6 +44,7 @@ public class LineArea extends Area {
      * that can be used in order to re-compute adjustement and / or indents when a
      * page-number or a page-number-citation is resolved
      */
+    // @SuppressFBWarnings("SE_INNER_CLASS")
     private final class LineAdjustingInfo implements Serializable {
 
         private static final long serialVersionUID = -6103629976229458273L;
index 0d5672e2bded722d2458d2fea84dac570004ff6f..a300bffa9635f5fd45a3800a33335c5e325e64d0 100644 (file)
@@ -19,6 +19,8 @@
 
 package org.apache.fop.area;
 
+import java.io.IOException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
@@ -35,6 +37,10 @@ public class LinkResolver implements Resolvable, Serializable {
     private Area area;
     private transient List<Resolvable> dependents;
 
+    public LinkResolver() {
+        this(null, null);
+    }
+
     /**
      * Create a new link resolver.
      *
@@ -46,6 +52,10 @@ public class LinkResolver implements Resolvable, Serializable {
         area = a;
     }
 
+    private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
+        ois.defaultReadObject();
+    }
+
     /**
      * @return true if this link is resolved
      */
index 0a4b2b504e6001c905d1bf45d4543f7acd5b4234..c2c4fe67b481439e97a5aa69b09fb1707b263332 100644 (file)
@@ -31,6 +31,7 @@ public abstract class AbstractTextArea extends InlineParent {
      * that can be used in order to re-compute adjustments when a
      * page-number or a page-number-citation is resolved
      */
+    // @SuppressFBWarnings("SE_INNER_CLASS")
     protected class TextAdjustingInfo extends InlineAdjustingInfo {
 
         private static final long serialVersionUID = -2412095162983479947L;
index 8994663a261bd9c018bbc86286062893f8d6e482..945d1ff4ea1a6d446ecd0e2fc0ddebc4e5cb0cb2 100644 (file)
@@ -41,6 +41,7 @@ public class InlineArea extends Area {
      * that can be used in order to re-compute adjustments when a
      * page-number or a page-number-citation is resolved
      */
+    // @SuppressFBWarnings("SE_INNER_CLASS")
     protected class InlineAdjustingInfo implements Serializable {
 
         private static final long serialVersionUID = -5601387735459712149L;
index c65c803c3bce0a22efa35372f9c176fdd6c11f3e..2e03f4d804144507ec7f7dedc024b1d9e9699f05 100644 (file)
@@ -19,6 +19,8 @@
 
 package org.apache.fop.area.inline;
 
+import java.io.IOException;
+import java.io.ObjectInputStream;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -51,6 +53,10 @@ public class InlineParent extends InlineArea {
      */
     private int maxAfterEdge;
 
+    private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
+        ois.defaultReadObject();
+    }
+
     @Override
     public void addChildArea(Area c) {
         assert c instanceof InlineArea;
index 64d79b53669bf35f4d7fc568ceaefb33f539f6f9..2d5845718ffa89691ee3b22eaf4ad28033d15616 100644 (file)
@@ -19,6 +19,8 @@
 
 package org.apache.fop.area.inline;
 
+import java.io.IOException;
+import java.io.ObjectInputStream;
 import java.util.List;
 
 import org.apache.fop.area.PageViewport;
@@ -49,6 +51,10 @@ public class UnresolvedPageNumber extends TextArea implements Resolvable {
     //Transient fields
     private transient Font font;
 
+    public UnresolvedPageNumber() {
+        this(null, null, FIRST);
+    }
+
     /**
      * Create a new unresolved page number.
      *
@@ -74,6 +80,10 @@ public class UnresolvedPageNumber extends TextArea implements Resolvable {
         pageType = type;
     }
 
+    private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
+        ois.defaultReadObject();
+    }
+
     /**
      * Get the id references for this area.
      *
index 325dc670326c32665d2092f8aa3cc8868bc88d20..6e9eeabdc75e70197404521c99e5287ba993bc12 100644 (file)
@@ -397,6 +397,7 @@ public class CommandLineOptions {
                 i = i + parseUnknownOption(args, i);
             } else {
                 printUsage(System.err);
+                // @SuppressFBWarnings("DM_EXIT")
                 System.exit(1);
             }
         }
@@ -702,6 +703,7 @@ public class CommandLineOptions {
                 for (int j = 0; j < mimes.length; j++) {
                     System.out.println("  " + mimes[j]);
                 }
+                // @SuppressFBWarnings("DM_EXIT")
                 System.exit(0);
             }
         }
index 648313efd6c6d0f7e9b032e8036a64cf44285c86..b4c294e6ed09e7cc39faa716ec041f8a83c7cbc7 100644 (file)
@@ -144,6 +144,7 @@ public final class Main {
         } catch (Exception e) {
             System.err.println("Unable to start FOP:");
             e.printStackTrace();
+            // @SuppressFBWarnings("DM_EXIT")
             System.exit(-1);
         }
     }
@@ -166,6 +167,7 @@ public final class Main {
         try {
             options = new CommandLineOptions();
             if (!options.parse(args)) {
+                // @SuppressFBWarnings("DM_EXIT")
                 System.exit(0);
             }
 
index b1a1d84d4c67702fde39c70f9ee39b4c27084037..9beb817d0acd0d92d3528b1f5531ed14bd6df140 100644 (file)
@@ -61,9 +61,11 @@ public final class URISpecification {
     private static final String PUNCT = ",;:$&+=";
     private static final String RESERVED = PUNCT + "?/[]@";
 
+    /* not used
     private static boolean isValidURIChar(char ch) {
         return true;
     }
+    */
 
     private static boolean isDigit(char ch) {
         return (ch >= '0' && ch <= '9');
index fe9caf5fe43b82fcb44821c938db6890de62e901..e13d7d9801aeb0a8562043299719fe9511dc7738 100644 (file)
@@ -47,13 +47,10 @@ public final class ValidationPercentBaseContext implements PercentBaseContext {
         return 100000;
     }
 
-    private static PercentBaseContext pseudoContextForValidation;
+    private static PercentBaseContext pseudoContextForValidation = new ValidationPercentBaseContext();
 
     /** @return a base context for validation purposes. See class description. */
     public static PercentBaseContext getPseudoContext() {
-        if (pseudoContextForValidation == null) {
-            pseudoContextForValidation = new ValidationPercentBaseContext();
-        }
         return pseudoContextForValidation;
     }
 
index 937fc62e36a6302a91ca45b55b3a82f269e7f047..b4c91da5a77b94ad7e3c147c30f65df7f8d32098 100644 (file)
@@ -287,62 +287,61 @@ public final class FOPropertyMapping implements Constants {
         return enums[enumValue];
     }
 
+    static {
+        /* this method was never called before */
+        generics = new PropertyMaker[PROPERTY_COUNT + 1];
+        FOPropertyMapping gp = new FOPropertyMapping();
+
+        /* Create the shorthand first. They are
+         * referenced by the real properties.
+         */
+        gp.createShorthandProperties();
+        gp.createGenerics();
+        gp.createAccessibilityProperties();
+        gp.createAbsolutePositionProperties();
+        gp.createAuralProperties();
+        gp.createBorderPaddingBackgroundProperties();
+        gp.createFontProperties();
+        gp.createHyphenationProperties();
+        gp.createMarginBlockProperties();
+        gp.createMarginInlineProperties();
+        gp.createRelativePosProperties();
+        gp.createAreaAlignmentProperties();
+        gp.createAreaDimensionProperties();
+        gp.createBlockAndLineProperties();
+        gp.createCharacterProperties();
+        gp.createColorProperties();
+        gp.createFloatProperties();
+        gp.createKeepsAndBreaksProperties();
+        gp.createLayoutProperties();
+        gp.createLeaderAndRuleProperties();
+        gp.createDynamicProperties();
+        gp.createMarkersProperties();
+        gp.createNumberToStringProperties();
+        gp.createPaginationAndLayoutProperties();
+        gp.createTableProperties();
+        gp.createWritingModeProperties();
+        gp.createMiscProperties();
+
+        // Hardcode the subproperties.
+        addSubpropMakerName("length", CP_LENGTH);
+        addSubpropMakerName("conditionality", CP_CONDITIONALITY);
+        addSubpropMakerName("block-progression-direction", CP_BLOCK_PROGRESSION_DIRECTION);
+        addSubpropMakerName("inline-progression-direction", CP_INLINE_PROGRESSION_DIRECTION);
+        addSubpropMakerName("within-line", CP_WITHIN_LINE);
+        addSubpropMakerName("within-column", CP_WITHIN_COLUMN);
+        addSubpropMakerName("within-page", CP_WITHIN_PAGE);
+        addSubpropMakerName("minimum", CP_MINIMUM);
+        addSubpropMakerName("maximum", CP_MAXIMUM);
+        addSubpropMakerName("optimum", CP_OPTIMUM);
+        addSubpropMakerName("precedence", CP_PRECEDENCE);
+    }
+
     /**
      * Return the array of Makers.
      * @return the maker array.
      */
     public static PropertyMaker[] getGenericMappings() {
-
-        if (generics == null) {
-            /* this method was never called before */
-            generics = new PropertyMaker[PROPERTY_COUNT + 1];
-            FOPropertyMapping gp = new FOPropertyMapping();
-
-            /* Create the shorthand first. They are
-             * referenced by the real properties.
-             */
-            gp.createShorthandProperties();
-            gp.createGenerics();
-            gp.createAccessibilityProperties();
-            gp.createAbsolutePositionProperties();
-            gp.createAuralProperties();
-            gp.createBorderPaddingBackgroundProperties();
-            gp.createFontProperties();
-            gp.createHyphenationProperties();
-            gp.createMarginBlockProperties();
-            gp.createMarginInlineProperties();
-            gp.createRelativePosProperties();
-            gp.createAreaAlignmentProperties();
-            gp.createAreaDimensionProperties();
-            gp.createBlockAndLineProperties();
-            gp.createCharacterProperties();
-            gp.createColorProperties();
-            gp.createFloatProperties();
-            gp.createKeepsAndBreaksProperties();
-            gp.createLayoutProperties();
-            gp.createLeaderAndRuleProperties();
-            gp.createDynamicProperties();
-            gp.createMarkersProperties();
-            gp.createNumberToStringProperties();
-            gp.createPaginationAndLayoutProperties();
-            gp.createTableProperties();
-            gp.createWritingModeProperties();
-            gp.createMiscProperties();
-
-            // Hardcode the subproperties.
-            addSubpropMakerName("length", CP_LENGTH);
-            addSubpropMakerName("conditionality", CP_CONDITIONALITY);
-            addSubpropMakerName("block-progression-direction", CP_BLOCK_PROGRESSION_DIRECTION);
-            addSubpropMakerName("inline-progression-direction", CP_INLINE_PROGRESSION_DIRECTION);
-            addSubpropMakerName("within-line", CP_WITHIN_LINE);
-            addSubpropMakerName("within-column", CP_WITHIN_COLUMN);
-            addSubpropMakerName("within-page", CP_WITHIN_PAGE);
-            addSubpropMakerName("minimum", CP_MINIMUM);
-            addSubpropMakerName("maximum", CP_MAXIMUM);
-            addSubpropMakerName("optimum", CP_OPTIMUM);
-            addSubpropMakerName("precedence", CP_PRECEDENCE);
-        }
-
         // @SuppressFBWarnings("MS_EXPOSE_REP")
         return generics;
     }
index db872caec78b00462d0b746cbe665ff0e388c305..0c796fe734c811852a0dab40acf776f4c611b4da 100644 (file)
@@ -26,16 +26,13 @@ import java.util.NoSuchElementException;
  */
 public class NullCharIterator extends CharIterator {
 
-    private static CharIterator instance;
+    private static CharIterator instance = new NullCharIterator();
 
     /**
      * Obtain the singleton instance of the null character iterator.
      * @return the char iterator
      */
     public static CharIterator getInstance() {
-        if (instance == null) {
-            instance = new NullCharIterator();
-        }
         return instance;
     }
 
index a4438d1bd2dba10b8c0a171829a0bc72c8f9d552..f9b4cd87d992b62bd9a495efa040dda9dabdad2f 100644 (file)
@@ -333,6 +333,7 @@ class PropertyTokenizer {
      * as defined by XSL (space, newline, CR, tab).
      * @param c The character to check
      */
+    /* not used
     private static boolean isSpace(char c) {
         switch (c) {
         case ' ':
@@ -344,6 +345,7 @@ class PropertyTokenizer {
             return false;
         }
     }
+    */
 
     /**
      * Return a  boolean value indicating whether the argument is a valid name
index 8abf3d992ae0faf6322641b0a411b07cc7fbac4c..4a2ea64fc9feb5fbbc3953cb1dda3b84da380b59 100644 (file)
@@ -361,13 +361,13 @@ public class Marker extends FObjMixed {
                 = new PropertyCache<MarkerAttribute>();
 
         /** namespace */
-        protected String namespace;
+        private String namespace;
         /** qualfied name */
-        protected String qname;
+        private String qname;
         /** local name */
-        protected String name;
+        private String name;
         /** value */
-        protected String value;
+        private String value;
 
         /**
          * Main constructor
index f577cbeec97eccfbdda270ae3b1f3c7da32ab399..131c5a6929016eecf7dd251d611fcc080fd16826 100644 (file)
@@ -38,7 +38,7 @@ public final class ColorProperty extends Property  {
     /**
      * The color represented by this property.
      */
-    protected final Color color;
+    private final Color color;
 
 
     /**
index 845b79a1dc6fc74a2446abc9b7a3c302976690d2..a315944b17a9b2b6a88f21eaa7f52eddff8a1e81 100644 (file)
@@ -510,12 +510,6 @@ public class PropertyMaker implements Cloneable {
                 }
             }
         }
-        if (pret != null) {
-            /*
-             * log.debug("Return shorthand value " + pret.getString() +
-             * " for " + getPropName());
-             */
-        }
         return pret;
     }
 
index 9134cf70296cd84cd0fe45a7c46606c1ede06461..1f5b96b808caca8314e0ce70781f7f8fb7754b65 100644 (file)
@@ -84,11 +84,8 @@ public final class FontCache implements Serializable {
      */
     private Map<String, Long> failedFontMap;
 
-    /**
-     * Default constructor
-     */
-    public FontCache() {
-        //nop
+    private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
+        ois.defaultReadObject();
     }
 
     private static File getUserHome() {
index bd64a7595281cc0402b5eba69a9502f81b7211c3..9f5d543966edd9a6cbe3b916d60475191509ce86 100644 (file)
@@ -294,7 +294,7 @@ public class FontReader extends DefaultHandler {
             multiFont.setWidthArray(wds);
 
         } else if ("bfranges".equals(localName)) {
-            multiFont.setCMap(bfranges.toArray(new CMapSegment[0]));
+            multiFont.setCMap(bfranges.toArray(new CMapSegment[bfranges.size()]));
         }
         text.setLength(0); //Reset text buffer (see characters())
     }
index 9392cc8b96958d3aee31d7d3bcaa3279b9ff4cec..a9728428a74afb0b72ab1e4896855caa40a6bbe9 100644 (file)
@@ -19,6 +19,8 @@
 
 package org.apache.fop.fonts;
 
+import java.io.IOException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 
 
@@ -41,6 +43,10 @@ public class FontTriplet implements Comparable<FontTriplet>, Serializable {
     //This is only a cache
     private transient String key;
 
+    public FontTriplet() {
+        this(null, null, 0);
+    }
+
     /**
      * Creates a new font triplet.
      * @param name font name
@@ -65,6 +71,10 @@ public class FontTriplet implements Comparable<FontTriplet>, Serializable {
         this.priority = priority;
     }
 
+    private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
+        ois.defaultReadObject();
+    }
+
     /** @return the font name */
     public String getName() {
         return name;
index 3da33ec3f837605f6df98ae3f63cad0e951618d8..4aa9b77a2e4942460815c8a77c74b3003a5429f9 100644 (file)
@@ -38,18 +38,12 @@ import org.apache.commons.logging.LogFactory;
 public abstract class AbstractFontReader {
 
     /** Logger instance */
-    protected static Log log;
+    protected static final Log log = LogFactory.getLog(AbstractFontReader.class);
 
     /**
      * Main constructor.
      */
     protected AbstractFontReader() {
-        // Create logger if necessary here to allow embedding of TTFReader in
-        // other applications. There is a possible but harmless synchronization
-        // issue.
-        if (log == null) {
-            log = LogFactory.getLog(AbstractFontReader.class);
-        }
     }
 
     /**
@@ -78,7 +72,7 @@ public abstract class AbstractFontReader {
                 arguments.add(args[i]);
             }
         }
-        return (String[])arguments.toArray(new String[0]);
+        return (String[])arguments.toArray(new String[arguments.size()]);
     }
 
     /**
index 12fc638b40f60f9456479440a012a47f4ad1d5bb..6f80fd098a0041c2f3586617da4fdc74091c8e67 100644 (file)
@@ -462,11 +462,12 @@ public class TTFReader extends AbstractFontReader {
                 h2 = ttf.getAnsiKerning().get(kpx1);
             }
 
-            for (Integer kpx2 : h2.keySet()) {
+            for (Map.Entry<Integer, Integer> e : h2.entrySet()) {
+                Integer kpx2 = e.getKey();
                 if (isCid || kpx2.intValue() < 256) {
                     el2 = doc.createElement("pair");
                     el2.setAttribute("kpx2", kpx2.toString());
-                    Integer val = h2.get(kpx2);
+                    Integer val = e.getValue();
                     el2.setAttribute("kern", val.toString());
                     el.appendChild(el2);
                 }
index d9c6f3b3a38ba0cd36845ea0d4a57ebb4e4e34c1..0e468eb7b3fe05f707323f98886c4dddab6deba9 100644 (file)
@@ -54,8 +54,7 @@ public class OFDirTabEntry {
         tag[2] = in.readTTFByte();
         tag[3] = in.readTTFByte();
 
-        in.skip(4);    // Skip checksum
-
+        checksum = in.readTTFLong();
         offset = in.readTTFULong();
         length = in.readTTFULong();
 
index 57d875f9c3e07a3bf89669eca239b1e498882950..1ac7a565e5c6cadc2b04d5e463bfc930ff090697 100644 (file)
@@ -53,7 +53,7 @@ public class OTFFile extends OpenFont {
     protected void updateBBoxAndOffset() throws IOException {
         List<Mapping> gidMappings = getGIDMappings(fileFont);
         Map<Integer, String> sidNames = constructNameMap(gidMappings);
-        UnicodeMapping[] mappings = unicodeMappings.toArray(new UnicodeMapping[0]);
+        UnicodeMapping[] mappings = unicodeMappings.toArray(new UnicodeMapping[unicodeMappings.size()]);
         for (int i = 0; i < mappings.length; i++) {
             int glyphIdx = mappings[i].getGlyphIndex();
             Mapping m = gidMappings.get(glyphIdx);
index caace37bc933199c81b5f03d6d427c9a2727ef11..34e1ebb6ceb5d14dcb642742fbb5339c839fb572 100644 (file)
@@ -29,6 +29,7 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Set;
 
 import org.apache.fontbox.cff.CFFStandardString;
 import org.apache.fontbox.cff.encoding.CFFEncoding;
@@ -386,7 +387,8 @@ public class OTFSubSetFile extends OTFFile {
 
             List<Integer> uniqueGroups = new ArrayList<Integer>();
             for (int gid : subsetGlyphs.keySet()) {
-                Integer[] ranges = fdSelect.getRanges().keySet().toArray(new Integer[0]);
+                Set<Integer> rangeKeys = fdSelect.getRanges().keySet();
+                Integer[] ranges = rangeKeys.toArray(new Integer[rangeKeys.size()]);
                 for (int i = 0; i < ranges.length; i++) {
                     int nextRange = -1;
                     if (i < ranges.length - 1) {
index b0288b9980042f4e0580385127158b8a782de332..b736c9968fbdf6887c823b3b5c16729f1e3eba5c 100644 (file)
@@ -641,6 +641,7 @@ public abstract class OpenFont {
     /**
      * Print first char/last char
      */
+    /* not used
     private void printMaxMin() {
         int min = 255;
         int max = 0;
@@ -655,6 +656,7 @@ public abstract class OpenFont {
         log.info("Min: " + min);
         log.info("Max: " + max);
     }
+    */
 
 
     /**
@@ -1606,9 +1608,10 @@ public abstract class OpenFont {
                 Map<Integer, Integer> akpx = new HashMap<Integer, Integer>();
                 Map<Integer, Integer> ckpx = kerningTab.get(unicodeKey1);
 
-                for (Integer unicodeKey2 : ckpx.keySet()) {
+                for (Map.Entry<Integer, Integer> e : ckpx.entrySet()) {
+                    Integer unicodeKey2 = e.getKey();
                     Integer cidKey2 = unicodeToGlyph(unicodeKey2.intValue());
-                    Integer kern = ckpx.get(unicodeKey2);
+                    Integer kern = e.getValue();
 
                     Iterator uniMap = mtxTab[cidKey2.intValue()].getUnicodeIndex().listIterator();
                     while (uniMap.hasNext()) {
@@ -1828,7 +1831,7 @@ public abstract class OpenFont {
                 ret.add(new Integer(i));
             }
         }
-        return ret.toArray(new Integer[0]);
+        return ret.toArray(new Integer[ret.size()]);
     }
 
     /**
index a2d384e7fbba6e4fda9a2798b139915b2041505d..8856fdb7f6b42332fb4ff81b2c22ac023bdb591c 100644 (file)
@@ -118,26 +118,38 @@ public class PFMFile {
      * @throws IOException In case of an I/O problem
      */
     private void loadHeader(PFMInputStream inStream) throws IOException {
-        inStream.skip(80);
+        if (inStream.skip(80) != 80) {
+            throw new IOException("premature EOF when skipping 80 bytes");
+        }
         dfItalic = inStream.readByte();
-        inStream.skip(2);
+        if (inStream.skip(2) != 2) {
+            throw new IOException("premature EOF when skipping 2 bytes");
+        }
         inStream.readShort(); // dfWeight =
         dfCharSet = inStream.readByte();
-        inStream.skip(4);
+        if (inStream.skip(4) != 4) {
+            throw new IOException("premature EOF when skipping 4 bytes");
+        }
         dfPitchAndFamily = inStream.readByte();
         dfAvgWidth = inStream.readShort();
         dfMaxWidth = inStream.readShort();
         dfFirstChar = inStream.readByte();
         dfLastChar = inStream.readByte();
-        inStream.skip(8);
+        if (inStream.skip(8) != 8) {
+            throw new IOException("premature EOF when skipping 8 bytes");
+        }
         long faceOffset = inStream.readInt();
 
         inStream.reset();
-        inStream.skip(faceOffset);
+        if (inStream.skip(faceOffset) != faceOffset) {
+            throw new IOException("premature EOF when skipping faceOffset bytes");
+        }
         windowsName = inStream.readString();
 
         inStream.reset();
-        inStream.skip(117);
+        if (inStream.skip(117) != 117) {
+            throw new IOException("premature EOF when skipping 117 bytes");
+        }
     }
 
     /**
@@ -153,29 +165,41 @@ public class PFMFile {
         }
         final long extMetricsOffset = inStream.readInt();
         final long extentTableOffset = inStream.readInt();
-        inStream.skip(4); //Skip dfOriginTable
+        if (inStream.skip(4) != 4) { //Skip dfOriginTable
+            throw new IOException("premature EOF when skipping dfOriginTable bytes");
+        }
         final long kernPairOffset = inStream.readInt();
-        inStream.skip(4); //Skip dfTrackKernTable
+        if (inStream.skip(4) != 4) { //Skip dfTrackKernTable
+            throw new IOException("premature EOF when skipping dfTrackKernTable bytes");
+        }
         long driverInfoOffset = inStream.readInt();
 
         if (kernPairOffset > 0) {
             inStream.reset();
-            inStream.skip(kernPairOffset);
+            if (inStream.skip(kernPairOffset) != kernPairOffset) {
+                throw new IOException("premature EOF when skipping kernPairOffset bytes");
+            }
             loadKernPairs(inStream);
         }
 
         inStream.reset();
-        inStream.skip(driverInfoOffset);
+        if (inStream.skip(driverInfoOffset) != driverInfoOffset) {
+            throw new IOException("premature EOF when skipping driverInfoOffset bytes");
+        }
         postscriptName = inStream.readString();
 
         if (extMetricsOffset != 0) {
             inStream.reset();
-            inStream.skip(extMetricsOffset);
+            if (inStream.skip(extMetricsOffset) != extMetricsOffset) {
+                throw new IOException("premature EOF when skipping extMetricsOffset bytes");
+            }
             loadExtMetrics(inStream);
         }
         if (extentTableOffset != 0) {
             inStream.reset();
-            inStream.skip(extentTableOffset);
+            if (inStream.skip(extentTableOffset) != extentTableOffset) {
+                throw new IOException("premature EOF when skipping extentTableOffset bytes");
+            }
             loadExtentTable(inStream);
         }
 
@@ -231,8 +255,10 @@ public class PFMFile {
             log.warn("Size of extension block was expected to be "
                 + "52 bytes, but was " + size + " bytes.");
         }
-        inStream.skip(12); //Skip etmPointSize, etmOrientation, etmMasterHeight,
-                           //etmMinScale, etmMaxScale, emtMasterUnits
+        if (inStream.skip(12) != 12) { //Skip etmPointSize, etmOrientation, etmMasterHeight,
+                                       //etmMinScale, etmMaxScale, emtMasterUnits
+            throw new IOException("premature EOF when skipping etmPointSize, ... bytes");
+        }
         etmCapHeight = inStream.readShort();
         etmXHeight = inStream.readShort();
         etmLowerCaseAscent = inStream.readShort();
index 24730a529bd212572e470800babd962c0647d911..f61e8a11a4ff105c15bcc7b871ee9eeef78bac4c 100644 (file)
@@ -27,7 +27,6 @@ import java.io.FileReader;
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
-import java.io.Serializable;
 import java.net.MalformedURLException;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -45,8 +44,7 @@ import org.apache.commons.io.IOUtils;
  *
  * <p>This work was authored by Carlos Villegas (cav@uniscope.co.jp).</p>
  */
-public class HyphenationTree extends TernaryTree
-            implements PatternConsumer, Serializable {
+public class HyphenationTree extends TernaryTree implements PatternConsumer {
 
     private static final long serialVersionUID = -7842107987915665573L;
 
@@ -78,6 +76,10 @@ public class HyphenationTree extends TernaryTree
         vspace.alloc(1);    // this reserves index 0, which we don't use
     }
 
+    private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
+        ois.defaultReadObject();
+    }
+
     /**
      * Packs the values by storing them in 4 bits, two values into a byte
      * Values range is from 0 to 9. We use zero as terminator,
index 90848cd69bba6f3d69e041c60068889207ae5e61..48af67d09152944bc3825629098864fbb2a90db9 100644 (file)
@@ -43,7 +43,7 @@ import org.apache.fop.apps.io.InternalResourceResolver;
 public final class Hyphenator {
 
     /** logging instance */
-    protected static final Log log = LogFactory.getLog(Hyphenator.class);
+    private static final Log log = LogFactory.getLog(Hyphenator.class);
 
     private static HyphenationTreeCache hTreeCache;
 
index a1a2735a2973ed16d97db1e2e97137eb21f86cc9..7faa0565ecb7828413f663840c9530de801c3ec0 100644 (file)
@@ -376,9 +376,9 @@ public abstract class AbstractPageSequenceLayoutManager extends AbstractLayoutMa
             if (currentPageNum % 2 == 0) { // we are now on an even page
                 curPage = makeNewPage(true);
             }
-        } else if (forcePageCount == Constants.EN_NO_FORCE) {
+        } /*  else if (forcePageCount == Constants.EN_NO_FORCE) {
             // i hope: nothing special at all
-        }
+        } */
 
         if (curPage != null) {
             finishPage();
index 250e0772766e3d1993bc15df35dc6f29c7dc5b76..21dcf9ea9b2e1599c1fbb226029c22e0862b2d55 100644 (file)
@@ -141,9 +141,9 @@ public abstract class BlockStackingLayoutManager extends AbstractLayoutManager
     protected void addChildToArea(Area childArea,
                                      BlockParent parentArea) {
         // This should be a block-level Area (Block in the generic sense)
-        if (!(childArea instanceof Block)) {
+        /* if (!(childArea instanceof Block)) {
             //log.error("Child not a Block in BlockStackingLM!");
-        }
+        } */
 
         parentArea.addBlock((Block) childArea);
         flush(); // hand off current area to parent
index 75c61b94f79f944d3167000eb91c0bd7015d15d5..d37f3b021d0ac2afa49488591c8587c46783dc38 100644 (file)
@@ -39,8 +39,7 @@ import org.apache.fop.util.ListUtil;
  * and filling them with block-level areas generated by its children.
  * TODO Reintroduce emergency counter (generate error to avoid endless loop)
  */
-public class FlowLayoutManager extends BlockStackingLayoutManager
-                               implements BlockLevelLayoutManager {
+public class FlowLayoutManager extends BlockStackingLayoutManager {
 
     /**
      * logging instance
index b16c9dfc47fc02b83bf52dc9e7fbdf14b9feea6c..108402cfa3c50fd177b629f391cb2105ae101730 100644 (file)
@@ -48,7 +48,7 @@ public class ListItemContentLayoutManager extends BlockStackingLayoutManager imp
     private Block curBlockArea;
 
     private int xOffset;
-    private int itemIPD;
+    // private int itemIPD; // FIXME: never written!
 
     /**
      * Create a new Cell layout manager.
@@ -178,8 +178,8 @@ public class ListItemContentLayoutManager extends BlockStackingLayoutManager imp
             curBlockArea.setPositioning(Block.ABSOLUTE);
             // set position
             curBlockArea.setXOffset(xOffset);
-            //TODO: Check - itemIPD never set?
-            curBlockArea.setIPD(itemIPD);
+            // FIXME - itemIPD is never written!
+            curBlockArea.setIPD(/*itemIPD*/0);
             //curBlockArea.setHeight();
             curBlockArea.setBidiLevel(getPartFO().getBidiLevel());
 
index a4c8570e8f6ed1fd8272c3b3f53be98003984e8e..28cd073e85c833e9a17411685709671396fdb40a 100644 (file)
@@ -47,8 +47,7 @@ public abstract class CollapsingBorderModel {
     /** Indicates that the cell is/end in the last row of a body/table-header/table-footer */
     //public static final int LAST_ROW_IN_GROUP       = 8;
 
-    //These statics are used singleton-style. No MT issues here.
-    private static CollapsingBorderModel collapse;
+    private static CollapsingBorderModel collapse = new CollapsingBorderModelEyeCatching();
     // private static CollapsingBorderModel collapseWithPrecedence = null;
 
     /**
@@ -58,9 +57,6 @@ public abstract class CollapsingBorderModel {
     public static CollapsingBorderModel getBorderModelFor(int borderCollapse) {
         switch (borderCollapse) {
             case Constants.EN_COLLAPSE:
-                if (collapse == null) {
-                    collapse = new CollapsingBorderModelEyeCatching();
-                }
                 return collapse;
             case Constants.EN_COLLAPSE_WITH_PRECEDENCE:
                 throw new UnsupportedOperationException("collapse-with-precedence not yet supported");
index b2851c1b01dd7df0b2176e80435c86e29cadd177..b8d5c063aa91e52b0641cf835fe47171a73d252d 100644 (file)
@@ -44,7 +44,6 @@ import org.apache.fop.fo.properties.CommonBorderPaddingBackground;
 import org.apache.fop.fo.properties.CommonBorderPaddingBackground.BorderInfo;
 import org.apache.fop.layoutmgr.AbstractLayoutManager;
 import org.apache.fop.layoutmgr.AreaAdditionUtil;
-import org.apache.fop.layoutmgr.BlockLevelLayoutManager;
 import org.apache.fop.layoutmgr.BlockStackingLayoutManager;
 import org.apache.fop.layoutmgr.ElementListObserver;
 import org.apache.fop.layoutmgr.ElementListUtils;
@@ -69,8 +68,7 @@ import org.apache.fop.util.ListUtil;
  * LayoutManager for a table-cell FO.
  * A cell contains blocks. These blocks fill the cell.
  */
-public class TableCellLayoutManager extends BlockStackingLayoutManager
-            implements BlockLevelLayoutManager {
+public class TableCellLayoutManager extends BlockStackingLayoutManager {
 
     /**
      * logging instance
index 7306218aeda7cc27f8e9577f3ff9edfaee47faf7..540917b60dd94a0d6d004f1f9be0c48e609ccdc4 100644 (file)
@@ -19,8 +19,8 @@
 
 package org.apache.fop.pdf;
 
-import java.util.Iterator;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * Class representing a /ExtGState object.
@@ -186,10 +186,10 @@ public class PDFGState extends PDFObject {
         if (vals1.size() != vals2.size()) {
             return false;
         }
-        for (Iterator iter = vals1.keySet().iterator(); iter.hasNext();) {
-            Object str = iter.next();
+        for (Map.Entry<Object, Object> e : (Set<Map.Entry<Object, Object>>) vals2.entrySet()) {
+            Object str = e.getKey();
             Object obj1 = vals1.get(str);
-            if (!obj1.equals(vals2.get(str))) {
+            if (!obj1.equals(e.getValue())) {
                 return false;
             }
         }
index 6278e51a031b627fd93308eee4c6f2fc3d7a5d71..ce4296a20bba3a8a0c6626f8a59798d225695e4c 100644 (file)
@@ -244,6 +244,7 @@ public class PDFPaintingState extends org.apache.fop.util.AbstractPaintingState
         return (PDFData)getData();
     }
 
+    // @SuppressFBWarnings("SE_INNER_CLASS")
     private class PDFData extends org.apache.fop.util.AbstractPaintingState.AbstractData {
 
         private static final long serialVersionUID = 3527950647293177764L;
index dc6319f077a668343219287d94533813d09c1b7c..86e771c46988b63ce4e94b0ae1022d9946b1bfcb 100644 (file)
@@ -122,8 +122,9 @@ public class PDFResources extends PDFDictionary {
      */
    public void addFonts(PDFDocument doc, FontInfo fontInfo) {
         Map<String, Typeface> usedFonts = fontInfo.getUsedFonts();
-        for (String f : usedFonts.keySet()) {
-            Typeface font = usedFonts.get(f);
+        for (Map.Entry<String, Typeface> e : usedFonts.entrySet()) {
+            String f = e.getKey();
+            Typeface font = e.getValue();
 
             //Check if the font actually had any mapping operations. If not, it is an indication
             //that it has never actually been used and therefore doesn't have to be embedded.
index 3412c3d679ed50d6ef7d7dbc845599ba8bf0ee64..57b65cdcdc51af37c00df2f298fa47d1bdc6a930 100644 (file)
@@ -38,14 +38,12 @@ import org.apache.fop.render.PrintRendererConfigurator;
 import org.apache.fop.render.RendererConfig.RendererConfigParser;
 import org.apache.fop.render.afp.AFPFontConfig.AFPFontConfigData;
 import org.apache.fop.render.intermediate.IFDocumentHandler;
-import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
 import org.apache.fop.util.LogUtil;
 
 /**
  * AFP Renderer configurator
  */
-public class AFPRendererConfigurator extends PrintRendererConfigurator implements
-        IFDocumentHandlerConfigurator {
+public class AFPRendererConfigurator extends PrintRendererConfigurator {
     private static Log log = LogFactory.getLog(AFPRendererConfigurator.class);
 
     private final AFPEventProducer eventProducer;
index 6ec1541c9cb6fd95056b4d5ef36f50c78f796ffa..176f74705c19727ef95996d146af919c2a80ae69 100644 (file)
@@ -400,9 +400,9 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
         GoToXYAction action = (GoToXYAction)actionSet.get(targetID);
         //GoToXYAction action = (GoToXYAction)idGoTos.get(targetID);
         if (action == null) {
-            if (pageIndex < 0) {
+            /* if (pageIndex < 0) {
                 //pageIndex = page
-            }
+            } */
             Point position = (Point)idPositions.get(targetID);
             // can the GoTo already be fully filled in?
             if (pageIndex >= 0 && position != null) {
@@ -1094,7 +1094,8 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
         AbstractTextArea textArea = (AbstractTextArea)space.getParentArea();
         renderTextWithAdjustments(s, (int[]) null, false, font, textArea);
 
-        if (textUtil.combined && space.isAdjustable()) {
+        /* COMBINED is always false
+        if (textUtil.COMBINED && space.isAdjustable()) {
             //Used for justified text, for example
             int tws = textArea.getTextWordSpaceAdjust()
                          + 2 * textArea.getTextLetterSpaceAdjust();
@@ -1102,6 +1103,7 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
                 textUtil.adjust(tws);
             }
         }
+        */
         super.renderSpace(space);
     }
 
@@ -1124,10 +1126,12 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
             char ch = s.charAt(i);
             textUtil.addChar(ch);
             int glyphAdjust = 0;
-            if (textUtil.combined && font.hasChar(ch)) {
+            /* COMBINED is always false
+            if (textUtil.COMBINED && font.hasChar(ch)) {
                 int tls = (i < l - 1 ? parentArea.getTextLetterSpaceAdjust() : 0);
                 glyphAdjust += tls;
             }
+            */
             if (dx != null && i < l) {
                 glyphAdjust += dx[i];
             }
@@ -1147,7 +1151,7 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
     private void renderTextWithAdjustments(String s,
                               int[][] dp, boolean reversed,
                               Font font, AbstractTextArea parentArea) {
-        assert !textUtil.combined;
+        // assert !textUtil.COMBINED;
         for (int i = 0, n = s.length(); i < n; i++) {
             textUtil.addChar(s.charAt(i));
             if (dp != null) {
@@ -1164,7 +1168,7 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
         private int starty;
         private int tls;
         private int tws;
-        private final boolean combined = false;
+        // private final static boolean COMBINED = false; // no longer referenced
 
         void addChar(char ch) {
             text.append(ch);
@@ -1221,13 +1225,13 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
         void flush() {
             if (text.length() > 0) {
                 try {
-                    if (combined) {
+                    /* if (COMBINED) { // COMBINED is always false
                         painter.drawText(startx, starty, 0, 0,
                                          trimAdjustments(dp, text.length()), text.toString());
-                    } else {
+                    } else { */
                         painter.drawText(startx, starty, tls, tws,
                                          trimAdjustments(dp, text.length()), text.toString());
-                    }
+                    /* } */
                 } catch (IFException e) {
                     handleIFException(e);
                 }
index 05045b7e7f5d4ce56cfdf8298b623437f026760d..05a0fc66632294f45cd9205c3e094afe7ca49d95 100644 (file)
@@ -21,20 +21,12 @@ package org.apache.fop.render.pcl;
 
 import java.awt.Color;
 import java.awt.Dimension;
-import java.awt.Graphics2D;
-import java.awt.geom.AffineTransform;
-import java.awt.image.BufferedImage;
-import java.awt.image.BufferedImageOp;
-import java.awt.image.ByteLookupTable;
-import java.awt.image.ColorModel;
 import java.awt.image.DataBuffer;
 import java.awt.image.DataBufferByte;
 import java.awt.image.IndexColorModel;
-import java.awt.image.LookupOp;
 import java.awt.image.MultiPixelPackedSampleModel;
 import java.awt.image.Raster;
 import java.awt.image.RenderedImage;
-import java.awt.image.WritableRaster;
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
@@ -45,7 +37,6 @@ import java.util.Locale;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.io.output.ByteArrayOutputStream;
 
-import org.apache.xmlgraphics.image.GraphicsUtil;
 import org.apache.xmlgraphics.util.UnitConv;
 
 import org.apache.fop.util.bitmap.BitmapImageUtil;
@@ -82,7 +73,7 @@ public class PCLGenerator {
      * true: Standard PCL shades are used (poor quality). false: user-defined pattern are used
      * to create custom dither patterns for better grayscale quality.
      */
-    private final boolean usePCLShades = false;
+    private static final boolean USE_PCL_SHADES = false;
 
     /**
      * Main constructor.
@@ -390,7 +381,7 @@ public class PCLGenerator {
             //y += h;
         }
         setPatternTransparencyMode(false);
-        if (usePCLShades
+        if (USE_PCL_SHADES
                 || Color.black.equals(col)
                 || Color.white.equals(col)) {
             writeCommand("*c" + formatDouble4(w / 100.0) + "h"
@@ -521,7 +512,7 @@ public class PCLGenerator {
         } else if (Color.white.equals(col)) {
             selectCurrentPattern(0, 1); //white
         } else {
-            if (usePCLShades) {
+            if (USE_PCL_SHADES) {
                 selectCurrentPattern(convertToPCLShade(col), 2);
             } else {
                 defineGrayscalePattern(col, 32, DitherUtil.DITHER_MATRIX_4X4);
@@ -647,6 +638,7 @@ public class PCLGenerator {
         }
     }
 
+    /* not used
     private RenderedImage getMask(RenderedImage img, Dimension targetDim) {
         ColorModel cm = img.getColorModel();
         if (cm.hasAlpha()) {
@@ -685,6 +677,7 @@ public class PCLGenerator {
             return null;
         }
     }
+    */
 
     /**
      * Paint a bitmap at the current cursor position. The bitmap is converted to a monochrome
index 9d9118aaa526b24e51bf0e8d50847c31ff1a5f13..93648e9757df7c23589ef4a92318602a48f4d321 100644 (file)
@@ -55,7 +55,7 @@ public class PCLGraphics2D extends AbstractGraphics2D {
     /** The PCL generator */
     protected PCLGenerator gen;
 
-    private final boolean failOnUnsupportedFeature = true;
+    private static final boolean FAIL_ON_UNSUPPORTED_FEATURE = true;
     private boolean clippingDisabled;
 
     /**
@@ -120,7 +120,7 @@ public class PCLGraphics2D extends AbstractGraphics2D {
      * @param msg the error message to be displayed
      */
     protected void handleUnsupportedFeature(String msg) {
-        if (this.failOnUnsupportedFeature) {
+        if (this.FAIL_ON_UNSUPPORTED_FEATURE) {
             throw new UnsupportedOperationException(msg);
         }
     }
index d103b479604cf936453ec85416ab05881e8249e8..dcda490595bf7f0405d5b327c90fd3bae7355504 100644 (file)
@@ -29,7 +29,6 @@ import org.apache.fop.fonts.FontCollection;
 import org.apache.fop.render.PrintRendererConfigurator;
 import org.apache.fop.render.RendererConfig.RendererConfigParser;
 import org.apache.fop.render.intermediate.IFDocumentHandler;
-import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
 import org.apache.fop.render.java2d.Base14FontCollection;
 import org.apache.fop.render.java2d.ConfiguredFontCollection;
 import org.apache.fop.render.java2d.InstalledFontCollection;
@@ -38,8 +37,7 @@ import org.apache.fop.render.java2d.Java2DFontMetrics;
 /**
  * PCL Renderer configurator
  */
-public class PCLRendererConfigurator extends PrintRendererConfigurator
-        implements IFDocumentHandlerConfigurator {
+public class PCLRendererConfigurator extends PrintRendererConfigurator {
 
     /**
      * Default constructor
index d76a805c25b3a611db09fe7f916ceddaf48e3781..306b0b350462efb72c0d90c3a3f367b8463e1d50 100644 (file)
@@ -133,8 +133,9 @@ public class ImageRawJPEGAdapter extends AbstractImageAdapter {
                         // Check for ICC profile
                         byte[] iccString = new byte[11];
                         din.readFully(iccString);
-                        din.skipBytes(1); //string terminator (null byte)
-
+                        if (din.skipBytes(1) != 1) { //string terminator (null byte)
+                            throw new IOException("premature EOF when skipping terminator byte");
+                        }
                         if ("ICC_PROFILE".equals(new String(iccString, "US-ASCII"))) {
                             skipICCProfile = (this.image.getICCProfile() != null);
                         }
index dcf968e03c1db47bca60260fc4bf87e0cdebd899..158cb0fc179cc6025a87f0574c901c80e9c787cc 100644 (file)
@@ -295,9 +295,9 @@ public class PSDocumentHandler extends AbstractBinaryWritingIFDocumentHandler {
     public void startPage(int index, String name, String pageMasterName, Dimension size)
                 throws IFException {
         try {
-            if (this.currentPageNumber == 0) {
+            /* if (this.currentPageNumber == 0) {
                 //writeHeader();
-            }
+            } */
 
             this.currentPageNumber++;
 
index b98919ca232fde1bb5da59facbc6df9143c4a3f5..e8ad32b5ea7dbe92aa2cc6f9541bf184d119f81a 100644 (file)
@@ -70,6 +70,7 @@ import org.apache.fop.util.HexEncoder;
 /**
  * Utility code for font handling in PostScript.
  */
+// @SuppressFBWarnings("NM_SAME_SIMPLE_NAME_AS_SUPERCLASS")
 public class PSFontUtils extends org.apache.xmlgraphics.ps.PSFontUtils {
 
     /** logging instance */
@@ -192,8 +193,9 @@ public class PSFontUtils extends org.apache.xmlgraphics.ps.PSFontUtils {
         gen.commentln("%FOPBeginFontReencode");
 
         //Rewrite font encodings
-        for (String key : fonts.keySet()) {
-            Typeface tf = fonts.get(key);
+        for (Map.Entry<String, Typeface> e : fonts.entrySet()) {
+            String key = e.getKey();
+            Typeface tf = e.getValue();
             if (tf instanceof LazyFont) {
                 tf = ((LazyFont)tf).getRealFont();
                 if (tf == null) {
index 962f19d10c69bb06f030737ae881d8f22b2fc28c..e9d4ff27f720f9d25ed58a515cf94c355fcb2c01 100644 (file)
@@ -37,6 +37,7 @@ import org.apache.fop.render.RenderingContext;
 /**
  * Utility code for rendering images in PostScript.
  */
+// @SuppressFBWarnings("NM_SAME_SIMPLE_NAME_AS_SUPERCLASS")
 public class PSImageUtils extends org.apache.xmlgraphics.ps.PSImageUtils {
 
     /**
index b453de413af0dca05d309eb61398e1d956061c55..3540732d7f470fb60ff5230084acac2ef6609d8e 100644 (file)
@@ -24,14 +24,12 @@ import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.render.DefaultRendererConfigurator;
 import org.apache.fop.render.RendererConfig.RendererConfigParser;
 import org.apache.fop.render.intermediate.IFDocumentHandler;
-import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
 
 
 /**
  * Postscript renderer config
  */
-public class PSRendererConfigurator extends DefaultRendererConfigurator
-        implements IFDocumentHandlerConfigurator {
+public class PSRendererConfigurator extends DefaultRendererConfigurator {
 
     /**
      * Default constructor
index b4e138cffc28a807f20c90d6d6171a5704bb5dd0..a12ae5a491cdd58cfb749f8e4ae421e4c24c6b3c 100644 (file)
@@ -19,7 +19,6 @@
 
 package org.apache.fop.render.ps;
 
-import java.awt.geom.Dimension2D;
 import java.awt.geom.Rectangle2D;
 import java.io.IOException;
 import java.io.InputStream;
@@ -38,7 +37,6 @@ import org.apache.xmlgraphics.image.loader.ImageManager;
 import org.apache.xmlgraphics.image.loader.ImageSessionContext;
 import org.apache.xmlgraphics.image.loader.util.ImageUtil;
 import org.apache.xmlgraphics.ps.DSCConstants;
-import org.apache.xmlgraphics.ps.FormGenerator;
 import org.apache.xmlgraphics.ps.PSGenerator;
 import org.apache.xmlgraphics.ps.PSResource;
 import org.apache.xmlgraphics.ps.dsc.DSCException;
@@ -334,6 +332,7 @@ public class ResourceHandler implements DSCParserConstants, PSSupportedFlavors {
         }
     }
 
+    /* not used
     private static FormGenerator createMissingForm(String formName, final Dimension2D dimensions) {
         FormGenerator formGen = new FormGenerator(formName, null, dimensions) {
 
@@ -357,6 +356,7 @@ public class ResourceHandler implements DSCParserConstants, PSSupportedFlavors {
         };
         return formGen;
     }
+    */
 
     private class IncludeResourceListener implements DSCListener {
 
index 8537d4559873b72160c5cdfab2b697473524c4b9..d3810b0948ee2eb1733c802c06e7bbe2ababc49b 100644 (file)
@@ -215,10 +215,10 @@ final class TextAttributesConverter {
 
         attrFontColor(fobj.getColor(), attrib);
 
-        if (fobj.getLeaderPatternWidth() != null) {
+        /* if (fobj.getLeaderPatternWidth() != null) {
             //TODO calculate pattern width not possible for white spaces, because its using
             //underlines for tab it would work with LEADER_PATTERN_WIDTH (expndtw)
-        }
+        } */
 
         switch(fobj.getLeaderPattern()) {
         case Constants.EN_DOTS:
index 593b2583fe81b1c57912d7ed77ba950801f49687..413c9ad876e1d8a3043ac417ad778491474f65c9 100644 (file)
@@ -53,14 +53,14 @@ public final class RtfColorTable {
     //////////////////////////////////////////////////
 
     /** Singelton instance */
-    private static RtfColorTable instance;
+    private static RtfColorTable instance = new RtfColorTable();
 
     /** Index table for the colors */
     private Hashtable colorIndex;
     /** Used colors to this vector */
     private Vector colorTable;
-        /** Map of color names to color numbers */
-        private Hashtable namedColors;
+    /** Map of color names to color numbers */
+    private Hashtable namedColors;
 
 
     //////////////////////////////////////////////////
@@ -73,7 +73,7 @@ public final class RtfColorTable {
     private RtfColorTable() {
         colorTable = new Vector();
         colorIndex = new Hashtable();
-                namedColors = new Hashtable();
+        namedColors = new Hashtable();
 
         init();
     }
@@ -84,10 +84,6 @@ public final class RtfColorTable {
      * @return The instance of RTFColorTable
      */
     public static RtfColorTable getInstance() {
-        if (instance == null) {
-            instance = new RtfColorTable();
-        }
-
         return instance;
     }
 
@@ -124,19 +120,19 @@ public final class RtfColorTable {
         getColorNumber(192, 192, 192);
     }
 
-        /** define a named color for getColorNumber(String) */
-        private void addNamedColor(String name, int colorNumber) {
-            namedColors.put(name.toLowerCase(), new Integer(colorNumber));
-        }
+    /** define a named color for getColorNumber(String) */
+    private void addNamedColor(String name, int colorNumber) {
+        namedColors.put(name.toLowerCase(), new Integer(colorNumber));
+    }
 
     //////////////////////////////////////////////////
     // @@ Public methods
     //////////////////////////////////////////////////
 
-        /**
-         * @param name a named color
-         * @return the RTF number of a named color, or null if name not found
-         */
+    /**
+     * @param name a named color
+     * @return the RTF number of a named color, or null if name not found
+     */
     public Integer getColorNumber(String name) {
         return ((Integer)namedColors.get(name.toLowerCase()));
     }
index 0a48d9b3715f53d9aa1ddb89b03d5e35d86d1ba2..4701604c8e5506d507dcce08deaaf57cb99ecdea 100644 (file)
@@ -41,7 +41,7 @@ public final class RtfFontManager {
     //////////////////////////////////////////////////
 
     /** Singelton instance */
-    private static RtfFontManager instance;
+    private static RtfFontManager instance = new RtfFontManager();
 
     /** Index table for the fonts */
     private Hashtable fontIndex;
@@ -69,10 +69,6 @@ public final class RtfFontManager {
      * @return The instance of RtfFontManager
      */
     public static RtfFontManager getInstance() {
-        if (instance == null) {
-            instance = new RtfFontManager();
-        }
-
         return instance;
     }
 
index f293d977488f48cefae2ce09513c7e4d9393a1fb..845ee1d28547f993be84596fc90f618c8912e02a 100644 (file)
@@ -41,7 +41,7 @@ import java.util.Map;
  */
 
 class RtfHeader extends RtfContainer {
-    private final String charset = "ansi";
+    private static final String CHARSET = "ansi";
     private final Map userProperties = new HashMap();
 
     /** Create an RTF header */
@@ -54,7 +54,7 @@ class RtfHeader extends RtfContainer {
 
     /** Overridden to write our own data before our children's data */
     protected void writeRtfContent() throws IOException {
-        writeControlWord(charset);
+        writeControlWord(CHARSET);
         writeUserProperties();
         RtfColorTable.getInstance().writeColors(this);
         super.writeRtfContent();
index d72f7ecb5b5e3fda1392363a287fde52042037fb..48d6efed1e6d9776c398fcc3eab0466fea1ccc02 100644 (file)
@@ -60,7 +60,7 @@ public final class RtfStyleSheetTable {
     //////////////////////////////////////////////////
 
     /** Singelton instance */
-    private static RtfStyleSheetTable instance;
+    private static RtfStyleSheetTable instance = new RtfStyleSheetTable();
 
 
     //////////////////////////////////////////////////
@@ -100,10 +100,6 @@ public final class RtfStyleSheetTable {
      * @return The instance of RtfStyleSheetTable
      */
     public static RtfStyleSheetTable getInstance() {
-        if (instance == null) {
-            instance = new RtfStyleSheetTable();
-        }
-
         return instance;
     }
 
index f3831da538235b8b0aa3e59da09b2a5ae97a323d..6d928765c571c805705c610c55c9524eb367f66e 100644 (file)
@@ -36,7 +36,7 @@ import java.io.IOException;
 public final class RtfTemplate  {
 
     /** Singelton instance */
-    private static RtfTemplate instance;
+    private static RtfTemplate instance = new RtfTemplate();
 
     private String templateFilePath;
 
@@ -54,10 +54,6 @@ public final class RtfTemplate  {
      * @return The instance of RtfTemplate
      */
     public static RtfTemplate getInstance() {
-        if (instance == null) {
-            instance = new RtfTemplate();
-        }
-
         return instance;
     }
 
index 6f646f8136e8b3918b9c35bf6b7d367a07888e91..811906f365fa8023d69157b0d73c74d9edae3717 100644 (file)
@@ -91,10 +91,10 @@ public class TXTRenderer extends AbstractPathOrientedRenderer {
      * Every line except the last line on a page (which will end with
      * pageEnding) will be terminated with this string.
      */
-    private final String lineEnding = "\r\n";
+    private static final String LINE_ENDING = "\r\n";
 
     /** Every page except the last one will end with this string. */
-    private final String pageEnding = "\f";
+    private static final String PAGE_ENDING = "\f";
 
     /** Equals true, if current page is first. */
     private boolean firstPage;
@@ -211,7 +211,7 @@ public class TXTRenderer extends AbstractPathOrientedRenderer {
         if (firstPage) {
             firstPage = false;
         } else {
-            currentStream.add(pageEnding);
+            currentStream.add(PAGE_ENDING);
         }
 
         Rectangle2D bounds = page.getViewArea();
@@ -286,7 +286,7 @@ public class TXTRenderer extends AbstractPathOrientedRenderer {
                 currentStream.add(outr.toString());
             }
             if (row < pageHeight) {
-                currentStream.add(lineEnding);
+                currentStream.add(LINE_ENDING);
             }
         }
     }
index 83fd79b9dfa7e69ef031198ba9d862848a51f4e2..f64eab62f0d33a91600c5ad186e5916aa7b7b880 100644 (file)
@@ -29,6 +29,7 @@ import java.awt.image.VolatileImage;
  * for JDK 1.3 because there is no VolatileImage there.
  *
  */
+// @SuppressFBWarnings("NM_SAME_SIMPLE_NAME_AS_SUPERCLASS")
 public abstract class GraphicsConfiguration extends java.awt.GraphicsConfiguration {
 
     /**
index d525ecefc45cde3b453e40d556a38babed0a3643..23fadc5429ed2d9a9e94a7620b7f40bb4d9e5492 100644 (file)
@@ -27,6 +27,7 @@ import org.apache.fop.fonts.Typeface;
  * Utility class for generating PDF text objects. It needs to be subclassed to add writing
  * functionality (see {@link #write(String)}).
  */
+// @SuppressFBWarnings("NM_SAME_SIMPLE_NAME_AS_SUPERCLASS")
 public abstract class PDFTextUtil extends org.apache.fop.pdf.PDFTextUtil {
 
     private FontInfo fontInfo;
index 8e0d0bca98c7de653d772d3ad2bdfd98b4520193..d837a29fb43ce63917fd0da9851f725402543e80 100644 (file)
@@ -226,9 +226,9 @@ public class TestConverter {
                 runTestCase(node);
             } else if (nodename.equals("test")) {
                 runTest(tcase, node);
-            } else if (nodename.equals("result")) {
+            } /* else if (nodename.equals("result")) {
                 //nop
-            }
+            } */
 
         }
 
index 2c307869e661c9868cb8062ff68d05aeb454b719..7fa588e23720659aea2baba21e1894cb662266c6 100644 (file)
@@ -77,7 +77,7 @@ public class FileCompare {
             filenameListTmp.add(tokens.nextToken());
         }
         filenameList = new String[filenameListTmp.size()];
-        filenameList = (String[])filenameListTmp.toArray(new String[0]);
+        filenameList = (String[])filenameListTmp.toArray(new String[filenameListTmp.size()]);
     }
 
     /**
index 1f46b4abed5caf2ee387d9c6af364bcaf5cb1976..1b560802a88ca5d9ce1b3bf272cedb1a246010f3 100644 (file)
@@ -28,8 +28,8 @@ import java.net.URLClassLoader;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Map;
+import java.util.Set;
 
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Task;
@@ -105,10 +105,9 @@ public class RunTest extends Task {
                 System.out.println("====================================");
                 System.out.println("The following files differ:");
                 boolean broke = false;
-                for (Iterator keys = diff.keySet().iterator();
-                        keys.hasNext();) {
-                    Object fname = keys.next();
-                    Boolean pass = (Boolean)diff.get(fname);
+                for (Map.Entry<Object, Object> e : (Set<Map.Entry<Object, Object>>) diff.entrySet()) {
+                    Object fname = e.getKey();
+                    Boolean pass = (Boolean)e.getValue();
                     System.out.println("file: " + fname
                                        + " - reference success: " + pass);
                     if (pass.booleanValue()) {
index e2f5a651e7040beee2bf08e29b07c2abd5e0cdac..794f9306f33e479008e70c81faff4d902a58af7d 100644 (file)
@@ -257,6 +257,7 @@ public final class FontListMain {
             int idx = 0;
             if ("--help".equals(args[idx]) || "-?".equals(args[idx]) || "-h".equals(args[idx])) {
                 printHelp();
+                // @SuppressFBWarnings("DM_EXIT")
                 System.exit(0);
             }
             if (idx < args.length - 1 && "-c".equals(args[idx])) {
index ef4c2940644250a5b7e47def1f05f66c8c17b216..8368383baef430d19912a8ab664f1aac62488727 100644 (file)
@@ -384,6 +384,7 @@ public abstract class AbstractPaintingState implements Cloneable, Serializable {
     /**
      * A stack implementation which holds state objects
      */
+    // @SuppressFBWarnings("SE_INNER_CLASS")
     public class StateStack<E> extends java.util.Stack<E> {
 
         private static final long serialVersionUID = 4897178211223823041L;
index cb42b6813a444fab85fb69d42c0deee3598ba970..d564d66864dbd57cf0160fcd7bd4c22826086f2c 100644 (file)
@@ -71,7 +71,7 @@ public final class ColorUtil {
     private static Map<String, Color> colorMap;
 
     /** Logger instance */
-    protected static final Log log = LogFactory.getLog(ColorUtil.class);
+    private static final Log log = LogFactory.getLog(ColorUtil.class);
 
     static {
         initializeColorMap();
index 1b0708a893365e29b3fc211f5906398aaa29d8e4..dcf76a9857991103ef30d6ee0f825ed1fa389ec2 100644 (file)
@@ -26,6 +26,7 @@ package org.apache.fop.util;
  * hashCode() methods.
  * @deprecated Use the XML Graphics Commons variant instead!
  */
+// @SuppressFBWarnings("NM_SAME_SIMPLE_NAME_AS_SUPERCLASS")
 public class QName extends org.apache.xmlgraphics.util.QName {
 
     private static final long serialVersionUID = -5225376740044770690L;