Author: vdichev Date: Sun Jun 13 20:04:18 2010 New Revision: 954297 URL: http://svn.apache.org/viewvc?rev=954297&view=rev Log: Twitter API refactoring of common parameters
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala?rev=954297&r1=954296&r2=954297&view=diff ============================================================================== --- incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala (original) +++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala Sun Jun 13 20:04:18 2010 @@ -190,14 +190,10 @@ abstract class TwitterAPI { } def userTimeline(user: User): TwitterResponse = { - val queryParams = List[QueryParam[Message]]( + val queryParams = List( By(Message.author, user), - By(Message.pool, Empty), - MaxRows(getCount), - OrderBy(Message.id, Descending)) ++ - getStart[Message] ++ - getSinceId(Message.id) ++ - getMaxId(Message.id) + By(Message.pool, Empty)) ++ + getCommonParams(Message.id) val statusList = Message.findAll(queryParams: _*).map(msgData _) Right(Map("statuses" -> ("status", statusList) )) } @@ -211,13 +207,9 @@ abstract class TwitterAPI { } def replies(user: User): TwitterResponse = { - val queryParams = List[QueryParam[Message]]( - In(Message.replyTo, Message.id, By(Message.author, user)), - MaxRows(getCount), - OrderBy(Message.id, Descending)) ++ - getStart[Message] ++ - getSinceId(Message.id) ++ - getMaxId(Message.id) + val queryParams = List( + In(Message.replyTo, Message.id, By(Message.author, user))) ++ + getCommonParams(Message.id) val statusList = Message.findAll(queryParams: _*).map(msgData _) Right(Map("statuses" -> ("status", statusList) )) } @@ -330,12 +322,8 @@ abstract class TwitterAPI { calcUser.map { user => val queryParams = List[QueryParam[Mailbox]]( param, - By(Mailbox.user, user), - MaxRows(getCount), - OrderBy(Mailbox.id, Descending)) ++ - getStart[Mailbox] ++ - getSinceId(Mailbox.message) ++ - getMaxId(Mailbox.message) + By(Mailbox.user, user)) ++ + getCommonParams(Mailbox.message) val msgIds = Mailbox.findMap(queryParams: _*) (m => Full(m.message.is)) @@ -362,6 +350,14 @@ abstract class TwitterAPI { StartAt[T]((page.toInt - 1) * getCount) } + private def getCommonParams[T <: Mapper[T]](field: MappedLong[T]): List[QueryParam[T]] = { + List(MaxRows[T](getCount), + OrderBy(field, Descending)) ++ + getStart[T] ++ + getSinceId(field) ++ + getMaxId(field) + } + private def calcUser(): Box[User] = { val userBox = LiftRules.authentication match {