/*****************************************************************************
* Copyright (C) The Apache Software Foundation. All rights reserved. *
* ------------------------------------------------------------------------- *
* This software is published under the terms of the Apache Software License *
* version 1.1, a copy of which has been included with this distribution in *
* the LICENSE file. *
*****************************************************************************/
package org.apache.batik.transcoder.image;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import org.apache.batik.transcoder.TranscoderException;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.w3c.dom.Document;
import org.w3c.dom.DOMImplementation;
import org.apache.batik.dom.GenericDOMImplementation;
import org.apache.batik.dom.util.SAXDocumentFactory;
import org.apache.batik.util.XMLResourceDescriptor;
/**
* Test the ImageTranscoder input with a GenericDocument.
*
* @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
* @version $Id: GenericDocumentTest.java,v 1.1 2003/07/09 02:10:12 deweese Exp $
*/
public class GenericDocumentTest extends AbstractImageTranscoderTest {
/** The URI of the input image. */
protected String inputURI;
/** The URI of the reference image. */
protected String refImageURI;
/**
* Constructs a new <tt>GenericDocumentTest</tt>.
*
* @param inputURI the URI of the input image
* @param the URI of the reference image
*/
public GenericDocumentTest(String inputURI, String refImageURI) {
this.inputURI = inputURI;
this.refImageURI = refImageURI;
}
/**
* Creates the <tt>TranscoderInput</tt>.
*/
protected TranscoderInput createTranscoderInput() {
try {
URL url = resolveURL(inputURI);
String parser = XMLResourceDescriptor.getXMLParserClassName();
DOMImplementation impl =
GenericDOMImplementation.getDOMImplementation();
SAXDocumentFactory f = new SAXDocumentFactory(impl, parser);
Document doc = f.createDocument(url.toString());
TranscoderInput input = new TranscoderInput(doc);
input.setURI(url.toString()); // Needed for external resources
return input;
} catch (IOException ex) {
ex.printStackTrace();
throw new IllegalArgumentException(inputURI);
}
}
/**
* Returns the reference image for this test.
*/
protected byte [] getReferenceImageData() {
return createBufferedImageData(resolveURL(refImageURI));
}
}