+ try {
+ out = response.getOutputStream();
+ server.apply(infile, out, keySeq, props);
+ out.close();
+ } catch (TransformerConfigurationException tce) {
+ sendError(response, out, exc_out("stylesheet error", tce), "");
+ } catch (Exception ee) {
+ sendError(response, out, exc_out(null, ee), "");
+ }
+ return;
+ }
+ if (cmd.equals("/remove")) {
+ final String key = request.getParameter("keys");
+ final String [] data = split(key, ",");
+ html_open(response, out);
+ for (int i = 0; i < data.length; i++) {
+ if (data[i] == null) {
+ out.println(msg_out("removing all keys"));
+ ArrayList res;
+ res = server.removeAll();
+ Iterator j = res.iterator();
+ while (j.hasNext())
+ out.println(msg_out((String)j.next()));
+ } else {
+ out.println(msg_out("removing key "+data[i]));
+ out.println(msg_out(server.remove(data[i])));
+ }
+ }
+ html_close(out); return;
+ }
+ if (cmd.equals("/list")) {
+ html_open(response, out);
+ out.println("<p>stylesheet list:</p><ul>");
+
+ Iterator i = server.list().iterator();
+ while (i.hasNext())
+ out.println("<li>"+i.next()+"</li>");
+ out.println("</ul>"); html_close(out); return;
+ }
+ if (cmd.equals("/reload")) {
+ final String key = request.getParameter("keys");
+ final String [] data = split(key, ",");
+ html_open(response, out);
+ for (int i = 0; i < data.length; i++) {
+ try {
+ if (data[i] == null) {
+ out.println(msg_out("reloading all keys"));
+ ArrayList res;
+ res = server.reloadAll();
+ Iterator j = res.iterator();
+ while(j.hasNext())
+ out.println(msg_out((String)j.next()));
+ } else {
+ out.println(msg_out("reloading key "+data[i]));
+ out.println(msg_out(server.reload(data[i])));
+ }
+ } catch (TransformerConfigurationException tce) {
+ out.println(exc_out("Stylesheet Error", tce));
+ } catch (Exception e) {
+ out.println(exc_out(null, e));
+ }
+ }
+ html_close(out); return;
+ }
+ if (cmd.equals("/help")) {
+ html_open(response, out);
+ out.println("<h2>Version "+server.VERSION+"</h1>");
+ out.println("<b>compiled "+server.DATE+" at "+server.TIME.substring(0,2)+":"+server.TIME.substring(2)+"</b>");
+ if(Server.SERIALIZATION_DIR.equals("")) {
+ out.println("<p><b>Stylesheet serialization is off.</b>");
+ out.println("(To turn it on, choose a non-empty value for the " +
+ "SERIALIZATION_DIR property.)</p>");
+ } else
+ out.println("<p><b>Serialized stylesheed are stored in "" +
+ Server.SERIALIZATION_DIR + "".</b></p>");
+ out.println("<p>usage:</p>"+help+"</body></html>");
+ html_close(out); return;
+ }
+ sendError(response, out, "unknown command", help); return;
+ } catch (Exception e) {
+ sendError(response, out, exc_out(null, e),"");
+ return;
+ }
+ }