/[projects]/android/TrainInfoServiceGoogle/src/dk/thoerup/traininfoservice/banedk/DepartureServlet.java
ViewVC logotype

Diff of /android/TrainInfoServiceGoogle/src/dk/thoerup/traininfoservice/banedk/DepartureServlet.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1091 by torben, Mon Sep 20 20:11:55 2010 UTC revision 1092 by torben, Tue Sep 21 16:45:24 2010 UTC
# Line 4  import java.io.ByteArrayInputStream; Line 4  import java.io.ByteArrayInputStream;
4  import java.io.ByteArrayOutputStream;  import java.io.ByteArrayOutputStream;
5  import java.io.File;  import java.io.File;
6  import java.io.IOException;  import java.io.IOException;
7    import java.io.StringWriter;
8  import java.util.logging.Level;  import java.util.logging.Level;
9  import java.util.logging.Logger;  import java.util.logging.Logger;
10    
# Line 11  import javax.servlet.ServletException; Line 12  import javax.servlet.ServletException;
12  import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServlet;
13  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletRequest;
14  import javax.servlet.http.HttpServletResponse;  import javax.servlet.http.HttpServletResponse;
   
15  import javax.xml.transform.Source;  import javax.xml.transform.Source;
16    import javax.xml.transform.Templates;
17  import javax.xml.transform.Transformer;  import javax.xml.transform.Transformer;
18  import javax.xml.transform.TransformerFactory;  import javax.xml.transform.TransformerFactory;
19  import javax.xml.transform.stream.StreamResult;  import javax.xml.transform.stream.StreamResult;
20  import javax.xml.transform.stream.StreamSource;  import javax.xml.transform.stream.StreamSource;
21    
 import org.simpleframework.xml.Serializer;  
22  import org.simpleframework.xml.core.Persister;  import org.simpleframework.xml.core.Persister;
23    
24  import dk.thoerup.android.traininfo.common.DepartureBean;  import dk.thoerup.android.traininfo.common.DepartureBean;
# Line 38  public class DepartureServlet extends Ht Line 38  public class DepartureServlet extends Ht
38    
39    
40                    
         String xslPath;  
41                    
42            
43            TransformerFactory xslTransFact;
44            Templates xslTemplate;
45    
46          @Override          @Override
47          public void init() throws ServletException {          public void init() throws ServletException {
# Line 51  public class DepartureServlet extends Ht Line 53  public class DepartureServlet extends Ht
53                  logger.info( "DepartureServlet, use azure site=" + useAzureSite + ", cache=" + cacheTimeout);                  logger.info( "DepartureServlet, use azure site=" + useAzureSite + ", cache=" + cacheTimeout);
54                  fetcher = new DepartureFetcher(useAzureSite, cacheTimeout, replyTimeout);                  fetcher = new DepartureFetcher(useAzureSite, cacheTimeout, replyTimeout);
55                                    
56                  xslPath = getServletContext().getRealPath("/departures.xsl");                  
57                    
58                    xslTransFact = TransformerFactory.newInstance();
59                    
60                    String xslPath = getServletContext().getRealPath("/departures.xsl");
61                    Source stylesheet = new StreamSource( new File(xslPath) );
62                    
63                    try {
64                            xslTemplate = xslTransFact.newTemplates(stylesheet);
65                    } catch (Exception e) {
66                            throw new ServletException(e);
67                    }
68          }          }
69    
70          @Override          @Override
# Line 97  public class DepartureServlet extends Ht Line 110  public class DepartureServlet extends Ht
110                  resp.setHeader("Cache-Control", "no-cache, must-revalidate");                  resp.setHeader("Cache-Control", "no-cache, must-revalidate");
111                                    
112                  if (format.equalsIgnoreCase("xml")) {                  if (format.equalsIgnoreCase("xml")) {
113                          resp.setContentType("text/xml");                          resp.setContentType("text/xml; charset=utf-8");
114                          resp.getWriter().print( formatXml(beans) );                          resp.getWriter().print( formatXml(beans) );
115                            
116                            
117                  } else if (format.equalsIgnoreCase("html")) {                  } else if (format.equalsIgnoreCase("html")) {
118                          /*                          /*
119                          String advStr = req.getParameter("advanced");                          String advStr = req.getParameter("advanced");
# Line 118  public class DepartureServlet extends Ht Line 133  public class DepartureServlet extends Ht
133    
134          protected String formatXml(DepartureBean beans) throws ServletException{          protected String formatXml(DepartureBean beans) throws ServletException{
135                                    
136                  Serializer serializer = new Persister();                  Persister serializer = new Persister();
   
                 ByteArrayOutputStream out = new ByteArrayOutputStream();  
137    
138                  try {                  
139                    StringWriter out = new StringWriter();
140                    
141                    try {                  
142                          serializer.write(beans, out);                          serializer.write(beans, out);
143                  } catch (Exception e) {                  } catch (Exception e) {
144                          throw new ServletException(e);                          throw new ServletException(e);
# Line 131  public class DepartureServlet extends Ht Line 147  public class DepartureServlet extends Ht
147                  return out.toString();                  return out.toString();
148          }          }
149                    
150          protected String xmlToHtml(String input)  {          protected String xmlToHtml(String input) throws ServletException {
151    
152                  try {                  try {                                  
153                          Source stylesheet = new StreamSource( new File(xslPath) );                          Transformer trans = xslTemplate.newTransformer();                      
                   
                   
                         TransformerFactory transFact = TransformerFactory.newInstance();  
                   
                         Transformer trans = transFact.newTransformer(stylesheet);  
154                                    
155                          Source xml = new StreamSource( new ByteArrayInputStream(input.getBytes() ));                          Source xml = new StreamSource( new ByteArrayInputStream(input.getBytes() ));
156                          ByteArrayOutputStream out = new ByteArrayOutputStream();                          ByteArrayOutputStream out = new ByteArrayOutputStream();
# Line 147  public class DepartureServlet extends Ht Line 158  public class DepartureServlet extends Ht
158                                    
159                          return out.toString();                          return out.toString();
160                  } catch (Exception e) {                  } catch (Exception e) {
161                          return e.toString();                          throw new ServletException(e);
162                  }                  }
163          }          }
164    

Legend:
Removed from v.1091  
changed lines
  Added in v.1092

  ViewVC Help
Powered by ViewVC 1.1.20