[Pfc-prolog-cvs] prolix/src/org/asturlinux/frade/prolix/web/servlets TreeServlet.java,1.4,1.5
Status: Beta
Brought to you by:
ivanfrade
From: <iva...@us...> - 2003-08-18 18:31:00
|
Update of /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/web/servlets In directory sc8-pr-cvs1:/tmp/cvs-serv17322/src/org/asturlinux/frade/prolix/web/servlets Modified Files: TreeServlet.java Log Message: Added batik to project. Modified servlet to transform SVG in JPEG and return image - and web page to this change Index: TreeServlet.java =================================================================== RCS file: /cvsroot/pfc-prolog/prolix/src/org/asturlinux/frade/prolix/web/servlets/TreeServlet.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TreeServlet.java 14 Aug 2003 22:15:36 -0000 1.4 --- TreeServlet.java 18 Aug 2003 18:30:57 -0000 1.5 *************** *** 1,2 **** --- 1,23 ---- + /** + * + * Copyright 2003 Ivan Frade + * + * This file is part of Prolix. + * + * Prolix is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Prolix is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Prolix; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + **/ package org.asturlinux.frade.prolix.web.servlets; *************** *** 8,13 **** import java.io.IOException; import javax.servlet.http.HttpSession; ! import java.io.PrintWriter; import javax.servlet.http.HttpServlet; /** --- 29,40 ---- import java.io.IOException; import javax.servlet.http.HttpSession; ! //import java.io.PrintWriter; import javax.servlet.http.HttpServlet; + import java.io.OutputStream; + import org.apache.batik.transcoder.image.JPEGTranscoder; + import org.apache.batik.transcoder.TranscoderInput; + import org.apache.batik.transcoder.TranscoderOutput; + import org.apache.batik.transcoder.TranscoderException; + import java.io.StringReader; /** *************** *** 26,37 **** HttpSession session = request.getSession(true); CurrentStateBean bean = (CurrentStateBean)session.getAttribute("prologData"); ! ! response.setContentType("image/svg+xml"); ! PrintWriter out = response.getWriter(); SvgGenerator comeOn = new SvgGenerator(); ! if (bean.getCurrentResult() == null) ! out.println("You have only a query loaded. Try to do an step"); ! else ! out.println(comeOn.transform(bean.getCurrentResult())); } --- 53,85 ---- HttpSession session = request.getSession(true); CurrentStateBean bean = (CurrentStateBean)session.getAttribute("prologData"); ! ! //response.setContentType("image/svg+xml"); ! //PrintWriter out = response.getWriter(); ! OutputStream out = response.getOutputStream(); ! response.setContentType("image/jpeg"); SvgGenerator comeOn = new SvgGenerator(); ! if (bean.getCurrentResult() == null) { ! //FIXME send basic image ! //out.println("You have only a query loaded. Try to do an step"); ! } ! else { ! String svg = comeOn.transform(bean.getCurrentResult()); ! JPEGTranscoder transcoder = new JPEGTranscoder(); ! transcoder.addTranscodingHint(transcoder.KEY_QUALITY, ! new Float(1)); ! transcoder.addTranscodingHint(transcoder.KEY_XML_PARSER_CLASSNAME,"org.apache.xerces.parsers.SAXParser"); ! transcoder.addTranscodingHint(transcoder.KEY_WIDTH, ! new Float(400)); ! transcoder.addTranscodingHint(transcoder.KEY_HEIGHT, ! new Float(400)); ! TranscoderInput input = new TranscoderInput(new StringReader(svg)); ! TranscoderOutput output = new TranscoderOutput(out); ! try { ! transcoder.transcode(input,output); ! }catch (TranscoderException te) { ! //FIXME ! throw new IOException("Error in svg to jpeg transformation"); ! } ! } } |