@SuppressWarnings("unchecked") @Override protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { traceRequest(req); IEclipsePreferences node = getNode(req, resp, true); if (node == null) return; String key = req.getParameter("key"); try { if (key != null) { node.put(key, req.getParameter("value")); } else { JSONObject newNode = new JSONObject(new JSONTokener(req.getReader())); node.clear(); for (Iterator<String> it = newNode.keys(); it.hasNext(); ) { key = it.next(); node.put(key, newNode.getString(key)); } } prefRoot.flush(); resp.setStatus(HttpServletResponse.SC_NO_CONTENT); } catch (Exception e) { handleException( resp, NLS.bind("Failed to store preferences for {0}", req.getRequestURL()), e); return; } }