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");
! }
! }
}
|