1 package xuml.tools.datastore;
2
3 import java.io.IOException;
4
5 import javax.servlet.ServletException;
6 import javax.servlet.http.HttpServlet;
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9
10 import xuml.tools.diagram.Context;
11
12 public class DatastoreServlet extends HttpServlet {
13
14 private static final long serialVersionUID = 7659767941927427251L;
15
16 private static final String keyKind = "diagram";
17
18 @Override
19 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
20 throws ServletException, IOException {
21 try {
22 String entity = req.getParameter("entity");
23 String property = req.getParameter("property");
24 String mime = req.getParameter("mime");
25 resp.setContentType(mime);
26 DatastoreText ds = Context.instance().getDatastore();
27 String result = ds.get(keyKind, entity, property);
28 if (result != null)
29 resp.getOutputStream().write(result.getBytes());
30 } catch (RuntimeException e) {
31 e.printStackTrace();
32 throw e;
33 }
34 }
35
36 @Override
37 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
38 throws ServletException, IOException {
39 String entity = req.getParameter("entity");
40 String property = req.getParameter("property");
41 String value = req.getParameter("value");
42 DatastoreText ds = Context.instance().getDatastore();
43 ds.put(keyKind, entity, property, value);
44 }
45
46 }