summaryrefslogtreecommitdiff
path: root/src/com/p4square/grow/frontend/JsonRequestProvider.java
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2016-04-09 14:22:20 -0700
committerJesse Morgan <jesse@jesterpm.net>2016-04-09 15:48:01 -0700
commit3102d8bce3426d9cf41aeaf201c360d342677770 (patch)
tree38c4f1e8828f9af9c4b77a173bee0d312b321698 /src/com/p4square/grow/frontend/JsonRequestProvider.java
parentbbf907e51dfcf157bdee24dead1d531122aa25db (diff)
Switching from Ivy+Ant to Maven.
Diffstat (limited to 'src/com/p4square/grow/frontend/JsonRequestProvider.java')
-rw-r--r--src/com/p4square/grow/frontend/JsonRequestProvider.java96
1 files changed, 0 insertions, 96 deletions
diff --git a/src/com/p4square/grow/frontend/JsonRequestProvider.java b/src/com/p4square/grow/frontend/JsonRequestProvider.java
deleted file mode 100644
index bf3b2b3..0000000
--- a/src/com/p4square/grow/frontend/JsonRequestProvider.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.frontend;
-
-import java.io.IOException;
-
-import com.fasterxml.jackson.databind.JavaType;
-
-import org.restlet.Request;
-import org.restlet.Response;
-import org.restlet.Restlet;
-import org.restlet.data.Method;
-import org.restlet.data.Status;
-import org.restlet.representation.Representation;
-import org.restlet.representation.StringRepresentation;
-
-import com.p4square.grow.provider.Provider;
-import com.p4square.grow.provider.JsonEncodedProvider;
-
-/**
- * Fetch a JSON object via a Request.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class JsonRequestProvider<V> extends JsonEncodedProvider<V> implements Provider<String, V> {
-
- private final Restlet mDispatcher;
-
- public JsonRequestProvider(Restlet dispatcher, Class<V> clazz) {
- super(clazz);
-
- mDispatcher = dispatcher;
- }
-
- public JsonRequestProvider(Restlet dispatcher, JavaType type) {
- super(type);
-
- mDispatcher = dispatcher;
- }
-
- @Override
- public V get(String url) throws IOException {
- Request request = new Request(Method.GET, url);
- Response response = mDispatcher.handle(request);
- Representation representation = response.getEntity();
-
- if (!response.getStatus().isSuccess()) {
- if (representation != null) {
- representation.release();
- }
-
- if (Status.CLIENT_ERROR_NOT_FOUND.equals(response.getStatus())) {
- throw new NotFoundException("Could not get object. " + response.getStatus());
- } else {
- throw new IOException("Could not get object. " + response.getStatus());
- }
- }
-
- return decode(representation.getText());
- }
-
- @Override
- public void put(String url, V obj) throws IOException {
- final Request request = new Request(Method.PUT, url);
- request.setEntity(new StringRepresentation(encode(obj)));
-
- final Response response = mDispatcher.handle(request);
-
- if (!response.getStatus().isSuccess()) {
- throw new IOException("Could not put object. " + response.getStatus());
- }
- }
-
- /**
- * Variant of put() which makes a POST request to the url.
- *
- * This method may eventually be incorporated into Provider for
- * creating new objects with auto-generated IDs.
- *
- * @param url The url to make the request to.
- * @param obj The post to post.
- * @throws IOException on failure.
- */
- public void post(String url, V obj) throws IOException {
- final Request request = new Request(Method.POST, url);
- request.setEntity(new StringRepresentation(encode(obj)));
-
- final Response response = mDispatcher.handle(request);
-
- if (!response.getStatus().isSuccess()) {
- throw new IOException("Could not put object. " + response.getStatus());
- }
- }
-}