Author: phancock
Date: Wed Oct 19 10:21:17 2011
New Revision: 1186070

URL: http://svn.apache.org/viewvc?rev=1186070&view=rev
Log:
Bugzilla#512010: Simplification of the build.
Reduced code duplication and layout engine tests.

Added:
    
xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/TestFilesConfiguration.java
Modified:
    xmlgraphics/fop/trunk/build.xml
    xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreaker.java
    xmlgraphics/fop/trunk/status.xml
    xmlgraphics/fop/trunk/test/java/org/apache/fop/fotreetest/FOTreeTester.java
    
xmlgraphics/fop/trunk/test/java/org/apache/fop/fotreetest/ResultCollector.java
    
xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java
    
xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFParserTestCase.java
    
xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTestUtils.java
    
xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java
    xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BatchDiffer.java

Modified: xmlgraphics/fop/trunk/build.xml
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/build.xml?rev=1186070&r1=1186069&r2=1186070&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/build.xml (original)
+++ xmlgraphics/fop/trunk/build.xml Wed Oct 19 10:21:17 2011
@@ -186,10 +186,6 @@ list of possible build targets.
   <property name="build.viewer.images.dir" 
value="${build.classes.dir}/org/apache/fop/render/awt/viewer/images"/>
   <property name="build.property.examples.mime.type" value="application/pdf"/>
   <property name="build.property.tests.mime.type" value="application/pdf"/>
-<!--property name="layoutengine.disabled" 
value="test/layoutengine/disabled-testcases.txt"/-->
-<!--property name="fotree.disabled" 
value="test/fotree/disabled-testcases.txt"/-->
-  <property name="layoutengine.disabled" 
value="test/layoutengine/disabled-testcases.xml"/>
-  <property name="fotree.disabled" value="test/fotree/disabled-testcases.xml"/>
   <property name="dist.bin.dir" value="${basedir}/dist-bin"/>
   <property name="dist.src.dir" value="${basedir}/dist-src"/>
   <property name="nightly.dir" value="${basedir}/nightly"/>
@@ -747,84 +743,34 @@ list of possible build targets.
   </target>
   <target name="junit-compile" depends="junit-compile-java, 
junit-compile-copy-resources" description="Compiles FOP's JUnit tests" 
if="junit.present"/>
   <target name="junit-transcoder" depends="junit-compile" description="Runs 
FOP's JUnit transcoder tests" if="junit.present">
-    <echo message="Running basic functionality tests for fop-transcoder.jar"/>
-    <junit dir="${basedir}">
-      <sysproperty key="basedir" value="${basedir}"/>
-      <sysproperty key="jawa.awt.headless" value="true"/>
-      <formatter type="brief" usefile="false"/>
-      <formatter type="plain" usefile="true"/>
-      <formatter type="xml" usefile="true"/>
-      <classpath>
-        <pathelement location="${build.dir}/test-classes"/>
-        <path refid="libs-build-classpath"/>
-        <fileset dir="${build.dir}">
-          <include name="fop-transcoder.jar"/>
-        </fileset>
-      </classpath>
-      <test name="org.apache.fop.BasicTranscoderTestSuite" 
todir="${junit.reports.dir}" outfile="TEST-transcoder"/>
-    </junit>
+    <path id="transcoder-classpath">
+      <pathelement location="${build.dir}/test-classes"/>
+      <path refid="libs-build-classpath"/>
+      <fileset dir="${build.dir}">
+        <include name="fop-transcoder.jar"/>
+      </fileset>
+    </path>
+    <junit-run classpath="transcoder-classpath" title="basic functionality for 
fop-transcoder.jar" testsuite="org.apache.fop.BasicTranscoderTestSuite" 
outfile="TEST-transcoder"/>
     <echo message="Running basic functionality tests for 
fop-transcoder-allinone.jar"/>
-<!-- These are the same tests as in the block above but testing the "allinone" 
JAR
+    <!-- These are the same tests as in the block above but testing the 
"allinone" JAR
          instead. Please don't add any additional paths other than the test 
classes, the
          allinone JAR and the any Batik JARs to the classpath. If this fails, 
but the
          previous test block succeeded it indicates that the packaging of the 
allinone
          JAR needs to be updated.
     -->
