You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ph...@apache.org on 2012/07/03 18:03:10 UTC

svn commit: r1356804 [10/12] - in /xmlgraphics/fop/branches/Temp_RoundedCorners: ./ examples/embedding/java/embedding/ examples/embedding/java/embedding/atxml/ examples/embedding/java/embedding/events/ examples/embedding/java/embedding/intermediate/ sr...

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/fotreetest/FOTreeTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/fotreetest/FOTreeTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/fotreetest/FOTreeTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/fotreetest/FOTreeTestCase.java Tue Jul  3 16:01:48 2012
@@ -20,8 +20,11 @@
 package org.apache.fop.fotreetest;
 
 import java.io.File;
+import java.net.URI;
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
@@ -35,14 +38,22 @@ import org.xml.sax.SAXException;
 import org.xml.sax.XMLReader;
 import org.xml.sax.helpers.XMLFilterImpl;
 
+import org.apache.avalon.framework.configuration.Configuration;
+
+import org.apache.xmlgraphics.image.loader.ImageManager;
+
 import org.apache.fop.DebugHelper;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.Fop;
 import org.apache.fop.apps.FopFactory;
-import org.apache.fop.apps.FopFactoryConfigurator;
+import org.apache.fop.apps.FopFactoryBuilder;
+import org.apache.fop.apps.FopFactoryConfig;
+import org.apache.fop.apps.io.ResourceResolver;
+import org.apache.fop.fonts.FontManager;
 import org.apache.fop.fotreetest.ext.TestElementMapping;
 import org.apache.fop.layoutengine.LayoutEngineTestUtils;
 import org.apache.fop.layoutengine.TestFilesConfiguration;
+import org.apache.fop.layoutmgr.LayoutManagerMaker;
 import org.apache.fop.util.ConsoleEventListenerForTests;
 
 /**
@@ -51,6 +62,9 @@ import org.apache.fop.util.ConsoleEventL
 @RunWith(Parameterized.class)
 public class FOTreeTestCase {
 
+    private static final String BASE_DIR = "test/fotree/";
+    private static final String TEST_CASES = "testcases";
+
     @BeforeClass
     public static void registerElementListObservers() {
         DebugHelper.registerStandardElementListObservers();
@@ -63,7 +77,7 @@ public class FOTreeTestCase {
     @Parameters
     public static Collection<File[]> getParameters() {
         TestFilesConfiguration.Builder builder = new TestFilesConfiguration.Builder();
-        builder.testDir("test/fotree")
+        builder.testDir(BASE_DIR)
                .singleProperty("fop.fotree.single")
                .startsWithProperty("fop.fotree.starts-with")
                .suffix(".fo")
@@ -75,7 +89,7 @@ public class FOTreeTestCase {
         return LayoutEngineTestUtils.getTestFiles(testConfig);
     }
 
-    private FopFactory fopFactory = FopFactory.newInstance();
+
 
     private final File testFile;
 
@@ -85,7 +99,6 @@ public class FOTreeTestCase {
      * @param testFile the FO file to test
      */
     public FOTreeTestCase(File testFile) {
-        fopFactory.addElementMapping(new TestElementMapping());
         this.testFile = testFile;
     }
 
