diff --git a/pom.xml b/pom.xml
index 100c51c5e37..dfdf11dca34 100644
--- a/pom.xml
+++ b/pom.xml
@@ -545,11 +545,6 @@
logback-classic
${logback.version}
-
- org.json
- json
- 20140107
-
junit
diff --git a/tools/pom.xml b/tools/pom.xml
index 4881dc5328e..94641c5fe5f 100644
--- a/tools/pom.xml
+++ b/tools/pom.xml
@@ -238,11 +238,6 @@
logback-classic
${logback.version}
-
- org.json
- json
- 20140107
-
junit
diff --git a/tools/workbench/pom.xml b/tools/workbench/pom.xml
index 0ca3893573e..356cee7c65a 100644
--- a/tools/workbench/pom.xml
+++ b/tools/workbench/pom.xml
@@ -74,10 +74,6 @@
mockito-core
test
-
- org.json
- json
-
diff --git a/tools/workbench/src/main/java/org/eclipse/rdf4j/workbench/commands/DeleteServlet.java b/tools/workbench/src/main/java/org/eclipse/rdf4j/workbench/commands/DeleteServlet.java
index 30013af4a90..35b8ac76026 100644
--- a/tools/workbench/src/main/java/org/eclipse/rdf4j/workbench/commands/DeleteServlet.java
+++ b/tools/workbench/src/main/java/org/eclipse/rdf4j/workbench/commands/DeleteServlet.java
@@ -20,13 +20,17 @@
import org.eclipse.rdf4j.workbench.base.TransformationServlet;
import org.eclipse.rdf4j.workbench.util.TupleResultBuilder;
import org.eclipse.rdf4j.workbench.util.WorkbenchRequest;
-import org.json.JSONObject;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
/**
* Servlet responsible for presenting the list of repositories, and deleting the chosen one.
*/
public class DeleteServlet extends TransformationServlet {
+ private static final ObjectMapper mapper = new ObjectMapper();
+
/**
* Deletes the repository with the given ID, then redirects to the repository selection page. If given a "checkSafe"
* parameter, instead returns JSON response with safe field set to true if safe, false if not.
@@ -45,8 +49,10 @@ protected void service(WorkbenchRequest req, HttpServletResponse resp, String xs
super.service(req, resp, xslPath);
} else {
// Respond to 'checkSafe' XmlHttpRequest with JSON.
+ ObjectNode jsonObject = mapper.createObjectNode();
+ jsonObject.put("safe", manager.isSafeToRemove(checkSafe));
final PrintWriter writer = new PrintWriter(new BufferedWriter(resp.getWriter()));
- writer.write(new JSONObject().put("safe", manager.isSafeToRemove(checkSafe)).toString());
+ writer.write(mapper.writeValueAsString(jsonObject));
writer.flush();
}
diff --git a/tools/workbench/src/main/java/org/eclipse/rdf4j/workbench/commands/QueryServlet.java b/tools/workbench/src/main/java/org/eclipse/rdf4j/workbench/commands/QueryServlet.java
index 16a33276434..c1200fcf0e3 100644
--- a/tools/workbench/src/main/java/org/eclipse/rdf4j/workbench/commands/QueryServlet.java
+++ b/tools/workbench/src/main/java/org/eclipse/rdf4j/workbench/commands/QueryServlet.java
@@ -47,11 +47,12 @@
import org.eclipse.rdf4j.workbench.util.QueryStorage;
import org.eclipse.rdf4j.workbench.util.TupleResultBuilder;
import org.eclipse.rdf4j.workbench.util.WorkbenchRequest;
-import org.json.JSONException;
-import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
public class QueryServlet extends TransformationServlet {
protected static final String REF = "ref";
@@ -72,6 +73,8 @@ public class QueryServlet extends TransformationServlet {
private static final QueryEvaluator EVAL = QueryEvaluator.INSTANCE;
+ private static final ObjectMapper mapper = new ObjectMapper();
+
private QueryStorage storage;
protected boolean writeQueryCookie;
@@ -157,7 +160,7 @@ protected boolean shouldWriteQueryCookie(String queryText) {
@Override
protected void service(final WorkbenchRequest req, final HttpServletResponse resp, final String xslPath)
- throws IOException, RDF4JException, BadRequestException, JSONException {
+ throws IOException, RDF4JException, BadRequestException {
if (!writeQueryCookie) {
// If we suppressed putting the query text into the cookies before.
cookies.addCookie(req, resp, REF, "hash");
@@ -167,11 +170,11 @@ protected void service(final WorkbenchRequest req, final HttpServletResponse res
cookies.addCookie(req, resp, QUERY, hash);
}
if ("get".equals(req.getParameter("action"))) {
- JSONObject json = new JSONObject();
- json.put("queryText", getQueryText(req));
+ ObjectNode jsonObject = mapper.createObjectNode();
+ jsonObject.put("queryText", getQueryText(req));
PrintWriter writer = new PrintWriter(new BufferedWriter(resp.getWriter()));
try {
- writer.write(json.toString());
+ writer.write(mapper.writeValueAsString(jsonObject));
} finally {
writer.flush();
}
@@ -201,7 +204,7 @@ private void handleStandardBrowserRequest(WorkbenchRequest req, HttpServletRespo
@Override
protected void doPost(final WorkbenchRequest req, final HttpServletResponse resp, final String xslPath)
- throws IOException, BadRequestException, RDF4JException, JSONException {
+ throws IOException, BadRequestException, RDF4JException {
final String action = req.getParameter("action");
if ("save".equals(action)) {
saveQuery(req, resp);
@@ -237,17 +240,19 @@ protected void doPost(final WorkbenchRequest req, final HttpServletResponse resp
}
private void saveQuery(final WorkbenchRequest req, final HttpServletResponse resp)
- throws IOException, BadRequestException, RDF4JException, JSONException {
+ throws IOException, BadRequestException, RDF4JException {
resp.setContentType("application/json");
- final JSONObject json = new JSONObject();
+ ObjectNode jsonObject = mapper.createObjectNode();
+ jsonObject.put("queryText", getQueryText(req));
+
final HTTPRepository http = (HTTPRepository) repository;
final boolean accessible = storage.checkAccess(http);
- json.put("accessible", accessible);
+ jsonObject.put("accessible", accessible);
if (accessible) {
final String queryName = req.getParameter("query-name");
String userName = getUserNameFromParameter(req, SERVER_USER);
final boolean existed = storage.askExists(http, queryName, userName);
- json.put("existed", existed);
+ jsonObject.put("existed", existed);
final boolean written = Boolean.valueOf(req.getParameter("overwrite")) || !existed;
if (written) {
final boolean shared = !Boolean.valueOf(req.getParameter("save-private"));
@@ -262,10 +267,10 @@ private void saveQuery(final WorkbenchRequest req, final HttpServletResponse res
storage.saveQuery(http, queryName, userName, shared, queryLanguage, queryText, infer, rowsPerPage);
}
}
- json.put("written", written);
+ jsonObject.put("written", written);
}
final PrintWriter writer = new PrintWriter(new BufferedWriter(resp.getWriter()));
- writer.write(json.toString());
+ writer.write(mapper.writeValueAsString(jsonObject));
writer.flush();
}