-    <junit dir="${basedir}" errorproperty="fop.junit.error" 
failureproperty="fop.junit.failure">
-      <sysproperty key="basedir" value="${basedir}"/>
-      <sysproperty key="jawa.awt.headless" value="true"/>
-      <formatter type="brief" usefile="false"/>
-      <formatter type="plain" usefile="true"/>
-      <formatter type="xml" usefile="true"/>
-      <classpath>
-        <pathelement location="${build.dir}/test-classes"/>
-        <path refid="libs-build-classpath"/>
-        <fileset dir="build">
-          <include name="fop-transcoder-allinone.jar"/>
-        </fileset>
-        <fileset dir="${lib.dir}">
-          <include name="xml-apis*.jar"/>
-          <include name="xerces*.jar"/>
-          <include name="batik*.jar"/>
-        </fileset>
-      </classpath>
-      <test name="org.apache.fop.BasicTranscoderTestSuite" 
todir="${junit.reports.dir}" outfile="TEST-transcoder-allinone"/>
-    </junit>
-  </target>
-  <target name="junit-userconfig" depends="junit-compile" if="junit.present" 
description="Runs FOP's user config JUnit tests">
-    <echo message="Running user config tests"/>
-    <junit dir="${basedir}" errorproperty="fop.junit.error" 
failureproperty="fop.junit.failure">
-      <sysproperty key="basedir" value="${basedir}"/>
-      <sysproperty key="jawa.awt.headless" value="true"/>
-      <sysproperty key="fop.layoutengine.disabled" 
value="${layoutengine.disabled}"/>
-      <sysproperty key="fop.layoutengine.testset" value="standard"/>
-      <formatter type="brief" usefile="false"/>
-      <formatter type="plain" usefile="true"/>
-      <formatter type="xml" usefile="true"/>
-      <classpath>
-        <pathelement location="${build.dir}/test-classes"/>
-        <path refid="libs-run-classpath"/>
-      </classpath>
-      <test name="org.apache.fop.config.UserConfigTestSuite" 
todir="${junit.reports.dir}" outfile="TEST-userconfig"/>
-    </junit>
-  </target>
-  <target name="junit-basic" depends="junit-compile" description="Runs FOP's 
JUnit basic tests" if="junit.present">
-    <echo message="Running basic functionality tests for fop.jar"/>
-    <junit dir="${basedir}" errorproperty="fop.junit.error" 
failureproperty="fop.junit.failure">
-      <sysproperty key="basedir" value="${basedir}"/>
-      <sysproperty key="jawa.awt.headless" value="true"/>
-      <formatter type="brief" usefile="false"/>
-      <formatter type="plain" usefile="true"/>
-      <formatter type="xml" usefile="true"/>
-      <classpath>
-        <pathelement location="${build.dir}/test-classes"/>
-        <path refid="libs-build-classpath"/>
-        <fileset dir="build">
-          <include name="fop.jar"/>
-        </fileset>
-      </classpath>
-      <test name="org.apache.fop.StandardTestSuite" 
todir="${junit.reports.dir}"/>
-    </junit>
+    <path id="transcoder-all-classpath">
+      <pathelement location="${build.dir}/test-classes"/>
+      <path refid="libs-build-classpath"/>
+      <fileset dir="build">
+        <include name="fop-transcoder-allinone.jar"/>
+      </fileset>
+      <fileset dir="${lib.dir}">
+        <include name="xml-apis*.jar"/>
+        <include name="xerces*.jar"/>
+        <include name="batik*.jar"/>
+      </fileset>
+    </path>
+    <junit-run classpath="transcoder-all-classpath" title="basic functionality 
for fop-transcoder-allinone.jar" 
testsuite="org.apache.fop.BasicTranscoderTestSuite" 
outfile="TEST-transcoder-allinone"/>
   </target>
   <target name="hyphenation-present" depends="junit-compile" 
if="junit.present">
     <condition property="hyphenation.present">
@@ -844,132 +790,68 @@ list of possible build targets.
     </condition>
     <echo message="${hyphenation.message}"/>
   </target>
-  <target name="junit-layout-standard" depends="junit-compile, junit-fotree" 
if="junit.present" description="Runs FOP's standard JUnit layout tests">
-    <echo message="Running standard layout engine tests"/>
-    <junit dir="${basedir}" errorproperty="fop.junit.error" 
failureproperty="fop.junit.failure">
-      <sysproperty key="basedir" value="${basedir}"/>
-      <sysproperty key="jawa.awt.headless" value="true"/>
-      <sysproperty key="fop.layoutengine.disabled" 
value="${layoutengine.disabled}"/>
-      <sysproperty key="fop.layoutengine.testset" value="standard"/>
-      <formatter type="brief" usefile="false"/>
-      <formatter type="plain" usefile="true"/>
-      <formatter type="xml" usefile="true"/>
-      <classpath>
-        <pathelement location="${build.dir}/test-classes"/>
-        <path refid="libs-run-classpath"/>
-      </classpath>
-      <test name="org.apache.fop.layoutengine.LayoutEngineTestSuite" 
todir="${junit.reports.dir}" outfile="TEST-layoutengine-standard"/>
-    </junit>
-  </target>
-  <target name="junit-layout-hyphenation" depends="hyphenation-present, 
junit-compile" if="hyphenation.present" description="Runs FOP's JUnit 
hyphenation layout tests">
-    <echo message="Running hyphenation layout engine tests"/>
-    <junit dir="${basedir}" errorproperty="fop.junit.error" 
failureproperty="fop.junit.failure">
-      <sysproperty key="basedir" value="${basedir}"/>
-      <sysproperty key="jawa.awt.headless" value="true"/>
-      <sysproperty key="fop.layoutengine.disabled" 
value="${layoutengine.disabled}"/>
-      <sysproperty key="fop.layoutengine.testset" value="hyphenation"/>
-      <formatter type="brief" usefile="false"/>
-      <formatter type="plain" usefile="true"/>
-      <formatter type="xml" usefile="true"/>
-      <classpath>
-        <pathelement location="${build.dir}/test-classes"/>
-        <path refid="libs-run-classpath"/>
-      </classpath>
-      <test name="org.apache.fop.layoutengine.LayoutEngineTestSuite" 
todir="${junit.reports.dir}" outfile="TEST-layoutengine-hyphenation"/>
-    </junit>
-  </target>
-  <target name="junit-layout" depends="junit-layout-standard, 
junit-layout-hyphenation" description="Runs all FOP's JUnit layout tests"/>
-  <target name="junit-fotree" depends="junit-compile" description="Runs FOP's 
FO tree JUnit tests" if="junit.present">
-    <echo message="Running fo tree tests"/>
-    <junit dir="${basedir}" errorproperty="fop.junit.error" 
failureproperty="fop.junit.failure">
-      <sysproperty key="basedir" value="${basedir}"/>
-      <sysproperty key="jawa.awt.headless" value="true"/>
-      <sysproperty key="fop.layoutengine.disabled" value="${fotree.disabled}"/>
-      <formatter type="brief" usefile="false"/>
-      <formatter type="plain" usefile="true"/>
-      <formatter type="xml" usefile="true"/>
-      <classpath>
-        <pathelement location="${build.dir}/test-classes"/>
-        <path refid="libs-build-classpath"/>
-        <fileset dir="build">
-          <include name="fop.jar"/>
-        </fileset>
-      </classpath>
-      <test name="org.apache.fop.fotreetest.FOTreeTestSuite" 
todir="${junit.reports.dir}" outfile="TEST-FO-tree"/>
-    </junit>
-  </target>
+  <path id="standard-junit-classpath">
+    <pathelement location="${build.dir}/test-classes"/>
+    <path refid="libs-tools-build-classpath"/>
+    <pathelement location="${build.dir}/fop.jar"/>
+  </path>
   <macrodef name="junit-run">
     <attribute name="title"/>
     <attribute name="basedir" default=""/>
     <attribute name="testsuite"/>
     <attribute name="outfile"/>
