You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@esme.apache.org by es...@apache.org on 2011/04/07 22:28:29 UTC
svn commit: r1089990 - in
/esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet:
ConversationTimeline.scala PersonalTimeline.scala StreamTimeline.scala
TagTimeline.scala Timeline.scala UserMessagesTimeline.scala
Author: esjewett
Date: Thu Apr 7 20:28:29 2011
New Revision: 1089990
URL: http://svn.apache.org/viewvc?rev=1089990&view=rev
Log:
[ESME-328] Add author name, update all timelines to use new rendering approach
Modified:
esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/ConversationTimeline.scala
esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/PersonalTimeline.scala
esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/StreamTimeline.scala
esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/TagTimeline.scala
esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/Timeline.scala
esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/UserMessagesTimeline.scala
Modified: esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/ConversationTimeline.scala
URL: http://svn.apache.org/viewvc/esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/ConversationTimeline.scala?rev=1089990&r1=1089989&r2=1089990&view=diff
==============================================================================
--- esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/ConversationTimeline.scala (original)
+++ esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/ConversationTimeline.scala Thu Apr 7 20:28:29 2011
@@ -52,10 +52,8 @@ class ConversationTimeline extends Timel
override def lowPriority = {
case ConvDistributor.MessageReceived(msg, r) =>
- messages = ((msg.id.is,r,true) :: messages).take(40)
-
-//TODO: Adapt to new timeline format
- reRender(false)
+ messages = ((msg.id.is,r,true) :: messages).take(40)
+ prependMessage(msg,r,true)
}
}
Modified: esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/PersonalTimeline.scala
URL: http://svn.apache.org/viewvc/esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/PersonalTimeline.scala?rev=1089990&r1=1089989&r2=1089990&view=diff
==============================================================================
--- esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/PersonalTimeline.scala (original)
+++ esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/PersonalTimeline.scala Thu Apr 7 20:28:29 2011
@@ -51,10 +51,7 @@ class PersonalTimeline extends Timeline
override def lowPriority = {
case UserActor.MessageReceived(msg, r) => {
messages = ( (msg.id.is,r,false) :: messages).take(40)
- val mess = Message.findMessages(Seq(msg.id.is)).head._2
- val newMessage = renderMessage((mess,r,false))
- val update = PrependHtml(jsId, newMessage)
- partialUpdate(update)
+ prependMessage(msg,r,false)
}
case UserActor.Resend(msgId) =>
Modified: esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/StreamTimeline.scala
URL: http://svn.apache.org/viewvc/esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/StreamTimeline.scala?rev=1089990&r1=1089989&r2=1089990&view=diff
==============================================================================
--- esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/StreamTimeline.scala (original)
+++ esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/StreamTimeline.scala Thu Apr 7 20:28:29 2011
@@ -100,7 +100,7 @@ class StreamTimeline extends PublicTimel
override def lowPriority = {
case ForceRender =>
// TODO: Adapt to new timeline format
- reRender(false)
+ reRender(true)
case Distributor.NewMessage(msg) =>
@@ -124,7 +124,7 @@ class StreamTimeline extends PublicTimel
}
}
// TODO: Adapt to new timeline format
- else reRender(false)
+ else reRender(true)
}
def getMessages:List[(Long,MailboxReason,Boolean)] = {
Modified: esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/TagTimeline.scala
URL: http://svn.apache.org/viewvc/esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/TagTimeline.scala?rev=1089990&r1=1089989&r2=1089990&view=diff
==============================================================================
--- esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/TagTimeline.scala (original)
+++ esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/TagTimeline.scala Thu Apr 7 20:28:29 2011
@@ -26,7 +26,7 @@ import net.liftweb.util.Helpers.TimeSpan
import org.apache.esme._
import actor.{Distributor,UserActor,TagDistributor}
-import model._
+import model._
class TagTimeline extends Timeline {
@@ -54,8 +54,8 @@ class TagTimeline extends Timeline {
override def lowPriority = {
case TagDistributor.MessageReceived(msg, r) =>
- messages = ((msg.id.is,r,true) :: messages).take(40)
- reRender(false)
+ messages = ((msg.id.is,r,true) :: messages).take(40)
+ prependMessage(msg,r,false)
}
}
\ No newline at end of file
Modified: esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/Timeline.scala
URL: http://svn.apache.org/viewvc/esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/Timeline.scala?rev=1089990&r1=1089989&r2=1089990&view=diff
==============================================================================
--- esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/Timeline.scala (original)
+++ esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/Timeline.scala Thu Apr 7 20:28:29 2011
@@ -26,7 +26,8 @@ import net.liftweb.util.Helpers._
import scala.xml._
import js._
import JsCmds._
-import JE._
+import JE._
+import net.liftweb.http.js.jquery.JqJsCmds.{PrependHtml}
import org.apache.esme._
import org.apache.esme.actor._
@@ -54,7 +55,8 @@ trait Timeline extends CometActor {
def render = {
// TODO - handle clearMessages = true.
-// TODO - Get resend working
+// TODO - Get resend working
+// TODO - need to escape the replyHref string so that messages with ? in them don't bomb
val msgMap = Message.findMessages(messages map {_._1})
val toDisplay = for ((id, reason, resent) <- messages;
@@ -65,11 +67,12 @@ trait Timeline extends CometActor {
}
protected def renderMessage(m: (Message,MailboxReason,Boolean)) = {
- val imageUrl = m._1.author.obj.map(_.image_url).openOr("")
+ val imageUrl = m._1.author.obj.map(_.image_url).openOr("")
+ val authorNickname = m._1.author.obj.map(_.niceName).openOr("")
val messageId = "message_" + m._1.id.is.toString
val messageBody = m._1.digestedXHTML
val messagePool:String = m._1.pool.obj.map("in pool \'" + _.getName + "\'").openOr("")
- val replyHref = "javascript:setReplyTo(" + m._1.id.is.toString + ", '"+ messageBody + "', " + m._1.pool.obj.map(_.id.is).openOr(0) + ", '" + m._1.author.obj.map(_.nickname).openOr("") + "')"
+ val replyHref = "javascript:setReplyTo(" + m._1.id.is.toString + ", '"+ messageBody + "', " + m._1.pool.obj.map(_.id.is).openOr(0) + ", '" + authorNickname + "')"
val convId = m._1.conversation.is
val convHref = LiftRules.context.path + "/conversation/" + convId
@@ -77,7 +80,9 @@ trait Timeline extends CometActor {
".conversation [href]" #> convHref
} else {
".conversation" #> Text("")
- }
+ }
+
+ val authorHref = LiftRules.context.path + "/user/" + authorNickname
// TODO: Put date in the "ago" format
val messageDateStr = toInternetDate(m._1.when)
@@ -98,13 +103,21 @@ trait Timeline extends CometActor {
".msgbody *" #> messageBody &
".supp_data *" #> suppString &
".reply [href]" #> replyHref &
- convTransform )(messageTemplate)
+ convTransform &
+ ".author [href]" #> authorHref &
+ ".author *" #> authorNickname )(messageTemplate)
}
// If we need to filter out some messages on display, override this method.
def filter(msgs:List[(Message,MailboxReason,Boolean)]):List[(Message,MailboxReason,Boolean)] = {
msgs
- }
+ }
+
+ protected def prependMessage(m:Message, r:MailboxReason, rs:Boolean) {
+ val newMessage = renderMessage((m,r,rs))
+ val update = PrependHtml(jsId, newMessage)
+ partialUpdate(update)
+ }
// TODO Should be factored out into a template
val messageTemplate =
Modified: esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/UserMessagesTimeline.scala
URL: http://svn.apache.org/viewvc/esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/UserMessagesTimeline.scala?rev=1089990&r1=1089989&r2=1089990&view=diff
==============================================================================
--- esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/UserMessagesTimeline.scala (original)
+++ esme/branches/esme-328_comet_timeline_rewrite/src/main/scala/org/apache/esme/comet/UserMessagesTimeline.scala Thu Apr 7 20:28:29 2011
@@ -59,13 +59,12 @@ class UserMessagesTimeline extends Timel
case UserActor.MessageReceived(msg, r) =>
if(msg.author == user) {
messages = ( (msg.id.is,r,true) :: messages).take(40)
-// TODO: Adapt to new timeline format
- reRender(false)
+ prependMessage(msg,r,true)
}
- case UserActor.Resend(msgId) =>
- messages = ( (msgId,ResendReason(user.id.is),true) :: messages).take(40)
-// TODO: Adapt to new timeline format
- reRender(false)
+ case UserActor.Resend(msgId) =>
+ val resendReason = ResendReason(user.id.is)
+ messages = ( (msgId,resendReason,true) :: messages).take(40)
+ prependMessage(Message.findMessages(Seq(msgId)).head._2, resendReason, true)
}
}
\ No newline at end of file