2C3dk/thoerup/traininfoservice/banedk/DepartureServletjavax/servlet/http/HttpServletserialVersionUIDJ ConstantValueloggerLjava/util/logging/Logger;fetcher5Ldk/thoerup/traininfoservice/banedk/DepartureFetcher;xslPathLjava/lang/String;()VCode   java/lang/Class getName()Ljava/lang/String; java/util/logging/Logger   getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger; " LineNumberTableLocalVariableTablethis5Ldk/thoerup/traininfoservice/banedk/DepartureServlet;init Exceptions*javax/servlet/ServletException , ' . /0getServletContext ()Ljavax/servlet/ServletContext;2 useazuresite 465javax/servlet/ServletContext 78getInitParameter&(Ljava/lang/String;)Ljava/lang/String; :<;java/lang/Boolean => parseBoolean(Ljava/lang/String;)Z@ cache_timeout BDCjava/lang/Integer EFparseInt(Ljava/lang/String;)IH reply_timeoutJjava/lang/StringBuilderL!DepartureServlet, use azure site= IN O(Ljava/lang/String;)V IQ RSappend(Z)Ljava/lang/StringBuilder;U, cache= IW RX-(Ljava/lang/String;)Ljava/lang/StringBuilder; IZ R[(I)Ljava/lang/StringBuilder; I] ^toString ` aOinfoc3dk/thoerup/traininfoservice/banedk/DepartureFetcher be f(ZII)V h j/departures.xsl 4l m8 getRealPath o  useAzureSiteZ cacheTimeoutI replyTimeoutdoGetR(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Vxjava/io/IOExceptionzstation |~}%javax/servlet/http/HttpServletRequest 8 getParameternot enough parameters &javax/servlet/http/HttpServletResponse  sendError(ILjava/lang/String;)Varrival &dk/thoerup/traininfoservice/Statistics  getInstance*()Ldk/thoerup/traininfoservice/Statistics; incrementDepartureLookupsformat b cachedLookupDepartures7(IZ)Ldk/thoerup/android/traininfo/common/DepartureBean; 1dk/thoerup/android/traininfo/common/DepartureBean qRead failed, station=. w  getMessage  Owarning incrementDepartureErrors (I)VCircuitbreaker - failing fast java/util/logging/Level WARNINGLjava/util/logging/Level;Unknown exception, station=  logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)VExpires  setDateHeader(Ljava/lang/String;J)V Cache-Controlno-cache, must-revalidate  setHeader'(Ljava/lang/String;Ljava/lang/String;)Vxml java/lang/String >equalsIgnoreCasetext/xml OsetContentType  getWriter()Ljava/io/PrintWriter;   formatXmlG(Ldk/thoerup/android/traininfo/common/DepartureBean;)Ljava/lang/String; java/io/PrintWriter Oprinthtml text/html  8 xmlToHtmlUnknown formatjava/lang/Exception1dk/thoerup/circuitbreaker/CircuitBreakerExceptionreq'Ljavax/servlet/http/HttpServletRequest;resp(Ljavax/servlet/http/HttpServletResponse;beans3Ldk/thoerup/android/traininfo/common/DepartureBean;ioeLjava/io/IOException;cbe3Ldk/thoerup/circuitbreaker/CircuitBreakerException;eLjava/lang/Exception; StackMapTable&org/simpleframework/xml/core/Persister java/io/ByteArrayOutputStream  "org/simpleframework/xml/Serializer write+(Ljava/lang/Object;Ljava/io/OutputStream;)V )  (Ljava/lang/Throwable;)V ] serializer$Lorg/simpleframework/xml/Serializer;outLjava/io/ByteArrayOutputStream;'javax/xml/transform/stream/StreamSource java/io/File N  (Ljava/io/File;)V &javax/xml/transform/TransformerFactory  newInstance*()Ljavax/xml/transform/TransformerFactory;   !newTransformer?(Ljavax/xml/transform/Source;)Ljavax/xml/transform/Transformer;#java/io/ByteArrayInputStream % &'getBytes()[B ") *([B)V , -(Ljava/io/InputStream;)V/'javax/xml/transform/stream/StreamResult .1 2(Ljava/io/OutputStream;)V 465javax/xml/transform/Transformer 78 transform;(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)V ]input stylesheetLjavax/xml/transform/Source; transFact(Ljavax/xml/transform/TransformerFactory;trans!Ljavax/xml/transform/Transformer; SourceFileDepartureServlet.java! C**!# # $ %&'()o*+*-139<*-?3A=*-G3A>*!IYKMPTVY\_*bYdg**-ikn#".01"213Q4_6n7$*o%&\pq"Mrs1>tsuv()wP+y{,>+{A>:+y{A6+{:*g::*!IYMYVV\,:*!,:*!IYMY\,, ,ùɶ˙,й,*ٶݧ6˙!,,**ٶݧ,-0OadwOaOa#$; <=@B0C2E8GEHOM[NdOfPQRSTUVWXYZ[\]`acd ef&o.pDrOu$p P%&PP7qE zsO[ kf5-7 @C1|wvZ.6' (),YMYN,+-:)Y- #y{~'$4,%&,$    8WYY*nMN-,:Y"Y+$(+:Y:.Y03 M,9PQ#& 2;KQR$RW%&W:>;<:=>3?@2<;RQAB