From be16eedfb3570da2dcd3975948419ecc3d996253 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Mon, 24 Mar 2014 20:01:39 -0700 Subject: Adding index page to backend with API info. --- .../grow/backend/resources/BannerResource.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'src/com/p4square/grow/backend/resources/BannerResource.java') diff --git a/src/com/p4square/grow/backend/resources/BannerResource.java b/src/com/p4square/grow/backend/resources/BannerResource.java index 4551777..8519f64 100644 --- a/src/com/p4square/grow/backend/resources/BannerResource.java +++ b/src/com/p4square/grow/backend/resources/BannerResource.java @@ -7,14 +7,19 @@ package com.p4square.grow.backend.resources; import java.io.IOException; import org.restlet.data.Status; -import org.restlet.resource.ServerResource; +import org.restlet.ext.jackson.JacksonRepresentation; import org.restlet.representation.Representation; import org.restlet.representation.StringRepresentation; +import org.restlet.resource.ServerResource; + +import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.log4j.Logger; import com.p4square.grow.backend.GrowBackend; import com.p4square.grow.backend.db.CassandraDatabase; +import com.p4square.grow.model.Banner; +import com.p4square.grow.provider.JsonEncodedProvider; /** * Fetches or sets the banner string. @@ -24,6 +29,8 @@ import com.p4square.grow.backend.db.CassandraDatabase; public class BannerResource extends ServerResource { private static final Logger LOG = Logger.getLogger(BannerResource.class); + public static final ObjectMapper MAPPER = JsonEncodedProvider.MAPPER; + private CassandraDatabase mDb; @Override @@ -42,7 +49,7 @@ public class BannerResource extends ServerResource { String result = mDb.getKey("strings", "banner"); if (result == null || result.length() == 0) { - result = "{}"; + result = "{\"html\":null}"; } return new StringRepresentation(result); @@ -54,7 +61,13 @@ public class BannerResource extends ServerResource { @Override protected Representation put(Representation entity) { try { - mDb.putKey("strings", "banner", entity.getText()); + JacksonRepresentation representation = + new JacksonRepresentation<>(entity, Banner.class); + representation.setObjectMapper(MAPPER); + + Banner banner = representation.getObject(); + + mDb.putKey("strings", "banner", MAPPER.writeValueAsString(banner)); setStatus(Status.SUCCESS_NO_CONTENT); } catch (IOException e) { -- cgit v1.2.3