diff options
| author | Jesse Morgan <jesse@jesterpm.net> | 2014-02-22 19:15:46 -0800 | 
|---|---|---|
| committer | Jesse Morgan <jesse@jesterpm.net> | 2014-02-22 19:15:46 -0800 | 
| commit | 3249693ea33fdfa17612493e0f7ffc19d7649301 (patch) | |
| tree | 795ebe5fbd2667c0aa9e13ef80d302852ebf8c68 /src/com | |
| parent | 42503d407a5ec4efdb61a4d009f1bd46ffc8a965 (diff) | |
Adding Author and Feed Cookie.20140222a
* Adding an Author indicator on the feed.
* Adding showfeed cookie to enable/disable feed demo.
* Hiding the feed on the introduction chapter.
* Adding whitespace compression to all pages.
Diffstat (limited to 'src/com')
5 files changed, 35 insertions, 10 deletions
diff --git a/src/com/p4square/grow/backend/feed/FeedDataProvider.java b/src/com/p4square/grow/backend/feed/FeedDataProvider.java index 41b2dfa..6f090c0 100644 --- a/src/com/p4square/grow/backend/feed/FeedDataProvider.java +++ b/src/com/p4square/grow/backend/feed/FeedDataProvider.java @@ -19,7 +19,7 @@ import com.p4square.grow.provider.CollectionProvider;   */  public interface FeedDataProvider {      public static final Collection<String> TOPICS = Collections.unmodifiableCollection( -            Arrays.asList(new String[] { "seeker", "believer", "disciple", "teacher" })); +            Arrays.asList(new String[] { "seeker", "believer", "disciple", "teacher", "leader" }));      /**       * @return a CollectionProvider of Threads. diff --git a/src/com/p4square/grow/frontend/FeedData.java b/src/com/p4square/grow/frontend/FeedData.java index eddc6a4..55e845c 100644 --- a/src/com/p4square/grow/frontend/FeedData.java +++ b/src/com/p4square/grow/frontend/FeedData.java @@ -5,6 +5,9 @@  package com.p4square.grow.frontend;  import java.io.IOException; + +import java.util.Arrays; +import java.util.HashSet;  import java.util.List;  import org.restlet.Context; @@ -25,6 +28,13 @@ import com.p4square.grow.provider.Provider;   */  public class FeedData { +    /** +     * Allowed Topics. +     */ +    public static final HashSet<String> TOPICS = new HashSet(Arrays.asList("seeker", "believer", +            "disciple", "teacher", "leader")); + +      private final Config mConfig;      private final String mBackendURI; diff --git a/src/com/p4square/grow/frontend/FeedResource.java b/src/com/p4square/grow/frontend/FeedResource.java index eea89b1..13d0fa0 100644 --- a/src/com/p4square/grow/frontend/FeedResource.java +++ b/src/com/p4square/grow/frontend/FeedResource.java @@ -6,9 +6,6 @@ package com.p4square.grow.frontend;  import java.io.IOException; -import java.util.Arrays; -import java.util.HashSet; -  import org.restlet.data.Form;  import org.restlet.data.Status;  import org.restlet.representation.Representation; @@ -26,9 +23,6 @@ import com.p4square.grow.model.UserRecord;  public class FeedResource extends ServerResource {      private static final Logger LOG = Logger.getLogger(FeedResource.class); -    private static final HashSet<String> TOPICS = new HashSet(Arrays.asList("introduction", "seeker", "believer", -            "disciple", "teacher")); -      private Config mConfig;      private FeedData mFeedData; @@ -63,7 +57,7 @@ public class FeedResource extends ServerResource {      @Override      protected Representation post(Representation entity) {          try { -            if (mTopic == null || mTopic.length() == 0 || !TOPICS.contains(mTopic)) { +            if (mTopic == null || mTopic.length() == 0 || !FeedData.TOPICS.contains(mTopic)) {                  setStatus(Status.CLIENT_ERROR_NOT_FOUND);                  return ErrorPage.NOT_FOUND;              } diff --git a/src/com/p4square/grow/frontend/GrowFrontend.java b/src/com/p4square/grow/frontend/GrowFrontend.java index ac323ec..d642a06 100644 --- a/src/com/p4square/grow/frontend/GrowFrontend.java +++ b/src/com/p4square/grow/frontend/GrowFrontend.java @@ -52,7 +52,7 @@ public class GrowFrontend extends FMFacade {      private F1OAuthHelper mHelper;      public GrowFrontend() { -        mConfig = new Config(); +        this(new Config());      }      public GrowFrontend(Config config) { diff --git a/src/com/p4square/grow/frontend/TrainingPageResource.java b/src/com/p4square/grow/frontend/TrainingPageResource.java index a7ebd61..70a0d28 100644 --- a/src/com/p4square/grow/frontend/TrainingPageResource.java +++ b/src/com/p4square/grow/frontend/TrainingPageResource.java @@ -14,6 +14,7 @@ import java.util.Map;  import freemarker.template.Template; +import org.restlet.data.CookieSetting;  import org.restlet.data.Form;  import org.restlet.data.MediaType;  import org.restlet.data.Status; @@ -213,7 +214,27 @@ public class TrainingPageResource extends FreeMarkerPageResource {              root.put("videos", videos);              root.put("allowUserToSkip", allowUserToSkip); -            boolean showfeed = getQueryValue("showfeed") != null; +            // Optionally show the feed. +            boolean showfeed = "true".equals(getRequest().getCookies().getFirstValue("showfeed")); +            if (getQueryValue("showfeed") != null) { +                CookieSetting cookie = new CookieSetting("showfeed", "true"); +                cookie.setPath("/"); +                if ("true".equals(getQueryValue("showfeed"))) { +                    showfeed = true; +                    getResponse().getCookieSettings().add(cookie); +                } else { +                    showfeed = false; +                    cookie.setValue("false"); +                    cookie.setMaxAge(0); +                    getResponse().getCookieSettings().add(cookie); +                } +            } + +            // Don't show the feed if the topic isn't allowed. +            if (!FeedData.TOPICS.contains(mChapter)) { +                showfeed = false; +            } +              root.put("showfeed", showfeed);              if (showfeed) {                  root.put("feeddata", mFeedData);  | 
