[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fop-cvs
Subject:    svn commit: r1344594 [7/15] - in /xmlgraphics/fop/branches/Temp_URI_Unification: ./
From:       mehdi () apache ! org
Date:       2012-05-31 8:33:50
Message-ID: 20120531083425.268272388C0E () eris ! apache ! org
[Download RAW message or body]

Added: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfig.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfig.java?rev=1344594&view=auto
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfig.java \
                (added)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfig.java \
Thu May 31 08:33:36 2012 @@ -0,0 +1,172 @@
+/*
+ * 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.render.bitmap;
+
+import java.awt.Color;
+import java.awt.image.BufferedImage;
+import java.util.EnumMap;
+
+import org.apache.avalon.framework.configuration.Configuration;
+
+import org.apache.fop.apps.FOPException;
+import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.fonts.DefaultFontConfig;
+import org.apache.fop.fonts.DefaultFontConfig.DefaultFontConfigParser;
+import org.apache.fop.render.RendererConfig;
+import org.apache.fop.render.java2d.Java2DRendererConfig;
+import org.apache.fop.render.java2d.Java2DRendererConfig.Java2DRendererConfigParser;
+import org.apache.fop.util.ColorUtil;
+
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.ANTI_ALIASING;
 +import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.BACKGROUND_COLOR;
 +import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.COLOR_MODE;
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.JAVA2D_TRANSPARENT_PAGE_BACKGROUND;
 +import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.RENDERING_QUALITY;
 +import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.RENDERING_QUALITY_ELEMENT;
 +import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.RENDERING_SPEED;
 +
+public class BitmapRendererConfig implements RendererConfig {
+
+    private final EnumMap<BitmapRendererConfigOptions, Object> params
+            = new EnumMap<BitmapRendererConfigOptions, \
Object>(BitmapRendererConfigOptions.class); +
+    private final DefaultFontConfig fontConfig;
+
+    BitmapRendererConfig(DefaultFontConfig fontConfig) {
+        this.fontConfig = fontConfig;
+    }
+
+    public DefaultFontConfig getFontInfoConfig() {
+        return fontConfig;
+    }
+
+    public Color getBackgroundColor() {
+        return (Color) get(BACKGROUND_COLOR);
+    }
+
+    public Boolean hasAntiAliasing() {
+        return (Boolean) get(ANTI_ALIASING);
+    }
+
+    public Boolean isRenderHighQuality() {
+        return (Boolean) get(RENDERING_QUALITY);
+    }
+
+    public Integer getColorMode() {
+        return (Integer) get(COLOR_MODE);
+    }
+
+    public boolean hasTransparentBackround() {
+        Object result = get(JAVA2D_TRANSPARENT_PAGE_BACKGROUND);
+        return (Boolean) (result != null ? result
+                : JAVA2D_TRANSPARENT_PAGE_BACKGROUND.getDefaultValue());
+    }
+
+    private Object get(BitmapRendererConfigOptions option) {
+        return params.get(option);
+    }
+
+    public static class BitmapRendererConfigParser implements RendererConfigParser {
+
+        private final String mimeType;
+
+        public BitmapRendererConfigParser(String mimeType) {
+            this.mimeType = mimeType;
+        }
+
+        private void setParam(BitmapRendererConfig config, \
BitmapRendererConfigOptions option, +                Object value) {
+            config.params.put(option, value != null ? value : \
option.getDefaultValue()); +        }
+
+        protected void build(BitmapRendererConfig config, FOUserAgent userAgent,
+                Configuration cfg) throws FOPException {
+            if (cfg != null) {
+                Java2DRendererConfig j2dConfig = new \
Java2DRendererConfigParser(null).build( +                        userAgent, cfg);
+                Boolean isTransparent = j2dConfig.isPageBackgroundTransparent();
+                isTransparent = isTransparent == null
+                        ? (Boolean) \
JAVA2D_TRANSPARENT_PAGE_BACKGROUND.getDefaultValue() +                        : \
isTransparent; +                setParam(config, JAVA2D_TRANSPARENT_PAGE_BACKGROUND, \
isTransparent); +
+                String background = getValue(cfg, BACKGROUND_COLOR);
+                if (isTransparent) {
+                    // We don't use setParam here because we want to force a null \
value +                    config.params.put(BACKGROUND_COLOR, null);
+                } else {
+                    setParam(config, BACKGROUND_COLOR,
+                            ColorUtil.parseColorString(userAgent, background));
+                }
+
+                setParam(config, BitmapRendererConfigOptions.ANTI_ALIASING,
+                        getChild(cfg, ANTI_ALIASING).getValueAsBoolean(
+                                (Boolean) ANTI_ALIASING.getDefaultValue()));
+
+                String optimization = getValue(cfg, RENDERING_QUALITY_ELEMENT);
+                setParam(config, RENDERING_QUALITY,
+                        !(BitmapRendererConfigOptions.getValue(optimization) == \
RENDERING_SPEED)); +
+                String color = getValue(cfg, COLOR_MODE);
+                setParam(config, COLOR_MODE,
+                        \
getBufferedImageIntegerFromColor(BitmapRendererConfigOptions.getValue(color))); +     \
} +        }
+
+        public BitmapRendererConfig build(FOUserAgent userAgent, Configuration cfg)
+                throws FOPException {
+            BitmapRendererConfig config = new BitmapRendererConfig(new \
DefaultFontConfigParser() +                    .parse(cfg, \
userAgent.validateStrictly())); +            build(config, userAgent, cfg);
+            return config;
+        }
+
+        private Integer getBufferedImageIntegerFromColor(BitmapRendererConfigOptions \
option) { +            if (option == null) {
+                return null;
+            }
+            switch (option) {
+            case COLOR_MODE_RGBA:
+                return BufferedImage.TYPE_INT_ARGB;
+            case COLOR_MODE_RGB:
+                return BufferedImage.TYPE_INT_RGB;
+            case COLOR_MODE_GRAY:
+                return BufferedImage.TYPE_BYTE_GRAY;
+            case COLOR_MODE_BINARY:
+            case COLOR_MODE_BILEVEL:
+                return BufferedImage.TYPE_BYTE_BINARY;
+            default:
+                return null;
+            }
+        }
+
+        private Configuration getChild(Configuration cfg, \
BitmapRendererConfigOptions option) { +            return \
cfg.getChild(option.getName()); +        }
+
+        private String getValue(Configuration cfg, BitmapRendererConfigOptions \
option) { +            return cfg.getChild(option.getName()).getValue(null);
+        }
+
+        public String getMimeType() {
+            return mimeType;
+        }
+    }
+}

Propchange: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfig.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Added: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigOptions.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/BitmapRendererConfigOptions.java?rev=1344594&view=auto
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigOptions.java \
                (added)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigOptions.java \
Thu May 31 08:33:36 2012 @@ -0,0 +1,69 @@
+/*
+ * 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.render.bitmap;
+
+import java.awt.Color;
+import java.awt.image.BufferedImage;
+
+import org.apache.fop.render.RendererConfigOptions;
+
+public enum BitmapRendererConfigOptions implements RendererConfigOptions {
+    JAVA2D_TRANSPARENT_PAGE_BACKGROUND("transparent-page-background", false),
+    BACKGROUND_COLOR("background-color", Color.WHITE),
+    ANTI_ALIASING("anti-aliasing", true),
+    RENDERING_QUALITY_ELEMENT("rendering"),
+    RENDERING_QUALITY("quality", true),
+    RENDERING_SPEED("speed"),
+    COLOR_MODE("color-mode", BufferedImage.TYPE_INT_ARGB),
+    COLOR_MODE_RGBA("rgba"),
+    COLOR_MODE_RGB("rgb"),
+    COLOR_MODE_GRAY("gray"),
+    COLOR_MODE_BINARY("binary"),
+    COLOR_MODE_BILEVEL("bi-level");
+
+    private final String name;
+    private final Object defaultValue;
+
+    private BitmapRendererConfigOptions(String name, Object defaultValue) {
+        this.name = name;
+        this.defaultValue = defaultValue;
+    }
+
+    private BitmapRendererConfigOptions(String name) {
+        this(name, null);
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public Object getDefaultValue() {
+        return defaultValue;
+    }
+
+    public static BitmapRendererConfigOptions getValue(String str) {
+        for (BitmapRendererConfigOptions opt : BitmapRendererConfigOptions.values()) \
{ +            if (opt.getName().equalsIgnoreCase(str)) {
+                return opt;
+            }
+        }
+        return null;
+    }
+}

Propchange: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigOptions.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigurator.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/BitmapRendererConfigurator.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigurator.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRendererConfigurator.java \
Thu May 31 08:33:36 2012 @@ -19,123 +19,82 @@
 
 package org.apache.fop.render.bitmap;
 
-import java.awt.image.BufferedImage;
+import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.avalon.framework.configuration.Configuration;
-
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.fonts.FontCollection;
-import org.apache.fop.fonts.FontEventAdapter;
-import org.apache.fop.fonts.FontEventListener;
-import org.apache.fop.fonts.FontInfo;
-import org.apache.fop.fonts.FontManager;
-import org.apache.fop.fonts.FontResolver;
-import org.apache.fop.render.DefaultFontResolver;
+import org.apache.fop.render.RendererConfig.RendererConfigParser;
+import org.apache.fop.render.bitmap.BitmapRendererConfig.BitmapRendererConfigParser;
 import org.apache.fop.render.intermediate.IFDocumentHandler;
-import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
 import org.apache.fop.render.java2d.Base14FontCollection;
-import org.apache.fop.render.java2d.ConfiguredFontCollection;
 import org.apache.fop.render.java2d.InstalledFontCollection;
 import org.apache.fop.render.java2d.Java2DFontMetrics;
-import org.apache.fop.render.java2d.Java2DRenderer;
 import org.apache.fop.render.java2d.Java2DRendererConfigurator;
-import org.apache.fop.util.ColorUtil;
 
 /**
  * Configurator for bitmap output.
  */
-public class BitmapRendererConfigurator extends Java2DRendererConfigurator
-            implements IFDocumentHandlerConfigurator {
+public class BitmapRendererConfigurator extends Java2DRendererConfigurator {
+
+    /**
+     * Default constructor
+     * @param userAgent user agent
+     */
+    public BitmapRendererConfigurator(FOUserAgent userAgent, RendererConfigParser \
rendererConfigParser) { +        super(userAgent, rendererConfigParser);
+    }
 
     /**
      * Default constructor
      * @param userAgent user agent
      */
     public BitmapRendererConfigurator(FOUserAgent userAgent) {
-        super(userAgent);
+        super(userAgent, null);
     }
 
     // ---=== IFDocumentHandler configuration ===---
 
     /** {@inheritDoc} */
     public void configure(IFDocumentHandler documentHandler) throws FOPException {
-        super.configure(documentHandler);
-        Configuration cfg = super.getRendererConfig(documentHandler.getMimeType());
-        if (cfg != null) {
-            AbstractBitmapDocumentHandler bitmapHandler
-                = (AbstractBitmapDocumentHandler)documentHandler;
-            BitmapRenderingSettings settings = bitmapHandler.getSettings();
-
-            boolean transparent = cfg.getChild(
-                    \
                Java2DRenderer.JAVA2D_TRANSPARENT_PAGE_BACKGROUND).getValueAsBoolean(
-                            settings.hasTransparentPageBackground());
-            if (transparent) {
-                settings.setPageBackgroundColor(null);
-            } else {
-                String background = cfg.getChild("background-color").getValue(null);
-                if (background != null) {
-                    settings.setPageBackgroundColor(
-                            ColorUtil.parseColorString(this.userAgent, background));
-                }
-            }
-
-            boolean antiAliasing = cfg.getChild("anti-aliasing").getValueAsBoolean(
-                    settings.isAntiAliasingEnabled());
-            settings.setAntiAliasing(antiAliasing);
-
-            String optimization = cfg.getChild("rendering").getValue(null);
-            if ("quality".equalsIgnoreCase(optimization)) {
-                settings.setQualityRendering(true);
-            } else if ("speed".equalsIgnoreCase(optimization)) {
-                settings.setQualityRendering(false);
-            }
-
-            String color = cfg.getChild("color-mode").getValue(null);
-            if (color != null) {
-                if ("rgba".equalsIgnoreCase(color)) {
-                    settings.setBufferedImageType(BufferedImage.TYPE_INT_ARGB);
-                } else if ("rgb".equalsIgnoreCase(color)) {
-                    settings.setBufferedImageType(BufferedImage.TYPE_INT_RGB);
-                } else if ("gray".equalsIgnoreCase(color)) {
-                    settings.setBufferedImageType(BufferedImage.TYPE_BYTE_GRAY);
-                } else if ("binary".equalsIgnoreCase(color)) {
-                    settings.setBufferedImageType(BufferedImage.TYPE_BYTE_BINARY);
-                } else if ("bi-level".equalsIgnoreCase(color)) {
-                    settings.setBufferedImageType(BufferedImage.TYPE_BYTE_BINARY);
-                } else {
-                    throw new FOPException("Invalid value for color-mode: " + \
                color);
-                }
-            }
-        }
+        AbstractBitmapDocumentHandler bitmapHandler = \
(AbstractBitmapDocumentHandler) documentHandler; +        BitmapRenderingSettings \
settings = bitmapHandler.getSettings(); +        // TODO: magic strings!
+        configure(documentHandler, settings, new \
BitmapRendererConfigParser("image/bitmap"));  }
 
-    /** {@inheritDoc} */
-    public void setupFontInfo(IFDocumentHandler documentHandler, FontInfo fontInfo)
-            throws FOPException {
-        final FontManager fontManager = userAgent.getFactory().getFontManager();
-
-        final Java2DFontMetrics java2DFontMetrics = new Java2DFontMetrics();
+    void configure(IFDocumentHandler documentHandler, BitmapRenderingSettings \
settings, +            BitmapRendererConfigParser parser) throws FOPException {
+        BitmapRendererConfig config = (BitmapRendererConfig) \
userAgent.getRendererConfig( +                documentHandler.getMimeType(), parser);
+        configure(config, settings);
+    }
 
-        final List fontCollections = new java.util.ArrayList();
-        fontCollections.add(new Base14FontCollection(java2DFontMetrics));
-        fontCollections.add(new InstalledFontCollection(java2DFontMetrics));
-
-        Configuration cfg = super.getRendererConfig(documentHandler.getMimeType());
-        if (cfg != null) {
-            FontResolver fontResolver = new DefaultFontResolver(userAgent);
-            FontEventListener listener = new FontEventAdapter(
-                    userAgent.getEventBroadcaster());
-            List fontList = buildFontList(cfg, fontResolver, listener);
-            fontCollections.add(new ConfiguredFontCollection(fontResolver, fontList,
-                                userAgent.isComplexScriptFeaturesEnabled()));
+    private void configure(BitmapRendererConfig config, BitmapRenderingSettings \
settings) +            throws FOPException {
+        if (config.hasTransparentBackround()) {
+            settings.setPageBackgroundColor(null);
+        } else if (config.getBackgroundColor() != null) {
+            settings.setPageBackgroundColor(config.getBackgroundColor());
+        }
+        if (config.hasAntiAliasing() != null) {
+            settings.setAntiAliasing(config.hasAntiAliasing());
+        }
+        if (config.isRenderHighQuality() != null) {
+            settings.setQualityRendering(config.isRenderHighQuality());
+        }
+        if (config.getColorMode() != null) {
+            settings.setBufferedImageType(config.getColorMode());
         }
-
-        fontManager.setup(fontInfo,
-                (FontCollection[])fontCollections.toArray(
-                        new FontCollection[fontCollections.size()]));
-        documentHandler.setFontInfo(fontInfo);
     }
 
+    @Override
+    protected List<FontCollection> getDefaultFontCollection() {
+        final Java2DFontMetrics java2DFontMetrics = new Java2DFontMetrics();
+        final List<FontCollection> fontCollection = new ArrayList<FontCollection>();
+        fontCollection.add(new Base14FontCollection(java2DFontMetrics));
+        fontCollection.add(new InstalledFontCollection(java2DFontMetrics));
+        return fontCollection;
+    }
 }

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRenderingSettings.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/BitmapRenderingSettings.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRenderingSettings.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/BitmapRenderingSettings.java \
Thu May 31 08:33:36 2012 @@ -19,28 +19,30 @@
 
 package org.apache.fop.render.bitmap;
 
-import java.awt.image.BufferedImage;
-
 import org.apache.xmlgraphics.image.writer.ImageWriterParams;
 
 import org.apache.fop.render.java2d.Java2DRenderingSettings;
 
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.ANTI_ALIASING;
 +import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.COLOR_MODE;
+import static org.apache.fop.render.bitmap.BitmapRendererConfigOptions.RENDERING_QUALITY;
 +
 /**
  * This class holds settings used when rendering to bitmaps.
  */
-public class BitmapRenderingSettings extends Java2DRenderingSettings implements \
TIFFConstants { +public class BitmapRenderingSettings extends Java2DRenderingSettings \
{  
     /** ImageWriter parameters */
     private ImageWriterParams writerParams;
 
     /** Image Type as parameter for the BufferedImage constructor (see \
                BufferedImage.TYPE_*) */
-    private int bufferedImageType = BufferedImage.TYPE_INT_ARGB;
+    private int bufferedImageType = (Integer) COLOR_MODE.getDefaultValue();
 
     /** true if anti-aliasing is set */
-    private boolean antialiasing = true;
+    private boolean antialiasing = (Boolean) ANTI_ALIASING.getDefaultValue();
 
     /** true if qualityRendering is set */
-    private boolean qualityRendering = true;
+    private boolean qualityRendering = (Boolean) \
RENDERING_QUALITY.getDefaultValue();  
     /**
      * Default constructor. Initializes the settings to their default values.

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGDocumentHandler.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/PNGDocumentHandler.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGDocumentHandler.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGDocumentHandler.java \
Thu May 31 08:33:36 2012 @@ -20,6 +20,8 @@
 package org.apache.fop.render.bitmap;
 
 import org.apache.fop.apps.MimeConstants;
+import org.apache.fop.render.intermediate.IFContext;
+import org.apache.fop.render.intermediate.IFDocumentHandler;
 import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
 
 /**
@@ -27,6 +29,11 @@ import org.apache.fop.render.intermediat
  */
 public class PNGDocumentHandler extends AbstractBitmapDocumentHandler {
 
+
+    PNGDocumentHandler(IFContext context) {
+        super(context);
+    }
+
     /** {@inheritDoc} */
     public String getMimeType() {
         return MimeConstants.MIME_PNG;
@@ -39,6 +46,7 @@ public class PNGDocumentHandler extends 
 
     /** {@inheritDoc} */
     public IFDocumentHandlerConfigurator getConfigurator() {
+        // TODO what constructir params?
         return new BitmapRendererConfigurator(getUserAgent());
     }
 

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGDocumentHandlerMaker.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/PNGDocumentHandlerMaker.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGDocumentHandlerMaker.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGDocumentHandlerMaker.java \
Thu May 31 08:33:36 2012 @@ -19,7 +19,6 @@
 
 package org.apache.fop.render.bitmap;
 
-import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.MimeConstants;
 import org.apache.fop.render.intermediate.AbstractIFDocumentHandlerMaker;
 import org.apache.fop.render.intermediate.IFContext;
@@ -33,10 +32,8 @@ public class PNGDocumentHandlerMaker ext
     private static final String[] MIMES = new String[] {MimeConstants.MIME_PNG};
 
     /** {@inheritDoc} */
-    public IFDocumentHandler makeIFDocumentHandler(FOUserAgent ua) {
-        PNGDocumentHandler handler = new PNGDocumentHandler();
-        handler.setContext(new IFContext(ua));
-        return handler;
+    public IFDocumentHandler makeIFDocumentHandler(IFContext ifContext) {
+        return new PNGDocumentHandler(ifContext);
     }
 
     /** {@inheritDoc} */

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGRendererMaker.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/PNGRendererMaker.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGRendererMaker.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/PNGRendererMaker.java \
Thu May 31 08:33:36 2012 @@ -19,11 +19,11 @@
 
 package org.apache.fop.render.bitmap;
 
+import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.MimeConstants;
 import org.apache.fop.render.AbstractRendererMaker;
 import org.apache.fop.render.Renderer;
-import org.apache.fop.render.RendererConfigurator;
 import org.apache.fop.render.java2d.Java2DRendererConfigurator;
 
 /**
@@ -33,23 +33,23 @@ public class PNGRendererMaker extends Ab
 
     private static final String[] MIMES = new String[] {MimeConstants.MIME_PNG};
 
-
-    /** {@inheritDoc} */
+    @Override
     public Renderer makeRenderer(FOUserAgent ua) {
         return new PNGRenderer(ua);
     }
 
-    /** {@inheritDoc} */
-    public RendererConfigurator getConfigurator(FOUserAgent userAgent) {
-        return new Java2DRendererConfigurator(userAgent);
+    @Override
+    public void configureRenderer(FOUserAgent userAgent, Renderer renderer) throws \
FOPException { +        // TODO what constructir params?
+        new Java2DRendererConfigurator(userAgent, null).configure(renderer);
     }
 
-    /** {@inheritDoc} */
+    @Override
     public boolean needsOutputStream() {
         return true;
     }
 
-    /** {@inheritDoc} */
+    @Override
     public String[] getSupportedMimeTypes() {
         return MIMES;
     }

Added: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFCompressionValues.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFCompressionValues.java?rev=1344594&view=auto
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFCompressionValues.java \
                (added)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFCompressionValues.java \
Thu May 31 08:33:36 2012 @@ -0,0 +1,61 @@
+/*
+ * 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.render.bitmap;
+
+/**
+ * Constants for TIFF output.
+ */
+public enum TIFFCompressionValues {
+    /** No compression */
+    NONE("NONE"),
+    /** JPEG compression */
+    JPEG("JPEG"),
+    /** Packbits (RLE) compression */
+    PACKBITS("PackBits"),
+    /** Deflate compression */
+    DEFLATE("Deflate"),
+    /** LZW compression */
+    LZW("LZW"),
+    /** ZLib compression */
+    ZLIB("ZLib"),
+    /** CCITT Group 4 (T.6) compression */
+    CCITT_T6("CCITT T.6"), //CCITT Group 4
+    /** CCITT Group 3 (T.4) compression */
+    CCITT_T4("CCITT T.4"); //CCITT Group 3
+
+    private final String name;
+
+    private TIFFCompressionValues(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public static TIFFCompressionValues getValue(String name) {
+        for (TIFFCompressionValues tiffConst : TIFFCompressionValues.values()) {
+            if (tiffConst.name.equalsIgnoreCase(name)) {
+                return tiffConst;
+            }
+        }
+        return null;
+    }
+}

Propchange: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFCompressionValues.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandler.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/TIFFDocumentHandler.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandler.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandler.java \
Thu May 31 08:33:36 2012 @@ -20,6 +20,9 @@
 package org.apache.fop.render.bitmap;
 
 import org.apache.fop.apps.MimeConstants;
+import org.apache.fop.render.bitmap.TIFFRendererConfig.TIFFRendererConfigParser;
+import org.apache.fop.render.intermediate.IFContext;
+import org.apache.fop.render.intermediate.IFDocumentHandler;
 import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
 
 /**
@@ -27,11 +30,17 @@ import org.apache.fop.render.intermediat
  */
 public class TIFFDocumentHandler extends AbstractBitmapDocumentHandler {
 
+
+    TIFFDocumentHandler(IFContext context) {
+        super(context);
+    }
+
     /** {@inheritDoc} */
     public String getMimeType() {
         return MimeConstants.MIME_TIFF;
     }
 
+
     /** {@inheritDoc} */
     public String getDefaultExtension() {
         return "tif";
@@ -39,7 +48,7 @@ public class TIFFDocumentHandler extends
 
     /** {@inheritDoc} */
     public IFDocumentHandlerConfigurator getConfigurator() {
-        return new TIFFRendererConfigurator(getUserAgent());
+        return new TIFFRendererConfigurator(getUserAgent(), new \
TIFFRendererConfigParser());  }
 
 }

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandlerMaker.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/TIFFDocumentHandlerMaker.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandlerMaker.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFDocumentHandlerMaker.java \
Thu May 31 08:33:36 2012 @@ -19,7 +19,6 @@
 
 package org.apache.fop.render.bitmap;
 
-import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.MimeConstants;
 import org.apache.fop.render.intermediate.AbstractIFDocumentHandlerMaker;
 import org.apache.fop.render.intermediate.IFContext;
@@ -33,10 +32,8 @@ public class TIFFDocumentHandlerMaker ex
     private static final String[] MIMES = new String[] {MimeConstants.MIME_TIFF};
 
     /** {@inheritDoc} */
-    public IFDocumentHandler makeIFDocumentHandler(FOUserAgent ua) {
-        TIFFDocumentHandler handler = new TIFFDocumentHandler();
-        handler.setContext(new IFContext(ua));
-        return handler;
+    public IFDocumentHandler makeIFDocumentHandler(IFContext ifContext) {
+        return new TIFFDocumentHandler(ifContext);
     }
 
     /** {@inheritDoc} */

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/TIFFRenderer.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRenderer.java \
Thu May 31 08:33:36 2012 @@ -44,8 +44,13 @@ import org.apache.xmlgraphics.image.writ
 
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.apps.MimeConstants;
 import org.apache.fop.render.java2d.Java2DRenderer;
 
+import static org.apache.fop.render.bitmap.TIFFCompressionValues.CCITT_T4;
+import static org.apache.fop.render.bitmap.TIFFCompressionValues.CCITT_T6;
+import static org.apache.fop.render.bitmap.TIFFCompressionValues.PACKBITS;
+
 /**
  * <p>
  * This class represents renderer to TIFF (Tagged Image File Format) format. It
@@ -67,7 +72,7 @@ import org.apache.fop.render.java2d.Java
  * <code>org.apache.fop.render.java2D.Java2DRenderer</code> and just encode
  * rendering results into TIFF format using Batik's image codec
  */
-public class TIFFRenderer extends Java2DRenderer implements TIFFConstants {
+public class TIFFRenderer extends Java2DRenderer {
 
     /** ImageWriter parameters */
     private ImageWriterParams writerParams;
@@ -79,7 +84,7 @@ public class TIFFRenderer extends Java2D
 
     /** {@inheritDoc} */
     public String getMimeType() {
-        return MIME_TYPE;
+        return MimeConstants.MIME_TIFF;
     }
 
     /**
@@ -90,7 +95,7 @@ public class TIFFRenderer extends Java2D
     public TIFFRenderer(FOUserAgent userAgent) {
         super(userAgent);
         writerParams = new ImageWriterParams();
-        writerParams.setCompressionMethod(COMPRESSION_PACKBITS);
+        writerParams.setCompressionMethod(PACKBITS.getName());
 
         int dpi = Math.round(userAgent.getTargetResolution());
         writerParams.setResolution(dpi);
@@ -190,8 +195,8 @@ public class TIFFRenderer extends Java2D
                 throw new NoSuchElementException(e.getMessage());
             }
 
-            if (COMPRESSION_CCITT_T4.equalsIgnoreCase(writerParams.getCompressionMethod())
                
-                   || \
COMPRESSION_CCITT_T6.equalsIgnoreCase(writerParams.getCompressionMethod())) { +       \
TIFFCompressionValues compression = \
TIFFCompressionValues.getValue(writerParams.getCompressionMethod()); +            if \
(compression == CCITT_T4 || compression == CCITT_T6) {  return pageImage;
             } else {
                 //Decorate the image with a packed sample model for encoding by the \
codec

Added: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java?rev=1344594&view=auto
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java \
                (added)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java \
Thu May 31 08:33:36 2012 @@ -0,0 +1,95 @@
+/*
+ * 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.render.bitmap;
+
+import java.util.EnumMap;
+
+import org.apache.avalon.framework.configuration.Configuration;
+
+import org.apache.xmlgraphics.util.MimeConstants;
+
+import org.apache.fop.apps.FOPException;
+import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.fonts.DefaultFontConfig;
+import org.apache.fop.fonts.DefaultFontConfig.DefaultFontConfigParser;
+import org.apache.fop.render.RendererConfigOptions;
+
+public final class TIFFRendererConfig extends BitmapRendererConfig {
+
+    public enum TIFFRendererConfigOptions implements RendererConfigOptions {
+        COMPRESSION("compression", TIFFCompressionValues.PACKBITS);
+
+        private final String name;
+        private final Object defaultValue;
+
+        private TIFFRendererConfigOptions(String name, Object defaultValue) {
+            this.name = name;
+            this.defaultValue = defaultValue;
+        }
+
+        public String getName() {
+            return name;
+        }
+
+        public Object getDefaultValue() {
+            return defaultValue;
+        }
+    }
+
+    private final EnumMap<TIFFRendererConfigOptions, Object> params
+            = new EnumMap<TIFFRendererConfigOptions, \
Object>(TIFFRendererConfigOptions.class); +
+    private TIFFRendererConfig(DefaultFontConfig fontConfig) {
+        super(fontConfig);
+    }
+
+    public TIFFCompressionValues getCompressionType() {
+        return (TIFFCompressionValues) \
params.get(TIFFRendererConfigOptions.COMPRESSION); +    }
+
+    public static final class TIFFRendererConfigParser extends \
BitmapRendererConfigParser { +
+        public TIFFRendererConfigParser() {
+            super(MimeConstants.MIME_TIFF);
+        }
+
+        private TIFFRendererConfig config;
+
+        private void setParam(TIFFRendererConfigOptions option, Object value) {
+            config.params.put(option, value != null ? value : \
option.getDefaultValue()); +        }
+
+        private String getValue(Configuration cfg, TIFFRendererConfigOptions option) \
{ +            return cfg.getChild(option.getName()).getValue(null);
+        }
+
+        public TIFFRendererConfig build(FOUserAgent userAgent, Configuration cfg) \
throws FOPException { +            config = new TIFFRendererConfig(new \
DefaultFontConfigParser() +                    .parse(cfg, \
userAgent.validateStrictly())); +            super.build(config, userAgent, cfg);
+            if (cfg != null) {
+            setParam(TIFFRendererConfigOptions.COMPRESSION,
+                        TIFFCompressionValues.getValue(getValue(cfg,
+                                TIFFRendererConfigOptions.COMPRESSION)));
+            }
+            return config;
+        }
+    }
+}

Propchange: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfig.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererConfigurator.java \
Thu May 31 08:33:36 2012 @@ -21,24 +21,34 @@ package org.apache.fop.render.bitmap;
 
 import java.awt.image.BufferedImage;
 
-import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.apache.xmlgraphics.image.writer.ImageWriterParams;
 
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.render.Renderer;
+import org.apache.fop.render.RendererConfig.RendererConfigParser;
+import org.apache.fop.render.bitmap.TIFFRendererConfig.TIFFRendererConfigParser;
 import org.apache.fop.render.intermediate.IFDocumentHandler;
 
+import static org.apache.fop.render.bitmap.TIFFCompressionValues.CCITT_T4;
+import static org.apache.fop.render.bitmap.TIFFCompressionValues.CCITT_T6;
+import static org.apache.fop.render.bitmap.TIFFCompressionValues.NONE;
+
 /**
  * TIFF Renderer configurator
  */
 public class TIFFRendererConfigurator extends BitmapRendererConfigurator {
+    private static final Log LOG = \
LogFactory.getLog(TIFFRendererConfigurator.class);  
     /**
      * Default constructor
      * @param userAgent user agent
      */
-    public TIFFRendererConfigurator(FOUserAgent userAgent) {
-        super(userAgent);
+    public TIFFRendererConfigurator(FOUserAgent userAgent, RendererConfigParser \
rendererConfigParser) { +        super(userAgent, rendererConfigParser);
     }
 
     /**
@@ -49,58 +59,46 @@ public class TIFFRendererConfigurator ex
      * {@inheritDoc}
      */
     public void configure(Renderer renderer) throws FOPException {
-        Configuration cfg = super.getRendererConfig(renderer);
-        if (cfg != null) {
-            TIFFRenderer tiffRenderer = (TIFFRenderer)renderer;
+        final TIFFRendererConfig config = (TIFFRendererConfig) \
getRendererConfig(renderer); +        if (config != null) {
+            TIFFRenderer tiffRenderer = (TIFFRenderer) renderer;
             //set compression
-            String name = \
                cfg.getChild("compression").getValue(TIFFConstants.COMPRESSION_PACKBITS);
                
-            //Some compression formats need a special image format:
-            tiffRenderer.setBufferedImageType(getBufferedImageTypeFor(name));
-            if (!"NONE".equalsIgnoreCase(name)) {
-                tiffRenderer.getWriterParams().setCompressionMethod(name);
+            tiffRenderer.setBufferedImageType(getCompressionType(config, \
tiffRenderer.getWriterParams())); +        }
+        super.configure(renderer);
+    }
+
+    private int getCompressionType(TIFFRendererConfig config, ImageWriterParams \
writerParms) +            throws FOPException {
+        //Some compression formats need a special image format:
+        TIFFCompressionValues compression = config.getCompressionType();
+        if (compression != null) {
+            if (compression != NONE) {
+                writerParms.setCompressionMethod(compression.getName());
             }
-            if (log.isInfoEnabled()) {
-                log.info("TIFF compression set to " + name);
+            if (LOG.isInfoEnabled()) {
+                LOG.info("TIFF compression set to " + compression.getName());
             }
         }
-        super.configure(renderer);
+        return getBufferedImageTypeFor(compression);
     }
 
-    /**
-     * Determines the type value for the BufferedImage to be produced for rendering
-     * the bitmap image.
-     * @param compressionName the compression name
-     * @return a value from the {@link BufferedImage}.TYPE_* constants
-     */
-    private int getBufferedImageTypeFor(String compressionName) {
-        if (compressionName.equalsIgnoreCase(TIFFConstants.COMPRESSION_CCITT_T6)) {
-            return BufferedImage.TYPE_BYTE_BINARY;
-        } else if (compressionName.equalsIgnoreCase(TIFFConstants.COMPRESSION_CCITT_T4)) \
{ +    private int getBufferedImageTypeFor(TIFFCompressionValues compressionType) {
+        if (compressionType == CCITT_T6 || compressionType == CCITT_T4) {
             return BufferedImage.TYPE_BYTE_BINARY;
         } else {
             return BufferedImage.TYPE_INT_ARGB;
         }
     }
 
-    // ---=== IFDocumentHandler configuration ===---
-
     /** {@inheritDoc} */
     public void configure(IFDocumentHandler documentHandler) throws FOPException {
-        super.configure(documentHandler);
-        Configuration cfg = super.getRendererConfig(documentHandler.getMimeType());
-        if (cfg != null) {
-            TIFFDocumentHandler tiffHandler = (TIFFDocumentHandler)documentHandler;
+        final TIFFRendererConfig tiffConfig = (TIFFRendererConfig) \
getRendererConfig(documentHandler); +        if (tiffConfig != null) {
+            TIFFDocumentHandler tiffHandler = (TIFFDocumentHandler) documentHandler;
             BitmapRenderingSettings settings = tiffHandler.getSettings();
-            //set compression
-            String name = \
                cfg.getChild("compression").getValue(TIFFConstants.COMPRESSION_PACKBITS);
                
-            //Some compression formats need a special image format:
-            settings.setBufferedImageType(getBufferedImageTypeFor(name));
-            if (!"NONE".equalsIgnoreCase(name)) {
-                settings.getWriterParams().setCompressionMethod(name);
-            }
-            if (log.isInfoEnabled()) {
-                log.info("TIFF compression set to " + name);
-            }
+            configure(documentHandler, settings, new TIFFRendererConfigParser());
+            settings.setBufferedImageType(getCompressionType(tiffConfig, \
settings.getWriterParams()));  }
     }
 

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererMaker.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/bitmap/TIFFRendererMaker.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererMaker.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/bitmap/TIFFRendererMaker.java \
Thu May 31 08:33:36 2012 @@ -19,11 +19,12 @@
 
 package org.apache.fop.render.bitmap;
 
+import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.MimeConstants;
 import org.apache.fop.render.AbstractRendererMaker;
 import org.apache.fop.render.Renderer;
-import org.apache.fop.render.RendererConfigurator;
+import org.apache.fop.render.bitmap.TIFFRendererConfig.TIFFRendererConfigParser;
 
 /**
  * RendererMaker for the TIFF Renderer.
@@ -32,24 +33,24 @@ public class TIFFRendererMaker extends A
 
     private static final String[] MIMES = new String[] {MimeConstants.MIME_TIFF};
 
-    /** {@inheritDoc} */
+    @Override
     public Renderer makeRenderer(FOUserAgent userAgent) {
         return new TIFFRenderer(userAgent);
     }
 
-    /** {@inheritDoc} */
-    public RendererConfigurator getConfigurator(FOUserAgent userAgent) {
-        return new TIFFRendererConfigurator(userAgent);
-    }
-
-    /** {@inheritDoc} */
+    @Override
     public boolean needsOutputStream() {
         return true;
     }
 
-    /** {@inheritDoc} */
+    @Override
     public String[] getSupportedMimeTypes() {
         return MIMES;
     }
 
+    @Override
+    public void configureRenderer(FOUserAgent userAgent, Renderer renderer) throws \
FOPException { +        new TIFFRendererConfigurator(userAgent, new \
TIFFRendererConfigParser()).configure(renderer); +    }
+
 }

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractBinaryWritingIFDocumentHandler.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/AbstractBinaryWritingIFDocumentHandler.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractBinaryWritingIFDocumentHandler.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractBinaryWritingIFDocumentHandler.java \
Thu May 31 08:33:36 2012 @@ -49,6 +49,10 @@ public abstract class AbstractBinaryWrit
     /** Font configuration */
     protected FontInfo fontInfo;
 
+    public AbstractBinaryWritingIFDocumentHandler(IFContext ifContext) {
+        super(ifContext);
+    }
+
     /** {@inheritDoc} */
     public void setResult(Result result) throws IFException {
         if (result instanceof StreamResult) {
@@ -95,7 +99,7 @@ public abstract class AbstractBinaryWrit
 
     /** {@inheritDoc} */
     public void setDefaultFontInfo(FontInfo fontInfo) {
-        FontManager fontManager = getUserAgent().getFactory().getFontManager();
+        FontManager fontManager = getUserAgent().getFontManager();
         FontCollection[] fontCollections = new FontCollection[] {
                 new Base14FontCollection(fontManager.isBase14KerningEnabled())
         };

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFDocumentHandler.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/AbstractIFDocumentHandler.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFDocumentHandler.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFDocumentHandler.java \
Thu May 31 08:33:36 2012 @@ -21,6 +21,9 @@ package org.apache.fop.render.intermedia
 
 import java.util.Locale;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
 import org.apache.fop.accessibility.DummyStructureTreeEventHandler;
 import org.apache.fop.accessibility.StructureTreeEventHandler;
 import org.apache.fop.apps.FOUserAgent;
@@ -30,19 +33,19 @@ import org.apache.fop.apps.FOUserAgent;
  */
 public abstract class AbstractIFDocumentHandler implements IFDocumentHandler {
 
-    private IFContext ifContext;
+    /** logging instance */
+    private static Log log = LogFactory.getLog(AbstractIFDocumentHandler.class);
+
+    private final IFContext ifContext;
 
     /**
      * Default constructor.
      */
-    public AbstractIFDocumentHandler() {
-    }
-
-    /** {@inheritDoc} */
-    public void setContext(IFContext context) {
+    protected AbstractIFDocumentHandler(IFContext context) {
         this.ifContext = context;
     }
 
+
     /** {@inheritDoc} */
     public IFContext getContext() {
         return this.ifContext;

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFDocumentHandlerMaker.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/AbstractIFDocumentHandlerMaker.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFDocumentHandlerMaker.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFDocumentHandlerMaker.java \
Thu May 31 08:33:36 2012 @@ -19,7 +19,6 @@
 
 package org.apache.fop.render.intermediate;
 
-import org.apache.fop.apps.FOUserAgent;
 
 /**
  * Base class for factory classes which instantiate {@link IFDocumentHandler}s and \
provide @@ -29,10 +28,10 @@ public abstract class AbstractIFDocument
 
     /**
      * Instantiates a new {@link IFDocumentHandler}.
-     * @param userAgent the user agent
+     * @param ifContext the user agent
      * @return the newly instantiated document handler
      */
-    public abstract IFDocumentHandler makeIFDocumentHandler(FOUserAgent userAgent);
+    public abstract IFDocumentHandler makeIFDocumentHandler(IFContext ifContext);
 
     /**
      * @return Indicates whether this document handler requires an OutputStream to \
work with.

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFPainter.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/AbstractIFPainter.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFPainter.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractIFPainter.java \
Thu May 31 08:33:36 2012 @@ -45,7 +45,6 @@ import org.apache.xmlgraphics.image.load
 
 import org.apache.fop.ResourceEventProducer;
 import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.apps.FopFactory;
 import org.apache.fop.fo.Constants;
 import org.apache.fop.render.ImageHandler;
 import org.apache.fop.render.ImageHandlerRegistry;
@@ -89,14 +88,6 @@ public abstract class AbstractIFPainter 
         return getContext().getUserAgent();
     }
 
-    /**
-     * Returns the FOP factory.
-     * @return the FOP factory.
-     */
-    protected FopFactory getFopFactory() {
-        return getUserAgent().getFactory();
-    }
-
     private AffineTransform combine(AffineTransform[] transforms) {
         AffineTransform at = new AffineTransform();
         for (int i = 0, c = transforms.length; i < c; i++) {
@@ -131,9 +122,9 @@ public abstract class AbstractIFPainter 
      */
     protected void drawImageUsingImageHandler(ImageInfo info, Rectangle rect)
                     throws ImageException, IOException {
-        ImageManager manager = getFopFactory().getImageManager();
+        ImageManager manager = getUserAgent().getImageManager();
         ImageSessionContext sessionContext = \
                getUserAgent().getImageSessionContext();
-        ImageHandlerRegistry imageHandlerRegistry = \
getFopFactory().getImageHandlerRegistry(); +        ImageHandlerRegistry \
imageHandlerRegistry = getUserAgent().getImageHandlerRegistry();  
         //Load and convert the image to a supported format
         RenderingContext context = createRenderingContext();
@@ -197,8 +188,8 @@ public abstract class AbstractIFPainter 
     protected void drawImage(Image image, Rectangle rect,
             RenderingContext context, boolean convert, Map additionalHints)
                     throws IOException, ImageException {
-        ImageManager manager = getFopFactory().getImageManager();
-        ImageHandlerRegistry imageHandlerRegistry = \
getFopFactory().getImageHandlerRegistry(); +        ImageManager manager = \
getUserAgent().getImageManager(); +        ImageHandlerRegistry imageHandlerRegistry \
= getUserAgent().getImageHandlerRegistry();  
         Image effImage;
         context.putHints(additionalHints);
@@ -236,7 +227,7 @@ public abstract class AbstractIFPainter 
      * @return the ImageInfo instance or null if there has been an error.
      */
     protected ImageInfo getImageInfo(String uri) {
-        ImageManager manager = getFopFactory().getImageManager();
+        ImageManager manager = getUserAgent().getImageManager();
         try {
             ImageSessionContext sessionContext = \
getUserAgent().getImageSessionContext();  return manager.getImageInfo(uri, \
sessionContext); @@ -262,7 +253,7 @@ public abstract class AbstractIFPainter 
      * @param rect the rectangle in which to paint the image
      */
     protected void drawImageUsingURI(String uri, Rectangle rect) {
-        ImageManager manager = getFopFactory().getImageManager();
+        ImageManager manager = getUserAgent().getImageManager();
         ImageInfo info = null;
         try {
             ImageSessionContext sessionContext = \
getUserAgent().getImageSessionContext(); @@ -290,7 +281,7 @@ public abstract class \
                AbstractIFPainter 
      * @param rect the rectangle in which to paint the image
      */
     protected void drawImageUsingDocument(Document doc, Rectangle rect) {
-        ImageManager manager = getFopFactory().getImageManager();
+        ImageManager manager = getUserAgent().getImageManager();
         ImageInfo info = null;
         try {
             info = manager.preloadImage(null, new DOMSource(doc));

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractXMLWritingIFDocumentHandler.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/AbstractXMLWritingIFDocumentHandler.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractXMLWritingIFDocumentHandler.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/AbstractXMLWritingIFDocumentHandler.java \
Thu May 31 08:33:36 2012 @@ -45,6 +45,10 @@ public abstract class AbstractXMLWriting
     /** Main SAX ContentHandler to receive the generated SAX events. */
     protected GenerationHelperContentHandler handler;
 
+    protected AbstractXMLWritingIFDocumentHandler(IFContext context) {
+        super(context);
+    }
+
     /** {@inheritDoc} */
     public void setResult(Result result) throws IFException {
         if (result instanceof SAXResult) {

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFDocumentHandler.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFDocumentHandler.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFDocumentHandler.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFDocumentHandler.java \
Thu May 31 08:33:36 2012 @@ -78,12 +78,6 @@ import org.apache.fop.fonts.FontInfo;
 public interface IFDocumentHandler {
 
     /**
-     * Sets the intermediate format context object.
-     * @param context the context object
-     */
-    void setContext(IFContext context);
-
-    /**
      * Returns the associated intermediate format context object.
      * @return the context object
      */
@@ -274,4 +268,5 @@ public interface IFDocumentHandler {
      * @throws IFException if an error occurs while handling this event
      */
     void handleExtensionObject(Object extension) throws IFException;
+
 }

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFDocumentHandlerConfigurator.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFDocumentHandlerConfigurator.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFDocumentHandlerConfigurator.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFDocumentHandlerConfigurator.java \
Thu May 31 08:33:36 2012 @@ -40,6 +40,6 @@ public interface IFDocumentHandlerConfig
      * @param fontInfo the font info object to set up
      * @throws FOPException if an error occurs while configuring the object
      */
-    void setupFontInfo(IFDocumentHandler documentHandler, FontInfo fontInfo) throws \
FOPException; +    void setupFontInfo(String mimeType, FontInfo fontInfo) throws \
FOPException;  
 }

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFParser.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFParser.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFParser.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFParser.java \
Thu May 31 08:33:36 2012 @@ -130,7 +130,7 @@ public class IFParser implements IFConst
     public ContentHandler getContentHandler(IFDocumentHandler documentHandler,
                     FOUserAgent userAgent) {
         ElementMappingRegistry elementMappingRegistry
-            = userAgent.getFactory().getElementMappingRegistry();
+            = userAgent.getElementMappingRegistry();
         return new Handler(documentHandler, userAgent, elementMappingRegistry);
     }
 
@@ -306,7 +306,7 @@ public class IFParser implements IFConst
                     delegate.startElement(uri, localName, qName, attributes);
                 } else {
                     ContentHandlerFactoryRegistry registry
-                            = \
userAgent.getFactory().getContentHandlerFactoryRegistry(); +                          \
                = userAgent.getContentHandlerFactoryRegistry();
                     ContentHandlerFactory factory = registry.getFactory(uri);
                     if (factory == null) {
                         DOMImplementation domImplementation

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRenderer.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFRenderer.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRenderer.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRenderer.java \
Thu May 31 08:33:36 2012 @@ -232,9 +232,8 @@ public class IFRenderer extends Abstract
      * @return the default IFDocumentHandler
      */
     protected IFDocumentHandler createDefaultDocumentHandler() {
-        IFSerializer serializer = new IFSerializer();
         FOUserAgent userAgent = getUserAgent();
-        serializer.setContext(new IFContext(userAgent));
+        IFSerializer serializer = new IFSerializer(new IFContext(userAgent));
         if (userAgent.isAccessibilityEnabled()) {
             userAgent.setStructureTreeEventHandler(serializer.getStructureTreeEventHandler());
  }

Added: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRendererConfig.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFRendererConfig.java?rev=1344594&view=auto \
                ==============================================================================
                
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRendererConfig.java \
                (added)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRendererConfig.java \
Thu May 31 08:33:36 2012 @@ -0,0 +1,55 @@
+/*
+ * 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.render.intermediate;
+
+import org.apache.avalon.framework.configuration.Configuration;
+
+import org.apache.fop.apps.FOPException;
+import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.fonts.DefaultFontConfig;
+import org.apache.fop.fonts.DefaultFontConfig.DefaultFontConfigParser;
+import org.apache.fop.fonts.FontConfig;
+import org.apache.fop.render.RendererConfig;
+
+public final class IFRendererConfig implements RendererConfig {
+
+    private final DefaultFontConfig fontConfig;
+
+    private IFRendererConfig(DefaultFontConfig fontConfig) {
+        this.fontConfig = fontConfig;
+    }
+
+    public FontConfig getFontInfoConfig() {
+        return fontConfig;
+    }
+
+    public static final class IFRendererConfigParser implements RendererConfigParser \
{ +
+        public RendererConfig build(FOUserAgent userAgent, Configuration cfg)
+                throws FOPException {
+            return new IFRendererConfig(new DefaultFontConfigParser().parse(cfg,
+                    userAgent.validateStrictly()));
+        }
+
+        public String getMimeType() {
+            return "application/X-fop-intermediate-format";
+        }
+    }
+}

Propchange: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFRendererConfig.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFSerializer.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFSerializer.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFSerializer.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFSerializer.java \
Thu May 31 08:33:36 2012 @@ -40,8 +40,9 @@ import org.apache.xmlgraphics.util.XMLiz
 import org.apache.fop.accessibility.StructureTreeEventHandler;
 import org.apache.fop.fo.extensions.InternalElementMapping;
 import org.apache.fop.fonts.FontInfo;
-import org.apache.fop.render.PrintRendererConfigurator;
 import org.apache.fop.render.RenderingContext;
+import org.apache.fop.render.adobe.AdobeRendererConfigurator;
+import org.apache.fop.render.intermediate.IFRendererConfig.IFRendererConfigParser;
 import org.apache.fop.render.intermediate.IFStructureTreeBuilder.IFStructureTreeElement;
  import org.apache.fop.render.intermediate.extensions.AbstractAction;
 import org.apache.fop.render.intermediate.extensions.Bookmark;
@@ -62,7 +63,7 @@ import org.apache.fop.util.XMLUtil;
  * IFPainter implementation that serializes the intermediate format to XML.
  */
 public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
-        implements IFConstants, IFPainter, IFDocumentNavigationHandler {
+implements IFConstants, IFPainter, IFDocumentNavigationHandler {
 
     /**
      * Intermediate Format (IF) version, used to express an @version attribute
@@ -83,6 +84,10 @@ public class IFSerializer extends Abstra
 
     private IFStructureTreeBuilder structureTreeBuilder;
 
+    public IFSerializer(IFContext context) {
+        super(context);
+    }
+
     /** {@inheritDoc} */
     @Override
     protected String getMainNamespace() {
@@ -106,7 +111,7 @@ public class IFSerializer extends Abstra
         if (this.mimicHandler != null) {
             return getMimickedDocumentHandler().getConfigurator();
         } else {
-            return new PrintRendererConfigurator(getUserAgent());
+            return new AdobeRendererConfigurator(getUserAgent(), new \
IFRendererConfigParser());  }
     }
 
@@ -284,7 +289,7 @@ public class IFSerializer extends Abstra
 
     /** {@inheritDoc} */
     public void startPage(int index, String name, String pageMasterName, Dimension \
                size)
-                throws IFException {
+            throws IFException {
         try {
             AttributesImpl atts = new AttributesImpl();
             addAttribute(atts, "index", Integer.toString(index));
@@ -386,7 +391,7 @@ public class IFSerializer extends Abstra
     }
 
     private void startViewport(String transform, Dimension size, Rectangle clipRect)
-                throws IFException {
+            throws IFException {
         try {
             AttributesImpl atts = new AttributesImpl();
             if (transform != null && transform.length() > 0) {
@@ -684,7 +689,7 @@ public class IFSerializer extends Abstra
         } else {
             throw new UnsupportedOperationException(
                     "Extension must implement XMLizable: "
-                    + extension + " (" + extension.getClass().getName() + ")");
+                            + extension + " (" + extension.getClass().getName() + \
")");  }
     }
 

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFSerializerMaker.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFSerializerMaker.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFSerializerMaker.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFSerializerMaker.java \
Thu May 31 08:33:36 2012 @@ -28,9 +28,9 @@ import org.apache.fop.apps.MimeConstants
 public class IFSerializerMaker extends AbstractIFDocumentHandlerMaker {
 
     /** {@inheritDoc} */
-    public IFDocumentHandler makeIFDocumentHandler(FOUserAgent ua) {
-        IFSerializer handler = new IFSerializer();
-        handler.setContext(new IFContext(ua));
+    public IFDocumentHandler makeIFDocumentHandler(IFContext ifContext) {
+        IFSerializer handler = new IFSerializer(ifContext);
+        FOUserAgent ua = ifContext.getUserAgent();
         if (ua.isAccessibilityEnabled()) {
             ua.setStructureTreeEventHandler(handler.getStructureTreeEventHandler());
         }

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFUtil.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/IFUtil.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFUtil.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/IFUtil.java \
Thu May 31 08:33:36 2012 @@ -167,7 +167,8 @@ public final class IFUtil {
         }
         IFDocumentHandlerConfigurator configurator = \
documentHandler.getConfigurator();  if (configurator != null) {
-            configurator.setupFontInfo(documentHandler, fontInfo);
+            configurator.setupFontInfo(documentHandler.getMimeType(), fontInfo);
+            documentHandler.setFontInfo(fontInfo);
         } else {
             documentHandler.setDefaultFontInfo(fontInfo);
         }

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/util/IFDocumentHandlerProxy.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/intermediate/util/IFDocumentHandlerProxy.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/util/IFDocumentHandlerProxy.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/intermediate/util/IFDocumentHandlerProxy.java \
Thu May 31 08:33:36 2012 @@ -61,11 +61,6 @@ public class IFDocumentHandlerProxy impl
     }
 
     /** {@inheritDoc} */
-    public void setContext(IFContext context) {
-        this.delegate.setContext(context);
-    }
-
-    /** {@inheritDoc} */
     public IFContext getContext() {
         return this.delegate.getContext();
     }

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/ConfiguredFontCollection.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/java2d/ConfiguredFontCollection.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/ConfiguredFontCollection.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/ConfiguredFontCollection.java \
Thu May 31 08:33:36 2012 @@ -19,21 +19,20 @@
 
 package org.apache.fop.render.java2d;
 
+import java.io.InputStream;
+import java.net.URI;
 import java.util.List;
 
-import javax.xml.transform.Source;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import org.apache.fop.apps.io.URIResolverWrapper;
 import org.apache.fop.fonts.CustomFont;
 import org.apache.fop.fonts.EmbedFontInfo;
 import org.apache.fop.fonts.EncodingMode;
 import org.apache.fop.fonts.FontCollection;
 import org.apache.fop.fonts.FontInfo;
 import org.apache.fop.fonts.FontLoader;
-import org.apache.fop.fonts.FontManager;
-import org.apache.fop.fonts.FontResolver;
 import org.apache.fop.fonts.FontTriplet;
 import org.apache.fop.fonts.LazyFont;
 
@@ -44,23 +43,21 @@ public class ConfiguredFontCollection im
 
     private static Log log = LogFactory.getLog(ConfiguredFontCollection.class);
 
-    private FontResolver fontResolver;
-    private List/*<EmbedFontInfo>*/ embedFontInfoList;
+    private final URIResolverWrapper uriResolver;
+    private final List<EmbedFontInfo> embedFontInfoList;
+    private final boolean useComplexScripts;
 
     /**
      * Main constructor
-     * @param fontResolver a font resolver
+     * @param uriResolver a font resolver
      * @param customFonts the list of custom fonts
      * @param useComplexScriptFeatures true if complex script features enabled
      */
-    public ConfiguredFontCollection(FontResolver fontResolver,
-            List/*<EmbedFontInfo>*/ customFonts, boolean useComplexScriptFeatures) {
-        this.fontResolver = fontResolver;
-        if (this.fontResolver == null) {
-            //Ensure that we have minimal font resolution capabilities
-            this.fontResolver = \
                FontManager.createMinimalFontResolver(useComplexScriptFeatures);
-        }
+    public ConfiguredFontCollection(URIResolverWrapper uriResolver,
+            List<EmbedFontInfo> customFonts, boolean useComplexScriptFeatures) {
+        this.uriResolver = uriResolver;
         this.embedFontInfoList = customFonts;
+        this.useComplexScripts = useComplexScriptFeatures;
     }
 
     /** {@inheritDoc} */
@@ -72,42 +69,37 @@ public class ConfiguredFontCollection im
         }
         String internalName = null;
 
-        for (int i = 0; i < embedFontInfoList.size(); i++) {
-
-            EmbedFontInfo configFontInfo = (EmbedFontInfo) embedFontInfoList.get(i);
-            String fontFile = configFontInfo.getEmbedFile();
-            internalName = "F" + num;
-            num++;
+        for (EmbedFontInfo configFontInfo : embedFontInfoList) {
+            internalName = "F" + num++;
             try {
+                URI fontURI = configFontInfo.getEmbedURI();
                 FontMetricsMapper font = null;
-                String metricsUrl = configFontInfo.getMetricsFile();
+                URI metricsURI = configFontInfo.getMetricsURI();
                 // If the user specified an XML-based metrics file, we'll use it
                 // Otherwise, calculate metrics directly from the font file.
-                if (metricsUrl != null) {
-                    LazyFont fontMetrics = new LazyFont(configFontInfo, \
                fontResolver);
-                    Source fontSource = \
fontResolver.resolve(configFontInfo.getEmbedFile()); +                if (metricsURI \
!= null) { +                    LazyFont fontMetrics = new LazyFont(configFontInfo, \
uriResolver, useComplexScripts); +                    InputStream fontSource = \
                uriResolver.resolveIn(fontURI);
                     font = new CustomFontMetricsMapper(fontMetrics, fontSource);
                 } else {
                     CustomFont fontMetrics = FontLoader.loadFont(
-                            fontFile, null, true, EncodingMode.AUTO,
+                            fontURI, null, true, EncodingMode.AUTO,
                             configFontInfo.getKerning(),
-                            configFontInfo.getAdvanced(), fontResolver);
+                            configFontInfo.getAdvanced(), uriResolver);
                     font = new CustomFontMetricsMapper(fontMetrics);
                 }
 
                 fontInfo.addMetrics(internalName, font);
 
-                List<FontTriplet> triplets = configFontInfo.getFontTriplets();
-                for (int c = 0; c < triplets.size(); c++) {
-                    FontTriplet triplet = (FontTriplet) triplets.get(c);
-
+                for (FontTriplet triplet : configFontInfo.getFontTriplets()) {
                     if (log.isDebugEnabled()) {
                         log.debug("Registering: " + triplet + " under " + \
internalName);  }
                     fontInfo.addFontProperties(internalName, triplet);
                 }
             } catch (Exception e) {
-                log.warn("Unable to load custom font from file '" + fontFile + "'", \
e); +                log.warn("Unable to load custom font from file '" + \
configFontInfo.getEmbedURI() +                        + "'", e);
             }
         }
         return num;

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/CustomFontMetricsMapper.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/java2d/CustomFontMetricsMapper.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/CustomFontMetricsMapper.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/CustomFontMetricsMapper.java \
Thu May 31 08:33:36 2012 @@ -26,9 +26,6 @@ import java.io.InputStream;
 import java.util.Map;
 import java.util.Set;
 
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-
 import org.apache.fop.fonts.CustomFont;
 import org.apache.fop.fonts.FontType;
 import org.apache.fop.fonts.LazyFont;
@@ -67,7 +64,7 @@ public class CustomFontMetricsMapper ext
     public CustomFontMetricsMapper(final CustomFont fontMetrics)
             throws FontFormatException, IOException {
         this.typeface = fontMetrics;
-        initialize(fontMetrics.getEmbedFileSource());
+        initialize(fontMetrics.getInputStream());
     }
 
     /**
@@ -78,7 +75,7 @@ public class CustomFontMetricsMapper ext
      * @throws FontFormatException if a bad font is loaded
      * @throws IOException if an I/O error occurs
      */
-    public CustomFontMetricsMapper(final LazyFont fontMetrics, final Source \
fontSource) +    public CustomFontMetricsMapper(final LazyFont fontMetrics, final \
InputStream fontSource)  throws FontFormatException, IOException {
         this.typeface = fontMetrics;
         initialize(fontSource);
@@ -88,29 +85,18 @@ public class CustomFontMetricsMapper ext
 
     /**
      * Loads the java.awt.Font
-     * @param source
+     * @param inStream
      * @throws FontFormatException
      * @throws IOException
      */
-    private void initialize(final Source source)
+    private void initialize(final InputStream inStream)
                 throws FontFormatException, IOException {
         int type = Font.TRUETYPE_FONT;
         if (FontType.TYPE1.equals(typeface.getFontType())) {
             type = TYPE1_FONT; //Font.TYPE1_FONT; only available in Java 1.5
         }
-
-        InputStream is = null;
-        if (source instanceof StreamSource) {
-            is = ((StreamSource) source).getInputStream();
-        } else if (source.getSystemId() != null) {
-            is = new java.net.URL(source.getSystemId()).openStream();
-        } else {
-            throw new IllegalArgumentException("No font source provided.");
-        }
-
-        this.font = Font.createFont(type, is);
-        is.close();
-
+        this.font = Font.createFont(type, inStream);
+        inStream.close();
     }
 
     /** {@inheritDoc} */

Modified: xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/Java2DRenderer.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_URI_Unification/src/ja \
va/org/apache/fop/render/java2d/Java2DRenderer.java?rev=1344594&r1=1344593&r2=1344594&view=diff
 ==============================================================================
--- xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/Java2DRenderer.java \
                (original)
+++ xmlgraphics/fop/branches/Temp_URI_Unification/src/java/org/apache/fop/render/java2d/Java2DRenderer.java \
Thu May 31 08:33:36 2012 @@ -58,7 +58,7 @@ import org.apache.xmlgraphics.util.UnitC
 import org.apache.fop.ResourceEventProducer;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.apps.FopFactoryConfigurator;
+import org.apache.fop.apps.FopFactoryConfig;
 import org.apache.fop.area.CTM;
 import org.apache.fop.area.PageViewport;
 import org.apache.fop.area.Trait;
@@ -73,6 +73,7 @@ import org.apache.fop.fo.Constants;
 import org.apache.fop.fonts.Font;
 import org.apache.fop.fonts.FontCollection;
 import org.apache.fop.fonts.FontInfo;
+import org.apache.fop.fonts.FontManager;
 import org.apache.fop.fonts.Typeface;
 import org.apache.fop.render.AbstractPathOrientedRenderer;
 import org.apache.fop.render.Graphics2DAdapter;
@@ -83,6 +84,8 @@ import org.apache.fop.render.pdf.CTMHelp
 import org.apache.fop.util.CharUtilities;
 import org.apache.fop.util.ColorUtil;
 
+import static org.apache.fop.render.java2d.Java2DRendererOptions.JAVA2D_TRANSPARENT_PAGE_BACKGROUND;
 +
 /**
  * The <code>Java2DRenderer</code> class provides the abstract technical
  * foundation for all rendering with the Java2D API. Renderers like
@@ -109,9 +112,6 @@ import org.apache.fop.util.ColorUtil;
  */
 public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implements \
Printable {  
-    /** Rendering Options key for the controlling the transparent page background \
                option. */
-    public static final String JAVA2D_TRANSPARENT_PAGE_BACKGROUND = \
                "transparent-page-background";
-
     /** The scale factor for the image size, values: ]0 ; 1] */
     protected double scaleFactor = 1;
 
@@ -157,7 +157,7 @@ public abstract class Java2DRenderer ext
         // MH: necessary? the caller has access to FOUserAgent
         userAgent.setRendererOverride(this); // for document regeneration
 
-        String s = (String) \
userAgent.getRendererOptions().get(JAVA2D_TRANSPARENT_PAGE_BACKGROUND); +        \
String s = (String) userAgent.getRendererOption(JAVA2D_TRANSPARENT_PAGE_BACKGROUND);  \
if (s != null) {  this.transparentPageBackground = "true".equalsIgnoreCase(s);
         }
@@ -175,14 +175,15 @@ public abstract class Java2DRenderer ext
         this.fontInfo = inFontInfo;
         final Java2DFontMetrics java2DFontMetrics = new Java2DFontMetrics();
 
+        FontManager fontManager = userAgent.getFontManager();
+
         FontCollection[] fontCollections = new FontCollection[] {
                 new Base14FontCollection(java2DFontMetrics),
                 new InstalledFontCollection(java2DFontMetrics),
-                new ConfiguredFontCollection(getFontResolver(), getFontList(),
-                                             \
userAgent.isComplexScriptFeaturesEnabled()) +                new \
ConfiguredFontCollection(fontManager.getURIResolver(), getFontList(), +               \
userAgent.isComplexScriptFeaturesEnabled())  };
-        userAgent.getFactory().getFontManager().setup(
-                getFontInfo(), fontCollections);
+        fontManager.setup(getFontInfo(), fontCollections);
     }
 
     /** {@inheritDoc} */
@@ -317,7 +318,7 @@ public abstract class Java2DRenderer ext
             // set scale factor
             double scaleX = scaleFactor;
             double scaleY = scaleFactor;
-            String scale = (String) currentPageViewport.getForeignAttributes().get(
+            String scale = currentPageViewport.getForeignAttributes().get(
                     PageScale.EXT_PAGE_SCALE);
             Point2D scales = PageScale.getScale(scale);
             if (scales != null) {
@@ -326,10 +327,10 @@ public abstract class Java2DRenderer ext
             }
 
             scaleX = scaleX
-                * (UnitConv.IN2MM / \
FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION) +                    * \
(UnitConv.IN2MM / FopFactoryConfig.DEFAULT_TARGET_RESOLUTION)  / \
userAgent.getTargetPixelUnitToMillimeter();  scaleY = scaleY
-                * (UnitConv.IN2MM / \
FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION) +                    * \
(UnitConv.IN2MM / FopFactoryConfig.DEFAULT_TARGET_RESOLUTION)  / \
userAgent.getTargetPixelUnitToMillimeter();  int bitmapWidth = (int) ((pageWidth * \
scaleX) + 0.5);  int bitmapHeight = (int) ((pageHeight * scaleY) + 0.5);
@@ -737,7 +738,7 @@ public abstract class Java2DRenderer ext
         //super.renderText(text);
 
         // rendering text decorations
-        Typeface tf = (Typeface) fontInfo.getFonts().get(font.getFontName());
+        Typeface tf = fontInfo.getFonts().get(font.getFontName());
         int fontsize = text.getTraitAsInteger(Trait.FONT_SIZE);
         renderTextDecoration(tf, fontsize, text, bl, rx);
     }
@@ -918,7 +919,7 @@ public abstract class Java2DRenderer ext
         int y = currentBPPosition + (int)Math.round(pos.getY());
         uri = URISpecification.getURL(uri);
 
-        ImageManager manager = getUserAgent().getFactory().getImageManager();
+        ImageManager manager = getUserAgent().getImageManager();
         ImageInfo info = null;
         try {
             ImageSessionContext sessionContext = \
getUserAgent().getImageSessionContext();



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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic