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 }