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

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

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

revision 1074 by torben, Thu Sep 16 17:48:17 2010 UTC revision 1075 by torben, Thu Sep 16 19:14:47 2010 UTC
# Line 1  Line 1 
1  package dk.thoerup.traininfoservice.banedk;  package dk.thoerup.traininfoservice.banedk;
2    
3    import java.io.ByteArrayInputStream;
4  import java.io.ByteArrayOutputStream;  import java.io.ByteArrayOutputStream;
5    import java.io.File;
6  import java.io.IOException;  import java.io.IOException;
7  import java.util.logging.Level;  import java.util.logging.Level;
8  import java.util.logging.Logger;  import java.util.logging.Logger;
# Line 10  import javax.servlet.annotation.WebServl Line 12  import javax.servlet.annotation.WebServl
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.parsers.DocumentBuilderFactory;  
16    import javax.xml.transform.Source;
17    import javax.xml.transform.Transformer;
18  import javax.xml.transform.TransformerFactory;  import javax.xml.transform.TransformerFactory;
19    import javax.xml.transform.stream.StreamResult;
20    import javax.xml.transform.stream.StreamSource;
21    
22  import org.simpleframework.xml.Serializer;  import org.simpleframework.xml.Serializer;
23  import org.simpleframework.xml.core.Persister;  import org.simpleframework.xml.core.Persister;
# Line 30  public class DepartureServlet extends Ht Line 36  public class DepartureServlet extends Ht
36          Logger logger = Logger.getLogger( DepartureServlet.class.getName() );          Logger logger = Logger.getLogger( DepartureServlet.class.getName() );
37    
38          DepartureFetcher fetcher;          DepartureFetcher fetcher;
39      TransformerFactory transformerFactory = TransformerFactory.newInstance();  
40          DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();  
41            
42            String xslPath;
43                    
44    
45          @Override          @Override
# Line 43  public class DepartureServlet extends Ht Line 51  public class DepartureServlet extends Ht
51                  int replyTimeout =  Integer.parseInt( getServletContext().getInitParameter("reply_timeout") );                  int replyTimeout =  Integer.parseInt( getServletContext().getInitParameter("reply_timeout") );
52                  logger.info( "DepartureServlet, use azure site=" + useAzureSite + ", cache=" + cacheTimeout);                  logger.info( "DepartureServlet, use azure site=" + useAzureSite + ", cache=" + cacheTimeout);
53                  fetcher = new DepartureFetcher(useAzureSite, cacheTimeout, replyTimeout);                  fetcher = new DepartureFetcher(useAzureSite, cacheTimeout, replyTimeout);
54                    
55                    xslPath = getServletContext().getRealPath("/departures.xsl");
56          }          }
57    
58          @Override          @Override
# Line 91  public class DepartureServlet extends Ht Line 101  public class DepartureServlet extends Ht
101                          resp.setContentType("text/xml");                          resp.setContentType("text/xml");
102                          resp.getWriter().print( formatXml(beans) );                          resp.getWriter().print( formatXml(beans) );
103                  } else if (format.equalsIgnoreCase("html")) {                  } else if (format.equalsIgnoreCase("html")) {
104                                                    /*
105                          String advStr = req.getParameter("advanced");                          String advStr = req.getParameter("advanced");
106                          boolean advanced = advStr != null ? Boolean.parseBoolean(advStr) : false;                          boolean advanced = advStr != null ? Boolean.parseBoolean(advStr) : false;
107                                                    
108                          req.setAttribute("advanced", advanced);                          req.setAttribute("advanced", advanced);
109                          req.setAttribute("departurebeans", beans);                          req.setAttribute("departurebeans", beans);
110                          req.setAttribute("stationID", station );                          req.setAttribute("stationID", station );
111                          getServletContext().getRequestDispatcher("/ViewDepartures.jsp").forward(req,resp);                          getServletContext().getRequestDispatcher("/ViewDepartures.jsp").forward(req,resp);*/
112                            resp.setContentType("text/html");
113                            resp.getWriter().print(  xmlToHtml(formatXml(beans))  );
114                  } else {                  } else {
115                          resp.sendError(400, "Unknown format");                                            resp.sendError(400, "Unknown format");                  
116                  }                  }
# Line 119  public class DepartureServlet extends Ht Line 131  public class DepartureServlet extends Ht
131                                    
132                  return out.toString();                  return out.toString();
133          }          }
134            
135            protected String xmlToHtml(String input)  {
136    
137                    try {
138                            Source stylesheet = new StreamSource( new File(xslPath) );
139                    
140                    
141                            TransformerFactory transFact = TransformerFactory.newInstance();
142                    
143                            Transformer trans = transFact.newTransformer(stylesheet);
144                    
145                            Source xml = new StreamSource( new ByteArrayInputStream(input.getBytes() ));
146                            ByteArrayOutputStream out = new ByteArrayOutputStream();
147                            trans.transform(xml, new StreamResult(out));            
148                    
149                            return out.toString();
150                    } catch (Exception e) {
151                            return e.toString();
152                    }
153            }
154    
155  }  }

Legend:
Removed from v.1074  
changed lines
  Added in v.1075

  ViewVC Help
Powered by ViewVC 1.1.20