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/FeedData.java | |
parent | bbf907e51dfcf157bdee24dead1d531122aa25db (diff) |
Switching from Ivy+Ant to Maven.
Diffstat (limited to 'src/com/p4square/grow/frontend/FeedData.java')
-rw-r--r-- | src/com/p4square/grow/frontend/FeedData.java | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/src/com/p4square/grow/frontend/FeedData.java b/src/com/p4square/grow/frontend/FeedData.java deleted file mode 100644 index feb03a1..0000000 --- a/src/com/p4square/grow/frontend/FeedData.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright 2014 Jesse Morgan - */ - -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; -import org.restlet.Restlet; - -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.type.TypeFactory; - -import com.p4square.grow.config.Config; -import com.p4square.grow.frontend.JsonRequestProvider; -import com.p4square.grow.model.Message; -import com.p4square.grow.model.MessageThread; -import com.p4square.grow.provider.JsonEncodedProvider; -import com.p4square.grow.provider.Provider; - -/** - * Fetch feed data for a topic. - */ -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; - - // TODO: Elegantly merge the List and individual providers. - private final JsonRequestProvider<List<MessageThread>> mThreadsProvider; - private final JsonRequestProvider<MessageThread> mThreadProvider; - - private final JsonRequestProvider<List<Message>> mMessagesProvider; - private final JsonRequestProvider<Message> mMessageProvider; - - public FeedData(final Context context, final Config config) { - mConfig = config; - mBackendURI = mConfig.getString("backendUri", "riap://component/backend") + "/feed"; - - Restlet clientDispatcher = context.getClientDispatcher(); - - TypeFactory factory = JsonEncodedProvider.MAPPER.getTypeFactory(); - - JavaType threadType = factory.constructCollectionType(List.class, MessageThread.class); - mThreadsProvider = new JsonRequestProvider<List<MessageThread>>(clientDispatcher, threadType); - mThreadProvider = new JsonRequestProvider<MessageThread>(clientDispatcher, MessageThread.class); - - JavaType messageType = factory.constructCollectionType(List.class, Message.class); - mMessagesProvider = new JsonRequestProvider<List<Message>>(clientDispatcher, messageType); - mMessageProvider = new JsonRequestProvider<Message>(clientDispatcher, Message.class); - } - - /** - * Get the threads for a topic. - * - * @param topic The topic to request threads for. - * @param limit The maximum number of threads. - * @return A list of MessageThread objects. - */ - public List<MessageThread> getThreads(final String topic, final int limit) throws IOException { - return mThreadsProvider.get(makeUrl(limit, topic)); - } - - public List<Message> getMessages(final String topic, final String threadId) throws IOException { - return mMessagesProvider.get(makeUrl(topic, threadId)); - } - - public void createThread(final String topic, final Message message) throws IOException { - MessageThread thread = new MessageThread(); - thread.setMessage(message); - - mThreadProvider.post(makeUrl(topic), thread); - } - - public void createResponse(final String topic, final String thread, final Message message) - throws IOException { - - mMessageProvider.post(makeUrl(topic, thread), message); - } - - private String makeUrl(String... parts) { - String url = mBackendURI; - for (String part : parts) { - url += "/" + part; - } - - return url; - } - - private String makeUrl(int limit, String... parts) { - return makeUrl(parts) + "?limit=" + limit; - } -} |