+    <attribute name="classpath" default="standard-junit-classpath"/>
     <sequential>
       <echo message="Running @{title} tests..."/>
       <junit dir="${basedir}" errorproperty="fop.junit.error" 
failureproperty="fop.junit.failure">
         <sysproperty key="basedir" value="${basedir}/@{basedir}"/>
         <sysproperty key="jawa.awt.headless" value="true"/>
-        <sysproperty key="fop.layoutengine.disabled" 
value="${layoutengine.disabled}"/>
-        <sysproperty key="fop.layoutengine.testset" value="standard"/>
         <formatter type="brief" usefile="false"/>
         <formatter type="plain" usefile="true"/>
         <formatter type="xml" usefile="true"/>
         <classpath>
-          <pathelement location="${build.dir}/test-classes"/>
-          <path refid="libs-tools-build-classpath"/>
-          <pathelement location="${build.dir}/fop.jar"/>
+          <path refid="@{classpath}"/>
         </classpath>
         <test name="@{testsuite}" todir="${junit.reports.dir}" 
outfile="@{outfile}"/>
       </junit>
     </sequential>
   </macrodef>
-  <target name="junit-area-tree-xml-format" depends="junit-compile"
-    description="Runs FOP's area tree XML format JUnit tests" 
if="xmlunit.present">
-    <junit-run title="area tree XML format" 
-      testsuite="org.apache.fop.intermediate.AreaTreeXMLFormatTestSuite" 
-      outfile="TEST-area-tree-xml-format"/>
+  <target name="junit-basic" depends="junit-compile" description="Runs FOP's 
JUnit basic tests" if="junit.present">
+    <junit-run title="Standard test suite" 
testsuite="org.apache.fop.StandardTestSuite" 
outfile="TEST-standard-tests-suite"/>
+  </target>
+  <target name="junit-userconfig" depends="junit-compile" if="junit.present" 
description="Runs FOP's user config JUnit tests">
+    <junit-run title="user config" 
testsuite="org.apache.fop.config.UserConfigTestSuite" 
outfile="TEST-userconfig"/>
+  </target>
+  <target name="junit-layout-standard" depends="junit-compile, junit-fotree" 
if="junit.present" description="Runs FOP's standard JUnit layout tests">
+    <junit-run title="standard layout engine" 
testsuite="org.apache.fop.layoutengine.LayoutEngineTestSuite" 
outfile="TEST-layoutengine-standard"/>
+  </target>
+  <target name="junit-layout-hyphenation" depends="hyphenation-present, 
junit-compile" if="hyphenation.present" description="Runs FOP's JUnit 
hyphenation layout tests">
+    <property name="fop.layoutengine.testset" value="hyphenation"/>
+    <junit-run title="hyphenation layout engine" 
testsuite="org.apache.fop.layoutengine.LayoutEngineTestSuite" 
outfile="TEST-layoutengine-hyphenation"/>
+  </target>
+  <target name="junit-layout" depends="junit-layout-standard, 
junit-layout-hyphenation" description="Runs all FOP's JUnit layout tests"/>
+  <target name="junit-fotree" depends="junit-compile" description="Runs FOP's 
FO tree JUnit tests" if="junit.present">
+    <junit-run title="fo tree" 
testsuite="org.apache.fop.fotreetest.FOTreeTestSuite" outfile="TEST-FO-tree"/>
+  </target>
+  <target name="junit-area-tree-xml-format" depends="junit-compile" 
description="Runs FOP's area tree XML format JUnit tests" if="xmlunit.present">
+    <junit-run title="area tree XML format" 
testsuite="org.apache.fop.intermediate.AreaTreeXMLFormatTestSuite" 
outfile="TEST-area-tree-xml-format"/>
   </target>
   <target name="junit-intermediate-layout" depends="junit-compile" 
if="xmlunit.present">
-    <junit-run title="intermediate format from layout tests" 
-      testsuite="org.apache.fop.intermediate.LayoutIFTestSuite" 
-      outfile="TEST-intermediate-format-from-layout"/>
-  </target>
-  <target name="junit-intermediate-format" 
depends="junit-compile,junit-intermediate-layout"
-    description="Runs FOP's intermediate format JUnit tests" 
if="xmlunit.present">
-    <junit-run title="intermediate format" 
-      testsuite="org.apache.fop.intermediate.IntermediateFormatTestSuite" 
-      outfile="TEST-intermediate-format"/>
-  </target>
-  <target name="junit-events" depends="junit-compile"
-    description="Runs FOP's event JUnit tests" if="junit.present">
-    <junit-run title="event" basedir="test/events" 
-      testsuite="org.apache.fop.events.EventProcessingTestCase"
-      outfile="TEST-events"/>
+    <junit-run title="intermediate format from layout tests" 
testsuite="org.apache.fop.intermediate.LayoutIFTestSuite" 
outfile="TEST-intermediate-format-from-layout"/>
+  </target>
+  <target name="junit-intermediate-format" 
depends="junit-compile,junit-intermediate-layout" description="Runs FOP's 
intermediate format JUnit tests" if="xmlunit.present">
+    <junit-run title="intermediate format" 
testsuite="org.apache.fop.intermediate.IntermediateFormatTestSuite" 
outfile="TEST-intermediate-format"/>
+  </target>
+  <target name="junit-events" depends="junit-compile" description="Runs FOP's 
event JUnit tests" if="junit.present">
+    <junit-run title="event" basedir="test/events" 
testsuite="org.apache.fop.events.EventProcessingTestCase" 
outfile="TEST-events"/>
   </target>
   <target name="junit-text-linebreak" depends="junit-compile" 