@@ -104,21 +117,23 @@ public class FOTreeTestCase {
             spf.setValidating(false);
             SAXParser parser = spf.newSAXParser();
             XMLReader reader = parser.getXMLReader();
-
+            FopFactoryBuilder builder = new FopFactoryBuilder(new File(".").toURI());
             // Resetting values modified by processing instructions
-            fopFactory.setBreakIndentInheritanceOnReferenceAreaBoundary(
-                    FopFactoryConfigurator.DEFAULT_BREAK_INDENT_INHERITANCE);
-            fopFactory.setSourceResolution(FopFactoryConfigurator.DEFAULT_SOURCE_RESOLUTION);
+            builder.setBreakIndentInheritanceOnReferenceAreaBoundary(
+                   FopFactoryConfig.DEFAULT_BREAK_INDENT_INHERITANCE);
+            builder.setSourceResolution(FopFactoryConfig.DEFAULT_SOURCE_RESOLUTION);
+
+            MutableConfig mutableConfig = new MutableConfig(builder.buildConfig());
 
+            FopFactory fopFactory = FopFactory.newInstance(mutableConfig);
+            fopFactory.addElementMapping(new TestElementMapping());
             FOUserAgent ua = fopFactory.newFOUserAgent();
-            ua.setBaseURL(testFile.getParentFile().toURI().toURL().toString());
             ua.setFOEventHandlerOverride(new DummyFOEventHandler(ua));
             ua.getEventBroadcaster().addEventListener(
                     new ConsoleEventListenerForTests(testFile.getName()));
 
             // Used to set values in the user agent through processing instructions
-            reader = new PIListener(reader, ua);
-
+            reader = new PIListener(reader, mutableConfig);
             Fop fop = fopFactory.newFop(ua);
 
             reader.setContentHandler(fop.getDefaultHandler());
@@ -135,9 +150,9 @@ public class FOTreeTestCase {
             List<String> results = collector.getResults();
             if (results.size() > 0) {
                 for (int i = 0; i < results.size(); i++) {
-                    System.out.println((String) results.get(i));
+                    System.out.println(results.get(i));
                 }
-                throw new IllegalStateException((String) results.get(0));
+                throw new IllegalStateException(results.get(0));
             }
         } catch (Exception e) {
             org.apache.commons.logging.LogFactory.getLog(this.getClass()).info(
@@ -148,24 +163,121 @@ public class FOTreeTestCase {
 
     private static class PIListener extends XMLFilterImpl {
 
-        private FOUserAgent userAgent;
+        private final MutableConfig fopConfig;
 
-        public PIListener(XMLReader parent, FOUserAgent userAgent) {
+        public PIListener(XMLReader parent, MutableConfig fopConfig) {
             super(parent);
-            this.userAgent = userAgent;
+            this.fopConfig = fopConfig;
         }
 
         /** @see org.xml.sax.helpers.XMLFilterImpl */
         public void processingInstruction(String target, String data) throws SAXException {
             if ("fop-useragent-break-indent-inheritance".equals(target)) {
-                userAgent.getFactory().setBreakIndentInheritanceOnReferenceAreaBoundary(
+                fopConfig.setBreakIndentInheritanceOnReferenceAreaBoundary(
                         Boolean.valueOf(data).booleanValue());
             } else if ("fop-source-resolution".equals(target)) {
-                userAgent.getFactory().setSourceResolution(Float.parseFloat(data));
+                fopConfig.setSourceResolution(Float.parseFloat(data));
             }
             super.processingInstruction(target, data);
         }
+    }
+
+    private static final class MutableConfig implements FopFactoryConfig {
+
+        private final FopFactoryConfig delegate;
+
+        private boolean setBreakInheritance;
+        private float sourceResolution;
+
+        private MutableConfig(FopFactoryConfig wrappedConfig) {
+            delegate = wrappedConfig;
+            setBreakInheritance = delegate.isBreakIndentInheritanceOnReferenceAreaBoundary();
+            sourceResolution = delegate.getSourceResolution();
+        }
+
+        public boolean isAccessibilityEnabled() {
+            return delegate.isAccessibilityEnabled();
+        }
+
+        public LayoutManagerMaker getLayoutManagerMakerOverride() {
+            return delegate.getLayoutManagerMakerOverride();
+        }
+
+        public ResourceResolver getResourceResolver() {
+            return delegate.getResourceResolver();
+        }
+
+        public URI getBaseURI() {
+            return delegate.getBaseURI();
+        }
+
+        public boolean validateStrictly() {
+            return delegate.validateStrictly();
+        }
+
+        public boolean validateUserConfigStrictly() {
+            return delegate.validateUserConfigStrictly();
+        }
+
+        public boolean isBreakIndentInheritanceOnReferenceAreaBoundary() {
+            return setBreakInheritance;
+        }
 
+        public void setBreakIndentInheritanceOnReferenceAreaBoundary(boolean value) {
+            setBreakInheritance = value;
+        }
+
+        public float getSourceResolution() {
+            return sourceResolution;
+        }
+
+        public void setSourceResolution(float srcRes) {
+            sourceResolution = srcRes;
+        }
+
+        public float getTargetResolution() {
+            return delegate.getTargetResolution();
+        }
+
+        public String getPageHeight() {
+            return delegate.getPageHeight();
+        }
+
+        public String getPageWidth() {
+            return delegate.getPageWidth();
+        }
+
+        public Set<String> getIgnoredNamespaces() {
+            return delegate.getIgnoredNamespaces();
+        }
+
+        public boolean isNamespaceIgnored(String namespace) {
+            return delegate.isNamespaceIgnored(namespace);
+        }
+
+        public Configuration getUserConfig() {
+            return delegate.getUserConfig();
+        }
+
+        public boolean preferRenderer() {
+            return delegate.preferRenderer();
+        }
+
+        public FontManager getFontManager() {
+            return delegate.getFontManager();
+        }
+
+        public ImageManager getImageManager() {
+            return delegate.getImageManager();
+        }
+
+        public boolean isComplexScriptFeaturesEnabled() {
+            return delegate.isComplexScriptFeaturesEnabled();
+        }
+
+        public Map<String, String> getHyphPatNames() {
+            return delegate.getHyphPatNames();
+        }
     }
 
 }

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/image/loader/batik/ImageLoaderTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/image/loader/batik/ImageLoaderTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/image/loader/batik/ImageLoaderTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/image/loader/batik/ImageLoaderTestCase.java Tue Jul  3 16:01:48 2012
@@ -27,8 +27,9 @@ import java.awt.image.Raster;
 import java.awt.image.RenderedImage;
 import java.io.File;
 
-import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.apps.FopFactory;
+import org.junit.Ignore;
+import org.junit.Test;
+
 import org.apache.xmlgraphics.image.loader.Image;
 import org.apache.xmlgraphics.image.loader.ImageFlavor;
 import org.apache.xmlgraphics.image.loader.ImageInfo;
@@ -37,21 +38,26 @@ import org.apache.xmlgraphics.image.load
 import org.apache.xmlgraphics.image.loader.impl.ImageRendered;
 import org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM;
 import org.apache.xmlgraphics.image.writer.ImageWriterUtil;
-import org.junit.Test;
+
+import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.apps.FopFactory;
+import org.apache.fop.apps.FopFactoryBuilder;
 
 /**
  * Tests for bundled ImageLoader implementations.
  */
+@Ignore("Batik fails big time")
 public class ImageLoaderTestCase {
 
-    private static final File DEBUG_TARGET_DIR = null; //new File("D:/");
+    private static final File DEBUG_TARGET_DIR = null;
 
     private FopFactory fopFactory;
 
     public ImageLoaderTestCase() {
-        fopFactory = FopFactory.newInstance();
-        fopFactory.setSourceResolution(72);
-        fopFactory.setTargetResolution(300);
+        FopFactoryBuilder builder = new FopFactoryBuilder(new File(".").toURI());
+        builder.setSourceResolution(72);
+        builder.setTargetResolution(300);
+        fopFactory = builder.build();
     }
 
     @Test
@@ -76,7 +82,7 @@ public class ImageLoaderTestCase {
         assertEquals(16000, info.getSize().getHeightMpt());
 
         img = manager.getImage(info, ImageFlavor.RENDERED_IMAGE,
-                    userAgent.getImageSessionContext());
+                userAgent.getImageSessionContext());
         assertNotNull("Image must not be null", img);
         assertEquals(ImageFlavor.RENDERED_IMAGE, img.getFlavor());
         ImageRendered imgRed = (ImageRendered)img;
@@ -97,9 +103,10 @@ public class ImageLoaderTestCase {
     public void testSVGNoViewbox() throws Exception {
         String uri = "test/resources/images/circles.svg";
 
-        FopFactory ff = FopFactory.newInstance();
-        ff.setSourceResolution(96);
-        ff.setTargetResolution(300);
+        FopFactoryBuilder builder = new FopFactoryBuilder(new File(".").toURI());
+        builder.setSourceResolution(96);
+        builder.setTargetResolution(300);
+        FopFactory ff = builder.build();
 
         FOUserAgent userAgent = ff.newFOUserAgent();
 
@@ -122,7 +129,7 @@ public class ImageLoaderTestCase {
         assertEquals(454, info.getSize().getHeightPx());
 
         img = manager.getImage(info, ImageFlavor.RENDERED_IMAGE,
-                    userAgent.getImageSessionContext());
+                userAgent.getImageSessionContext());
         assertNotNull("Image must not be null", img);
         assertEquals(ImageFlavor.RENDERED_IMAGE, img.getFlavor());
         ImageRendered imgRed = (ImageRendered)img;
@@ -170,7 +177,7 @@ public class ImageLoaderTestCase {
     @Test
     public void testSVGWithReferences() throws Exception {
         String uri = "test/resources/fop/svg/images.svg";
-        FopFactory ff = FopFactory.newInstance();
+        FopFactory ff = FopFactory.newInstance(new File(".").toURI());
         FOUserAgent userAgent = ff.newFOUserAgent();
 
         ImageManager manager = ff.getImageManager();
@@ -191,7 +198,7 @@ public class ImageLoaderTestCase {
         assertEquals(400, info.getSize().getHeightPx());
 
         img = manager.getImage(info, ImageFlavor.RENDERED_IMAGE,
-                    userAgent.getImageSessionContext());
+                userAgent.getImageSessionContext());
         assertNotNull("Image must not be null", img);
         assertEquals(ImageFlavor.RENDERED_IMAGE, img.getFlavor());
         ImageRendered imgRed = (ImageRendered)img;

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/image/loader/batik/ImagePreloaderTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/image/loader/batik/ImagePreloaderTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/image/loader/batik/ImagePreloaderTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/image/loader/batik/ImagePreloaderTestCase.java Tue Jul  3 16:01:48 2012
@@ -22,24 +22,20 @@ package org.apache.fop.image.loader.bati
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
+import java.io.File;
 import java.io.IOException;
 
-import javax.xml.transform.Source;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.URIResolver;
-import javax.xml.transform.dom.DOMSource;
+import org.junit.Ignore;
+import org.junit.Test;
 
-import org.apache.batik.dom.svg.SVGDOMImplementation;
-import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.apps.FopFactory;
-import org.apache.fop.apps.MimeConstants;
 import org.apache.xmlgraphics.image.loader.ImageException;
 import org.apache.xmlgraphics.image.loader.ImageInfo;
 import org.apache.xmlgraphics.image.loader.ImageManager;
-import org.junit.Test;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
+
+import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.apps.FopFactory;
+import org.apache.fop.apps.FopFactoryBuilder;
+import org.apache.fop.apps.MimeConstants;
 
 /**
  * Tests for bundled image preloader implementations.
@@ -49,9 +45,10 @@ public class ImagePreloaderTestCase {
     private FopFactory fopFactory;
 
     public ImagePreloaderTestCase() {
-        fopFactory = FopFactory.newInstance();
-        fopFactory.setSourceResolution(72);
-        fopFactory.setTargetResolution(300);
+        FopFactoryBuilder builder = new FopFactoryBuilder(new File(".").toURI());
+        builder.setSourceResolution(72);
+        builder.setTargetResolution(300);
+        fopFactory = builder.build();
     }
 
     @Test
@@ -101,37 +98,39 @@ public class ImagePreloaderTestCase {
     }
 
     @Test
+    @Ignore("Batik has not yet been handled")
     public void testSVGWithDOM() throws Exception {
         String uri = "my:SVGImage";
         FOUserAgent userAgent = fopFactory.newFOUserAgent();
 
-        userAgent.setURIResolver(new URIResolver() {
-
-            public Source resolve(String href, String base) throws TransformerException {
-                if (href.startsWith("my:")) {
-                    DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
-                    String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
-                    Document doc = impl.createDocument(svgNS, "svg", null);
-                    Element element = doc.getDocumentElement();
-                    element.setAttribute("viewBox", "0 0 20 20");
-                    element.setAttribute("width", "20pt");
-                    element.setAttribute("height", "20pt");
-
-                    Element rect = doc.createElementNS(svgNS, "rect");
-                    rect.setAttribute("x", "5");
-                    rect.setAttribute("y", "5");
-                    rect.setAttribute("width", "10");
-                    rect.setAttribute("height", "10");
-                    element.appendChild(rect);
-
-                    DOMSource src = new DOMSource(doc);
-                    return src;
-                } else {
-                    return null;
-                }
-            }
-
-        });
+        // TODO: SORT THIS OUT!!
+        //        userAgent.setURIResolver(new URIResolver() {
+        //
+        //            public Source resolve(String href, String base) throws TransformerException {
+        //                if (href.startsWith("my:")) {
+        //                    DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
+        //                    String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
+        //                    Document doc = impl.createDocument(svgNS, "svg", null);
+        //                    Element element = doc.getDocumentElement();
+        //                    element.setAttribute("viewBox", "0 0 20 20");
+        //                    element.setAttribute("width", "20pt");
+        //                    element.setAttribute("height", "20pt");
+        //
+        //                    Element rect = doc.createElementNS(svgNS, "rect");
+        //                    rect.setAttribute("x", "5");
+        //                    rect.setAttribute("y", "5");
+        //                    rect.setAttribute("width", "10");
+        //                    rect.setAttribute("height", "10");
+        //                    element.appendChild(rect);
+        //
+        //                    DOMSource src = new DOMSource(doc);
+        //                    return src;
+        //                } else {
+        //                    return null;
+        //                }
+        //            }
+        //
+        //        });
 
         ImageManager manager = fopFactory.getImageManager();
         ImageInfo info = manager.preloadImage(uri, userAgent.getImageSessionContext());

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/AbstractIFTest.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/AbstractIFTest.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/AbstractIFTest.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/AbstractIFTest.java Tue Jul  3 16:01:48 2012
@@ -112,8 +112,7 @@ abstract class AbstractIFTest extends Ab
                 userAgent, getTargetMIME());
 
         //Setup painter
-        IFSerializer serializer = new IFSerializer();
-        serializer.setContext(new IFContext(userAgent));
+        IFSerializer serializer = new IFSerializer(new IFContext(userAgent));
         serializer.mimicDocumentHandler(targetHandler);
         serializer.setResult(domResult);
 

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/AbstractIntermediateTest.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/AbstractIntermediateTest.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/AbstractIntermediateTest.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/AbstractIntermediateTest.java Tue Jul  3 16:01:48 2012
@@ -24,7 +24,6 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
-import java.net.MalformedURLException;
 
 import javax.xml.transform.ErrorListener;
 import javax.xml.transform.Source;
@@ -139,14 +138,8 @@ public abstract class AbstractIntermedia
      */
     protected FOUserAgent createUserAgent() {
         FOUserAgent userAgent = fopFactory.newFOUserAgent();
-        try {
-            userAgent.setBaseURL(testDir.toURI().toURL().toExternalForm());
-            userAgent.getEventBroadcaster().addEventListener(
-                    new ConsoleEventListenerForTests(testFile.getName(), EventSeverity.FATAL));
-        } catch (MalformedURLException e) {
-            // Shouldn't happen
-            throw new AssertionError();
-        }
+        userAgent.getEventBroadcaster().addEventListener(
+                new ConsoleEventListenerForTests(testFile.getName(), EventSeverity.FATAL));
         return userAgent;
     }
 

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/AreaTreeParserTestCase.java Tue Jul  3 16:01:48 2012
@@ -33,6 +33,12 @@ import javax.xml.transform.dom.DOMSource
 import javax.xml.transform.sax.SAXResult;
 import javax.xml.transform.sax.TransformerHandler;
 
+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.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.Fop;
 import org.apache.fop.apps.MimeConstants;
@@ -43,11 +49,6 @@ import org.apache.fop.fonts.FontInfo;
 import org.apache.fop.layoutengine.LayoutEngineTestUtils;
 import org.apache.fop.render.Renderer;
 import org.apache.fop.render.xml.XMLRenderer;
-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;
 
 /**
  * Tests the area tree parser.
@@ -65,6 +66,7 @@ public class AreaTreeParserTestCase exte
     public static Collection<File[]> getParameters() throws IOException {
         return LayoutEngineTestUtils.getLayoutTestFiles();
     }
+
     /**
      * Constructor for the test suite that is used for each test file.
      * @param testFile the test file to run

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/IFMimickingTestCase.java Tue Jul  3 16:01:48 2012
@@ -57,9 +57,8 @@ public class IFMimickingTestCase {
 
     @Before
     public void setUp() throws Exception {
-        fopFactory = FopFactory.newInstance();
         File configFile = new File("test/test-no-xml-metrics.xconf");
-        fopFactory.setUserConfig(configFile);
+        fopFactory = FopFactory.newInstance(configFile);
     }
 
     /**
@@ -111,8 +110,7 @@ public class IFMimickingTestCase {
                 userAgent, mime);
 
         //Setup painter
-        IFSerializer serializer = new IFSerializer();
-        serializer.setContext(new IFContext(userAgent));
+        IFSerializer serializer = new IFSerializer(new IFContext(userAgent));
         serializer.mimicDocumentHandler(targetHandler);
         serializer.setResult(domResult);
 

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/IFParserTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/IFParserTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/IFParserTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/IFParserTestCase.java Tue Jul  3 16:01:48 2012
@@ -104,8 +104,7 @@ public class IFParserTestCase extends Ab
 
         FOUserAgent userAgent = createUserAgent();
 
-        IFSerializer serializer = new IFSerializer();
-        serializer.setContext(new IFContext(userAgent));
+        IFSerializer serializer = new IFSerializer(new IFContext(userAgent));
         DOMResult domResult = new DOMResult();
         serializer.setResult(domResult);
 

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/TestAssistant.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/TestAssistant.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/TestAssistant.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/intermediate/TestAssistant.java Tue Jul  3 16:01:48 2012
@@ -43,6 +43,7 @@ import org.apache.xpath.XPathAPI;
 import org.apache.xpath.objects.XObject;
 
 import org.apache.fop.apps.FopFactory;
+import org.apache.fop.apps.FopFactoryBuilder;
 
 /**
  * Helper class for running FOP tests.
@@ -50,11 +51,9 @@ import org.apache.fop.apps.FopFactory;
 public class TestAssistant {
 
     // configure fopFactory as desired
-    private FopFactory fopFactory = FopFactory.newInstance();
-    private FopFactory fopFactoryWithBase14Kerning = FopFactory.newInstance();
+    protected final File testDir = new File("test/layoutengine/standard-testcases");
 
-    private SAXTransformerFactory tfactory
-            = (SAXTransformerFactory)SAXTransformerFactory.newInstance();
+    private SAXTransformerFactory tfactory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
 
     private DocumentBuilderFactory domBuilderFactory;
 
@@ -65,8 +64,6 @@ public class TestAssistant {
      * Main constructor.
      */
     public TestAssistant() {
-        fopFactory.getFontManager().setBase14KerningEnabled(false);
-        fopFactoryWithBase14Kerning.getFontManager().setBase14KerningEnabled(true);
         domBuilderFactory = DocumentBuilderFactory.newInstance();
         domBuilderFactory.setNamespaceAware(true);
         domBuilderFactory.setValidating(false);
@@ -115,19 +112,13 @@ public class TestAssistant {
         return doc.getDocumentElement();
     }
 
-    public FopFactory getFopFactory(boolean base14KerningEnabled) {
-        FopFactory effFactory = (base14KerningEnabled ? fopFactoryWithBase14Kerning : fopFactory);
-        return effFactory;
-    }
-
     public FopFactory getFopFactory(Document testDoc) {
         boolean base14KerningEnabled = isBase14KerningEnabled(testDoc);
-        FopFactory effFactory = getFopFactory(base14KerningEnabled);
-
         boolean strictValidation = isStrictValidation(testDoc);
-        effFactory.setStrictValidation(strictValidation);
-
-        return effFactory;
+        FopFactoryBuilder builder = new FopFactoryBuilder(testDir.getParentFile().toURI());
+        builder.setStrictFOValidation(strictValidation);
+        builder.getFontManager().setBase14KerningEnabled(base14KerningEnabled);
+        return builder.build();
     }
 
     private boolean isBase14KerningEnabled(Document testDoc) {

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/layoutengine/LayoutEngineTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/layoutengine/LayoutEngineTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/layoutengine/LayoutEngineTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/layoutengine/LayoutEngineTestCase.java Tue Jul  3 16:01:48 2012
@@ -146,7 +146,6 @@ public class LayoutEngineTestCase {
 
             //Setup FOP for area tree rendering
             FOUserAgent ua = effFactory.newFOUserAgent();
-            ua.setBaseURL(testFile.getParentFile().toURI().toURL().toString());
             ua.getEventBroadcaster().addEventListener(
                     new ConsoleEventListenerForTests(testFile.getName(), EventSeverity.WARN));
 
@@ -203,14 +202,12 @@ public class LayoutEngineTestCase {
             throws TransformerException {
         try {
             FOUserAgent ua = fopFactory.newFOUserAgent();
-            ua.setBaseURL(testFile.getParentFile().toURI().toURL().toExternalForm());
             ua.getEventBroadcaster().addEventListener(
                     new ConsoleEventListenerForTests(testFile.getName(), EventSeverity.WARN));
 
             IFRenderer ifRenderer = new IFRenderer(ua);
 
-            IFSerializer serializer = new IFSerializer();
-            serializer.setContext(new IFContext(ua));
+            IFSerializer serializer = new IFSerializer(new IFContext(ua));
             DOMResult result = new DOMResult();
             serializer.setResult(result);
             ifRenderer.setDocumentHandler(serializer);

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/memory/MemoryEater.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/memory/MemoryEater.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/memory/MemoryEater.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/memory/MemoryEater.java Tue Jul  3 16:01:48 2012
@@ -49,7 +49,6 @@ public class MemoryEater {
 
     private SAXTransformerFactory tFactory
             = (SAXTransformerFactory)SAXTransformerFactory.newInstance();
-    private FopFactory fopFactory = FopFactory.newInstance();
     private Templates replicatorTemplates;
 
     private Stats stats;
@@ -62,15 +61,17 @@ public class MemoryEater {
 
     private void eatMemory(File foFile, int runRepeats, int replicatorRepeats) throws Exception {
         stats = new Stats();
+        FopFactory fopFactory = FopFactory.newInstance(foFile.getParentFile().toURI());
         for (int i = 0; i < runRepeats; i++) {
-            eatMemory(i, foFile, replicatorRepeats);
+            eatMemory(i, foFile, replicatorRepeats, fopFactory);
             stats.progress(i, runRepeats);
         }
         stats.dumpFinalStats();
         System.out.println(stats.getGoogleChartURL());
     }
 
-    private void eatMemory(int callIndex, File foFile, int replicatorRepeats) throws Exception {
+    private void eatMemory(int callIndex, File foFile, int replicatorRepeats, FopFactory fopFactory)
+            throws Exception {
         Source src = new StreamSource(foFile);
 
         Transformer transformer = replicatorTemplates.newTransformer();
@@ -79,7 +80,6 @@ public class MemoryEater {
         OutputStream out = new NullOutputStream(); //write to /dev/nul
         try {
             FOUserAgent userAgent = fopFactory.newFOUserAgent();
-            userAgent.setBaseURL(foFile.getParentFile().toURI().toURL().toExternalForm());
             Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent, out);
             Result res = new SAXResult(fop.getDefaultHandler());
 

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/pdf/PDFFactoryTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/pdf/PDFFactoryTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/pdf/PDFFactoryTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/pdf/PDFFactoryTestCase.java Tue Jul  3 16:01:48 2012
@@ -19,11 +19,18 @@
 
 package org.apache.fop.pdf;
 
-import static org.junit.Assert.assertEquals;
+import java.io.File;
+import java.net.URI;
+
+import org.junit.Test;
 
+import org.apache.fop.apps.io.InternalResourceResolver;
+import org.apache.fop.apps.io.ResourceResolver;
+import org.apache.fop.apps.io.ResourceResolverFactory;
 import org.apache.fop.fonts.CIDSubset;
 import org.apache.fop.fonts.MultiByteFont;
-import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /**
  * Test case for {@link PDFFactory}.
@@ -37,6 +44,10 @@ public class PDFFactoryTestCase {
     @Test
     public void testSubsetFontNamePrefix() {
         class MockedFont extends MultiByteFont {
+            public MockedFont(InternalResourceResolver resolver) {
+                super(resolver);
+            }
+
             @Override
             public int[] getWidths() {
                 return new int[] { 0 };
@@ -49,7 +60,11 @@ public class PDFFactoryTestCase {
         }
         PDFDocument doc = new PDFDocument("Test");
         PDFFactory pdfFactory = new PDFFactory(doc);
-        MockedFont font = new MockedFont();
+        URI thisURI = new File(".").toURI();
+        ResourceResolver resolver = ResourceResolverFactory.createDefaultResourceResolver();
+        InternalResourceResolver resourceResolver = ResourceResolverFactory.createInternalResourceResolver(
+                thisURI, resolver);
+        MockedFont font = new MockedFont(resourceResolver);
 
         PDFFont pdfDejaVu = pdfFactory.makeFont("DejaVu", "DejaVu", "TTF", font, font);
         assertEquals("/EAAAAA+DejaVu", pdfDejaVu.getBaseFont().toString());

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/AbstractRenderingTest.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/AbstractRenderingTest.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/AbstractRenderingTest.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/AbstractRenderingTest.java Tue Jul  3 16:01:48 2012
@@ -54,7 +54,7 @@ public abstract class AbstractRenderingT
     /** the JAXP TransformerFactory */
     protected TransformerFactory tFactory = TransformerFactory.newInstance();
     /** the FopFactory */
-    protected FopFactory fopFactory = FopFactory.newInstance();
+    protected final FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI());
 
     /**
      * Renders a test file.

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/RendererFactoryTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/RendererFactoryTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/RendererFactoryTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/RendererFactoryTestCase.java Tue Jul  3 16:01:48 2012
@@ -22,6 +22,8 @@ package org.apache.fop.render;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import java.io.File;
+
 import org.junit.Test;
 
 import org.apache.commons.io.output.NullOutputStream;
@@ -45,7 +47,7 @@ public class RendererFactoryTestCase {
 
     @Test
     public void testDocumentHandlerLevel() throws Exception {
-        FopFactory fopFactory = FopFactory.newInstance();
+        FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI());
         RendererFactory factory = fopFactory.getRendererFactory();
         FOUserAgent ua;
         IFDocumentHandler handler;
@@ -55,8 +57,7 @@ public class RendererFactoryTestCase {
         handler = factory.createDocumentHandler(ua, MimeConstants.MIME_PDF);
 
         ua = fopFactory.newFOUserAgent();
-        overrideHandler = new PDFDocumentHandler();
-        overrideHandler.setContext(new IFContext(ua));
+        overrideHandler = new PDFDocumentHandler(new IFContext(ua));
         ua.setDocumentHandlerOverride(overrideHandler);
         handler = factory.createDocumentHandler(ua, null);
         assertTrue(handler == overrideHandler);
@@ -72,7 +73,7 @@ public class RendererFactoryTestCase {
 
     @Test
     public void testRendererLevel() throws Exception {
-        FopFactory fopFactory = FopFactory.newInstance();
+        FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI());
         RendererFactory factory = fopFactory.getRendererFactory();
         FOUserAgent ua;
         Renderer renderer;
@@ -87,8 +88,7 @@ public class RendererFactoryTestCase {
 
         ua = fopFactory.newFOUserAgent();
         IFDocumentHandler overrideHandler;
-        overrideHandler = new PDFDocumentHandler();
-        overrideHandler.setContext(new IFContext(ua));
+        overrideHandler = new PDFDocumentHandler(new IFContext(ua));
         ua.setDocumentHandlerOverride(overrideHandler);
         renderer = factory.createRenderer(ua, null);
         assertTrue(renderer instanceof IFRenderer);
@@ -104,7 +104,7 @@ public class RendererFactoryTestCase {
 
     @Test
     public void testFOEventHandlerLevel() throws Exception {
-        FopFactory fopFactory = FopFactory.newInstance();
+        FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI());
         RendererFactory factory = fopFactory.getRendererFactory();
         FOUserAgent ua;
         FOEventHandler foEventHandler;

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/afp/AFPRendererConfiguratorTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/afp/AFPRendererConfiguratorTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/afp/AFPRendererConfiguratorTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/afp/AFPRendererConfiguratorTestCase.java Tue Jul  3 16:01:48 2012
@@ -15,78 +15,199 @@
  * limitations under the License.
  */
 
-/* $Id$ */
-
 package org.apache.fop.render.afp;
 
+import java.net.URI;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+
+import org.apache.fop.afp.AFPResourceLevel;
+import org.apache.fop.afp.AFPResourceLevel.ResourceType;
+import org.apache.fop.afp.AFPResourceLevelDefaults;
+import org.apache.fop.apps.AFPRendererConfBuilder;
+import org.apache.fop.apps.AbstractRendererConfiguratorTest;
+import org.apache.fop.apps.MimeConstants;
+import org.apache.fop.render.afp.AFPRendererConfig.AFPRendererConfigParser;
+import org.apache.fop.render.afp.AFPRendererConfig.ImagesModeOptions;
+
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.mockito.Mockito.verify;
 
-import java.io.IOException;
+public class AFPRendererConfiguratorTestCase extends
+        AbstractRendererConfiguratorTest<AFPRendererConfigurator, AFPRendererConfBuilder> {
 
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.xml.sax.SAXException;
+    public AFPRendererConfiguratorTestCase() {
+        super(MimeConstants.MIME_AFP, AFPRendererConfBuilder.class, AFPDocumentHandler.class);
+    }
+
+    @Override
+    public void setUpDocumentHandler() {
+    }
 
-import org.apache.fop.afp.AFPPaintingState;
-import org.apache.fop.apps.FOPException;
-import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.apps.FopFactory;
+    @Override
+    protected AFPRendererConfigurator createConfigurator() {
+        return new AFPRendererConfigurator(userAgent, new AFPRendererConfigParser());
+    }
 
-/**
- * Test case for {@link AFPRendererConfigurator}.
- */
-public class AFPRendererConfiguratorTestCase {
-    private static FOUserAgent userAgent;
+    private AFPDocumentHandler getDocHandler() {
+        return (AFPDocumentHandler) docHandler;
+    }
+
+    @Test
+    public void testColorImages() throws Exception {
+        parseConfig(createBuilder().startImages(ImagesModeOptions.MODE_COLOR)
+                                   .endImages());
+        verify(getDocHandler()).setColorImages(true);
+
+        parseConfig(createBuilder().startImages(ImagesModeOptions.MODE_GRAYSCALE)
+                                   .endImages());
+        verify(getDocHandler()).setColorImages(false);
+    }
+
+    @Test
+    public void testCMYKImagesSupport() throws Exception {
+        parseConfig(createBuilder().startImages(ImagesModeOptions.MODE_COLOR)
+                                       .setModeAttribute("cmyk", "true")
+                                   .endImages());
+        verify(getDocHandler()).setCMYKImagesSupported(true);
+
+        parseConfig(createBuilder().startImages(ImagesModeOptions.MODE_COLOR)
+                                       .setModeAttribute("cmyk", "false")
+                                   .endImages());
+        verify(getDocHandler()).setCMYKImagesSupported(false);
+    }
+
+    @Test
+    public void testBitsPerPixel() throws Exception {
+        for (int bpp = 0; bpp < 40; bpp += 8) {
+            parseConfig(createBuilder().startImages()
+                                       .setModeAttribute("bits-per-pixel", String.valueOf(bpp))
+                                       .endImages());
+            verify(getDocHandler()).setBitsPerPixel(bpp);
+        }
+    }
+
+    @Test
+    public void testDitheringQuality() throws Exception {
+        float ditheringQuality = 100f;
+        parseConfig(createBuilder().startImages()
+                                       .setDitheringQuality(ditheringQuality)
+                                   .endImages());
+        verify(getDocHandler()).setDitheringQuality(ditheringQuality);
+
+        ditheringQuality = 1000f;
+        parseConfig(createBuilder().startImages()
+                                       .setDitheringQuality(ditheringQuality)
+                                   .endImages());
+        verify(getDocHandler()).setDitheringQuality(ditheringQuality);
+    }
+
+    @Test
+    public void testNativeImagesSupported() throws Exception {
+        parseConfig(createBuilder().startImages()
+                                       .setNativeImageSupport(true)
+                                   .endImages());
+        verify(getDocHandler()).setNativeImagesSupported(true);
+
+        parseConfig(createBuilder().startImages()
+                                       .setNativeImageSupport(false)
+                                   .endImages());
+        verify(getDocHandler()).setNativeImagesSupported(false);
+    }
+
+    @Test
+    public void testShadingMode() throws Exception {
+        for (AFPShadingMode mode : AFPShadingMode.values()) {
+            parseConfig(createBuilder().setShading(mode));
+            verify(getDocHandler()).setShadingMode(mode);
+        }
+    }
 
-    private AFPRendererConfigurator sut;
+    @Test
+    public void testRendererResolution() throws Exception {
+        for (int resolution = 0; resolution < 1000; resolution += 100) {
+            parseConfig(createBuilder().setRenderingResolution(resolution));
+            verify(getDocHandler()).setResolution(resolution);
+        }
+    }
 
-    /**
-     * The FOUserAgent only needs to be created once.
-     */
-    @BeforeClass
-    public static void createUserAgent() {
-        userAgent = FopFactory.newInstance().newFOUserAgent();
-    }
-
-    /**
-     * Assigns an FOUserAgen with a config file at <code>uri</code>
-     *
-     * @param uri the URI of the config file
-     */
-    private void setConfigFile(String uri) {
-        String confTestsDir = "test/resources/conf/afp/";
-        try {
-            userAgent.getFactory().setUserConfig(confTestsDir + uri);
-            sut = new AFPRendererConfigurator(userAgent);
-        } catch (IOException ioe) {
-            fail("IOException: " + ioe);
-        } catch (SAXException se) {
-            fail("SAXException: " + se);
+    @Test
+    public void testLineWidthCorrection() throws Exception {
+        for (float resolution = 0; resolution < 50; resolution += 5) {
+            parseConfig(createBuilder().setLineWidthCorrection(resolution));
+            verify(getDocHandler()).setLineWidthCorrection(resolution);
         }
     }
 
-    /**
-     * Test several config files relating to JPEG images in AFP.
-     *
-     * @throws FOPException if an error is thrown
-     */
-    @Test
-    public void testJpegImageConfig() throws FOPException {
-        testJpegSettings("no_image_config.xconf", 1.0f, false);
-        testJpegSettings("can_embed_jpeg.xconf", 1.0f, true);
-        testJpegSettings("bitmap_encode_quality.xconf", 0.5f, false);
-    }
-
-    private void testJpegSettings(String uri, float bitmapEncodingQual, boolean canEmbed)
-            throws FOPException {
-        AFPDocumentHandler docHandler = new AFPDocumentHandler();
-
-        setConfigFile(uri);
-        sut.configure(docHandler);
-
-        AFPPaintingState paintingState = docHandler.getPaintingState();
-        assertEquals(bitmapEncodingQual, paintingState.getBitmapEncodingQuality(), 0.01f);
-        assertEquals(canEmbed, paintingState.canEmbedJpeg());
+    @Test
+    public void testResourceGroupURI() throws Exception {
+        URI uri = URI.create("test://URI/just/used/for/testing");
+        parseConfig(createBuilder().setResourceGroupUri(uri.toASCIIString()));
+        verify(getDocHandler()).setDefaultResourceGroupUri(uri);
+    }
+
+    @Test
+    public void testResourceLevelDefaults() throws Exception {
+        testResourceLevelDefault(ResourceType.DOCUMENT);
+    }
+
+    private void testResourceLevelDefault(ResourceType resType) throws Exception {
+        Map<String, String> resourceLevels = new HashMap<String, String>();
+        resourceLevels.put("goca", resType.getName());
+        parseConfig(createBuilder().setDefaultResourceLevels(resourceLevels));
+        ArgumentCaptor<AFPResourceLevelDefaults> argument = ArgumentCaptor.forClass(AFPResourceLevelDefaults.class);
+        verify(getDocHandler()).setResourceLevelDefaults(argument.capture());
+        AFPResourceLevel expectedLevel = new AFPResourceLevel(resType);
+        assertEquals(expectedLevel, argument.getValue().getDefaultResourceLevel((byte) 3));
+    }
+
+    @Test
+    public void testExternalResourceDefault() throws Exception {
+        testResourceLevelDefault(ResourceType.EXTERNAL);
+    }
+
+    @Test
+    public void testInlineResourceDefault() throws Exception {
+        testResourceLevelDefault(ResourceType.INLINE);
+    }
+
+    @Test
+    public void testPageResourceDefault() throws Exception {
+        testResourceLevelDefault(ResourceType.PAGE);
+    }
+
+    @Test
+    public void testPageGroupResourceDefault() throws Exception {
+        testResourceLevelDefault(ResourceType.PAGE_GROUP);
+    }
+
+    @Test
+    public void testPrintFileResourceDefault() throws Exception {
+        testResourceLevelDefault(ResourceType.PRINT_FILE);
+    }
+
+    @Test
+    public void testBitmapEncodeQuality() throws Exception {
+        parseConfig(createBuilder().startImages()
+                                       .setBitmapEncodingQuality(0.5f)
+                                   .endImages());
+        verify(getDocHandler()).setBitmapEncodingQuality(0.5f);
     }
+
+    @Test
+    public void testCanEmbedJpeg() throws Exception {
+        parseConfig(createBuilder().startImages()
+                                       .setAllowJpegEmbedding(true)
+                                   .endImages());
+        verify(getDocHandler()).canEmbedJpeg(true);
+
+        parseConfig(createBuilder().startImages()
+                                       .setAllowJpegEmbedding(false)
+                                   .endImages());
+        verify(getDocHandler()).canEmbedJpeg(false);
+    }
+
 }

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/BasePDFTest.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/BasePDFTest.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/BasePDFTest.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/BasePDFTest.java Tue Jul  3 16:01:48 2012
@@ -20,6 +20,8 @@
 package org.apache.fop.render.pdf;
 
 import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
 
 import javax.xml.transform.Source;
 import javax.xml.transform.Transformer;
@@ -28,45 +30,35 @@ import javax.xml.transform.TransformerFa
 import javax.xml.transform.sax.SAXResult;
 import javax.xml.transform.stream.StreamSource;
 
+import org.xml.sax.SAXException;
+
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.output.ByteArrayOutputStream;
-import org.apache.fop.AbstractFOPTest;
+
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.Fop;
+import org.apache.fop.apps.FopConfParser;
 import org.apache.fop.apps.FopFactory;
 import org.apache.fop.apps.MimeConstants;
-import org.xml.sax.SAXException;
 
 /**
  * Base class for automated tests that create PDF files
  */
-public class BasePDFTest extends AbstractFOPTest {
+public class BasePDFTest {
 
     /** the FopFactory */
-    protected final FopFactory fopFactory = FopFactory.newInstance();
+    protected final FopFactory fopFactory;
 
     /** the JAXP TransformerFactory */
     protected final TransformerFactory tFactory = TransformerFactory.newInstance();
 
-    /**
-     * Main constructor
-     */
-    protected BasePDFTest() {
-        init();
+    public BasePDFTest(String fopConf) throws SAXException, IOException {
+        fopFactory = FopFactory.newInstance(new File(fopConf));
     }
 
-    /**
-     * initalizes the test
-     */
-    protected void init() {
-        final File uc = getUserConfigFile();
-
-        try {
-            fopFactory.setUserConfig(uc);
-        } catch (Exception e) {
-            throw new RuntimeException("fopFactory.setUserConfig ("
-                    + uc.getAbsolutePath() + ") failed: " + e.getMessage());
-        }
+    public BasePDFTest(InputStream confStream) throws SAXException, IOException {
+        fopFactory = new FopConfParser(confStream, new File(".").toURI()).getFopFactoryBuilder()
+                                                                         .build();
     }
 
     /**
@@ -113,7 +105,7 @@ public class BasePDFTest extends Abstrac
      * get FOP config File
      * @return user config file to be used for testing
      */
-    protected File getUserConfigFile() {
-        return new File("test/test.xconf");
+    protected static String getDefaultConfFile() {
+        return "test/test.xconf";
     }
 }

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/PDFAConformanceTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/PDFAConformanceTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/PDFAConformanceTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/PDFAConformanceTestCase.java Tue Jul  3 16:01:48 2012
@@ -19,19 +19,26 @@
 
 package org.apache.fop.render.pdf;
 
-import static org.junit.Assert.fail;
-
 import java.io.File;
+import java.io.IOException;
+
+import org.junit.Test;
+import org.xml.sax.SAXException;
 
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.pdf.PDFConformanceException;
-import org.junit.Test;
+
+import static org.junit.Assert.fail;
 
 /**
  * Tests PDF/A-1 functionality.
  */
 public class PDFAConformanceTestCase extends BasePDFTest {
 
+    public PDFAConformanceTestCase() throws SAXException, IOException {
+        super(getDefaultConfFile());
+    }
+
     private File foBaseDir = new File("test/xml/pdf-a");
     private boolean dumpPDF = Boolean.getBoolean("PDFAConformanceTestCase.dumpPDF");
 
@@ -59,17 +66,12 @@ public class PDFAConformanceTestCase ext
      * Test exception when PDF/A-1 is enabled together with encryption.
      * @throws Exception if the test fails
      */
-    @Test
+    @Test(expected = PDFConformanceException.class)
     public void testNoEncryption() throws Exception {
         final FOUserAgent ua = getUserAgent();
         ua.getRendererOptions().put("owner-password", "mypassword"); //To enabled encryption
         File foFile = new File(foBaseDir, "minimal-pdf-a.fo");
-        try {
-            convertFO(foFile, ua, dumpPDF);
-            fail("Expected PDFConformanceException. PDF/A-1 and PDF encryption don't go together.");
-        } catch (PDFConformanceException e) {
-            //Good!
-        }
+        convertFO(foFile, ua, dumpPDF);
     }
 
     /**

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/PDFEncodingTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/PDFEncodingTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/PDFEncodingTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/PDFEncodingTestCase.java Tue Jul  3 16:01:48 2012
@@ -26,9 +26,11 @@ import java.io.File;
 import java.io.IOException;
 import java.util.StringTokenizer;
 
-import org.apache.fop.apps.FOUserAgent;
 import org.junit.Ignore;
 import org.junit.Test;
+import org.xml.sax.SAXException;
+
+import org.apache.fop.apps.FOUserAgent;
 
 /** Test that characters are correctly encoded in a generated PDF file */
 public class PDFEncodingTestCase extends BasePDFTest {
@@ -37,6 +39,10 @@ public class PDFEncodingTestCase extends
     static final String INPUT_FILE = "test/xml/pdf-encoding/pdf-encoding-test.xconf";
     static final String TEST_MARKER = "PDFE_TEST_MARK_";
 
+    public PDFEncodingTestCase() throws SAXException, IOException {
+        super(INPUT_FILE);
+    }
+
 
     /**
      * create an FOUserAgent for our tests
@@ -47,11 +53,6 @@ public class PDFEncodingTestCase extends
         return a;
     }
 
-    /** @return our specific config */
-    protected File getUserConfigFile() {
-        return new File(INPUT_FILE);
-    }
-
     /**
      * Test using a standard FOP font
      * @throws Exception checkstyle wants a comment here, even a silly one

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/PDFsRGBSettingsTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/PDFsRGBSettingsTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/PDFsRGBSettingsTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/PDFsRGBSettingsTestCase.java Tue Jul  3 16:01:48 2012
@@ -22,9 +22,12 @@ package org.apache.fop.render.pdf;
 import static org.junit.Assert.fail;
 
 import java.io.File;
+import java.io.IOException;
 
-import org.apache.fop.apps.FOUserAgent;
 import org.junit.Test;
+import org.xml.sax.SAXException;
+
+import org.apache.fop.apps.FOUserAgent;
 
 /**
  * Tests the disables-srgb-colorspace setting.
@@ -33,6 +36,10 @@ public class PDFsRGBSettingsTestCase ext
 
     private File foBaseDir = new File("test/xml/pdf-a");
 
+    public PDFsRGBSettingsTestCase() throws SAXException, IOException {
+        super(getDefaultConfFile());
+    }
+
     private FOUserAgent getUserAgent(boolean enablePDFA) {
         final FOUserAgent a = fopFactory.newFOUserAgent();
         if (enablePDFA) {

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/RenderPDFTestSuite.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/RenderPDFTestSuite.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/RenderPDFTestSuite.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/pdf/RenderPDFTestSuite.java Tue Jul  3 16:01:48 2012
@@ -28,6 +28,8 @@ import org.junit.runners.Suite.SuiteClas
  * A test suite for org.apache.fop.render.pdf.*
  */
 @RunWith(Suite.class)
-@SuiteClasses({ PDFRendererConfiguratorTestCase.class })
+@SuiteClasses({
+        PDFRendererConfigParserTestCase.class
+})
 public final class RenderPDFTestSuite {
 }

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/ps/ImageHandlingTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/ps/ImageHandlingTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/ps/ImageHandlingTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/ps/ImageHandlingTestCase.java Tue Jul  3 16:01:48 2012
@@ -66,8 +66,7 @@ public class ImageHandlingTestCase exten
 
     private void innerTestJPEGImage(int level) throws Exception {
         FOUserAgent ua = fopFactory.newFOUserAgent();
-        PSDocumentHandler handler = new PSDocumentHandler();
-        handler.setContext(new IFContext(ua));
+        PSDocumentHandler handler = new PSDocumentHandler(new IFContext(ua));
         PSRenderingUtil psUtil = handler.getPSUtil();
         psUtil.setLanguageLevel(level);
         psUtil.setOptimizeResources(true);

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/ps/PSPainterTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/ps/PSPainterTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/ps/PSPainterTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/ps/PSPainterTestCase.java Tue Jul  3 16:01:48 2012
@@ -17,6 +17,7 @@
 package org.apache.fop.render.ps;
 
 import java.io.IOException;
+import java.util.Collections;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -24,12 +25,15 @@ import org.mockito.verification.Verifica
 
 import org.apache.xmlgraphics.ps.PSGenerator;
 
+import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.render.intermediate.IFContext;
 import org.apache.fop.render.intermediate.IFState;
 
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 public class PSPainterTestCase {
 
@@ -40,7 +44,12 @@ public class PSPainterTestCase {
 
     @Before
     public void setup() {
-        docHandler = new PSDocumentHandler();
+        state = IFState.create();
+        FOUserAgent userAgent = mock(FOUserAgent.class);
+        when(userAgent.getRendererOptions()).thenReturn(Collections.EMPTY_MAP);
+        IFContext context = mock(IFContext.class);
+        when(context.getUserAgent()).thenReturn(userAgent);
+        docHandler = new PSDocumentHandler(context);
         gen = mock(PSGenerator.class);
         docHandler.gen = gen;
         state = IFState.create();

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/ps/ResourceOptimizationTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/ps/ResourceOptimizationTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/ps/ResourceOptimizationTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/render/ps/ResourceOptimizationTestCase.java Tue Jul  3 16:01:48 2012
@@ -67,8 +67,7 @@ public class ResourceOptimizationTestCas
     @Test
     public void testResourceOptimization() throws Exception {
         FOUserAgent ua = fopFactory.newFOUserAgent();
-        PSDocumentHandler handler = new PSDocumentHandler();
-        handler.setContext(new IFContext(ua));
+        PSDocumentHandler handler = new PSDocumentHandler(new IFContext(ua));
         // This is the important part: we're enabling resource optimization
         handler.getPSUtil().setOptimizeResources(true);
         ua.setDocumentHandlerOverride(handler);

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/threading/FOProcessorImpl.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/threading/FOProcessorImpl.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/threading/FOProcessorImpl.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/threading/FOProcessorImpl.java Tue Jul  3 16:01:48 2012
@@ -19,8 +19,11 @@
 
 package org.apache.fop.threading;
 
+import java.io.File;
 import java.io.OutputStream;
 import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.net.URL;
 
 import javax.xml.transform.Result;
@@ -31,6 +34,8 @@ import javax.xml.transform.TransformerEx
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.sax.SAXResult;
 
+import org.xml.sax.SAXException;
+
 import org.apache.avalon.framework.activity.Initializable;
 import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;
@@ -50,32 +55,39 @@ import org.apache.fop.apps.MimeConstants
 public class FOProcessorImpl extends AbstractLogEnabled
             implements Processor, Configurable, Initializable {
 
-    private FopFactory fopFactory = FopFactory.newInstance();
+    private FopFactory fopFactory;
     private TransformerFactory factory = TransformerFactory.newInstance();
-    private String userconfig;
+    private URI userconfig;
     private String mime;
     private String fileExtension;
 
     /** {@inheritDoc} */
     public void configure(Configuration configuration) throws ConfigurationException {
-        this.userconfig = configuration.getChild("userconfig").getValue(null);
-        this.mime = configuration.getChild("mime").getValue(MimeConstants.MIME_PDF);
-        this.fileExtension = configuration.getChild("extension").getValue(".pdf");
+        try {
+            this.userconfig = new URI(configuration.getChild("userconfig").getValue(null));
+            this.mime = configuration.getChild("mime").getValue(MimeConstants.MIME_PDF);
+            this.fileExtension = configuration.getChild("extension").getValue(".pdf");
+        } catch (URISyntaxException use) {
+            throw new RuntimeException(use);
+        }
     }
 
-    /** {@inheritDoc} */
     public void initialize() throws Exception {
         if (this.userconfig != null) {
             getLogger().debug("Setting user config: " + userconfig);
-            fopFactory.setUserConfig(this.userconfig);
+            fopFactory = FopFactory.newInstance(new File(userconfig));
+        } else {
+            fopFactory = FopFactory.newInstance(new File(".").toURI());
         }
     }
 
-    /** {@inheritDoc} */
+    /** {@inheritDoc} 
+     * @throws URISyntaxException 
+     * @throws SAXException */
     public void process(Source src, Templates templates, OutputStream out)
-                throws org.apache.fop.apps.FOPException, java.io.IOException {
+            throws java.io.IOException, URISyntaxException, SAXException {
         FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
-        foUserAgent.setBaseURL(src.getSystemId());
+
         try {
             URL url = new URL(src.getSystemId());
             String filename = FilenameUtils.getName(url.getPath());

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/threading/IFProcessorImpl.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/threading/IFProcessorImpl.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/threading/IFProcessorImpl.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/threading/IFProcessorImpl.java Tue Jul  3 16:01:48 2012
@@ -19,6 +19,7 @@
 
 package org.apache.fop.threading;
 
+import java.io.File;
 import java.io.OutputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -56,7 +57,7 @@ import org.apache.fop.render.intermediat
 public class IFProcessorImpl extends AbstractLogEnabled
             implements Processor, Configurable, Initializable {
 
-    private FopFactory fopFactory = FopFactory.newInstance();
+    private FopFactory fopFactory;
     private TransformerFactory factory = TransformerFactory.newInstance();
     private String userconfig;
     private String mime;
@@ -73,7 +74,9 @@ public class IFProcessorImpl extends Abs
     public void initialize() throws Exception {
         if (this.userconfig != null) {
             getLogger().debug("Setting user config: " + userconfig);
-            fopFactory.setUserConfig(this.userconfig);
+            fopFactory = FopFactory.newInstance(new File(this.userconfig));
+        } else {
+            fopFactory = FopFactory.newInstance(new File(".").toURI());
         }
     }
 
@@ -82,7 +85,6 @@ public class IFProcessorImpl extends Abs
     public void process(Source src, Templates templates, OutputStream out)
                 throws org.apache.fop.apps.FOPException, java.io.IOException, IFException {
         FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
-        foUserAgent.setBaseURL(src.getSystemId());
         try {
             URL url = new URL(src.getSystemId());
             String filename = FilenameUtils.getName(url.getPath());

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/util/ColorUtilTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/util/ColorUtilTestCase.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/util/ColorUtilTestCase.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/util/ColorUtilTestCase.java Tue Jul  3 16:01:48 2012
@@ -19,27 +19,31 @@
 
 package org.apache.fop.util;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
 import java.awt.Color;
 import java.awt.color.ColorSpace;
+import java.io.File;
 import java.net.URI;
 
-import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.apps.FopFactory;
+import org.junit.Test;
+
 import org.apache.xmlgraphics.java2d.color.ColorSpaces;
 import org.apache.xmlgraphics.java2d.color.ColorWithAlternatives;
 import org.apache.xmlgraphics.java2d.color.NamedColorSpace;
 import org.apache.xmlgraphics.java2d.color.RenderingIntent;
-import org.junit.Test;
+
+import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.apps.FopFactory;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests the ColorUtil class.
  */
 public class ColorUtilTestCase {
+    private FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI());
 
     /**
      * Test serialization to String.
@@ -105,7 +109,7 @@ public class ColorUtilTestCase {
      */
     @Test
     public void testRGB() throws Exception {
-        FopFactory fopFactory = FopFactory.newInstance();
+
         FOUserAgent ua = fopFactory.newFOUserAgent();
         Color colActual;
 
@@ -123,11 +127,10 @@ public class ColorUtilTestCase {
      */
     @Test
     public void testRGBICC() throws Exception {
-        FopFactory fopFactory = FopFactory.newInstance();
-        URI sRGBLoc = new URI(
-                "file:src/java/org/apache/fop/pdf/sRGB%20Color%20Space%20Profile.icm");
+        FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI());
+        URI sRGBLoc = new URI("src/java/org/apache/fop/pdf/sRGB%20Color%20Space%20Profile.icm");
         ColorSpace cs = fopFactory.getColorSpaceCache().get(
-                "sRGBAlt", null, sRGBLoc.toASCIIString(), RenderingIntent.AUTO);
+                "sRGBAlt", sRGBLoc.toASCIIString(), RenderingIntent.AUTO);
         assertNotNull("Color profile not found", cs);
 
         FOUserAgent ua = fopFactory.newFOUserAgent();
@@ -293,10 +296,10 @@ public class ColorUtilTestCase {
      */
     @Test
     public void testNamedColorProfile() throws Exception {
-        FopFactory fopFactory = FopFactory.newInstance();
-        URI ncpLoc = new URI("file:test/resources/color/ncp-example.icc");
+        FopFactory fopFactory = FopFactory.newInstance(new File("./").toURI());
+        URI ncpLoc = new URI("test/resources/color/ncp-example.icc");
         ColorSpace cs = fopFactory.getColorSpaceCache().get(
-                "NCP", null, ncpLoc.toASCIIString(), RenderingIntent.AUTO);
+                "NCP", ncpLoc.toASCIIString(), RenderingIntent.AUTO);
         assertNotNull("Color profile not found", cs);
 
         FOUserAgent ua = fopFactory.newFOUserAgent();

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/AbstractBitmapProducer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/AbstractBitmapProducer.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/AbstractBitmapProducer.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/AbstractBitmapProducer.java Tue Jul  3 16:01:48 2012
@@ -19,6 +19,8 @@
 
 package org.apache.fop.visual;
 
+import java.net.URI;
+
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerConfigurationException;
 
@@ -32,6 +34,11 @@ public abstract class AbstractBitmapProd
 
     /** Logger */
     protected static Log log = LogFactory.getLog(AbstractBitmapProducer.class);
+    final URI baseUri;
+
+    public AbstractBitmapProducer(URI baseUri) {
+        this.baseUri = baseUri;
+    }
 
     /**
      * Returns a new JAXP Transformer based on information in the ProducerContext.

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/AbstractPSPDFBitmapProducer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/AbstractPSPDFBitmapProducer.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/AbstractPSPDFBitmapProducer.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/AbstractPSPDFBitmapProducer.java Tue Jul  3 16:01:48 2012
@@ -25,6 +25,7 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.net.URI;
 import java.text.MessageFormat;
 
 import javax.xml.transform.Transformer;
@@ -68,13 +69,18 @@ public abstract class AbstractPSPDFBitma
             implements Configurable {
 
     // configure fopFactory as desired
-    private FopFactory fopFactory = FopFactory.newInstance();
+    private final FopFactory fopFactory;
 
     private String converter;
     private boolean deleteTempFiles;
     /** the bitmap producer's target format */
     protected String targetFormat;
 
+    public AbstractPSPDFBitmapProducer(URI baseUri) {
+        super(baseUri);
+        fopFactory = FopFactory.newInstance(baseUri);
+    }
+
     /** {@inheritDoc} */
     public void configure(Configuration cfg) throws ConfigurationException {
         this.converter = cfg.getChild("converter").getValue();
@@ -122,7 +128,6 @@ public abstract class AbstractPSPDFBitma
         try {
             FOUserAgent userAgent = fopFactory.newFOUserAgent();
             userAgent.setTargetResolution(context.getTargetResolution());
-            userAgent.setBaseURL(src.getParentFile().toURI().toURL().toString());
 
             File tempOut = new File(context.getTargetDir(),
                     src.getName() + "." + index + "." + getTargetExtension());

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BatchDiffer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BatchDiffer.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BatchDiffer.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BatchDiffer.java Tue Jul  3 16:01:48 2012
@@ -22,6 +22,7 @@ package org.apache.fop.visual;
 import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
+import java.net.URI;
 import java.util.Collection;
 
 import javax.xml.transform.TransformerConfigurationException;
@@ -141,13 +142,16 @@ public class BatchDiffer {
                     throw new RuntimeException("Error setting up stylesheet");
                 }
             }
-            BitmapProducer[] producers = getProducers(cfg.getChild("producers"));
+
 
             //Set up directories
             File srcDir = new File(cfg.getChild("source-directory").getValue());
             if (!srcDir.exists()) {
                 throw new RuntimeException("source-directory does not exist: " + srcDir);
             }
+
+            BitmapProducer[] producers = getProducers(cfg.getChild("producers"), srcDir);
+
             final File targetDir = new File(cfg.getChild("target-directory").getValue());
             if (!targetDir.mkdirs() && !targetDir.exists()) {
                 throw new RuntimeException("target-directory is invalid: " + targetDir);
@@ -249,13 +253,15 @@ public class BatchDiffer {
         }
     }
 
-    private BitmapProducer[] getProducers(Configuration cfg) {
+    private BitmapProducer[] getProducers(Configuration cfg, File srcDir) {
         Configuration[] children = cfg.getChildren("producer");
         BitmapProducer[] producers = new BitmapProducer[children.length];
         for (int i = 0; i < children.length; i++) {
             try {
                 Class<?> clazz = Class.forName(children[i].getAttribute("classname"));
-                producers[i] = (BitmapProducer)clazz.newInstance();
+                Object producer = clazz.getDeclaredConstructor(URI.class)
+                                       .newInstance(srcDir.toURI());
+                producers[i] = (BitmapProducer) producer;
                 ContainerUtil.configure(producers[i], children[i]);
             } catch (Exception e) {
                 log.error("Error setting up producers", e);

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BitmapProducerJava2D.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BitmapProducerJava2D.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BitmapProducerJava2D.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BitmapProducerJava2D.java Tue Jul  3 16:01:48 2012
@@ -24,6 +24,7 @@ import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
+import java.net.URI;
 
 import javax.xml.transform.Transformer;
 import javax.xml.transform.sax.SAXResult;
@@ -56,10 +57,15 @@ import org.apache.fop.util.DefaultErrorL
 public class BitmapProducerJava2D extends AbstractBitmapProducer implements Configurable {
 
     // configure fopFactory as desired
-    private FopFactory fopFactory = FopFactory.newInstance();
+    private final FopFactory fopFactory;
 
     private boolean deleteTempFiles;
 
+    public BitmapProducerJava2D(URI baseUri) {
+        super(baseUri);
+        fopFactory = FopFactory.newInstance(baseUri);
+    }
+
     /** @see org.apache.avalon.framework.configuration.Configurable */
     public void configure(Configuration cfg) throws ConfigurationException {
         this.deleteTempFiles = cfg.getChild("delete-temp-files").getValueAsBoolean(true);
@@ -70,7 +76,6 @@ public class BitmapProducerJava2D extend
         try {
             FOUserAgent userAgent = fopFactory.newFOUserAgent();
             userAgent.setTargetResolution(context.getTargetResolution());
-            userAgent.setBaseURL(src.getParentFile().toURI().toURL().toString());
 
             File outputFile = new File(context.getTargetDir(),
                     src.getName() + "." + index + ".java2d.png");

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BitmapProducerPDF.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BitmapProducerPDF.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BitmapProducerPDF.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BitmapProducerPDF.java Tue Jul  3 16:01:48 2012
@@ -19,6 +19,8 @@
 
 package org.apache.fop.visual;
 
+import java.net.URI;
+
 import org.apache.fop.apps.MimeConstants;
 
 /**
@@ -32,7 +34,8 @@ public class BitmapProducerPDF extends A
     /**
      * Default constructor.
      */
-    public BitmapProducerPDF() {
+    public BitmapProducerPDF(URI baseUri) {
+        super(baseUri);
         this.targetFormat = MimeConstants.MIME_PDF;
     }
 

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BitmapProducerPS.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BitmapProducerPS.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BitmapProducerPS.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/BitmapProducerPS.java Tue Jul  3 16:01:48 2012
@@ -19,6 +19,8 @@
 
 package org.apache.fop.visual;
 
+import java.net.URI;
+
 import org.apache.fop.apps.MimeConstants;
 
 /**
@@ -32,7 +34,8 @@ public class BitmapProducerPS extends Ab
     /**
      * Default constructor.
      */
-    public BitmapProducerPS() {
+    public BitmapProducerPS(URI baseUri) {
+        super(baseUri);
         this.targetFormat = MimeConstants.MIME_POSTSCRIPT;
     }
 

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/ReferenceBitmapLoader.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/ReferenceBitmapLoader.java?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/ReferenceBitmapLoader.java (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/java/org/apache/fop/visual/ReferenceBitmapLoader.java Tue Jul  3 16:01:48 2012
@@ -21,6 +21,7 @@ package org.apache.fop.visual;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
+import java.net.URI;
 
 import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;
@@ -42,6 +43,10 @@ public class ReferenceBitmapLoader exten
 
     private File bitmapDirectory;
 
+    public ReferenceBitmapLoader(URI baseUri) {
+        super(baseUri);
+    }
+
     /** @see org.apache.avalon.framework.configuration.Configurable */
     public void configure(Configuration cfg) throws ConfigurationException {
         this.bitmapDirectory = new File(cfg.getChild("directory").getValue(null));

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/layoutengine/standard-testcases/afp-extension_1.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/layoutengine/standard-testcases/afp-extension_1.xml?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/layoutengine/standard-testcases/afp-extension_1.xml (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/layoutengine/standard-testcases/afp-extension_1.xml Tue Jul  3 16:01:48 2012
@@ -30,7 +30,7 @@
       <fo:layout-master-set>
         <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
           <afp:include-page-overlay name="O1SAMP1 "/>
-          <afp:include-page-segment name="S1ISLOGO" src="../../resources/images/bgimg300dpi.jpg"/>
+          <afp:include-page-segment name="S1ISLOGO" src="../resources/images/bgimg300dpi.jpg"/>
           <afp:tag-logical-element name="The TLE Name" value="The TLE Value"/>
           <afp:no-operation name="My NOP">insert up to 32k of character data here!</afp:no-operation>
           <fo:region-body/>
@@ -38,7 +38,7 @@
       </fo:layout-master-set>
       
       <fo:declarations>
-        <afp:include-form-map name="FORMMAP1" src="file:../../resources/afp/F1SAMPLE.afp"/>
+        <afp:include-form-map name="FORMMAP1" src="file:../resources/afp/F1SAMPLE.afp"/>
       </fo:declarations>
       
       <fo:page-sequence master-reference="normal" fox:test-ignore="this">
@@ -53,7 +53,7 @@
   </fo>
   <checks xmlns:afp="apache:fop:extensions:afp">
     <eval expected="FORMMAP1" xpath="/areaTree/extension-attachments/afp:include-form-map/@name"/>
-    <eval expected="file:../../resources/afp/F1SAMPLE.afp" xpath="/areaTree/extension-attachments/afp:include-form-map/@src"/>
+    <eval expected="file:../resources/afp/F1SAMPLE.afp" xpath="/areaTree/extension-attachments/afp:include-form-map/@src"/>
     
     <eval expected="4" xpath="count(/areaTree/pageSequence/pageViewport[@nr=1]/page/extension-attachments/child::*)"/>
     <eval expected="O1SAMP1 " xpath="/areaTree/pageSequence/pageViewport[@nr=1]/page/extension-attachments/child::*[1]/@name"/>
@@ -74,7 +74,7 @@
   <if-checks xmlns:if="http://xmlgraphics.apache.org/fop/intermediate"
         xmlns:afp="apache:fop:extensions:afp">
     <eval expected="FORMMAP1" xpath="/if:document/if:header/afp:include-form-map/@name"/>
-    <eval expected="file:../../resources/afp/F1SAMPLE.afp" xpath="/if:document/if:header/afp:include-form-map/@src"/>
+    <eval expected="file:../resources/afp/F1SAMPLE.afp" xpath="/if:document/if:header/afp:include-form-map/@src"/>
     
     <eval expected="4" xpath="count(//if:page[@name = '1']/if:page-header/child::*)"/>
     <eval expected="O1SAMP1 " xpath="//if:page[@name = '1']/if:page-header/afp:include-page-overlay[1]/@name"/>

Modified: xmlgraphics/fop/branches/Temp_RoundedCorners/test/layoutengine/standard-testcases/basic-link_background-image.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_RoundedCorners/test/layoutengine/standard-testcases/basic-link_background-image.xml?rev=1356804&r1=1356803&r2=1356804&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_RoundedCorners/test/layoutengine/standard-testcases/basic-link_background-image.xml (original)
+++ xmlgraphics/fop/branches/Temp_RoundedCorners/test/layoutengine/standard-testcases/basic-link_background-image.xml Tue Jul  3 16:01:48 2012
@@ -23,7 +23,7 @@
     </p>
   </info>
   <variables>
-    <img>../../resources/images/bgimg300dpi.jpg</img>
+    <img>../resources/images/bgimg300dpi.jpg</img>
   </variables>
   <fo>
     <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
@@ -44,7 +44,7 @@
   <checks>
     <eval expected="197376" xpath="//flow/block/lineArea/inlineparent/@ipd"/>
     <eval expected="88800" xpath="//flow/block/lineArea/inlineparent/@bpd"/>
-    <eval expected="color=#ffff00,url=../../resources/images/bgimg300dpi.jpg,repeat=no-repeat,horiz=75648,vertical=21360" xpath="//flow/block/lineArea/inlineparent/@background"/>
+    <eval expected="color=#ffff00,url=../resources/images/bgimg300dpi.jpg,repeat=no-repeat,horiz=75648,vertical=21360" xpath="//flow/block/lineArea/inlineparent/@background"/>
   </checks>
   <if-checks xmlns:n="http://xmlgraphics.apache.org/fop/intermediate/document-navigation">
     <eval expected="page-trailer" xpath="local-name(//n:link/..)"/>



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org