You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@esme.apache.org by vd...@apache.org on 2009/11/16 23:26:29 UTC
svn commit: r881012 - in
/incubator/esme/trunk/server/src/main/scala/org/apache/esme:
actor/UserActor.scala lib/MsgParser.scala model/Action.scala
Author: vdichev
Date: Mon Nov 16 22:26:28 2009
New Revision: 881012
URL: http://svn.apache.org/viewvc?rev=881012&view=rev
Log:
ESME-115 Add tags on feed action.
Modified:
incubator/esme/trunk/server/src/main/scala/org/apache/esme/actor/UserActor.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/lib/MsgParser.scala
incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/actor/UserActor.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/actor/UserActor.scala?rev=881012&r1=881011&r2=881012&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/actor/UserActor.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/actor/UserActor.scala Mon Nov 16 22:26:28 2009
@@ -111,9 +111,10 @@
f()
case CreateMessage(text, tags, when, metaData, source, replyTo, pool) =>
- val tagLst = if (pool == None)
- tags.removeDuplicates.map(Tag.findOrCreate)
- else Nil
+ val tagLst = pool match {
+ case Empty => tags.removeDuplicates.map(Tag.findOrCreate)
+ case _ => Nil
+ }
Message.create.author(userId).when(when).
source(source).
@@ -270,12 +271,12 @@
Distributor !
Distributor.AddMessageToMailbox(id, msg, ResendReason(userId))
- case FetchFeed(url) => MessagePullActor ! MessagePullActor.Fetch(td.performId)
+ case FetchFeed(_, _) => MessagePullActor ! MessagePullActor.Fetch(td.performId)
- /*
- case ScalaInterpret => if (msg.source.is != "scala")
+ case ScalaInterpret => logger.info("Scala interpreter is disabled!")
+ /*if (msg.source.is != "scala")
ScalaInterpreter ! ScalaInterpreter.ScalaExcerpt(userId, msg.id.is, msg.pool.is, msg.getText)
- */
+ */
case PerformFilter => Stats incr "messagesFiltered" // IGNORE
}
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/lib/MsgParser.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/lib/MsgParser.scala?rev=881012&r1=881011&r2=881012&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/lib/MsgParser.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/lib/MsgParser.scala Mon Nov 16 22:26:28 2009
@@ -231,10 +231,19 @@
case protocol ~ userPass ~ urlpart ~ hdrs ~ data =>
HttpTo(protocol + urlpart, userPass._1, userPass._2, hdrs, data)
}) |
- (acceptCI("atom:") ~> httpUrl <~ EOF ^^ {url => FetchAtom(UrlStore.make(url))}) |
- (acceptCI("rss:") ~> httpUrl <~ EOF ^^ {url => FetchRss(UrlStore.make(url))}) |
+ (acceptCI("atom:") ~> httpUrl ~ tags <~ EOF ^^ {
+ case url ~ tags => FetchAtom(UrlStore.make(url), tags)
+ }) |
+ (acceptCI("rss:") ~> httpUrl ~ tags <~ EOF ^^ {
+ case url ~ tags => FetchRss(UrlStore.make(url), tags)
+ }) |
(acceptCI("scala") ~ lineSpace ~ EOF ^^^ ScalaInterpret)
+ lazy val tags: Parser[List[String]] = opt(EOL ~ accept("tags:") ~ whiteSpace ~> repsep(rep1(tagChar), accept(",")) ) ^^ {
+ case None => Nil
+ case Some(l) => l.map(_.mkString)
+ }
+
lazy val httpHeader: Parser[(String, String)] = EOL ~ accept("header:") ~
lineSpace ~> rep1(uchar) ~ '=' ~ rep1(uchar) ^^ {
case name ~ _ ~ value => (name.mkString, value.mkString)
Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala?rev=881012&r1=881011&r2=881012&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala Mon Nov 16 22:26:28 2009
@@ -171,7 +171,7 @@
}
val urlSourcePrefix = "url:"
theAction.actionFunc match {
- case a @ (FetchFeed(url)) => {
+ case a @ (FetchFeed(url, tags)) => {
User.find(user) match {
case Full(u) =>
val msgList = Message.findAll(By(Message.source, urlSourcePrefix + url.uniqueId),
@@ -184,8 +184,8 @@
}
val feed = a match {
- case FetchAtom(_) => new AtomFeed(u, url.url, urlSourcePrefix + url.uniqueId, 0, Nil)
- case FetchRss(_) => new RssFeed(u, url.url, urlSourcePrefix + url.uniqueId, 0, Nil)
+ case FetchAtom(_, _) => new AtomFeed(u, url.url, urlSourcePrefix + url.uniqueId, 0, tags)
+ case FetchRss(_, _) => new RssFeed(u, url.url, urlSourcePrefix + url.uniqueId, 0, tags)
}
MessagePullActor ! MessagePullActor.StartPullActor(id, lastMsg, feed)
@@ -490,9 +490,9 @@
sealed trait Performances
case class MailTo(who: String, text: Option[String]) extends Performances
case class HttpTo(url: String, user: String, password: String, headers: List[(String, String)], data: Option[String]) extends Performances
-case class FetchFeed(url: UrlStore) extends Performances
-case class FetchAtom(override val url: UrlStore) extends FetchFeed(url)
-case class FetchRss(override val url: UrlStore) extends FetchFeed(url)
+case class FetchFeed(url: UrlStore, tags: List[String]) extends Performances
+case class FetchAtom(override val url: UrlStore, override val tags: List[String]) extends FetchFeed(url, tags)
+case class FetchRss(override val url: UrlStore, override val tags: List[String]) extends FetchFeed(url, tags)
case object PerformResend extends Performances
case object PerformFilter extends Performances
case object ScalaInterpret extends Performances