diff options
author | Christian Geisert <chrisg@apache.org> | 2002-12-09 04:04:33 +0000 |
---|---|---|
committer | Christian Geisert <chrisg@apache.org> | 2002-12-09 04:04:33 +0000 |
commit | c8dd5ab13eeb2318bfdbd65c758fb6f1d2784e23 (patch) | |
tree | 5bedd64008cbea7520045051ceb094219a95e870 | |
parent | f4e9f0aa14dd630ed18c29f3f9672a9e292282d4 (diff) | |
download | xmlgraphics-fop-c8dd5ab13eeb2318bfdbd65c758fb6f1d2784e23.tar.gz xmlgraphics-fop-c8dd5ab13eeb2318bfdbd65c758fb6f1d2784e23.zip |
Removed old Servlet example (new is in contrib/servlet)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/fop-0_20_2-maintain@195748 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | docs/examples/embedding/FopPrintServlet.java | 299 | ||||
-rw-r--r-- | docs/examples/embedding/FopServlet.java | 149 | ||||
-rw-r--r-- | docs/examples/embedding/fop.war | bin | 2901 -> 0 bytes |
3 files changed, 0 insertions, 448 deletions
diff --git a/docs/examples/embedding/FopPrintServlet.java b/docs/examples/embedding/FopPrintServlet.java deleted file mode 100644 index b67c3aa9b..000000000 --- a/docs/examples/embedding/FopPrintServlet.java +++ /dev/null @@ -1,299 +0,0 @@ -/* - * $Id$ - * Copyright (C) 2002 The Apache Software Foundation. All rights reserved. - * For details on use and redistribution please refer to the - * LICENSE file included with these sources. - */ - -import java.io.*; -import java.util.Vector ; - -import java.awt.print.PrinterJob ; -import java.awt.print.PrinterException ; - -import javax.servlet.*; -import javax.servlet.http.*; - -import org.xml.sax.InputSource; -import org.xml.sax.XMLReader; - -import org.apache.fop.apps.Driver; -import org.apache.fop.layout.Page; -import org.apache.fop.apps.Version; -import org.apache.fop.apps.XSLTInputHandler; -import org.apache.fop.messaging.MessageHandler; - -import org.apache.fop.render.awt.AWTRenderer ; - -import org.apache.avalon.framework.logger.ConsoleLogger; -import org.apache.avalon.framework.logger.Logger; - -/** - * Example servlet to generate a fop printout from a servlet. - * Printing goes to the default printer on host where the servlet executes. - * Servlet param is: - * <ul> - * <li>fo: the path to a formatting object file to render - * </ul> - * - * Example URL: http://servername/servlet/FopPrintServlet?fo=readme.fo - * Example URL: http://servername/servlet/FopPrintServlet?xml=data.xml&xsl=format.xsl - * Compiling: you will need - * - servlet_2_2.jar - * - fop.jar - * - sax api - * - avalon-framework-x.jar (where x is the version found the FOP lib dir) - * - * Running: you will need in the WEB-INF/lib/ directory: - * - fop.jar - * - batik.jar - * - avalon-framework-x.jar (where x is the version found the FOP lib dir) - * - xalan-2.0.0.jar - */ - -public class FopPrintServlet extends HttpServlet -{ - public static final String FO_REQUEST_PARAM = "fo"; - public static final String XML_REQUEST_PARAM = "xml"; - public static final String XSL_REQUEST_PARAM = "xsl"; - Logger log = null; - - public void doGet(HttpServletRequest request, - HttpServletResponse response) throws ServletException - { - if (log == null) - { - log = new ConsoleLogger(ConsoleLogger.LEVEL_WARN); - MessageHandler.setScreenLogger(log); - } - - try - { - String foParam = request.getParameter(FO_REQUEST_PARAM); - String xmlParam = request.getParameter(XML_REQUEST_PARAM); - String xslParam = request.getParameter(XSL_REQUEST_PARAM); - - if (foParam != null) - { - FileInputStream file = new FileInputStream(foParam); - renderFO(new InputSource(file), response); - } - else if ((xmlParam != null) && (xslParam != null)) - { - XSLTInputHandler input = new XSLTInputHandler(new File(xmlParam), new File(xslParam)); - renderXML(input, response); - } - else - { - response.setContentType ("text/html"); - - PrintWriter out = response.getWriter(); - out.println("<html><title>Error</title>\n"+ - "<body><h1>FopServlet Error</h1><h3>No 'fo' or 'xml/xsl' "+ - "request param given.</h3></body></html>"); - } - } - catch (ServletException ex) - { - throw ex; - } - catch (Exception ex) - { - throw new ServletException(ex); - } - } - - /** - * renders an FO inputsource into a PDF file which is rendered - * directly to the response object's OutputStream - */ - public void renderFO(InputSource foFile, HttpServletResponse response) - throws ServletException - { - try - { - Driver driver = new Driver(foFile, null); - PrinterJob pj = PrinterJob.getPrinterJob(); - PrintRenderer renderer = new PrintRenderer(pj); - - driver.setLogger (log); - driver.setRenderer(renderer); - driver.run(); - - reportOK (response) ; - } - catch (Exception ex) - { - throw new ServletException(ex); - } - } - - public void renderXML(XSLTInputHandler input, HttpServletResponse response) - throws ServletException - { - try - { - Driver driver = new Driver(); - PrinterJob pj = PrinterJob.getPrinterJob(); - PrintRenderer renderer = new PrintRenderer(pj); - - pj.setCopies(1); - - driver.setLogger (log); - driver.setRenderer (renderer); - driver.render (input.getParser(), input.getInputSource()); - - reportOK (response) ; - } - catch (Exception ex) - { - throw new ServletException(ex); - } - } - - // private helper, tell (browser) user that file printed - - private void reportOK (HttpServletResponse response) - throws ServletException - { - String sMsg = "<html><title>Success</title>\n" + - "<body><h1>FopPrintServlet: </h1>" + - "<h3>The requested data was printed</h3></body></html>" ; - - response.setContentType ("text/html"); - response.setContentLength (sMsg.length()); - - try - { - PrintWriter out = response.getWriter(); - out.println (sMsg) ; - out.flush() ; - } - catch (Exception ex) - { - throw new ServletException(ex); - } - } - - - /** - * creates a SAX parser, using the value of org.xml.sax.parser - * defaulting to org.apache.xerces.parsers.SAXParser - * - * @return the created SAX parser - */ - static XMLReader createParser() - throws ServletException - { - String parserClassName = System.getProperty("org.xml.sax.parser"); - if (parserClassName == null) - { - parserClassName = "org.apache.xerces.parsers.SAXParser"; - } - - try - { - return (XMLReader) Class.forName(parserClassName).newInstance(); - } - catch (Exception e) - { - throw new ServletException(e); - } - } - - // This is stolen from PrintStarter - class PrintRenderer extends AWTRenderer - { - - private static final int EVEN_AND_ALL = 0; - private static final int EVEN = 1; - private static final int ODD = 2; - - private int startNumber; - private int endNumber; - private int mode = EVEN_AND_ALL; - private int copies = 1; - private PrinterJob printerJob; - - PrintRenderer(PrinterJob printerJob) - { - super(null); - - this.printerJob = printerJob; - startNumber = 0 ; - endNumber = -1; - - printerJob.setPageable(this); - - mode = EVEN_AND_ALL; - String str = System.getProperty("even"); - if (str != null) - { - try - { - mode = Boolean.valueOf(str).booleanValue() ? EVEN : ODD; - } - catch (Exception e) - {} - - } - - } - - - - public void stopRenderer(OutputStream outputStream) - throws IOException { - super.stopRenderer(outputStream); - - if(endNumber == -1) - endNumber = getPageCount(); - - Vector numbers = getInvalidPageNumbers(); - for (int i = numbers.size() - 1; i > -1; i--) - removePage(Integer.parseInt((String)numbers.elementAt(i))); - - try { - printerJob.print(); - } catch (PrinterException e) { - e.printStackTrace(); - throw new IOException( - "Unable to print: " + e.getClass().getName() + - ": " + e.getMessage()); - } - } - - public void renderPage(Page page) { - pageWidth = (int)((float)page.getWidth() / 1000f); - pageHeight = (int)((float)page.getHeight() / 1000f); - super.renderPage(page); - } - - - private Vector getInvalidPageNumbers() { - - Vector vec = new Vector(); - int max = getPageCount(); - boolean isValid; - for (int i = 0; i < max; i++) { - isValid = true; - if (i < startNumber || i > endNumber) { - isValid = false; - } else if (mode != EVEN_AND_ALL) { - if (mode == EVEN && ((i + 1) % 2 != 0)) - isValid = false; - else if (mode == ODD && ((i + 1) % 2 != 1)) - isValid = false; - } - - if (!isValid) - vec.add(i + ""); - } - - return vec; - } - } // class PrintRenderer - - -} - diff --git a/docs/examples/embedding/FopServlet.java b/docs/examples/embedding/FopServlet.java deleted file mode 100644 index decdf5818..000000000 --- a/docs/examples/embedding/FopServlet.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * $Id$ - * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. - * For details on use and redistribution please refer to the - * LICENSE file included with these sources. - */ - -import java.io.*; - -import javax.servlet.*; -import javax.servlet.http.*; - -import org.xml.sax.InputSource; -import org.xml.sax.XMLReader; - -import org.apache.fop.apps.Driver; -import org.apache.fop.apps.Version; -import org.apache.fop.apps.XSLTInputHandler; -import org.apache.fop.messaging.MessageHandler; - -import org.apache.avalon.framework.logger.ConsoleLogger; -import org.apache.avalon.framework.logger.Logger; - -/** - * Example servlet to generate a PDF from a servlet. - * Servlet param is: - * <ul> - * <li>fo: the path to a formatting object file to render - * </ul> - * - * Example URL: http://servername/servlet/FopServlet?fo=readme.fo - * Example URL: http://servername/servlet/FopServlet?xml=data.xml&xsl=format.xsl - * Compiling: you will need - * - servlet_2_2.jar - * - fop.jar - * - sax api - * - avalon-framework-x.jar (where x is the version found the FOP lib dir) - * - * Running: you will need in the WEB-INF/lib/ directory: - * - fop.jar - * - batik.jar - * - xalan-2.0.0.jar - * - avalon-framework-x.jar (where x is the version found the FOP lib dir) - */ -public class FopServlet extends HttpServlet { - public static final String FO_REQUEST_PARAM = "fo"; - public static final String XML_REQUEST_PARAM = "xml"; - public static final String XSL_REQUEST_PARAM = "xsl"; - Logger log = null; - - public void doGet(HttpServletRequest request, - HttpServletResponse response) throws ServletException { - if(log == null) { - log = new ConsoleLogger(ConsoleLogger.LEVEL_WARN); - MessageHandler.setScreenLogger(log); - } - try { - String foParam = request.getParameter(FO_REQUEST_PARAM); - String xmlParam = request.getParameter(XML_REQUEST_PARAM); - String xslParam = request.getParameter(XSL_REQUEST_PARAM); - - if (foParam != null) { - FileInputStream file = new FileInputStream(foParam); - renderFO(new InputSource(file), response); - } else if((xmlParam != null) && (xslParam != null)) { - XSLTInputHandler input = new XSLTInputHandler(new File(xmlParam), new File(xslParam)); - renderXML(input, response); - } else { - PrintWriter out = response.getWriter(); - out.println("<html><head><title>Error</title></head>\n"+ - "<body><h1>FopServlet Error</h1><h3>No 'fo' "+ - "request param given.</body></html>"); - } - } catch (ServletException ex) { - throw ex; - } - catch (Exception ex) { - throw new ServletException(ex); - } - } - - /** - * renders an FO inputsource into a PDF file which is rendered - * directly to the response object's OutputStream - */ - public void renderFO(InputSource foFile, - HttpServletResponse response) throws ServletException { - try { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - - response.setContentType("application/pdf"); - - Driver driver = new Driver(foFile, out); - driver.setLogger(log); - driver.setRenderer(Driver.RENDER_PDF); - driver.run(); - - byte[] content = out.toByteArray(); - response.setContentLength(content.length); - response.getOutputStream().write(content); - response.getOutputStream().flush(); - } catch (Exception ex) { - throw new ServletException(ex); - } - } - - public void renderXML(XSLTInputHandler input, - HttpServletResponse response) throws ServletException { - try { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - - response.setContentType("application/pdf"); - - Driver driver = new Driver(); - driver.setLogger(log); - driver.setRenderer(Driver.RENDER_PDF); - driver.setOutputStream(out); - driver.render(input.getParser(), input.getInputSource()); - - byte[] content = out.toByteArray(); - response.setContentLength(content.length); - response.getOutputStream().write(content); - response.getOutputStream().flush(); - } catch (Exception ex) { - throw new ServletException(ex); - } - } - - /** - * creates a SAX parser, using the value of org.xml.sax.parser - * defaulting to org.apache.xerces.parsers.SAXParser - * - * @return the created SAX parser - */ - static XMLReader createParser() throws ServletException { - String parserClassName = System.getProperty("org.xml.sax.parser"); - if (parserClassName == null) { - parserClassName = "org.apache.xerces.parsers.SAXParser"; - } - - try { - return (XMLReader) Class.forName( - parserClassName).newInstance(); - } catch (Exception e) { - throw new ServletException(e); - } - } - -} diff --git a/docs/examples/embedding/fop.war b/docs/examples/embedding/fop.war Binary files differdeleted file mode 100644 index f5607c11c..000000000 --- a/docs/examples/embedding/fop.war +++ /dev/null |