description="Runs FOP's JUnit unicode linebreak tests" if="junit.present">
-    <echo message="Running tests for Unicode UAX#14 support"/>
-    <junit dir="${basedir}" errorproperty="fop.junit.error" 
failureproperty="fop.junit.failure">
-      <sysproperty key="basedir" value="${basedir}"/>
-      <sysproperty key="jawa.awt.headless" value="true"/>
-      <formatter type="brief" usefile="false"/>
-      <formatter type="plain" usefile="true"/>
-      <formatter type="xml" usefile="true"/>
-      <classpath>
-        <pathelement location="${build.dir}/test-classes"/>
-        <path refid="libs-build-classpath"/>
-        <fileset dir="build">
-          <include name="fop.jar"/>
-        </fileset>
-      </classpath>
-      <test name="org.apache.fop.text.linebreak.LineBreakStatusTest" 
todir="${junit.reports.dir}"/>
-    </junit>
+    <junit-run title="Unicode UAX#14 support" 
testsuite="org.apache.fop.text.linebreak.LineBreakStatusTest" 
outfile="TEST-linebreak"/>
   </target>
   <target name="junit-render-pdf" depends="junit-compile">
-    <echo message="Running tests for the render pdf package"/>
-    <junit-run title="render-pdf" 
testsuite="org.apache.fop.render.pdf.RenderPDFTestSuite" 
-      outfile="TEST-render-pdf"/>
+    <junit-run title="render-pdf" 
testsuite="org.apache.fop.render.pdf.RenderPDFTestSuite" 
outfile="TEST-render-pdf"/>
   </target>
-  <target name="junit-reduced" depends="junit-userconfig, junit-basic, 
junit-transcoder, 
-    junit-text-linebreak, junit-fotree, junit-render-pdf"/>
+  <target name="junit-reduced" depends="junit-userconfig, junit-basic, 
junit-transcoder, junit-text-linebreak, junit-fotree, junit-render-pdf"/>
   <target name="junit-full" depends="junit-reduced, junit-layout, 
junit-area-tree-xml-format, junit-intermediate-format"/>
   <target name="junit" depends="junit-full" description="Runs all of FOP's 
JUnit tests" if="junit.present">
     <fail><condition><or><isset property="fop.junit.error"/><isset 
property="fop.junit.failure"/><not><isset 
property="hyphenation.present"/></not></or></condition>

Modified: 
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreaker.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreaker.java?rev=1186070&r1=1186069&r2=1186070&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreaker.java 
(original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/PageBreaker.java 
Wed Oct 19 10:21:17 2011
@@ -277,9 +277,8 @@ public class PageBreaker extends Abstrac
             separatorArea.setIPD(
                     
pslm.getCurrentPV().getRegionReference(Constants.FO_REGION_BODY).getIPD());
             // create a StaticContentLM for the footnote separator
-            footnoteSeparatorLM = (StaticContentLayoutManager)
-                pslm.getLayoutManagerMaker().makeStaticContentLayoutManager(
-                pslm, footnoteSeparator, separatorArea);
+            footnoteSeparatorLM = 
pslm.getLayoutManagerMaker().makeStaticContentLayoutManager(
+            pslm, footnoteSeparator, separatorArea);
             footnoteSeparatorLM.doLayout();
         }
 

Modified: xmlgraphics/fop/trunk/status.xml
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/status.xml?rev=1186070&r1=1186069&r2=1186070&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/status.xml (original)
+++ xmlgraphics/fop/trunk/status.xml Wed Oct 19 10:21:17 2011
@@ -60,6 +60,9 @@
       documents. Example: the fix of marks layering will be such a case when 
it's done.
     -->
     <release version="FOP Trunk" date="TBD">
+      <action context="Code" dev="PH" type="add" fixes-bug="52010" 
due-to="Mehdi Houshmand">
+        Simplification of the build: Reduced code duplication and layout 
engine tests.
+      </action>
       <action context="Renderers" dev="JM" type="add">
         Various bugfixes to make PDFDocumentGraphics2D operational again.
       </action>

