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/VideosResource.java | |
parent | bbf907e51dfcf157bdee24dead1d531122aa25db (diff) |
Switching from Ivy+Ant to Maven.
Diffstat (limited to 'src/com/p4square/grow/frontend/VideosResource.java')
-rw-r--r-- | src/com/p4square/grow/frontend/VideosResource.java | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/src/com/p4square/grow/frontend/VideosResource.java b/src/com/p4square/grow/frontend/VideosResource.java deleted file mode 100644 index 2099a77..0000000 --- a/src/com/p4square/grow/frontend/VideosResource.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright 2013 Jesse Morgan - */ - -package com.p4square.grow.frontend; - -import java.util.HashMap; -import java.util.Map; - -import freemarker.template.Template; - -import org.restlet.data.Form; -import org.restlet.data.MediaType; -import org.restlet.data.Status; -import org.restlet.ext.jackson.JacksonRepresentation; -import org.restlet.representation.Representation; -import org.restlet.resource.ServerResource; - -import org.apache.log4j.Logger; - -import com.p4square.fmfacade.json.JsonRequestClient; -import com.p4square.fmfacade.json.JsonResponse; - -import com.p4square.grow.config.Config; - -/** - * VideosResource returns JSON blobs with video information and records watched - * videos. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public class VideosResource extends ServerResource { - private static Logger cLog = Logger.getLogger(VideosResource.class); - - private Config mConfig; - private JsonRequestClient mJsonClient; - - // Fields pertaining to this request. - private String mChapter; - private String mVideoId; - private String mUserId; - - @Override - public void doInit() { - super.doInit(); - - GrowFrontend growFrontend = (GrowFrontend) getApplication(); - mConfig = growFrontend.getConfig(); - - mJsonClient = new JsonRequestClient(getContext().getClientDispatcher()); - - mChapter = getAttribute("chapter"); - mVideoId = getAttribute("videoId"); - mUserId = getRequest().getClientInfo().getUser().getIdentifier(); - } - - /** - * Fetch a video record from the backend. - */ - @Override - protected Representation get() { - try { - JsonResponse response = backendGet("/training/" + mChapter + "/videos/" + mVideoId); - - if (response.getStatus().isSuccess()) { - return new JacksonRepresentation<Map>(response.getMap()); - - } else { - setStatus(response.getStatus()); - return null; - } - - } catch (Exception e) { - cLog.fatal("Could not render page: " + e.getMessage(), e); - setStatus(Status.SERVER_ERROR_INTERNAL); - return null; - } - } - - /** - * Mark a video as completed. - */ - @Override - protected Representation post(Representation entity) { - Map<String, Object> data = new HashMap<String, Object>(); - data.put("complete", "true"); - JsonResponse response = backendPut("/accounts/" + mUserId + "/training/videos/" + mVideoId, data); - - if (!response.getStatus().isSuccess()) { - // Something went wrong talking to the backend, error out. - cLog.fatal("Error recording completed video " + response.getStatus()); - setStatus(Status.SERVER_ERROR_INTERNAL); - return ErrorPage.BACKEND_ERROR; - } - - setStatus(Status.SUCCESS_NO_CONTENT); - return null; - } - - /** - * @return The backend endpoint URI - */ - private String getBackendEndpoint() { - return mConfig.getString("backendUri", "riap://component/backend"); - } - - /** - * Helper method to send a GET to the backend. - */ - private JsonResponse backendGet(final String uri) { - cLog.debug("Sending backend GET " + uri); - - final JsonResponse response = mJsonClient.get(getBackendEndpoint() + uri); - final Status status = response.getStatus(); - if (!status.isSuccess() && !Status.CLIENT_ERROR_NOT_FOUND.equals(status)) { - cLog.warn("Error making backend request for '" + uri + "'. status = " + response.getStatus().toString()); - } - - return response; - } - - private JsonResponse backendPut(final String uri, final Map data) { - cLog.debug("Sending backend PUT " + uri); - - final JsonResponse response = mJsonClient.put(getBackendEndpoint() + uri, data); - final Status status = response.getStatus(); - if (!status.isSuccess() && !Status.CLIENT_ERROR_NOT_FOUND.equals(status)) { - cLog.warn("Error making backend request for '" + uri + "'. status = " + response.getStatus().toString()); - } - - return response; - } -} |