diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2014-03-24 21:38:02 -0700 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2014-03-31 19:39:30 -0700 |
commit | cfb2c5ef6582e51ae9cfdfff35e12b5b7fdc24fb (patch) | |
tree | 88df0d7004d73e113f6f9c95c599bd27ff91110f /src/com/p4square/grow/backend/feed/TopicResource.java | |
parent | 44de44ac6a3879c78b7e31d7e460bb0125275237 (diff) |
Enabling the Feed and various bug fixes.
* Fixing thread ordering.
* Adding a limit of 5 threads per topic.
* Changing frontend /account references to UserRecord.
Diffstat (limited to 'src/com/p4square/grow/backend/feed/TopicResource.java')
-rw-r--r-- | src/com/p4square/grow/backend/feed/TopicResource.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/com/p4square/grow/backend/feed/TopicResource.java b/src/com/p4square/grow/backend/feed/TopicResource.java index 5826355..24b6a92 100644 --- a/src/com/p4square/grow/backend/feed/TopicResource.java +++ b/src/com/p4square/grow/backend/feed/TopicResource.java @@ -8,7 +8,6 @@ import java.io.IOException; import java.util.Date; import java.util.Map; -import java.util.UUID; import org.restlet.data.Status; import org.restlet.resource.ServerResource; @@ -50,10 +49,20 @@ public class TopicResource extends ServerResource { return new JacksonRepresentation(FeedDataProvider.TOPICS); } - // TODO: Support limit query parameter. + // Parse limit query parameter. + int limit = -1; + String limitString = getQueryValue("limit"); + if (limitString != null) { + try { + limit = Integer.parseInt(limitString); + } catch (NumberFormatException e) { + setStatus(Status.CLIENT_ERROR_BAD_REQUEST); + return null; + } + } try { - Map<String, MessageThread> threads = mBackend.getThreadProvider().query(mTopic); + Map<String, MessageThread> threads = mBackend.getThreadProvider().query(mTopic, limit); return new JacksonRepresentation(threads.values()); } catch (IOException e) { @@ -90,7 +99,7 @@ public class TopicResource extends ServerResource { MessageThread newThread = MessageThread.createNew(); // Force the thread id and message to be what we expect. - message.setId(String.format("%x-%s", System.currentTimeMillis(), UUID.randomUUID().toString())); + message.setId(Message.generateId()); message.setThreadId(newThread.getId()); newThread.setMessage(message); |