/[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 1075 by torben, Thu Sep 16 19:14:47 2010 UTC revision 1145 by torben, Fri Oct 1 05:30:32 2010 UTC
# Line 14  import javax.servlet.http.HttpServletReq Line 14  import javax.servlet.http.HttpServletReq
14  import javax.servlet.http.HttpServletResponse;  import javax.servlet.http.HttpServletResponse;
15    
16  import javax.xml.transform.Source;  import javax.xml.transform.Source;
17    import javax.xml.transform.Templates;
18  import javax.xml.transform.Transformer;  import javax.xml.transform.Transformer;
19  import javax.xml.transform.TransformerFactory;  import javax.xml.transform.TransformerFactory;
20  import javax.xml.transform.stream.StreamResult;  import javax.xml.transform.stream.StreamResult;
# Line 24  import org.simpleframework.xml.core.Pers Line 25  import org.simpleframework.xml.core.Pers
25    
26  import dk.thoerup.android.traininfo.common.DepartureBean;  import dk.thoerup.android.traininfo.common.DepartureBean;
27  import dk.thoerup.circuitbreaker.CircuitBreakerException;  import dk.thoerup.circuitbreaker.CircuitBreakerException;
28    import dk.thoerup.traininfoservice.StationDAO;
29  import dk.thoerup.traininfoservice.Statistics;  import dk.thoerup.traininfoservice.Statistics;
30    
31  /**  /**
# Line 39  public class DepartureServlet extends Ht Line 41  public class DepartureServlet extends Ht
41    
42    
43                    
44          String xslPath;          TransformerFactory xslTransFact;
45            Templates xslTemplate;
46                    
47    
48          @Override          @Override
# Line 52  public class DepartureServlet extends Ht Line 55  public class DepartureServlet extends Ht
55                  logger.info( "DepartureServlet, use azure site=" + useAzureSite + ", cache=" + cacheTimeout);                  logger.info( "DepartureServlet, use azure site=" + useAzureSite + ", cache=" + cacheTimeout);
56                  fetcher = new DepartureFetcher(useAzureSite, cacheTimeout, replyTimeout);                  fetcher = new DepartureFetcher(useAzureSite, cacheTimeout, replyTimeout);
57                                    
58                  xslPath = getServletContext().getRealPath("/departures.xsl");                  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 87  public class DepartureServlet extends Ht Line 99  public class DepartureServlet extends Ht
99                          Statistics.getInstance().incrementDepartureErrors();                          Statistics.getInstance().incrementDepartureErrors();
100                          resp.sendError(500);                          resp.sendError(500);
101                          return;                          return;
102                    } catch (StationDAO.NostationException nse) {
103                            logger.log(Level.WARNING, "Station not in Database, station=" +station);
104                            Statistics.getInstance().incrementDepartureErrors();
105                            resp.sendError(400, "invalid station ID");
106                            return;                
107                  } catch (Exception e) {                                  } catch (Exception e) {                
108                          logger.log(Level.WARNING, "Unknown exception, station=" +station, e);                          logger.log(Level.WARNING, "Unknown exception, station=" +station, e);
109                          Statistics.getInstance().incrementDepartureErrors();                          Statistics.getInstance().incrementDepartureErrors();
# Line 132  public class DepartureServlet extends Ht Line 149  public class DepartureServlet extends Ht
149                  return out.toString();                  return out.toString();
150          }          }
151                    
152          protected String xmlToHtml(String input)  {          protected String xmlToHtml(String input) throws ServletException {
153    
154                  try {                  try {                                  
155                          Source stylesheet = new StreamSource( new File(xslPath) );                          Transformer trans = xslTemplate.newTransformer();                      
                   
                   
                         TransformerFactory transFact = TransformerFactory.newInstance();  
                   
                         Transformer trans = transFact.newTransformer(stylesheet);  
156                                    
157                          Source xml = new StreamSource( new ByteArrayInputStream(input.getBytes() ));                          Source xml = new StreamSource( new ByteArrayInputStream(input.getBytes() ));
158                          ByteArrayOutputStream out = new ByteArrayOutputStream();                          ByteArrayOutputStream out = new ByteArrayOutputStream();
# Line 148  public class DepartureServlet extends Ht Line 160  public class DepartureServlet extends Ht
160                                    
161                          return out.toString();                          return out.toString();
162                  } catch (Exception e) {                  } catch (Exception e) {
163                          return e.toString();                          throw new ServletException(e);
164                  }                  }
165          }          }
166    

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

  ViewVC Help
Powered by ViewVC 1.1.20