Modified: 
xmlgraphics/fop/trunk/test/java/org/apache/fop/fotreetest/FOTreeTester.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/fotreetest/FOTreeTester.java?rev=1186070&r1=1186069&r2=1186070&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/fotreetest/FOTreeTester.java 
(original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/fotreetest/FOTreeTester.java 
Wed Oct 19 10:21:17 2011
@@ -20,7 +20,6 @@
 package org.apache.fop.fotreetest;
 
 import java.io.File;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
@@ -36,14 +35,6 @@ import org.xml.sax.SAXException;
 import org.xml.sax.XMLReader;
 import org.xml.sax.helpers.XMLFilterImpl;
 
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.filefilter.AndFileFilter;
-import org.apache.commons.io.filefilter.IOFileFilter;
-import org.apache.commons.io.filefilter.NameFileFilter;
-import org.apache.commons.io.filefilter.PrefixFileFilter;
-import org.apache.commons.io.filefilter.SuffixFileFilter;
-import org.apache.commons.io.filefilter.TrueFileFilter;
-
 import org.apache.fop.DebugHelper;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.Fop;
@@ -51,6 +42,7 @@ import org.apache.fop.apps.FopFactory;
 import org.apache.fop.apps.FopFactoryConfigurator;
 import org.apache.fop.fotreetest.ext.TestElementMapping;
 import org.apache.fop.layoutengine.LayoutEngineTestUtils;
+import org.apache.fop.layoutengine.TestFilesConfiguration;
 import org.apache.fop.util.ConsoleEventListenerForTests;
 
 /**
@@ -64,36 +56,23 @@ public class FOTreeTester {
         DebugHelper.registerStandardElementListObservers();
     }
 
+    /**
+     * Gets the parameters to run the FO tree test cases.
+     * @return a collection of file arrays containing the test files
+     */
     @Parameters
-    public static Collection<File[]> testXMLTestCases() throws Exception {
-        File mainDir = new File("test/fotree");
+    public static Collection<File[]> getParameters() {
+        TestFilesConfiguration.Builder builder = new 
TestFilesConfiguration.Builder();
+        builder.testDir("test/fotree")
+               .singleProperty("fop.fotree.single")
+               .startsWithProperty("fop.fotree.starts-with")
+               .suffix(".fo")
+               .testSet("testcases")
+               .disabledProperty("fop.layoutengine.disabled", 
"test/fotree/disabled-testcases.xml")
+               .privateTestsProperty("fop.fotree.private");
 
-        IOFileFilter filter;
-        String single = System.getProperty("fop.fotree.single");
-        String startsWith = System.getProperty("fop.fotree.starts-with");
-        if (single != null) {
-            filter = new NameFileFilter(single);
-        } else if (startsWith != null) {
-            filter = new PrefixFileFilter(startsWith);
-            filter = new AndFileFilter(filter, new SuffixFileFilter(".fo"));
-        } else {
-            filter = new SuffixFileFilter(".fo");
-            filter = LayoutEngineTestUtils.decorateWithDisabledList(filter);
-        }
-        Collection<File> files = FileUtils.listFiles(new File(mainDir, 
"testcases"), filter,
-                TrueFileFilter.INSTANCE);
-        String privateTests = System.getProperty("fop.fotree.private");
-        if ("true".equalsIgnoreCase(privateTests)) {
-            Collection privateFiles = FileUtils.listFiles(new File(mainDir, 
"private-testcases"),
-                    filter, TrueFileFilter.INSTANCE);
-            files.addAll(privateFiles);
-        }
-        // Unfortunately JUnit forces us to return a collection of arrays.
-        Collection<File[]> parameters = new ArrayList<File[]>();
-        for (File f : files) {
-            parameters.add(new File[] { f });
-        }
-        return parameters;
+        TestFilesConfiguration testConfig = builder.build();
+        return LayoutEngineTestUtils.getTestFiles(testConfig);
     }
 
     private FopFactory fopFactory = FopFactory.newInstance();
@@ -153,7 +132,7 @@ public class FOTreeTester {
                 throw e;
             }
 
-            List results = collector.getResults();
+            List<String> results = collector.getResults();
             if (results.size() > 0) {
                 for (int i = 0; i < results.size(); i++) {
                     System.out.println((String) results.get(i));

Modified: 
xmlgraphics/fop/trunk/test/java/org/apache/fop/fotreetest/ResultCollector.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/fotreetest/ResultCollector.java?rev=1186070&r1=1186069&r2=1186070&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/test/java/org/apache/fop/fotreetest/ResultCollector.java 
(original)
+++ 
xmlgraphics/fop/trunk/test/java/org/apache/fop/fotreetest/ResultCollector.java 
Wed Oct 19 10:21:17 2011
@@ -19,6 +19,7 @@
 
 package org.apache.fop.fotreetest;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
@@ -29,7 +30,7 @@ public class ResultCollector {
 
     private static ResultCollector instance = null;
 
-    private List results = new java.util.ArrayList();
+    private List<String> results = new ArrayList<String>();
 
     /** @return the ResultCollector singleton */
     public static ResultCollector getInstance() {
@@ -70,7 +71,7 @@ public class ResultCollector {
     }
 
     /** @return the list of results */
-    public List getResults() {
+    public List<String> getResults() {
         return Collections.unmodifiableList(results);
     }
 }

Modified: 
xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java?rev=1186070&r1=1186069&r2=1186070&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java
 (original)
+++ 
xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java
 Wed Oct 19 10:21:17 2011
@@ -63,7 +63,7 @@ public class AreaTreeParserTestCase exte
      */
     @Parameters
     public static Collection<File[]> getParameters() throws IOException {
-        return LayoutEngineTestUtils.getTestFiles();
+        return LayoutEngineTestUtils.getLayoutTestFiles();
     }
     /**
      * Constructor for the test suite that is used for each test file.

Modified: 
xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFParserTestCase.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFParserTestCase.java?rev=1186070&r1=1186069&r2=1186070&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFParserTestCase.java
 (original)
+++ 
xmlgraphics/fop/trunk/test/java/org/apache/fop/intermediate/IFParserTestCase.java
 Wed Oct 19 10:21:17 2011
@@ -56,7 +56,7 @@ public class IFParserTestCase extends Ab
      */
     @Parameters
     public static Collection<File[]> getParameters() throws IOException {
-        return LayoutEngineTestUtils.getTestFiles();
+        return LayoutEngineTestUtils.getLayoutTestFiles();
     }
 
     /**

Modified: 
xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTestUtils.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTestUtils.java?rev=1186070&r1=1186069&r2=1186070&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTestUtils.java
 (original)
+++ 
xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTestUtils.java
 Wed Oct 19 10:21:17 2011
@@ -20,7 +20,6 @@
 package org.apache.fop.layoutengine;
 
 import java.io.File;
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
@@ -58,9 +57,9 @@ public final class LayoutEngineTestUtils
     private static class FilenameHandler extends DefaultHandler {
         private StringBuffer buffer = new StringBuffer(128);
         private boolean readingFilename = false;
-        private List filenames;
+        private List<String> filenames;
 
-        public FilenameHandler(List filenames) {
+        public FilenameHandler(List<String> filenames) {
             this.filenames = filenames;
         }
 
@@ -93,19 +92,24 @@ public final class LayoutEngineTestUtils
         }
     }
 
-    public static IOFileFilter decorateWithDisabledList(IOFileFilter filter) 
throws IOException {
-        String disabled = System.getProperty("fop.layoutengine.disabled");
+    /**
+     * Removes from {@code filter} any tests that have been disabled.
+     *
+     * @param filter the filter populated with tests
+     * @param disabled name of the file containing disabled test cases. If 
null or empty,
+     * no file is read
+     * @return {@code filter} minus any disabled tests
+     */
+    public static IOFileFilter decorateWithDisabledList(IOFileFilter filter, 
String disabled) {
         if (disabled != null && disabled.length() > 0) {
-            filter = new AndFileFilter(new NotFileFilter(
-                    new 
NameFileFilter(LayoutEngineTestUtils.readDisabledTestcases(new File(
-                            disabled)))),
-                    filter);
+            filter = new AndFileFilter(new NotFileFilter(new NameFileFilter(
+                    LayoutEngineTestUtils.readDisabledTestcases(new 
File(disabled)))), filter);
         }
         return filter;
     }
 
-    public static String[] readDisabledTestcases(File f) throws IOException {
-        List lines = new java.util.ArrayList();
+    private static String[] readDisabledTestcases(File f) {
+        List<String> lines = new ArrayList<String>();
         Source stylesheet = new StreamSource(
                 new File("test/layoutengine/disabled-testcase2filename.xsl"));
         Source source = new StreamSource(f);
@@ -114,43 +118,41 @@ public final class LayoutEngineTestUtils
             Transformer transformer = 
TransformerFactory.newInstance().newTransformer(stylesheet);
             transformer.transform(source, result);
         } catch (TransformerConfigurationException tce) {
-            throw new RuntimeException(tce.getMessage());
+            throw new RuntimeException(tce);
         } catch (TransformerException te) {
-            throw new RuntimeException(te.getMessage());
+            throw new RuntimeException(te);
         }
         return (String[]) lines.toArray(new String[lines.size()]);
     }
 
     /**
-     * @return a Collection of File instances containing all the test cases 
set up for processing.
-     * @throws IOException if there's a problem gathering the list of test 
files
+     * Returns the test files matching the given configuration.
+     *
+     * @param testConfig the test configuration
+     * @return the applicable test cases
      */
-    public static Collection<File[]> getTestFiles() throws IOException {
-        File mainDir = new File("test/layoutengine");
+    public static Collection<File[]> getTestFiles(TestFilesConfiguration 
testConfig) {
+        File mainDir = testConfig.getTestDirectory();
         IOFileFilter filter;
-        String single = System.getProperty("fop.layoutengine.single");
-        String startsWith = System.getProperty("fop.layoutengine.starts-with");
+        String single = testConfig.getSingleTest();
+        String startsWith = testConfig.getStartsWith();
         if (single != null) {
             filter = new NameFileFilter(single);
         } else if (startsWith != null) {
             filter = new PrefixFileFilter(startsWith);
-            filter = new AndFileFilter(filter, new SuffixFileFilter(".xml"));
-            filter = decorateWithDisabledList(filter);
+            filter = new AndFileFilter(filter, new 
SuffixFileFilter(testConfig.getFileSuffix()));
+            filter = decorateWithDisabledList(filter, 
testConfig.getDisabledTests());
         } else {
-            filter = new SuffixFileFilter(".xml");
-            filter = decorateWithDisabledList(filter);
+            filter = new SuffixFileFilter(testConfig.getFileSuffix());
+            filter = decorateWithDisabledList(filter, 
testConfig.getDisabledTests());
         }
-        String testset = System.getProperty("fop.layoutengine.testset");
-        if (testset == null) {
-            testset = "standard";
-        }
-        Collection<File> files = FileUtils.listFiles(new File(mainDir, testset 
+ "-testcases"),
-                filter, TrueFileFilter.INSTANCE);
-        String privateTests = System.getProperty("fop.layoutengine.private");
-        if ("true".equalsIgnoreCase(privateTests)) {
-            Collection privateFiles = FileUtils.listFiles(
-                    new File(mainDir, "private-testcases"),
-                    filter, TrueFileFilter.INSTANCE);
+        String testset = testConfig.getTestSet();
+
+        Collection<File> files = FileUtils.listFiles(new File(mainDir, 
testset), filter,
+                TrueFileFilter.INSTANCE);
+        if (testConfig.hasPrivateTests()) {
+            Collection<File> privateFiles = FileUtils.listFiles(new 
File(mainDir,
+                    "private-testcases"), filter, TrueFileFilter.INSTANCE);
             files.addAll(privateFiles);
         }
 
@@ -162,4 +164,29 @@ public final class LayoutEngineTestUtils
         return parametersForJUnit4;
     }
 
+    /**
+     * This is a helper method that uses the standard parameters for FOP's 
layout engine tests and
+     * returns a set of test files. These pull in System parameters to 
configure the layout tests
+     * to run.
+     *
+     * @return A collection of file arrays that contain the test files
+     */
+    public static Collection<File[]> getLayoutTestFiles() {
+        TestFilesConfiguration.Builder builder = new 
TestFilesConfiguration.Builder();
+        String testSet = System.getProperty("fop.layoutengine.testset");
+        testSet = (testSet != null ? testSet : "standard") + "-testcases";
+
+        builder.testDir("test/layoutengine")
+               .singleProperty("fop.layoutengine.single")
+               .startsWithProperty("fop.layoutengine.starts-with")
+               .suffix(".xml")
+               .testSet(testSet)
+               .disabledProperty("fop.layoutengine.disabled",
+                       "test/layoutengine/disabled-testcases.xml")
+               .privateTestsProperty("fop.layoutengine.private");
+
+        TestFilesConfiguration testConfig = builder.build();
+        return getTestFiles(testConfig);
+    }
+
 }

Modified: 
xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java?rev=1186070&r1=1186069&r2=1186070&view=diff
==============================================================================
--- 
xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java
 (original)
+++ 
xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java
 Wed Oct 19 10:21:17 2011
@@ -34,6 +34,17 @@ import javax.xml.transform.dom.DOMSource
 import javax.xml.transform.sax.SAXResult;
 import javax.xml.transform.sax.TransformerHandler;
 
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
+
 import org.apache.fop.DebugHelper;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.Fop;
@@ -53,16 +64,6 @@ import org.apache.fop.render.intermediat
 import org.apache.fop.render.xml.XMLRenderer;
 import org.apache.fop.util.ConsoleEventListenerForTests;
 import org.apache.fop.util.DelegatingContentHandler;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
 
 /**
  * Class for testing the FOP's layout engine using testcases specified in XML
@@ -71,14 +72,15 @@ import org.xml.sax.SAXException;
 @RunWith(Parameterized.class)
 public class LayoutEngineTester {
     private static File areaTreeBackupDir;
-    /**
-     * Sets up the class, this is invoked only once.
-     */
+
     @BeforeClass
-    public static void makeDirAndRegisterDebugHelper() {
+    public static void makeDirAndRegisterDebugHelper() throws IOException {
         DebugHelper.registerStandardElementListObservers();
         areaTreeBackupDir = new File("build/test-results/layoutengine");
-        areaTreeBackupDir.mkdirs();
+        if (!areaTreeBackupDir.mkdirs() && !areaTreeBackupDir.exists()) {
+            throw new IOException("Failed to create the layout engine 
directory at "
+                    + "build/test-results/layoutengine");
+        }
     }
 
     /**
@@ -89,7 +91,7 @@ public class LayoutEngineTester {
      */
     @Parameters
     public static Collection<File[]> getParameters() throws IOException {
-        return LayoutEngineTestUtils.getTestFiles();
+        return LayoutEngineTestUtils.getLayoutTestFiles();
     }
 
     private TestAssistant testAssistant = new TestAssistant();
@@ -161,9 +163,9 @@ public class LayoutEngineTester {
         }
 
         Document doc = (Document)domres.getNode();
-        if (this.areaTreeBackupDir != null) {
+        if (areaTreeBackupDir != null) {
             testAssistant.saveDOM(doc,
-                    new File(this.areaTreeBackupDir, testFile.getName() + 
".at.xml"));
+                    new File(areaTreeBackupDir, testFile.getName() + 
".at.xml"));
         }
         FormattingResults results = fop.getResults();
         LayoutResult result = new LayoutResult(doc, elCollector, results);
@@ -172,6 +174,7 @@ public class LayoutEngineTester {
 
     /**
      * Perform all checks on the area tree and, optionally, on the 
intermediate format.
+     * @param fopFactory the FOP factory
      * @param testFile Test case XML file
      * @param result The layout results
      * @throws TransformerException if a problem occurs in XSLT/JAXP

Added: 
xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/TestFilesConfiguration.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/TestFilesConfiguration.java?rev=1186070&view=auto
==============================================================================
--- 
xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/TestFilesConfiguration.java
 (added)
+++ 
xmlgraphics/fop/trunk/test/java/org/apache/fop/layoutengine/TestFilesConfiguration.java
 Wed Oct 19 10:21:17 2011
@@ -0,0 +1,205 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.layoutengine;
+
+import java.io.File;
+
+/**
+ * A class that contains the information needed to run a suite of layout 
engine and FO tree
+ * tests.
+ */
+public final class TestFilesConfiguration {
+
+    private final File testDirectory;
+    private final String singleTest;
+    private final String testStartsWith;
+    private final String testFileSuffix;
+    private final String testSet;
+    private final String disabledTests;
+    private final boolean privateTests;
+
+    private TestFilesConfiguration(Builder builder) {
+        this.testDirectory = new File(builder.testDirectory);
+        this.singleTest = builder.singleTest;
+        this.testStartsWith = builder.testStartsWith;
+        this.testFileSuffix = builder.testFileSuffix;
+        this.testSet = builder.testSet;
+        this.privateTests = builder.privateTests;
+        this.disabledTests = builder.disabledTests;
+    }
+
+    /**
+     * Returns the directory of the tests.
+     * @return the test directory
+     */
+    public File getTestDirectory() {
+        return testDirectory;
+    }
+
+    /**
+     * Returns the name of the single test file to run.
+     * @return the single test file name
+     */
+    public String getSingleTest() {
+        return singleTest;
+    }
+
+    /**
+     * Returns the string that must prefix the test file names.
+     * @return the prefixing string
+     */
+    public String getStartsWith() {
+        return testStartsWith;
+    }
+
+    /**
+     * Returns the file suffix (i.e. ".xml" for XML files and ".fo" for FOs).
+     * @return the file suffix
+     */
+    public String getFileSuffix() {
+        return testFileSuffix;
+    }
+
+    /**
+     * Returns the directory set of tests to be run.
+     * @return the directory tests
+     */
+    public String getTestSet() {
+        return testSet;
+    }
+
+    /**
+     * Returns the name of the XML file containing the disabled tests.
+     * @return a file name, may be null
+     */
+    public String getDisabledTests() {
+        return disabledTests;
+    }
+
+    /**
+     * Whether any private tests should be invoked.
+     * @return true if private tests should be tested
+     */
+    public boolean hasPrivateTests() {
+        return privateTests;
+    }
+
+    /**
+     * A builder class that configures the data for running a suite of tests 
designed for the
+     * layout engine and FOTree.
+     */
+    public static class Builder {
+
+        private String testDirectory;
+        private String singleTest;
+        private String testStartsWith;
+        private String testFileSuffix;
+        private String testSet;
+        private String disabledTests;
+        private boolean privateTests;
+
+        /**
+         * Configures the test directory.
+         * @param dir the test directory
+         * @return {@code this}
+         */
+        public Builder testDir(String dir) {
+            testDirectory = dir;
+            return this;
+        }
+
+        /**
+         * Configures the name of the single test to run.
+         * @param singleProperty name of the property that determines the 
single test case
+         * @return {@code this}
+         */
+        public Builder singleProperty(String singleProperty) {
+            singleTest = getSystemProperty(singleProperty);
+            return this;
+        }
+
+        /**
+         * Configures the prefix that all test cases must match.
+         * @param startsWithProperty name of the property that determines the 
common prefix
+         * @return {@code this}
+         */
+        public Builder startsWithProperty(String startsWithProperty) {
+            testStartsWith = getSystemProperty(startsWithProperty);
+            return this;
+        }
+
+        /**
+         * Configures the test file name suffix.
+         * @param suffix the suffixing string
+         * @return {@code this}
+         */
+        public Builder suffix(String suffix) {
+            testFileSuffix = suffix;
+            return this;
+        }
+
+        /**
+         * Configures the name of the directory containing the set of tests.
+         * @param testSet the directory of tests. If null, defaults to 
"standard-testcases"
+         * @return {@code this}
+         */
+        public Builder testSet(String testSet) {
+            this.testSet = testSet != null ? testSet : "standard-testcases";
+            return this;
+        }
+
+        /**
+         * Configures whether any tests are disabled.
+         * @param disabledProperty name of the property that determines the 
file of
+         * disabled test cases
+         * @param defaultValue if the property was not defined, uses this file 
name
+         * instead
+         * @return {@code this}
+         */
+        public Builder disabledProperty(String disabledProperty, String 
defaultValue) {
+            String property = getSystemProperty(disabledProperty);
+            disabledTests = property != null ? property : defaultValue;
+            return this;
+        }
+
+        /**
+         * Configures whether private tests must be run or not.
+         * @param privateTestsProperty name of the property containing the 
boolean switch
+         * @return {@code this}
+         */
+        public Builder privateTestsProperty(String privateTestsProperty) {
+            String property = getSystemProperty(privateTestsProperty);
+            this.privateTests = property != null && 
property.equalsIgnoreCase("true");
+            return this;
+        }
+
+        private String getSystemProperty(String property) {
+            return System.getProperty(property);
+        }
+
+        /**
+         * Creates the configuration instance.
+         * @return a configuration instance configured by this builder
+         */
+        public TestFilesConfiguration build() {
+            return new TestFilesConfiguration(this);
+        }
+    }
+}

Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BatchDiffer.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BatchDiffer.java?rev=1186070&r1=1186069&r2=1186070&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BatchDiffer.java 
(original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/visual/BatchDiffer.java Wed 
Oct 19 10:21:17 2011
@@ -23,7 +23,6 @@ import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
 import java.util.Collection;
-import java.util.Iterator;
 
 import javax.xml.transform.TransformerConfigurationException;
 import javax.xml.transform.stream.StreamSource;
@@ -150,8 +149,7 @@ public class BatchDiffer {
                 throw new RuntimeException("source-directory does not exist: " 
+ srcDir);
             }
             final File targetDir = new 
File(cfg.getChild("target-directory").getValue());
-            targetDir.mkdirs();
-            if (!targetDir.exists()) {
+            if (!targetDir.mkdirs() && !targetDir.exists()) {
                 throw new RuntimeException("target-directory is invalid: " + 
targetDir);
             }
             context.setTargetDir(targetDir);
@@ -164,7 +162,8 @@ public class BatchDiffer {
             IOFileFilter filter = new SuffixFileFilter(new String[] {".xml", 
".fo"});
             //Same filtering as in layout engine tests
             if (cfg.getChild("filter-disabled").getValueAsBoolean(true)) {
-                filter = 
LayoutEngineTestUtils.decorateWithDisabledList(filter);
+                String disabled = 
System.getProperty("fop.layoutengine.disabled");
+                filter = 
LayoutEngineTestUtils.decorateWithDisabledList(filter, disabled);
             }
             String manualFilter = cfg.getChild("manual-filter").getValue(null);
             if (manualFilter != null) {
@@ -176,10 +175,8 @@ public class BatchDiffer {
             }
 
             int maxfiles = cfg.getChild("max-files").getValueAsInteger(-1);
-            Collection files = FileUtils.listFiles(srcDir, filter, null);
-            Iterator i = files.iterator();
-            while (i.hasNext()) {
-                final File f = (File)i.next();
+            Collection<File> files = FileUtils.listFiles(srcDir, filter, null);
+            for (final File f : files) {
                 try {
                     log.info("---=== " + f + " ===---");
                     long[] times = new long[producers.length];
@@ -228,9 +225,6 @@ public class BatchDiffer {
                     break;
                 }
             }
-        } catch (IOException ioe) {
-            log.error("I/O problem while processing", ioe);
-            throw new RuntimeException("I/O problem: " + ioe.getMessage());
         } catch (ConfigurationException e) {
             log.error("Error while configuring BatchDiffer", e);
             throw new RuntimeException("Error while configuring BatchDiffer: " 
+ e.getMessage());
@@ -260,7 +254,7 @@ public class BatchDiffer {
         BitmapProducer[] producers = new BitmapProducer[children.length];
         for (int i = 0; i < children.length; i++) {
             try {
-                Class clazz = 
Class.forName(children[i].getAttribute("classname"));
+                Class<?> clazz = 
Class.forName(children[i].getAttribute("classname"));
                 producers[i] = (BitmapProducer)clazz.newInstance();
                 ContainerUtil.configure(producers[i], children[i]);
             } catch (Exception e) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to