diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2016-04-09 14:22:20 -0700 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2016-04-09 15:48:01 -0700 |
commit | 3102d8bce3426d9cf41aeaf201c360d342677770 (patch) | |
tree | 38c4f1e8828f9af9c4b77a173bee0d312b321698 /src/com/p4square/grow/frontend/JsonRequestProvider.java | |
parent | bbf907e51dfcf157bdee24dead1d531122aa25db (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.java | 96 |
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()); - } - } -} |