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 me...@apache.org on 2012/07/03 11:47:25 UTC
svn commit: r1356646 [8/12] - in /xmlgraphics/fop/trunk: ./
examples/embedding/java/embedding/ examples/embedding/java/embedding/atxml/
examples/embedding/java/embedding/events/
examples/embedding/java/embedding/intermediate/ src/java/org/apache/fop/af...
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSRendererConfigurator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSRendererConfigurator.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSRendererConfigurator.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSRendererConfigurator.java Tue Jul 3 09:46:41 2012
@@ -19,75 +19,56 @@
package org.apache.fop.render.ps;
-import java.util.Locale;
-
-import org.apache.avalon.framework.configuration.Configuration;
-
-import org.apache.xmlgraphics.ps.PSGenerator;
-
import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.render.PrintRendererConfigurator;
-import org.apache.fop.render.Renderer;
+import org.apache.fop.render.DefaultRendererConfigurator;
+import org.apache.fop.render.RendererConfig.RendererConfigParser;
import org.apache.fop.render.intermediate.IFDocumentHandler;
import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
+
/**
* Postscript renderer config
*/
-public class PSRendererConfigurator extends PrintRendererConfigurator
- implements IFDocumentHandlerConfigurator {
+public class PSRendererConfigurator extends DefaultRendererConfigurator
+ implements IFDocumentHandlerConfigurator {
/**
* Default constructor
* @param userAgent user agent
*/
- public PSRendererConfigurator(FOUserAgent userAgent) {
- super(userAgent);
- }
-
- /**
- * Throws an UnsupportedOperationException.
- *
- * @param renderer not used
- */
- public void configure(Renderer renderer) {
- throw new UnsupportedOperationException();
+ public PSRendererConfigurator(FOUserAgent userAgent, RendererConfigParser rendererConfigParser) {
+ super(userAgent, rendererConfigParser);
}
- private void configure(PSRenderingUtil psUtil, Configuration cfg) {
- psUtil.setAutoRotateLandscape(
- cfg.getChild("auto-rotate-landscape").getValueAsBoolean(false));
- Configuration child;
- child = cfg.getChild("language-level");
- if (child != null) {
- psUtil.setLanguageLevel(child.getValueAsInteger(
- PSGenerator.DEFAULT_LANGUAGE_LEVEL));
- }
- child = cfg.getChild("optimize-resources");
- if (child != null) {
- psUtil.setOptimizeResources(child.getValueAsBoolean(false));
- }
- child = cfg.getChild("rendering");
- if (child != null) {
- psUtil.setRenderingMode(PSRenderingMode.valueOf(
- child.getValue(psUtil.getRenderingMode().toString())
- .toUpperCase(Locale.ENGLISH)));
- }
- psUtil.setSafeSetPageDevice(
- cfg.getChild("safe-set-page-device").getValueAsBoolean(false));
- psUtil.setDSCComplianceEnabled(
- cfg.getChild("dsc-compliant").getValueAsBoolean(true));
+ private void configure(PSRenderingUtil psUtil, PSRendererConfig psConfig) {
+ if (psConfig.isAutoRotateLandscape() != null) {
+ psUtil.setAutoRotateLandscape(psConfig.isAutoRotateLandscape());
+ }
+ if (psConfig.getLanguageLevel() != null) {
+ psUtil.setLanguageLevel(psConfig.getLanguageLevel());
+ }
+ if (psConfig.isOptimizeResources() != null) {
+ psUtil.setOptimizeResources(psConfig.isOptimizeResources());
+ }
+ if (psConfig.isSafeSetPageDevice() != null) {
+ psUtil.setSafeSetPageDevice(psConfig.isSafeSetPageDevice());
+ }
+ if (psConfig.isDscComplianceEnabled() != null) {
+ psUtil.setDSCComplianceEnabled(psConfig.isDscComplianceEnabled());
+ }
+ if (psConfig.getRenderingMode() != null) {
+ psUtil.setRenderingMode(psConfig.getRenderingMode());
+ }
}
- /** {@inheritDoc} */
+ @Override
public void configure(IFDocumentHandler documentHandler) throws FOPException {
- Configuration cfg = super.getRendererConfig(documentHandler.getMimeType());
- if (cfg != null) {
- PSDocumentHandler psDocumentHandler = (PSDocumentHandler)documentHandler;
- configure(psDocumentHandler.getPSUtil(), cfg);
+ PSRendererConfig psConfig = (PSRendererConfig) getRendererConfig(documentHandler);
+ if (psConfig != null) {
+ PSDocumentHandler psDocumentHandler = (PSDocumentHandler) documentHandler;
+ PSRenderingUtil psUtil = psDocumentHandler.getPSUtil();
+ configure(psUtil, psConfig);
}
-
}
-
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSRenderingUtil.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSRenderingUtil.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSRenderingUtil.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSRenderingUtil.java Tue Jul 3 09:46:41 2012
@@ -33,11 +33,15 @@ import org.apache.fop.render.ps.extensio
import org.apache.fop.render.ps.extensions.PSExtensionAttachment;
import org.apache.fop.render.ps.extensions.PSSetupCode;
+import static org.apache.fop.render.ps.PSRendererOption.AUTO_ROTATE_LANDSCAPE;
+import static org.apache.fop.render.ps.PSRendererOption.LANGUAGE_LEVEL;
+import static org.apache.fop.render.ps.PSRendererOption.OPTIMIZE_RESOURCES;
+
/**
* Utility class which enables all sorts of features that are not directly connected to the
* normal rendering process.
*/
-public class PSRenderingUtil implements PSConfigurationConstants {
+public class PSRenderingUtil {
private FOUserAgent userAgent;
@@ -64,20 +68,21 @@ public class PSRenderingUtil implements
PSRenderingUtil(FOUserAgent userAgent) {
this.userAgent = userAgent;
+ //PSRendererConfig confi = userAgent.getRendererConfig(rendererConfiguration, configCreator)
initialize();
}
private void initialize() {
Object obj;
- obj = userAgent.getRendererOptions().get(AUTO_ROTATE_LANDSCAPE);
+ obj = userAgent.getRendererOptions().get(AUTO_ROTATE_LANDSCAPE.getName());
if (obj != null) {
setAutoRotateLandscape(booleanValueOf(obj));
}
- obj = userAgent.getRendererOptions().get(LANGUAGE_LEVEL);
+ obj = userAgent.getRendererOptions().get(LANGUAGE_LEVEL.getName());
if (obj != null) {
setLanguageLevel(intValueOf(obj));
}
- obj = userAgent.getRendererOptions().get(OPTIMIZE_RESOURCES);
+ obj = userAgent.getRendererOptions().get(OPTIMIZE_RESOURCES.getName());
if (obj != null) {
setOptimizeResources(booleanValueOf(obj));
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSSVGHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSSVGHandler.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSSVGHandler.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSSVGHandler.java Tue Jul 3 09:46:41 2012
@@ -257,7 +257,7 @@ public class PSSVGHandler extends Abstra
BridgeContext ctx = new PSBridgeContext(ua,
(strokeText ? null : psInfo.fontInfo),
- context.getUserAgent().getFactory().getImageManager(),
+ context.getUserAgent().getImageManager(),
context.getUserAgent().getImageSessionContext());
//Cloning SVG DOM as Batik attaches non-thread-safe facilities (like the CSS engine)
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSTextPainter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSTextPainter.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSTextPainter.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/PSTextPainter.java Tue Jul 3 09:46:41 2012
@@ -52,7 +52,7 @@ import org.apache.fop.util.CharUtilities
import org.apache.fop.util.HexEncoder;
/**
- * Renders the attributed character iterator of a text node.
+ * Renders the attributed character iterator of a {@link org.apache.batik.gvt.TextNode TextNode}.
* This class draws the text directly using PostScript text operators so
* the text is not drawn using shapes which makes the PS files larger.
* <p>
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/ResourceHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/ResourceHandler.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/ResourceHandler.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/ps/ResourceHandler.java Tue Jul 3 09:46:41 2012
@@ -287,7 +287,7 @@ public class ResourceHandler implements
throws IOException {
final String uri = form.getImageURI();
- ImageManager manager = userAgent.getFactory().getImageManager();
+ ImageManager manager = userAgent.getImageManager();
ImageInfo info = null;
try {
ImageSessionContext sessionContext = userAgent.getImageSessionContext();
@@ -299,7 +299,7 @@ public class ResourceHandler implements
ImageFlavor[] flavors;
ImageHandlerRegistry imageHandlerRegistry
- = userAgent.getFactory().getImageHandlerRegistry();
+ = userAgent.getImageHandlerRegistry();
flavors = imageHandlerRegistry.getSupportedFlavors(formContext);
Map hints = ImageUtil.getDefaultHints(sessionContext);
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/rtf/RTFHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/rtf/RTFHandler.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/rtf/RTFHandler.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/rtf/RTFHandler.java Tue Jul 3 09:46:41 2012
@@ -97,7 +97,6 @@ import org.apache.fop.fo.properties.Enum
import org.apache.fop.fonts.FontSetup;
import org.apache.fop.layoutmgr.inline.ImageLayout;
import org.apache.fop.layoutmgr.table.ColumnSetup;
-import org.apache.fop.render.DefaultFontResolver;
import org.apache.fop.render.RendererEventProducer;
import org.apache.fop.render.rtf.rtflib.exceptions.RtfException;
import org.apache.fop.render.rtf.rtflib.rtfdoc.IRtfAfterContainer;
@@ -169,7 +168,7 @@ public class RTFHandler extends FOEventH
bDefer = true;
boolean base14Kerning = false;
- FontSetup.setup(fontInfo, null, new DefaultFontResolver(userAgent), base14Kerning);
+ FontSetup.setup(fontInfo, null, userAgent.getResourceResolver(), base14Kerning);
}
/**
@@ -1086,7 +1085,7 @@ public class RTFHandler extends FOEventH
//set image data
FOUserAgent userAgent = eg.getUserAgent();
- ImageManager manager = userAgent.getFactory().getImageManager();
+ ImageManager manager = userAgent.getImageManager();
info = manager.getImageInfo(uri, userAgent.getImageSessionContext());
putGraphic(eg, info);
@@ -1140,7 +1139,7 @@ public class RTFHandler extends FOEventH
ImageXMLDOM image = new ImageXMLDOM(info, doc, ns);
FOUserAgent userAgent = ifo.getUserAgent();
- ImageManager manager = userAgent.getFactory().getImageManager();
+ ImageManager manager = userAgent.getImageManager();
Map hints = ImageUtil.getDefaultHints(ua.getImageSessionContext());
Image converted = manager.convertImage(image, FLAVORS, hints);
putGraphic(ifo, converted);
@@ -1170,7 +1169,7 @@ public class RTFHandler extends FOEventH
throws IOException {
try {
FOUserAgent userAgent = abstractGraphic.getUserAgent();
- ImageManager manager = userAgent.getFactory().getImageManager();
+ ImageManager manager = userAgent.getImageManager();
ImageSessionContext sessionContext = userAgent.getImageSessionContext();
Map hints = ImageUtil.getDefaultHints(sessionContext);
Image image = manager.getImage(info, FLAVORS, hints, sessionContext);
@@ -1701,7 +1700,7 @@ public class RTFHandler extends FOEventH
Region regionBefore = pagemaster.getRegion(Constants.FO_REGION_BEFORE);
if (regionBefore != null) {
- FONode staticBefore = (FONode) pageSequence.getFlowMap().get(
+ FONode staticBefore = pageSequence.getFlowMap().get(
regionBefore.getRegionName());
if (staticBefore != null) {
recurseFONode(staticBefore);
@@ -1709,7 +1708,7 @@ public class RTFHandler extends FOEventH
}
Region regionAfter = pagemaster.getRegion(Constants.FO_REGION_AFTER);
if (regionAfter != null) {
- FONode staticAfter = (FONode) pageSequence.getFlowMap().get(
+ FONode staticAfter = pageSequence.getFlowMap().get(
regionAfter.getRegionName());
if (staticAfter != null) {
recurseFONode(staticAfter);
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/txt/TXTRendererConfigurator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/txt/TXTRendererConfigurator.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/txt/TXTRendererConfigurator.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/txt/TXTRendererConfigurator.java Tue Jul 3 09:46:41 2012
@@ -19,24 +19,23 @@
package org.apache.fop.render.txt;
-import org.apache.avalon.framework.configuration.Configuration;
-
import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
-import org.apache.fop.render.PrintRendererConfigurator;
+import org.apache.fop.render.DefaultRendererConfigurator;
import org.apache.fop.render.Renderer;
+import org.apache.fop.render.RendererConfig.RendererConfigParser;
/**
* TXT Renderer configurator
*/
-public class TXTRendererConfigurator extends PrintRendererConfigurator {
+public class TXTRendererConfigurator extends DefaultRendererConfigurator {
/**
* Default constructor
* @param userAgent user agent
*/
- public TXTRendererConfigurator(FOUserAgent userAgent) {
- super(userAgent);
+ public TXTRendererConfigurator(FOUserAgent userAgent, RendererConfigParser rendererConfigParser) {
+ super(userAgent, rendererConfigParser);
}
/**
@@ -45,10 +44,11 @@ public class TXTRendererConfigurator ext
* @throws FOPException fop exception
*/
public void configure(Renderer renderer) throws FOPException {
- Configuration cfg = super.getRendererConfig(renderer);
- if (cfg != null) {
- TXTRenderer txtRenderer = (TXTRenderer)renderer;
- txtRenderer.setEncoding(cfg.getChild("encoding", true).getValue(null));
+ TxtRendererConfig config = (TxtRendererConfig) getRendererConfig(renderer);
+ if (config != null) {
+ TXTRenderer txtRenderer = (TXTRenderer) renderer;
+ txtRenderer.setEncoding(config.getEncoding());
}
}
+
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/txt/TXTRendererMaker.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/txt/TXTRendererMaker.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/txt/TXTRendererMaker.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/txt/TXTRendererMaker.java Tue Jul 3 09:46:41 2012
@@ -19,11 +19,12 @@
package org.apache.fop.render.txt;
+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.txt.TxtRendererConfig.TxtRendererConfigParser;
/**
* RendererMaker for the Plain Text Renderer.
@@ -32,22 +33,22 @@ public class TXTRendererMaker extends Ab
private static final String[] MIMES = new String[] {MimeConstants.MIME_PLAIN_TEXT};
- /**{@inheritDoc} */
+ @Override
public Renderer makeRenderer(FOUserAgent userAgent) {
return new TXTRenderer(userAgent);
}
- /**{@inheritDoc} */
- public RendererConfigurator getConfigurator(FOUserAgent userAgent) {
- return new TXTRendererConfigurator(userAgent);
+ @Override
+ public void configureRenderer(FOUserAgent userAgent, Renderer renderer) throws FOPException {
+ new TXTRendererConfigurator(userAgent, new TxtRendererConfigParser()).configure(renderer);
}
- /** {@inheritDoc} */
+ @Override
public boolean needsOutputStream() {
return true;
}
- /** {@inheritDoc} */
+ @Override
public String[] getSupportedMimeTypes() {
return MIMES;
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/xml/XMLRendererMaker.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/xml/XMLRendererMaker.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/xml/XMLRendererMaker.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/xml/XMLRendererMaker.java Tue Jul 3 09:46:41 2012
@@ -19,12 +19,15 @@
package org.apache.fop.render.xml;
+import java.util.List;
+
+import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.MimeConstants;
+import org.apache.fop.fonts.FontCollection;
import org.apache.fop.render.AbstractRendererMaker;
import org.apache.fop.render.PrintRendererConfigurator;
import org.apache.fop.render.Renderer;
-import org.apache.fop.render.RendererConfigurator;
/**
* RendererMaker for the Area Tree XML Renderer.
@@ -33,22 +36,28 @@ public class XMLRendererMaker extends Ab
private static final String[] MIMES = new String[] {MimeConstants.MIME_FOP_AREA_TREE};
- /**{@inheritDoc} */
+ @Override
public Renderer makeRenderer(FOUserAgent userAgent) {
return new XMLRenderer(userAgent);
}
- /**{@inheritDoc} */
- public RendererConfigurator getConfigurator(FOUserAgent userAgent) {
- return new PrintRendererConfigurator(userAgent);
+ @Override
+ public void configureRenderer(FOUserAgent userAgent, Renderer renderer) throws FOPException {
+ // TODO what constructor params?
+ new PrintRendererConfigurator(userAgent, null) {
+ @Override
+ protected List<FontCollection> getDefaultFontCollection() {
+ throw new UnsupportedOperationException();
+ }
+ } .configure(renderer);
}
- /** {@inheritDoc} */
+ @Override
public boolean needsOutputStream() {
return true;
}
- /** {@inheritDoc} */
+ @Override
public String[] getSupportedMimeTypes() {
return MIMES;
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/servlet/FopServlet.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/servlet/FopServlet.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/servlet/FopServlet.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/servlet/FopServlet.java Tue Jul 3 09:46:41 2012
@@ -21,7 +21,11 @@ package org.apache.fop.servlet;
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.io.PrintWriter;
+import java.net.URI;
+import java.net.URL;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
@@ -42,7 +46,10 @@ import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.FopFactory;
+import org.apache.fop.apps.FopFactoryBuilder;
import org.apache.fop.apps.MimeConstants;
+import org.apache.fop.apps.io.Resource;
+import org.apache.fop.apps.io.ResourceResolver;
/**
* Example servlet to generate a PDF from a servlet.
@@ -91,16 +98,27 @@ public class FopServlet extends HttpServ
this.transFactory = TransformerFactory.newInstance();
this.transFactory.setURIResolver(this.uriResolver);
//Configure FopFactory as desired
- this.fopFactory = FopFactory.newInstance();
- this.fopFactory.setURIResolver(this.uriResolver);
- configureFopFactory();
+ // TODO: Double check this behaves properly!!
+ ResourceResolver resolver = new ResourceResolver() {
+ public OutputStream getOutputStream(URI uri) throws IOException {
+ URL url = getServletContext().getResource(uri.toASCIIString());
+ return url.openConnection().getOutputStream();
+ }
+
+ public Resource getResource(URI uri) throws IOException {
+ return new Resource(getServletContext().getResourceAsStream(uri.toASCIIString()));
+ }
+ };
+ FopFactoryBuilder builder = new FopFactoryBuilder(new File(".").toURI(), resolver);
+ configureFopFactory(builder);
+ fopFactory = builder.build();
}
/**
* This method is called right after the FopFactory is instantiated and can be overridden
* by subclasses to perform additional configuration.
*/
- protected void configureFopFactory() {
+ protected void configureFopFactory(FopFactoryBuilder builder) {
//Subclass and override this method to perform additional configuration
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/svg/PDFDocumentGraphics2DConfigurator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/svg/PDFDocumentGraphics2DConfigurator.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/svg/PDFDocumentGraphics2DConfigurator.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/svg/PDFDocumentGraphics2DConfigurator.java Tue Jul 3 09:46:41 2012
@@ -19,23 +19,28 @@
package org.apache.fop.svg;
+import java.io.File;
+import java.net.URI;
import java.util.List;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.fop.apps.FOPException;
-import org.apache.fop.fonts.CustomFontCollection;
-import org.apache.fop.fonts.FontCollection;
+import org.apache.fop.apps.io.InternalResourceResolver;
+import org.apache.fop.apps.io.ResourceResolverFactory;
+import org.apache.fop.fonts.DefaultFontConfig;
+import org.apache.fop.fonts.DefaultFontConfigurator;
+import org.apache.fop.fonts.EmbedFontInfo;
+import org.apache.fop.fonts.FontCacheManagerFactory;
+import org.apache.fop.fonts.FontDetectorFactory;
import org.apache.fop.fonts.FontEventListener;
import org.apache.fop.fonts.FontInfo;
-import org.apache.fop.fonts.FontInfoConfigurator;
import org.apache.fop.fonts.FontManager;
-import org.apache.fop.fonts.FontManagerConfigurator;
-import org.apache.fop.fonts.FontResolver;
-import org.apache.fop.fonts.base14.Base14FontCollection;
+import org.apache.fop.fonts.FontSetup;
import org.apache.fop.pdf.PDFDocument;
-import org.apache.fop.render.pdf.PDFRendererConfigurator;
+import org.apache.fop.render.pdf.PDFRendererConfig;
+import org.apache.fop.render.pdf.PDFRendererConfig.PDFRendererConfigParser;
/**
* Configurator class for PDFDocumentGraphics2D.
@@ -53,10 +58,13 @@ public class PDFDocumentGraphics2DConfig
boolean useComplexScriptFeatures )
throws ConfigurationException {
PDFDocument pdfDoc = graphics.getPDFDocument();
-
- //Filter map
- pdfDoc.setFilterMap(
- PDFRendererConfigurator.buildFilterMapFromConfiguration(cfg));
+ try {
+ //Filter map
+ PDFRendererConfig pdfConfig = new PDFRendererConfigParser().build(null, cfg);
+ pdfDoc.setFilterMap(pdfConfig.getConfigOptions().getFilterMap());
+ } catch (FOPException e) {
+ throw new RuntimeException(e);
+ }
//Fonts
try {
@@ -78,30 +86,28 @@ public class PDFDocumentGraphics2DConfig
throws FOPException {
FontInfo fontInfo = new FontInfo();
final boolean strict = false;
- FontResolver fontResolver = FontManager.createMinimalFontResolver(useComplexScriptFeatures);
- //TODO The following could be optimized by retaining the FontManager somewhere
- FontManager fontManager = new FontManager();
- if (cfg != null) {
- FontManagerConfigurator fmConfigurator = new FontManagerConfigurator(cfg);
- fmConfigurator.configure(fontManager, strict);
- }
-
- List fontCollections = new java.util.ArrayList();
- fontCollections.add(new Base14FontCollection(fontManager.isBase14KerningEnabled()));
-
if (cfg != null) {
- //TODO Wire in the FontEventListener
- FontEventListener listener = null; //new FontEventAdapter(eventBroadcaster);
- FontInfoConfigurator fontInfoConfigurator
- = new FontInfoConfigurator(cfg, fontManager, fontResolver, listener, strict);
- List/*<EmbedFontInfo>*/ fontInfoList = new java.util.ArrayList/*<EmbedFontInfo>*/();
- fontInfoConfigurator.configure(fontInfoList);
- fontCollections.add(new CustomFontCollection(fontResolver, fontInfoList,
- fontResolver.isComplexScriptFeaturesEnabled()));
+ URI thisUri = new File(".").getAbsoluteFile().toURI();
+ InternalResourceResolver resourceResolver = ResourceResolverFactory.createDefaultInternalResourceResolver(thisUri);
+ //TODO The following could be optimized by retaining the FontManager somewhere
+ FontManager fontManager = new FontManager(resourceResolver, FontDetectorFactory.createDefault(),
+ FontCacheManagerFactory.createDefault());
+
+ //TODO Make use of fontBaseURL, font substitution and referencing configuration
+ //Requires a change to the expected configuration layout
+
+ final FontEventListener listener = null;
+ DefaultFontConfig.DefaultFontConfigParser parser
+ = new DefaultFontConfig.DefaultFontConfigParser();
+ DefaultFontConfig fontInfoConfig = parser.parse(cfg, strict);
+ DefaultFontConfigurator fontInfoConfigurator
+ = new DefaultFontConfigurator(fontManager, listener, strict);
+ List<EmbedFontInfo> fontInfoList = fontInfoConfigurator.configure(fontInfoConfig);
+ fontManager.saveCache();
+ FontSetup.setup(fontInfo, fontInfoList, resourceResolver, useComplexScriptFeatures);
+ } else {
+ FontSetup.setup(fontInfo, useComplexScriptFeatures);
}
- fontManager.setup(fontInfo,
- (FontCollection[])fontCollections.toArray(
- new FontCollection[fontCollections.size()]));
return fontInfo;
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/svg/PDFTranscoder.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/svg/PDFTranscoder.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/svg/PDFTranscoder.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/svg/PDFTranscoder.java Tue Jul 3 09:46:41 2012
@@ -133,7 +133,7 @@ public class PDFTranscoder extends Abstr
}
} catch (Exception e) {
throw new TranscoderException(
- "Error while setting up PDFDocumentGraphics2D", e);
+ "Error while setting up PDFDocumentGraphics2D", e);
}
super.transcode(document, uri, output);
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/TestConverter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/TestConverter.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/TestConverter.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/TestConverter.java Tue Jul 3 09:46:41 2012
@@ -21,6 +21,7 @@ package org.apache.fop.tools;
import java.io.File;
import java.io.OutputStream;
+import java.net.URI;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
@@ -50,9 +51,6 @@ import org.apache.fop.tools.anttasks.Fil
*/
public class TestConverter {
- // configure fopFactory as desired
- private FopFactory fopFactory = FopFactory.newInstance();
-
private boolean failOnly = false;
private String outputFormat = MimeConstants.MIME_FOP_AREA_TREE;
private File destdir;
@@ -273,24 +271,17 @@ public class TestConverter {
}
try {
File xmlFile = new File(baseDir + "/" + xml);
- String baseURL = null;
- try {
- baseURL = xmlFile.getParentFile().toURI().toURL().toExternalForm();
- } catch (Exception e) {
- logger.error("Error setting base directory");
- }
+ URI baseUri = xmlFile.getParentFile().toURI();
InputHandler inputHandler = null;
if (xsl == null) {
inputHandler = new InputHandler(xmlFile);
} else {
- inputHandler = new InputHandler(xmlFile,
- new File(baseDir + "/"
- + xsl), null);
+ inputHandler = new InputHandler(xmlFile, new File(baseDir + "/" + xsl), null);
}
+ FopFactory fopFactory = FopFactory.newInstance(baseUri);
FOUserAgent userAgent = fopFactory.newFOUserAgent();
- userAgent.setBaseURL(baseURL);
userAgent.getRendererOptions().put("fineDetail", new Boolean(false));
userAgent.getRendererOptions().put("consistentOutput", new Boolean(true));
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/anttasks/Fop.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/anttasks/Fop.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/anttasks/Fop.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/anttasks/Fop.java Tue Jul 3 09:46:41 2012
@@ -24,7 +24,7 @@ import java.io.BufferedOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
-import java.net.MalformedURLException;
+import java.net.URI;
import java.util.List;
import java.util.Vector;
@@ -41,7 +41,9 @@ import org.apache.tools.ant.util.GlobPat
import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.apps.FopConfParser;
import org.apache.fop.apps.FopFactory;
+import org.apache.fop.apps.FopFactoryBuilder;
import org.apache.fop.apps.MimeConstants;
import org.apache.fop.cli.InputHandler;
@@ -379,10 +381,10 @@ public class Fop extends Task {
class FOPTaskStarter {
// configure fopFactory as desired
- private FopFactory fopFactory = FopFactory.newInstance();
+ private final FopFactory fopFactory;
private Fop task;
- private String baseURL = null;
+ private URI baseUri;
/**
* logging instance
@@ -408,8 +410,21 @@ class FOPTaskStarter {
FOPTaskStarter(Fop task) throws SAXException, IOException {
this.task = task;
+ //Set base directory
+ if (task.getBasedir() != null) {
+ this.baseUri = task.getBasedir().toURI();
+ } else {
+ if (task.getFofile() != null) {
+ this.baseUri = task.getFofile().getParentFile().toURI();
+ }
+ }
if (task.getUserconfig() != null) {
- fopFactory.setUserConfig(task.getUserconfig());
+ FopFactoryBuilder confBuilder = new FopConfParser(
+ task.getUserconfig()).getFopFactoryBuilder();
+ confBuilder.setBaseURI(baseUri);
+ fopFactory = confBuilder.build();
+ } else {
+ fopFactory = FopFactory.newInstance(baseUri);
}
}
@@ -488,25 +503,7 @@ class FOPTaskStarter {
}
public void run() throws FOPException {
- //Set base directory
- if (task.getBasedir() != null) {
- try {
- this.baseURL = task.getBasedir().toURI().toURL().toExternalForm();
- } catch (MalformedURLException mfue) {
- logger.error("Error creating base URL from base directory", mfue);
- }
- } else {
- try {
- if (task.getFofile() != null) {
- this.baseURL = task.getFofile().getParentFile().toURI().toURL()
- .toExternalForm();
- }
- } catch (MalformedURLException mfue) {
- logger.error("Error creating base URL from XSL-FO input file", mfue);
- }
- }
-
- task.log("Using base URL: " + baseURL, Project.MSG_DEBUG);
+ task.log("Using base URI: " + baseUri, Project.MSG_DEBUG);
String outputFormat = normalizeOutputFormat(task.getFormat());
String newExtension = determineExtension(outputFormat);
@@ -598,12 +595,10 @@ class FOPTaskStarter {
}
try {
if (task.getRelativebase()) {
- this.baseURL = f.getParentFile().toURI().toURL()
- .toExternalForm();
+ this.baseUri = f.getParentFile().toURI();
}
- if (this.baseURL == null) {
- this.baseURL = fs.getDir(task.getProject()).toURI().toURL()
- .toExternalForm();
+ if (this.baseUri == null) {
+ this.baseUri = fs.getDir(task.getProject()).toURI();
}
} catch (Exception e) {
@@ -649,7 +644,6 @@ class FOPTaskStarter {
boolean success = false;
try {
FOUserAgent userAgent = fopFactory.newFOUserAgent();
- userAgent.setBaseURL(this.baseURL);
inputHandler.renderTo(userAgent, outputFormat, out);
success = true;
} catch (Exception ex) {
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/fontlist/FontListGenerator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/fontlist/FontListGenerator.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/fontlist/FontListGenerator.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/fontlist/FontListGenerator.java Tue Jul 3 09:46:41 2012
@@ -68,7 +68,8 @@ public class FontListGenerator {
IFDocumentHandlerConfigurator configurator = documentHandler.getConfigurator();
FontInfo fontInfo = new FontInfo();
- configurator.setupFontInfo(documentHandler, fontInfo);
+ configurator.setupFontInfo(documentHandler.getMimeType(), fontInfo);
+ documentHandler.setFontInfo(fontInfo);
return fontInfo;
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/fontlist/FontListMain.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/fontlist/FontListMain.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/fontlist/FontListMain.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/tools/fontlist/FontListMain.java Tue Jul 3 09:46:41 2012
@@ -64,7 +64,7 @@ public final class FontListMain {
private static final int GENERATE_FO = 2;
private static final int GENERATE_RENDERED = 3;
- private FopFactory fopFactory = FopFactory.newInstance();
+ private FopFactory fopFactory;
private File configFile;
private File outputFile;
@@ -78,7 +78,9 @@ public final class FontListMain {
private void prepare() throws SAXException, IOException {
if (this.configFile != null) {
- fopFactory.setUserConfig(this.configFile);
+ fopFactory = FopFactory.newInstance(configFile);
+ } else {
+ fopFactory = FopFactory.newInstance(new File(".").toURI());
}
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/util/ColorSpaceCache.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/util/ColorSpaceCache.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/util/ColorSpaceCache.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/util/ColorSpaceCache.java Tue Jul 3 09:46:41 2012
@@ -21,19 +21,18 @@ package org.apache.fop.util;
import java.awt.color.ColorSpace;
import java.awt.color.ICC_Profile;
+import java.io.InputStream;
import java.util.Collections;
+import java.util.HashMap;
import java.util.Map;
-import javax.xml.transform.Source;
-import javax.xml.transform.URIResolver;
-import javax.xml.transform.stream.StreamSource;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.xmlgraphics.java2d.color.ICCColorSpaceWithIntent;
import org.apache.xmlgraphics.java2d.color.RenderingIntent;
-import org.apache.xmlgraphics.java2d.color.profile.ColorProfileUtil;
+
+import org.apache.fop.apps.io.InternalResourceResolver;
/**
* Map with cached ICC based ColorSpace objects.
@@ -42,16 +41,15 @@ public class ColorSpaceCache {
/** logger instance */
private static Log log = LogFactory.getLog(ColorSpaceCache.class);
- private URIResolver resolver;
- private Map<String, ColorSpace> colorSpaceMap
- = Collections.synchronizedMap(new java.util.HashMap<String, ColorSpace>());
+ private InternalResourceResolver resourceResolver;
+ private Map<String, ColorSpace> colorSpaceMap = Collections.synchronizedMap(new HashMap<String, ColorSpace>());
/**
* Default constructor
- * @param resolver uri resolver
+ * @param resourceResolver uri resolver
*/
- public ColorSpaceCache(URIResolver resolver) {
- this.resolver = resolver;
+ public ColorSpaceCache(InternalResourceResolver resourceResolver) {
+ this.resourceResolver = resourceResolver;
}
/**
@@ -69,21 +67,21 @@ public class ColorSpaceCache {
* @param renderingIntent overriding rendering intent
* @return ICC ColorSpace object or null if ColorSpace could not be created
*/
- public ColorSpace get(String profileName, String base, String iccProfileSrc,
+ public ColorSpace get(String profileName, String iccProfileSrc,
RenderingIntent renderingIntent) {
- String key = profileName + ":" + base + iccProfileSrc;
+ String key = profileName + ":" + iccProfileSrc;
+ // TODO: This stuff needs some TLC, fix it!!
ColorSpace colorSpace = null;
if (!colorSpaceMap.containsKey(key)) {
try {
ICC_Profile iccProfile = null;
// First attempt to use the FOP URI resolver to locate the ICC
// profile
- Source src = resolver.resolve(iccProfileSrc, base);
- if (src != null && src instanceof StreamSource) {
+ InputStream stream = resourceResolver.getResource(iccProfileSrc);
+ if (stream != null) {
// FOP URI resolver found ICC profile - create ICC profile
// from the Source
- iccProfile = ColorProfileUtil.getICC_Profile(((StreamSource) src)
- .getInputStream());
+ iccProfile = ICC_Profile.getInstance(stream);
} else {
// TODO - Would it make sense to fall back on VM ICC
// resolution
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/util/ColorUtil.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/util/ColorUtil.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/util/ColorUtil.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/util/ColorUtil.java Tue Jul 3 09:46:41 2012
@@ -404,10 +404,8 @@ public final class ColorUtil {
if (foUserAgent != null && iccProfileSrc != null) {
RenderingIntent renderingIntent = RenderingIntent.AUTO;
//TODO connect to fo:color-profile/@rendering-intent
- colorSpace = foUserAgent.getFactory().getColorSpaceCache().get(
- iccProfileName,
- foUserAgent.getBaseURL(), iccProfileSrc,
- renderingIntent);
+ colorSpace = foUserAgent.getColorSpaceCache().get(
+ iccProfileName, iccProfileSrc, renderingIntent);
}
if (colorSpace != null) {
// ColorSpace is available
@@ -488,10 +486,8 @@ public final class ColorUtil {
if (foUserAgent != null && iccProfileSrc != null) {
RenderingIntent renderingIntent = RenderingIntent.AUTO;
//TODO connect to fo:color-profile/@rendering-intent
- colorSpace = (ICC_ColorSpace)foUserAgent.getFactory().getColorSpaceCache().get(
- iccProfileName,
- foUserAgent.getBaseURL(), iccProfileSrc,
- renderingIntent);
+ colorSpace = (ICC_ColorSpace)foUserAgent.getColorSpaceCache().get(
+ iccProfileName, iccProfileSrc, renderingIntent);
}
if (colorSpace != null) {
ICC_Profile profile = colorSpace.getProfile();
Modified: xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/mif/MIFHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/mif/MIFHandler.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/mif/MIFHandler.java (original)
+++ xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/mif/MIFHandler.java Tue Jul 3 09:46:41 2012
@@ -57,7 +57,6 @@ import org.apache.fop.fo.pagination.Page
import org.apache.fop.fo.pagination.SimplePageMaster;
import org.apache.fop.fo.pagination.StaticContent;
import org.apache.fop.fonts.FontSetup;
-import org.apache.fop.render.DefaultFontResolver;
// TODO: do we really want every method throwing a SAXException
@@ -91,7 +90,7 @@ public class MIFHandler extends FOEventH
super(ua);
outStream = os;
boolean base14Kerning = false; //TODO - FIXME
- FontSetup.setup(fontInfo, null, new DefaultFontResolver(ua), base14Kerning);
+ FontSetup.setup(fontInfo, null, ua.getResourceResolver(), base14Kerning);
}
/** {@inheritDoc} */
Modified: xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/AbstractSVGDocumentHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/AbstractSVGDocumentHandler.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/AbstractSVGDocumentHandler.java (original)
+++ xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/AbstractSVGDocumentHandler.java Tue Jul 3 09:46:41 2012
@@ -28,6 +28,7 @@ import org.apache.xmlgraphics.xmp.Metada
import org.apache.fop.fonts.FontInfo;
import org.apache.fop.render.intermediate.AbstractXMLWritingIFDocumentHandler;
+import org.apache.fop.render.intermediate.IFContext;
import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
import org.apache.fop.render.intermediate.IFException;
import org.apache.fop.render.intermediate.IFState;
@@ -53,6 +54,10 @@ public abstract class AbstractSVGDocumen
private int mode = MODE_NORMAL;
+ public AbstractSVGDocumentHandler(IFContext context) {
+ super(context);
+ }
+
/** {@inheritDoc} */
protected String getMainNamespace() {
return NAMESPACE;
Modified: xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGDocumentHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGDocumentHandler.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGDocumentHandler.java (original)
+++ xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGDocumentHandler.java Tue Jul 3 09:46:41 2012
@@ -38,7 +38,6 @@ import javax.xml.transform.sax.Transform
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
-
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.AttributesImpl;
@@ -48,6 +47,8 @@ import org.apache.commons.io.IOUtils;
import org.apache.fop.render.bitmap.BitmapRendererEventProducer;
import org.apache.fop.render.bitmap.MultiFileRenderingUtil;
import org.apache.fop.render.intermediate.DelegatingFragmentContentHandler;
+import org.apache.fop.render.intermediate.IFContext;
+import org.apache.fop.render.intermediate.IFDocumentHandler;
import org.apache.fop.render.intermediate.IFException;
import org.apache.fop.render.intermediate.IFPainter;
import org.apache.fop.util.GenerationHelperContentHandler;
@@ -73,8 +74,8 @@ public class SVGDocumentHandler extends
/**
* Default constructor.
*/
- public SVGDocumentHandler() {
- //nop
+ public SVGDocumentHandler(IFContext context) {
+ super(context);
}
/** {@inheritDoc} */
Modified: xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGDocumentHandlerMaker.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGDocumentHandlerMaker.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGDocumentHandlerMaker.java (original)
+++ xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGDocumentHandlerMaker.java Tue Jul 3 09:46:41 2012
@@ -19,7 +19,6 @@
package org.apache.fop.render.svg;
-import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.render.intermediate.AbstractIFDocumentHandlerMaker;
import org.apache.fop.render.intermediate.IFContext;
import org.apache.fop.render.intermediate.IFDocumentHandler;
@@ -32,10 +31,8 @@ public class SVGDocumentHandlerMaker ext
private static final String[] MIMES = new String[] {SVGConstants.MIME_TYPE};
/** {@inheritDoc} */
- public IFDocumentHandler makeIFDocumentHandler(FOUserAgent ua) {
- SVGDocumentHandler handler = new SVGDocumentHandler();
- handler.setContext(new IFContext(ua));
- return handler;
+ public IFDocumentHandler makeIFDocumentHandler(IFContext ifContext) {
+ return new SVGDocumentHandler(ifContext);
}
/** {@inheritDoc} */
Modified: xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGPainter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGPainter.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGPainter.java (original)
+++ xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGPainter.java Tue Jul 3 09:46:41 2012
@@ -182,7 +182,7 @@ public class SVGPainter extends Abstract
try {
establish(MODE_NORMAL);
- ImageManager manager = getUserAgent().getFactory().getImageManager();
+ ImageManager manager = getUserAgent().getImageManager();
ImageInfo info = null;
try {
ImageSessionContext sessionContext = getUserAgent().getImageSessionContext();
Modified: xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGPrintDocumentHandler.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGPrintDocumentHandler.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGPrintDocumentHandler.java (original)
+++ xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGPrintDocumentHandler.java Tue Jul 3 09:46:41 2012
@@ -21,12 +21,12 @@ package org.apache.fop.render.svg;
import java.awt.Dimension;
-import javax.xml.transform.Result;
-
import org.xml.sax.SAXException;
import org.xml.sax.helpers.AttributesImpl;
import org.apache.fop.render.intermediate.IFConstants;
+import org.apache.fop.render.intermediate.IFContext;
+import org.apache.fop.render.intermediate.IFDocumentHandler;
import org.apache.fop.render.intermediate.IFException;
import org.apache.fop.render.intermediate.IFPainter;
import org.apache.fop.util.XMLUtil;
@@ -40,18 +40,8 @@ public class SVGPrintDocumentHandler ext
/**
* Default constructor.
*/
- public SVGPrintDocumentHandler() {
- //nop
- }
-
- /**
- * Creates a new SVGPrintPainter that sends the XML content it generates to the given
- * SAX ContentHandler.
- * @param result the JAXP Result object to receive the generated content
- * @throws IFException if an error occurs setting up the output
- */
- public SVGPrintDocumentHandler(Result result) throws IFException {
- setResult(result);
+ public SVGPrintDocumentHandler(IFContext context) {
+ super(context);
}
/** {@inheritDoc} */
Modified: xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGPrintDocumentHandlerMaker.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGPrintDocumentHandlerMaker.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGPrintDocumentHandlerMaker.java (original)
+++ xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGPrintDocumentHandlerMaker.java Tue Jul 3 09:46:41 2012
@@ -19,7 +19,6 @@
package org.apache.fop.render.svg;
-import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.render.intermediate.AbstractIFDocumentHandlerMaker;
import org.apache.fop.render.intermediate.IFContext;
import org.apache.fop.render.intermediate.IFDocumentHandler;
@@ -32,10 +31,8 @@ public class SVGPrintDocumentHandlerMake
private static final String[] MIMES = new String[] {SVGConstants.MIME_SVG_PRINT};
/** {@inheritDoc} */
- public IFDocumentHandler makeIFDocumentHandler(FOUserAgent ua) {
- SVGPrintDocumentHandler handler = new SVGPrintDocumentHandler();
- handler.setContext(new IFContext(ua));
- return handler;
+ public IFDocumentHandler makeIFDocumentHandler(IFContext ifContext) {
+ return new SVGPrintDocumentHandler(ifContext);
}
/** {@inheritDoc} */
Modified: xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGRendererMaker.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGRendererMaker.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGRendererMaker.java (original)
+++ xmlgraphics/fop/trunk/src/sandbox/org/apache/fop/render/svg/SVGRendererMaker.java Tue Jul 3 09:46:41 2012
@@ -19,6 +19,7 @@
package org.apache.fop.render.svg;
+import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.MimeConstants;
import org.apache.fop.render.AbstractRendererMaker;
@@ -31,20 +32,23 @@ public class SVGRendererMaker extends Ab
private static final String[] MIMES = new String[] {MimeConstants.MIME_SVG};
-
- /** {@inheritDoc} */
+ @Override
public Renderer makeRenderer(FOUserAgent ua) {
return new SVGRenderer(ua);
}
- /** {@inheritDoc} */
+ @Override
public boolean needsOutputStream() {
return true;
}
- /** {@inheritDoc} */
+ @Override
public String[] getSupportedMimeTypes() {
return MIMES;
}
+ @Override
+ public void configureRenderer(FOUserAgent userAgent, Renderer renderer) throws FOPException {
+ // No-Op
+ }
}
Modified: xmlgraphics/fop/trunk/test/config/afp-invalid-characterset.xconf
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/config/afp-invalid-characterset.xconf?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/config/afp-invalid-characterset.xconf (original)
+++ xmlgraphics/fop/trunk/test/config/afp-invalid-characterset.xconf Tue Jul 3 09:46:41 2012
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<fop version="1.0">
<base>.</base>
+ <strict-validation>false</strict-validation>
<renderers>
<renderer mime="application/x-afp">
<fonts>
Modified: xmlgraphics/fop/trunk/test/config/afp-invalid-config.xconf
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/config/afp-invalid-config.xconf?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/config/afp-invalid-config.xconf (original)
+++ xmlgraphics/fop/trunk/test/config/afp-invalid-config.xconf Tue Jul 3 09:46:41 2012
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<fop version="1.0">
<base>.</base>
+ <strict-validation>false</strict-validation>
<renderers>
<renderer mime="application/x-afp">
<fonts>
Modified: xmlgraphics/fop/trunk/test/config/afp-raster-font-missing.xconf
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/config/afp-raster-font-missing.xconf?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/config/afp-raster-font-missing.xconf (original)
+++ xmlgraphics/fop/trunk/test/config/afp-raster-font-missing.xconf Tue Jul 3 09:46:41 2012
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<fop version="1.0">
<base>.</base>
+ <strict-validation>false</strict-validation>
<renderers>
<renderer mime="application/x-afp">
<fonts>
Modified: xmlgraphics/fop/trunk/test/fotree/testcases/background-position-shorthand-test.fo
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/fotree/testcases/background-position-shorthand-test.fo?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/fotree/testcases/background-position-shorthand-test.fo (original)
+++ xmlgraphics/fop/trunk/test/fotree/testcases/background-position-shorthand-test.fo Tue Jul 3 09:46:41 2012
@@ -24,56 +24,56 @@
</fo:layout-master-set>
<fo:page-sequence master-reference="simpleA4">
<fo:flow flow-name="xsl-region-body">
- <fo:block background-image="../../resources/images/bgimg72dpi.jpg">
+ <fo:block background-image="test/resources/images/bgimg72dpi.jpg">
<test:assert property="background-position-horizontal" expected="0mpt"/>
<test:assert property="background-position-vertical" expected="0mpt"/>
Test background-position shorthand: initial values
</fo:block>
- <fo:block background-image="../../resources/images/bgimg72dpi.jpg"
+ <fo:block background-image="test/resources/images/bgimg72dpi.jpg"
background-position="50% 50%">
<test:assert property="background-position-horizontal" expected="50.0%"/>
<test:assert property="background-position-vertical" expected="50.0%"/>
Test background-position shorthand: "50% 50%"
</fo:block>
- <fo:block background-image="../../resources/images/bgimg72dpi.jpg"
+ <fo:block background-image="test/resources/images/bgimg72dpi.jpg"
background-position="2in 50%">
<test:assert property="background-position-horizontal" expected="144000mpt"/>
<test:assert property="background-position-vertical" expected="50.0%"/>
Test background-position shorthand: "2in 50%"
</fo:block>
- <fo:block background-image="../../resources/images/bgimg72dpi.jpg"
+ <fo:block background-image="test/resources/images/bgimg72dpi.jpg"
background-position="100%">
<test:assert property="background-position-horizontal" expected="100.0%"/>
<test:assert property="background-position-vertical" expected="50.0%"/>
Test background-position shorthand: "100%"
</fo:block>
- <fo:block background-image="../../resources/images/bgimg72dpi.jpg"
+ <fo:block background-image="test/resources/images/bgimg72dpi.jpg"
background-position="top center">
<test:assert property="background-position-horizontal" expected="50.0%"/>
<test:assert property="background-position-vertical" expected="0mpt"/>
Test background-position shorthand: "top center"
</fo:block>
- <fo:block background-image="../../resources/images/bgimg72dpi.jpg"
+ <fo:block background-image="test/resources/images/bgimg72dpi.jpg"
background-position="right bottom">
<test:assert property="background-position-horizontal" expected="100.0%"/>
<test:assert property="background-position-vertical" expected="100.0%"/>
Test background-position shorthand: "right bottom"
</fo:block>
<fo:block background-position="right bottom">
- <fo:block background-image="../../resources/images/bgimg72dpi.jpg"
+ <fo:block background-image="test/resources/images/bgimg72dpi.jpg"
background-position="inherit">
<test:assert property="background-position-horizontal" expected="100.0%"/>
<test:assert property="background-position-vertical" expected="100.0%"/>
Test background-position shorthand: "inherit"
</fo:block>
</fo:block>
- <fo:block background-image="../../resources/images/bgimg72dpi.jpg"
+ <fo:block background-image="test/resources/images/bgimg72dpi.jpg"
background-position="top right">
<test:assert property="background-position-horizontal" expected="100.0%"/>
<test:assert property="background-position-vertical" expected="0mpt"/>
Test background-position shorthand: "top right"
</fo:block>
- <fo:block background-image="../../resources/images/bgimg72dpi.jpg"
+ <fo:block background-image="test/resources/images/bgimg72dpi.jpg"
background-position="center">
<test:assert property="background-position-horizontal" expected="50.0%"/>
<test:assert property="background-position-vertical" expected="50.0%"/>
Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/AbstractBasicTranscoderTest.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/AbstractBasicTranscoderTest.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/AbstractBasicTranscoderTest.java (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/AbstractBasicTranscoderTest.java Tue Jul 3 09:46:41 2012
@@ -19,22 +19,24 @@
package org.apache.fop;
-import static org.junit.Assert.assertTrue;
-
import java.io.File;
import java.io.InputStream;
+import org.junit.Test;
+
import org.apache.batik.transcoder.Transcoder;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.commons.io.output.ByteArrayOutputStream;
-import org.junit.Test;
+
+import static org.apache.fop.FOPTestUtils.getBaseDir;
+import static org.junit.Assert.assertTrue;
/**
* Basic runtime test for FOP's transcoders. It is used to verify that
* nothing obvious is broken after compiling.
*/
-public abstract class AbstractBasicTranscoderTest extends AbstractFOPTest {
+public abstract class AbstractBasicTranscoderTest {
/**
* Creates the transcoder to test.
Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/BasicDriverTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/BasicDriverTestCase.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/BasicDriverTestCase.java (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/BasicDriverTestCase.java Tue Jul 3 09:46:41 2012
@@ -19,8 +19,6 @@
package org.apache.fop;
-import static org.junit.Assert.assertTrue;
-
import java.io.File;
import javax.xml.transform.Result;
@@ -30,21 +28,26 @@ import javax.xml.transform.TransformerFa
import javax.xml.transform.sax.SAXResult;
import javax.xml.transform.stream.StreamSource;
+import org.junit.Test;
+
import org.apache.commons.io.output.ByteArrayOutputStream;
+
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.FopFactory;
import org.apache.fop.apps.MimeConstants;
import org.apache.fop.cli.InputHandler;
-import org.junit.Test;
+
+import static org.apache.fop.FOPTestUtils.getBaseDir;
+import static org.junit.Assert.assertTrue;
/**
* Basic runtime test for the old Fop class. It is used to verify that
* nothing obvious is broken after compiling.
*/
-public class BasicDriverTestCase extends AbstractFOPTest {
+public class BasicDriverTestCase {
- private FopFactory fopFactory = FopFactory.newInstance();
+ private FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI());
/**
* Tests Fop with JAXP and OutputStream generating PDF.
Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/BasicPDFTranscoderTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/BasicPDFTranscoderTestCase.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/BasicPDFTranscoderTestCase.java (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/BasicPDFTranscoderTestCase.java Tue Jul 3 09:46:41 2012
@@ -20,6 +20,7 @@
package org.apache.fop;
import org.apache.batik.transcoder.Transcoder;
+
import org.apache.fop.svg.PDFTranscoder;
/**
Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/StandardTestSuite.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/StandardTestSuite.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/StandardTestSuite.java (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/StandardTestSuite.java Tue Jul 3 09:46:41 2012
@@ -26,8 +26,6 @@ import org.junit.runners.Suite.SuiteClas
import org.apache.fop.afp.fonts.CharactersetEncoderTestCase;
import org.apache.fop.afp.parser.MODCAParserTestCase;
import org.apache.fop.area.ViewportTestSuite;
-import org.apache.fop.fonts.DejaVuLGCSerifTestCase;
-import org.apache.fop.fonts.FontEventProcessingTestCase;
import org.apache.fop.fonts.truetype.GlyfTableTestCase;
import org.apache.fop.fonts.type1.AFMParserTestCase;
import org.apache.fop.fonts.type1.AdobeStandardEncodingTestCase;
@@ -58,7 +56,6 @@ import org.apache.fop.traits.MinOptMaxTe
PDFEncodingTestCase.class,
PDFCMapTestCase.class,
PDFsRGBSettingsTestCase.class,
- DejaVuLGCSerifTestCase.class,
RichTextFormatTestSuite.class,
ImageLoaderTestCase.class,
ImagePreloaderTestCase.class,
@@ -78,8 +75,8 @@ import org.apache.fop.traits.MinOptMaxTe
MinOptMaxTestCase.class,
AdobeStandardEncodingTestCase.class,
AFMParserTestCase.class,
- FontEventProcessingTestCase.class,
- org.apache.fop.render.intermediate.IFStructureTreeBuilderTestCase.class
+ org.apache.fop.render.intermediate.IFStructureTreeBuilderTestCase.class,
+ org.apache.fop.fonts.FontsTestSuite.class
})
public class StandardTestSuite {
}
Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/URIResolutionTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/URIResolutionTestCase.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/URIResolutionTestCase.java (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/URIResolutionTestCase.java Tue Jul 3 09:46:41 2012
@@ -19,18 +19,16 @@
package org.apache.fop;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
import java.io.File;
-import java.io.FileNotFoundException;
+import java.io.FileInputStream;
+import java.io.IOException;
import java.io.OutputStream;
+import java.net.URI;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
-import javax.xml.transform.URIResolver;
import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.sax.SAXResult;
@@ -52,62 +50,48 @@ import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.FopFactory;
+import org.apache.fop.apps.FopFactoryBuilder;
import org.apache.fop.apps.MimeConstants;
+import org.apache.fop.apps.io.Resource;
+import org.apache.fop.apps.io.ResourceResolver;
+import org.apache.fop.apps.io.ResourceResolverFactory;
import org.apache.fop.render.xml.XMLRenderer;
+import static org.apache.fop.FOPTestUtils.getBaseDir;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
/**
* Tests URI resolution facilities.
*/
-public class URIResolutionTestCase extends AbstractFOPTest {
+public class URIResolutionTestCase {
- // configure fopFactory as desired
- private FopFactory fopFactory = FopFactory.newInstance();
+ private SAXTransformerFactory tfactory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
- private SAXTransformerFactory tfactory
- = (SAXTransformerFactory)SAXTransformerFactory.newInstance();
+ private static final File BACKUP_DIR = new File(getBaseDir(), "build/test-results");
- private final static File backupDir = new File(getBaseDir(), "build/test-results");
+ private static FopFactory fopFactory;
@BeforeClass
public static void makeDirs() {
- backupDir.mkdirs();
+ BACKUP_DIR.mkdirs();
+ fopFactory = new FopFactoryBuilder(new File(".").getAbsoluteFile().toURI(),
+ new CustomURIResolver()).build();
}
- /**
- * Test custom URI resolution with a hand-written URIResolver.
- * @throws Exception if anything fails
- */
- @Test
- public void testFO1a() throws Exception {
- innerTestFO1(false);
+ private static File getTestDir() {
+ return new File(getBaseDir(), "test/xml/uri-testing/");
}
- /**
- * Test custom URI resolution with a hand-written URIResolver.
- * @throws Exception if anything fails
- */
@Test
- public void testFO1b() throws Exception {
- innerTestFO1(true);
- }
+ public void innerTestFO1() throws Exception {
+ File foFile = new File(getTestDir(), "custom-scheme/only-scheme-specific-part.fo");
- private void innerTestFO1(boolean withStream) throws Exception {
FOUserAgent ua = fopFactory.newFOUserAgent();
- File foFile = new File(getBaseDir(), "test/xml/uri-resolution1.fo");
-
- MyURIResolver resolver = new MyURIResolver(withStream);
- ua.setURIResolver(resolver);
- ua.setBaseURL(foFile.getParentFile().toURI().toURL().toString());
-
Document doc = createAreaTree(foFile, ua);
- //Check how many times the resolver was consulted
- assertEquals("Expected resolver to do 1 successful URI resolution",
- 1, resolver.successCount);
- assertEquals("Expected resolver to do 0 failed URI resolution",
- 0, resolver.failureCount);
- //Additional XPath checking on the area tree
+ // XPath checking on the area tree
assertEquals("viewport for external-graphic is missing",
"true", evalXPath(doc, "boolean(//flow/block[1]/lineArea/viewport)"));
assertEquals("46080", evalXPath(doc, "//flow/block[1]/lineArea/viewport/@ipd"));
@@ -120,13 +104,9 @@ public class URIResolutionTestCase exten
*/
@Test
public void testFO2() throws Exception {
- //TODO This will only work when we can do URI resolution inside Batik!
- File foFile = new File(getBaseDir(), "test/xml/uri-resolution2.fo");
+ File foFile = new File(getTestDir(), "custom-scheme/only-scheme-specific-part-svg.fo");
FOUserAgent ua = fopFactory.newFOUserAgent();
- MyURIResolver resolver = new MyURIResolver(false);
- ua.setURIResolver(resolver);
- ua.setBaseURL(foFile.getParentFile().toURI().toURL().toString());
ByteArrayOutputStream baout = new ByteArrayOutputStream();
@@ -138,25 +118,20 @@ public class URIResolutionTestCase exten
transformer.transform(src, res);
OutputStream out = new java.io.FileOutputStream(
- new File(backupDir, foFile.getName() + ".pdf"));
+ new File(BACKUP_DIR, foFile.getName() + ".pdf"));
try {
baout.writeTo(out);
} finally {
IOUtils.closeQuietly(out);
}
- //Check how many times the resolver was consulted
- assertEquals("Expected resolver to do 1 successful URI resolution",
- 1, resolver.successCount);
- assertEquals("Expected resolver to do 0 failed URI resolutions",
- 0, resolver.failureCount);
//Test using PDF as the area tree doesn't invoke Batik so we could check
//if the resolver is actually passed to Batik by FOP
assertTrue("Generated PDF has zero length", baout.size() > 0);
}
private Document createAreaTree(File fo, FOUserAgent ua)
- throws TransformerException, FOPException {
+ throws TransformerException, FOPException {
DOMResult domres = new DOMResult();
//Setup Transformer to convert the area tree to a DOM
TransformerHandler athandler = tfactory.newTransformerHandler();
@@ -173,8 +148,8 @@ public class URIResolutionTestCase exten
Result res = new SAXResult(fop.getDefaultHandler());
transformer.transform(src, res);
- Document doc = (Document)domres.getNode();
- saveAreaTreeXML(doc, new File(backupDir, fo.getName() + ".at.xml"));
+ Document doc = (Document) domres.getNode();
+ saveAreaTreeXML(doc, new File(BACKUP_DIR, fo.getName() + ".at.xml"));
return doc;
}
@@ -201,48 +176,20 @@ public class URIResolutionTestCase exten
transformer.transform(src, res);
}
- private class MyURIResolver implements URIResolver {
-
- private static final String PREFIX = "funky:";
+ private static final class CustomURIResolver implements ResourceResolver {
+ private final ResourceResolver defaultImpl = ResourceResolverFactory.createDefaultResourceResolver();
- private boolean withStream;
- private int successCount = 0;
- private int failureCount = 0;
+ public Resource getResource(URI uri) throws IOException {
+ if (uri.getScheme().equals("funky") && uri.getSchemeSpecificPart().equals("myimage123")) {
+ return new Resource("", new FileInputStream("test/resources/images/bgimg300dpi.jpg"));
+ }
- public MyURIResolver(boolean withStream) {
- this.withStream = withStream;
+ return defaultImpl.getResource(uri);
}
- /**
- * @see javax.xml.transform.URIResolver#resolve(java.lang.String, java.lang.String)
- */
- public Source resolve(String href, String base) throws TransformerException {
- if (href.startsWith(PREFIX)) {
- String name = href.substring(PREFIX.length());
- if ("myimage123".equals(name)) {
- File image = new File(getBaseDir(), "test/resources/images/bgimg300dpi.jpg");
- Source src;
- if (withStream) {
- try {
- src = new StreamSource(new java.io.FileInputStream(image));
- } catch (FileNotFoundException e) {
- throw new TransformerException(e.getMessage(), e);
- }
- } else {
- src = new StreamSource(image);
- }
- successCount++;
- return src;
- } else {
- failureCount++;
- throw new TransformerException("funky image not found");
- }
- } else {
- failureCount++;
- return null;
- }
+ public OutputStream getOutputStream(URI uri) throws IOException {
+ return defaultImpl.getOutputStream(uri);
}
}
-
}
Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/AFPEventProcessingTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/AFPEventProcessingTestCase.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/AFPEventProcessingTestCase.java (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/AFPEventProcessingTestCase.java Tue Jul 3 09:46:41 2012
@@ -19,61 +19,53 @@
package org.apache.fop.afp;
-import java.io.IOException;
import java.io.InputStream;
-
-import javax.xml.transform.TransformerException;
+import java.net.URI;
import org.junit.Test;
-import org.xml.sax.SAXException;
import org.apache.xmlgraphics.util.MimeConstants;
-import org.apache.fop.apps.FOPException;
import org.apache.fop.events.EventProcessingTestCase;
+
/**
* A test class for testing AFP events.
*/
public class AFPEventProcessingTestCase {
private EventProcessingTestCase eventsTests = new EventProcessingTestCase();
- private static final String CONFIG_BASE_DIR = EventProcessingTestCase.CONFIG_BASE_DIR;
+ private static final URI CONFIG_BASE_DIR = EventProcessingTestCase.CONFIG_BASE_DIR;
private void testInvalidConfigEvent(String xconf, String eventId)
- throws FOPException, TransformerException, IOException, SAXException {
+ throws Exception {
InputStream inStream = getClass().getResourceAsStream("simple.fo");
- eventsTests.doTest(inStream, CONFIG_BASE_DIR + xconf,
+ eventsTests.doTest(inStream, CONFIG_BASE_DIR.resolve(xconf),
AFPEventProducer.class.getName() + eventId, MimeConstants.MIME_AFP);
}
@Test
- public void testMissingFontConfigurationElement() throws FOPException, TransformerException,
- IOException, SAXException {
+ public void testMissingFontConfigurationElement() throws Exception {
testInvalidConfigEvent("afp-font-missing.xconf", ".fontConfigMissing");
}
@Test
- public void testInvalidCharactersetName() throws FOPException, TransformerException,
- IOException, SAXException {
+ public void testInvalidCharactersetName() throws Exception {
testInvalidConfigEvent("afp-invalid-characterset.xconf", ".characterSetNameInvalid");
}
@Test
- public void testinvalidConfig() throws FOPException, TransformerException, IOException,
- SAXException {
+ public void testinvalidConfig() throws Exception {
testInvalidConfigEvent("afp-invalid-config.xconf", ".invalidConfiguration");
}
@Test
- public void testRasterFontElementMissing() throws FOPException, TransformerException,
- IOException, SAXException {
+ public void testRasterFontElementMissing() throws Exception {
testInvalidConfigEvent("afp-raster-font-missing.xconf", ".fontConfigMissing");
}
@Test
- public void testTripletElementMissing() throws FOPException, TransformerException,
- IOException, SAXException {
+ public void testTripletElementMissing() throws Exception {
testInvalidConfigEvent("afp-triplet-missing.xconf", ".fontConfigMissing");
}
}
Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/AFPResourceManagerTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/AFPResourceManagerTestCase.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/AFPResourceManagerTestCase.java (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/AFPResourceManagerTestCase.java Tue Jul 3 09:46:41 2012
@@ -19,10 +19,8 @@
package org.apache.fop.afp;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
import java.io.ByteArrayOutputStream;
+import java.io.File;
import java.io.IOException;
import org.junit.Before;
@@ -30,6 +28,11 @@ import org.junit.Test;
import org.apache.xmlgraphics.util.MimeConstants;
+import org.apache.fop.apps.io.ResourceResolverFactory;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
/**
* Test case for {@link AFPResourceManager}.
*/
@@ -39,7 +42,8 @@ public class AFPResourceManagerTestCase
@Before
public void setUp() throws IOException {
- sut = new AFPResourceManager();
+ sut = new AFPResourceManager(ResourceResolverFactory.createDefaultInternalResourceResolver(
+ new File(".").toURI()));
AFPPaintingState paintingState = new AFPPaintingState();
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
DataStream stream = sut.createDataStream(paintingState, outStream);
Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/AFPTestSuite.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/AFPTestSuite.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/AFPTestSuite.java (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/AFPTestSuite.java Tue Jul 3 09:46:41 2012
@@ -31,7 +31,6 @@ import org.apache.fop.afp.modca.IncludeO
@RunWith(Suite.class)
@SuiteClasses({
IncludeObjectTestCase.class,
- AFPResourceUtilTestCase.class,
AFPObjectAreaInfoTestCase.class,
AFPPaintingStateTestCase.class
})
Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/fonts/CharactersetEncoderTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/fonts/CharactersetEncoderTestCase.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/fonts/CharactersetEncoderTestCase.java (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/afp/fonts/CharactersetEncoderTestCase.java Tue Jul 3 09:46:41 2012
@@ -39,9 +39,8 @@ public class CharactersetEncoderTestCase
@Before
public void setUp() {
- singlebyteEncoder = CharactersetEncoder.newInstance("cp500", CharacterSetType.SINGLE_BYTE);
- doublebyteEncoder = CharactersetEncoder.newInstance("cp937",
- CharacterSetType.DOUBLE_BYTE_LINE_DATA);
+ singlebyteEncoder = CharacterSetType.SINGLE_BYTE.getEncoder("cp500");
+ doublebyteEncoder = CharacterSetType.DOUBLE_BYTE_LINE_DATA.getEncoder("cp937");
}
// This is just an arbitrary CJK string
Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/config/BaseConstructiveUserConfigTest.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/config/BaseConstructiveUserConfigTest.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/config/BaseConstructiveUserConfigTest.java (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/config/BaseConstructiveUserConfigTest.java Tue Jul 3 09:46:41 2012
@@ -19,15 +19,23 @@
package org.apache.fop.config;
-import static org.junit.Assert.fail;
+import java.io.IOException;
+import java.io.InputStream;
import org.junit.Test;
+import org.xml.sax.SAXException;
+
+import static org.junit.Assert.fail;
/**
* Super class of several user config cases.
*/
public abstract class BaseConstructiveUserConfigTest extends BaseUserConfigTest {
+ public BaseConstructiveUserConfigTest(InputStream confStream) throws SAXException, IOException {
+ super(confStream);
+ }
+
/**
* Test using a standard FOP font
* @throws Exception checkstyle wants a comment here, even a silly one
@@ -35,7 +43,6 @@ public abstract class BaseConstructiveUs
@Test
public void testUserConfig() throws Exception {
try {
- initConfig();
convertFO();
} catch (Exception e) {
// this should *not* happen!
Modified: xmlgraphics/fop/trunk/test/java/org/apache/fop/config/BaseDestructiveUserConfigTest.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/config/BaseDestructiveUserConfigTest.java?rev=1356646&r1=1356645&r2=1356646&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/java/org/apache/fop/config/BaseDestructiveUserConfigTest.java (original)
+++ xmlgraphics/fop/trunk/test/java/org/apache/fop/config/BaseDestructiveUserConfigTest.java Tue Jul 3 09:46:41 2012
@@ -19,30 +19,28 @@
package org.apache.fop.config;
-import static org.junit.Assert.fail;
+import java.io.IOException;
+import java.io.InputStream;
-import org.apache.fop.apps.FOPException;
import org.junit.Test;
+import org.xml.sax.SAXException;
+
+import org.apache.fop.apps.FOPException;
/**
* Super class for several user configuration failure cases.
*/
public abstract class BaseDestructiveUserConfigTest extends BaseUserConfigTest {
+ public BaseDestructiveUserConfigTest(InputStream confStream) throws SAXException, IOException {
+ super(confStream);
+ }
+
/**
* Test the user configuration failure.
*/
- @Test
- public void testUserConfig() {
- try {
- initConfig();
- convertFO();
- fail( getName() + ": Expected Configuration Exception" );
- } catch (FOPException e) {
- // this *should* happen!
- } catch (Exception e) {
- e.printStackTrace();
- fail( getName() + ": Expected FOPException but got: " + e.getMessage() );
- }
+ @Test(expected = FOPException.class)
+ public void testUserConfig() throws Exception {
+ convertFO();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org