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/01/06 19:32:05 UTC

svn commit: r1055994 - in /esme/trunk/server: ./ project/ project/build/ project/plugins/ src/main/resources/props/ src/main/scala/bootstrap/liftweb/ src/main/scala/org/apache/esme/actor/ src/main/scala/org/apache/esme/api/ src/main/scala/org/apache/es...

Author: esjewett
Date: Thu Jan  6 18:32:04 2011
New Revision: 1055994

URL: http://svn.apache.org/viewvc?rev=1055994&view=rev
Log:
Merge lift 2.2 branch back into trunk, including SBT, Scala 2.8.1, and removal of a lot of deprecated methods. Big thanks to Vladimir Ivanov on this one.

Added:
    esme/trunk/server/project/   (props changed)
      - copied from r1055974, esme/branches/lift-2.2/trunk/server/project/
    esme/trunk/server/project/build/   (props changed)
      - copied from r1055974, esme/branches/lift-2.2/trunk/server/project/build/
    esme/trunk/server/project/build.properties
      - copied unchanged from r1055974, esme/branches/lift-2.2/trunk/server/project/build.properties
    esme/trunk/server/project/build/EsmeProject.scala
      - copied unchanged from r1055974, esme/branches/lift-2.2/trunk/server/project/build/EsmeProject.scala
    esme/trunk/server/project/plugins/   (props changed)
      - copied from r1055974, esme/branches/lift-2.2/trunk/server/project/plugins/
    esme/trunk/server/project/plugins/Plugins.scala
      - copied unchanged from r1055974, esme/branches/lift-2.2/trunk/server/project/plugins/Plugins.scala
Modified:
    esme/trunk/server/   (props changed)
    esme/trunk/server/pom.xml
    esme/trunk/server/src/main/resources/props/compass.filesystem.cfg.xml   (props changed)
    esme/trunk/server/src/main/scala/bootstrap/liftweb/Boot.scala
    esme/trunk/server/src/main/scala/org/apache/esme/actor/MessagePullActor.scala
    esme/trunk/server/src/main/scala/org/apache/esme/actor/SchedulerActor.scala
    esme/trunk/server/src/main/scala/org/apache/esme/actor/UserActor.scala
    esme/trunk/server/src/main/scala/org/apache/esme/api/API2.scala
    esme/trunk/server/src/main/scala/org/apache/esme/api/RestAPI.scala
    esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala
    esme/trunk/server/src/main/scala/org/apache/esme/comet/ConversationTimeline.scala
    esme/trunk/server/src/main/scala/org/apache/esme/external/AtomFeed.scala
    esme/trunk/server/src/main/scala/org/apache/esme/external/Feed.scala
    esme/trunk/server/src/main/scala/org/apache/esme/lib/AccessPoolMgr.scala
    esme/trunk/server/src/main/scala/org/apache/esme/lib/AuthMgr.scala
    esme/trunk/server/src/main/scala/org/apache/esme/lib/ConversationMgr.scala
    esme/trunk/server/src/main/scala/org/apache/esme/lib/MsgParser.scala
    esme/trunk/server/src/main/scala/org/apache/esme/lib/ProfileMgr.scala
    esme/trunk/server/src/main/scala/org/apache/esme/lib/SearchMgr.scala
    esme/trunk/server/src/main/scala/org/apache/esme/lib/StreamMgr.scala
    esme/trunk/server/src/main/scala/org/apache/esme/lib/TrackMgr.scala
    esme/trunk/server/src/main/scala/org/apache/esme/lib/UserMgr.scala
    esme/trunk/server/src/main/scala/org/apache/esme/liftwebext/SHtml.scala
    esme/trunk/server/src/main/scala/org/apache/esme/model/AccessPool.scala
    esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala
    esme/trunk/server/src/main/scala/org/apache/esme/model/Mailbox.scala
    esme/trunk/server/src/main/scala/org/apache/esme/model/Message.scala
    esme/trunk/server/src/main/scala/org/apache/esme/model/Privilege.scala
    esme/trunk/server/src/main/scala/org/apache/esme/model/Tag.scala
    esme/trunk/server/src/main/scala/org/apache/esme/model/Tracking.scala
    esme/trunk/server/src/main/scala/org/apache/esme/model/User.scala
    esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserDisplay.scala
    esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserSnip.scala

Propchange: esme/trunk/server/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Thu Jan  6 18:32:04 2011
@@ -3,3 +3,4 @@ esme_db
 esme_test_db
 derby.log
 compass-index
+lib_managed

Propchange: esme/trunk/server/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan  6 18:32:04 2011
@@ -1,4 +1,7 @@
+/esme/branches/lift-2.2/trunk/server:1051384-1055974
 /incubator/esme/branches/lift-2.0/server:928728-939625
+/incubator/esme/branches/lift-2.2/trunk/server:1043371-1051383
+/incubator/esme/branches/lift-2.2/trunk/server/src/main/webapp/info_view:1043380-1044792
 /incubator/esme/branches/metadata:966215-979767
 /incubator/esme/branches/tagandconversationfollow:966215-1006324
 /incubator/esme/branches/ui-2010-03-05:919339-923098

Modified: esme/trunk/server/pom.xml
URL: http://svn.apache.org/viewvc/esme/trunk/server/pom.xml?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/pom.xml (original)
+++ esme/trunk/server/pom.xml Thu Jan  6 18:32:04 2011
@@ -75,8 +75,8 @@
     </developer>
     </developers>
     <properties>
-        <lift.version>2.0</lift.version>
-        <scala.version>2.7.7</scala.version>
+        <lift.version>2.2</lift.version>
+        <scala.version>2.8.1</scala.version>
         <compass.version>2.1.1</compass.version>
         <lucene.version>2.4.0</lucene.version>
         <netbeans.hint.deploy.server>gfv3</netbeans.hint.deploy.server>
@@ -115,11 +115,6 @@
           <name>Twitter</name>
           <url>http://maven.twttr.com</url>
         </repository>
-         <repository>
-               <id>Configgy</id>
-              <name>http://www.lag.net/repo</name>
-              <url>http://www.lag.net/repo</url>
-          </repository>
           <repository>
              <id>Apache Repo</id> 
               <name>Apache repository for Derby 10.5.1.1</name> 
@@ -160,48 +155,48 @@
         </dependency>
         <dependency>
             <groupId>net.liftweb</groupId>
-            <artifactId>lift-util</artifactId>
+            <artifactId>lift-util_${scala.version}</artifactId>
             <version>${lift.version}</version>
         </dependency>
         <dependency>
             <groupId>net.liftweb</groupId>
-            <artifactId>lift-webkit</artifactId>
+            <artifactId>lift-webkit_${scala.version}</artifactId>
             <version>${lift.version}</version>
         </dependency>
         <dependency>
             <groupId>net.liftweb</groupId>
-            <artifactId>lift-widgets</artifactId>
+            <artifactId>lift-widgets_${scala.version}</artifactId>
             <version>${lift.version}</version>
         </dependency>
         <dependency>
             <groupId>net.liftweb</groupId>
-            <artifactId>lift-mapper</artifactId>
+            <artifactId>lift-mapper_${scala.version}</artifactId>
             <version>${lift.version}</version>
         </dependency>
         <dependency>
             <groupId>net.liftweb</groupId>
-            <artifactId>lift-testkit</artifactId>
+            <artifactId>lift-testkit_${scala.version}</artifactId>
             <version>${lift.version}</version>
-            <scope>test</scope>
+            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>net.liftweb</groupId>
-            <artifactId>lift-openid</artifactId>
+            <artifactId>lift-openid_${scala.version}</artifactId>
             <version>${lift.version}</version>
         </dependency>
          <dependency>
             <groupId>net.liftweb</groupId>
-            <artifactId>lift-actor</artifactId>
+            <artifactId>lift-actor_${scala.version}</artifactId>
             <version>${lift.version}</version>
         </dependency>
          <dependency>
             <groupId>net.liftweb</groupId>
-            <artifactId>lift-json</artifactId>
+            <artifactId>lift-json_${scala.version}</artifactId>
             <version>${lift.version}</version>
         </dependency>
          <dependency>
             <groupId>net.liftweb</groupId>
-            <artifactId>lift-common</artifactId>
+            <artifactId>lift-common_${scala.version}</artifactId>
             <version>${lift.version}</version>
         </dependency>
         <dependency>
@@ -251,17 +246,22 @@
         <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
-            <version>1.2.14</version>
+            <version>1.2.16</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
-            <version>1.5.11</version>
+            <version>1.6.1</version>
+        </dependency>
+        <dependency>
+           <groupId>org.slf4j</groupId>
+           <artifactId>slf4j-log4j12</artifactId>
+           <version>1.6.1</version>
         </dependency>
         <dependency>
             <groupId>net.lag</groupId>
             <artifactId>configgy</artifactId>
-            <version>1.5.3</version>
+            <version>2.0.1</version>
             <exclusions> 
               <exclusion> 
                 <groupId>org.scala-tools</groupId>
@@ -272,7 +272,7 @@
         <dependency>
             <groupId>com.twitter</groupId>
             <artifactId>ostrich</artifactId>
-            <version>1.1.26</version>    
+            <version>2.3.2</version>    
             <exclusions> 
               <exclusion> 
                 <groupId>org.scala-tools</groupId>

Propchange: esme/trunk/server/project/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Jan  6 18:32:04 2011
@@ -0,0 +1 @@
+boot

Propchange: esme/trunk/server/project/build/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Jan  6 18:32:04 2011
@@ -0,0 +1 @@
+target

Propchange: esme/trunk/server/project/plugins/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Jan  6 18:32:04 2011
@@ -0,0 +1,2 @@
+target
+project

Propchange: esme/trunk/server/src/main/resources/props/compass.filesystem.cfg.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan  6 18:32:04 2011
@@ -1,2 +1,4 @@
+/esme/branches/lift-2.2/trunk/server/src/main/resources/props/compass.filesystem.cfg.xml:1051384-1055974
+/incubator/esme/branches/lift-2.2/trunk/server/src/main/resources/props/compass.filesystem.cfg.xml:1043371-1051383
 /incubator/esme/branches/metadata/src/main/resources/props/compass.filesystem.cfg.xml:966215-979767
 /incubator/esme/branches/tagandconversationfollow/src/main/resources/props/compass.filesystem.cfg.xml:966215-1006324

Modified: esme/trunk/server/src/main/scala/bootstrap/liftweb/Boot.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/bootstrap/liftweb/Boot.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/bootstrap/liftweb/Boot.scala (original)
+++ esme/trunk/server/src/main/scala/bootstrap/liftweb/Boot.scala Thu Jan  6 18:32:04 2011
@@ -46,8 +46,8 @@ import org.compass.core.config.CompassCo
 
 import net.liftweb.widgets.tablesorter._
 //import com.twitter.stats._
-import com.twitter.ostrich.{ServiceTracker, Stats, StatsMBean}
-import net.lag.configgy.{RuntimeEnvironment, Config}
+import com.twitter.ostrich.{ServiceTracker, Stats, StatsMBean, RuntimeEnvironment}
+import net.lag.configgy.Config
 
 import _root_.net.liftweb.widgets.logchanger._
 
@@ -82,7 +82,7 @@ class Boot {
     LiftRules.addToPackages("org.apache.esme")
 
     if (Props.mode == Props.RunModes.Test) {
-      Schemifier.destroyTables_!!(Log.infoF _, User, ExtSession,
+      Schemifier.destroyTables_!!(Schemifier.infoF _, User, ExtSession,
         Message, Mailbox, Tag, UserTagFollow, UserConvFollow,
         Relationship, MessageTag,
         AuthToken, UrlStore, Tracking,
@@ -90,7 +90,7 @@ class Boot {
         Privilege, UserAuth, UserCryptoSig)
     }
 
-    Schemifier.schemify(true, Log.infoF _, User, ExtSession, Message,
+    Schemifier.schemify(true, Schemifier.infoF _, User, ExtSession, Message,
       Mailbox, Tag, UserTagFollow, UserConvFollow,
       Relationship, MessageTag, AuthToken,
       UrlStore, Tracking, Action, 
@@ -140,7 +140,7 @@ class Boot {
 
      //Dealing with URL-based request parameters
      
-    LiftRules.rewrite.prepend {
+    LiftRules.statelessRewrite.prepend {
       case RewriteRequest(ParsePath("user" :: user :: Nil, "", _, _), _, _) =>
         RewriteResponse(List("info_view", "user"), Map("uid" -> user))
       case RewriteRequest(ParsePath("tag" :: tag :: Nil, "", _, _), _, _) =>

Modified: esme/trunk/server/src/main/scala/org/apache/esme/actor/MessagePullActor.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/actor/MessagePullActor.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/actor/MessagePullActor.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/actor/MessagePullActor.scala Thu Jan  6 18:32:04 2011
@@ -28,7 +28,7 @@ import com.twitter.ostrich.Stats
 
 object MessagePullActor extends LiftActor {
   
-  private var messagePullActors: Map[Any, LiftActor] = Map()
+  private var messagePullActors: Map[Long, LiftActor] = Map()
   
   protected def messageHandler = {
     case StartPullActor(obj, lastMessage, messageSource) => 
@@ -58,9 +58,9 @@ object MessagePullActor extends LiftActo
   private case object StartUp
   private case object ByeBye
   private case object FetchMessages
-  case class StartPullActor(any: Any, lastMessage: Option[Msg], messageSource: UniqueMessageSource)
-  case class StopPullActor(any: Any)
-  case class Fetch(any: Any)
+  case class StartPullActor(id: Long, lastMessage: Option[Msg], messageSource: UniqueMessageSource)
+  case class StopPullActor(id: Long)
+  case class Fetch(id: Long)
 
 
   private class MessagePullActor(
@@ -98,5 +98,5 @@ trait UniqueMessageSource extends (() =>
       case Some(message: Msg) => msgs.filter{messageSorter(message, _)}
       case None => msgs
     }
-  }.sort(messageSorter)
+  }.sortWith(messageSorter)
 }

Modified: esme/trunk/server/src/main/scala/org/apache/esme/actor/SchedulerActor.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/actor/SchedulerActor.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/actor/SchedulerActor.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/actor/SchedulerActor.scala Thu Jan  6 18:32:04 2011
@@ -40,7 +40,7 @@ object SchedulerActor extends LiftActor{
       if (!regularsPerAction.contains(id)) {
         regularsPerAction += (id -> List(regularActor))
       } else {
-        regularsPerAction(id) += regularActor
+        regularsPerAction.updated(id,  regularActor :: regularsPerAction(id))
       }
     }
     

Modified: esme/trunk/server/src/main/scala/org/apache/esme/actor/UserActor.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/actor/UserActor.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/actor/UserActor.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/actor/UserActor.scala Thu Jan  6 18:32:04 2011
@@ -110,7 +110,7 @@ class UserActor extends LiftActor {
          pools = Privilege.findViewablePools(user)
         
       case CreateMessage(text, tags, when, metaData, source, replyTo, pool) =>
-        val tagLst = tags.removeDuplicates.map(Tag.findOrCreate)
+        val tagLst = tags.distinct.map(Tag.findOrCreate)
 
         Message.create.author(userId).when(when).
         source(source).
@@ -144,12 +144,12 @@ class UserActor extends LiftActor {
           Distributor ! Distributor.AddMessageToMailbox(id, msg,
                                                         DirectReason(userId))
 
-          for (convId <- msg.conversation.can ;
+          for (convId <- msg.conversation.box ;
                val msgId = Message.findMap(By(Message.conversation, convId))
                (m => Full(m.id.is));
                userId <- (Mailbox.findMap(InRaw(Mailbox.message, msgId.mkString(", "),
                                                 IHaveValidatedThisSQL("dpp", "Aug 27. 2008")))
-                          (mb => Full(mb.user.is))).removeDuplicates)
+                          (mb => Full(mb.user.is))).distinct)
           Distributor ! Distributor.AddMessageToMailbox(userId, msg, ConversationReason(convId))
                                              
           Distributor ! Distributor.NewMessage(msg)     
@@ -190,7 +190,7 @@ class UserActor extends LiftActor {
       case LatestMessages(cnt) =>
         reply(_mailbox.take(cnt).toList)
       
-      case AllowPool(poolId) => pools += poolId
+      case AllowPool(poolId) => pools ::= poolId
       
       case Resend(msgId) =>
         for (msg <- Message.find(msgId)) {

Modified: esme/trunk/server/src/main/scala/org/apache/esme/api/API2.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/api/API2.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/api/API2.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/api/API2.scala Thu Jan  6 18:32:04 2011
@@ -576,7 +576,7 @@ object API2 extends ApiHelper with XmlHe
            userName <- S.param("userId");
            user <- User.findFromWeb(userName);
            permissionName <- (S.param("permission") or Full("Write"));
-           permission <- Box(Permission.valueOf(permissionName)))
+           permission <- Box(Permission.values.find(_.toString == permissionName)))
       yield
         if(Privilege.hasPermission(adminUser.id.is, pool.id.is, Permission.Admin)) {
           val result = try {
@@ -723,7 +723,7 @@ object API2 extends ApiHelper with XmlHe
   }
 
   def unAuthorized(): LiftResponse = {
-    Full((403,Map(),Empty))
+    Full((403,Map.empty[String, String],Empty))
   }
 
   private def findAction(actionId: Box[String]): Box[Action] =
@@ -845,4 +845,4 @@ object API2 extends ApiHelper with XmlHe
   private case class ListenFor(who: LAFuture[List[(Message, MailboxReason)]],
                    howLong: TimeSpan)
   private case object ReleaseListener
-}                                                        
\ No newline at end of file
+}                                                        

Modified: esme/trunk/server/src/main/scala/org/apache/esme/api/RestAPI.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/api/RestAPI.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/api/RestAPI.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/api/RestAPI.scala Thu Jan  6 18:32:04 2011
@@ -288,7 +288,7 @@ object RestAPI extends XMLApiHelper {
   def sendMsgWithToken(req: Req): Box[LiftResponse] = {
     for (token <- req.param("token");
          auth <- AuthToken.find(By(AuthToken.uniqueId, token));
-         userId <- auth.user.can;
+         userId <- auth.user.box;
          ret <- sendMsg(Full(userId), req))  yield ret
   }
   
@@ -384,7 +384,7 @@ object RestAPI extends XMLApiHelper {
          userName <- S.param("user") ?~ S.?("base_rest_api_err_missing_param", "user");
          user <- User.findFromWeb(userName) ?~  S.?("base_rest_api_err_param_not_found", "User");
          permissionName <- (S.param("permission") or Full("Write"));
-         permission <- Box(Permission.valueOf(permissionName)) ?~ S.?("base_rest_api_err_param_not_found", "Permission")
+         permission <- Box(Permission.values.find(_.toString == permissionName)) ?~ S.?("base_rest_api_err_param_not_found", "Permission")
     ) yield if(Privilege.hasPermission(adminUser.id.is, pool.id.is, Permission.Admin)) {
       val result = try {
         Privilege.create.user(user).pool(pool).permission(permission).save

Modified: esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/api/TwitterAPI.scala Thu Jan  6 18:32:04 2011
@@ -168,7 +168,7 @@ abstract class TwitterAPI {
                                   OrderBy(Message.id, Descending),
                                   MaxRows(1))
     userAttributes(user) +
-      (("status", lastMsg.map(msgAttributes _).firstOption.getOrElse("")))
+      (("status", lastMsg.map(msgAttributes _).headOption.getOrElse("")))
   }
   
   def extendedUserData(user: User) =
@@ -419,11 +419,11 @@ object TwitterXmlAPI extends TwitterAPI 
   override def dispatch: LiftRules.DispatchPF = {
     // modify the returned function to one which converts the result to XML
     dispatchMethod.andThen(x =>
-      {() => Full(nodeSeqToResponse(toXml(unbox(x)))) }
+      {() => Full(listElemToResponse(toXml(unbox(x)))) }
     )
   }
 
-  def createTag(in: NodeSeq) = in.first match {
+  def createTag(in: NodeSeq) = in.head match {
     case e: Elem => e
     case _ => <error/>
   }
@@ -441,7 +441,7 @@ object TwitterJsonAPI extends TwitterAPI
   }
   
   def jsonAttributes(o: Any): JsExp = { o match {
-    case m: Map[String, Any] => toJson(m.values.next)
+    case m: Map[String, Any] => toJson(m.values.iterator.next)
     case o => toJson(o)}
   }
 

Modified: esme/trunk/server/src/main/scala/org/apache/esme/comet/ConversationTimeline.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/comet/ConversationTimeline.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/comet/ConversationTimeline.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/comet/ConversationTimeline.scala Thu Jan  6 18:32:04 2011
@@ -32,7 +32,7 @@ class ConversationTimeline extends Timel
   
   val jsId = "conversation_timeline_messages"
   var convId:Long = S.param("cid").map(_.toLong).openOr(-1L)  
-  var convMess:Message = Message.findMessages(List(convId)).values.toList.first   
+  var convMess:Message = Message.findMessages(List(convId)).values.toList.head
                                   
   override def localSetup() {
     super.localSetup()       
@@ -56,4 +56,4 @@ class ConversationTimeline extends Timel
       reRender(false)
   }   
 
-}
\ No newline at end of file
+}

Modified: esme/trunk/server/src/main/scala/org/apache/esme/external/AtomFeed.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/external/AtomFeed.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/external/AtomFeed.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/external/AtomFeed.scala Thu Jan  6 18:32:04 2011
@@ -51,8 +51,8 @@ class AtomFeed(user: User, atomURL: Stri
     if (link isEmpty)
       node \ "content" text
     else {
-      val alternate = link find(_ \ "@rel" == "alternate")
-      val anyLink = alternate getOrElse((link find(_ \ "@rel" == Nil)).get)
+      val alternate = link find(_ \ "@rel" xml_== "alternate")
+      val anyLink = alternate getOrElse((link find(_ \ "@rel" isEmpty)).get)
       anyLink \ "@href" text
     }
   }

Modified: esme/trunk/server/src/main/scala/org/apache/esme/external/Feed.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/external/Feed.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/external/Feed.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/external/Feed.scala Thu Jan  6 18:32:04 2011
@@ -82,7 +82,7 @@ abstract class Feed(val user: User, val 
   
   protected def parseInternetDate(dateString: String): Option[Date] = {
     val fixedDateString = fixDateString(dateString)
-    dateFormats.projection.flatMap(df => Helpers.tryo {
+    dateFormats.view.flatMap(df => Helpers.tryo {
       df.parse(fixedDateString)
     }).headOption
   }

Modified: esme/trunk/server/src/main/scala/org/apache/esme/lib/AccessPoolMgr.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/lib/AccessPoolMgr.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/lib/AccessPoolMgr.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/lib/AccessPoolMgr.scala Thu Jan  6 18:32:04 2011
@@ -38,6 +38,7 @@ import util._
 import common._
 import Helpers._
 
+import org.apache.esme._
 import model._
 import org.apache.esme.actor.Distributor
 
@@ -119,7 +120,7 @@ object AccessPoolMgr {
                   case Full(u)=> Privilege.findViewablePools(u.id).map(
                     p => (p.toString, AccessPool.find(p).get.getName)).toList
                   case _ => Nil
-                }).sort(_._2 < _._2)
+                }).sortWith(_._2 < _._2)
                 SetValById(theInput, "")  &
                 ReplaceOptions("edit_pool", selectPools, Full(p.id.is.toString))  &
                 FireOnchangeById("edit_pool") &
@@ -181,7 +182,7 @@ object AccessPoolMgr {
       case _ => Nil
     })
 
-    val permissions = Permission.map(perm => (perm.id.toString, perm.toString)).collect
+    val permissions = Permission.values.map(perm => (perm.id.toString, perm.toString)).toSeq
 
 
       /*

Modified: esme/trunk/server/src/main/scala/org/apache/esme/lib/AuthMgr.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/lib/AuthMgr.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/lib/AuthMgr.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/lib/AuthMgr.scala Thu Jan  6 18:32:04 2011
@@ -38,6 +38,7 @@ import util._
 import common._
 import Helpers._
 
+import org.apache.esme._
 import model._
 
 import scala.xml._

Modified: esme/trunk/server/src/main/scala/org/apache/esme/lib/ConversationMgr.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/lib/ConversationMgr.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/lib/ConversationMgr.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/lib/ConversationMgr.scala Thu Jan  6 18:32:04 2011
@@ -35,6 +35,7 @@ import util._
 import common._
 import Helpers._
 
+import org.apache.esme._
 import model._
 
 import scala.xml._
@@ -61,7 +62,7 @@ object ConversationMgr {
     def followOrUnfollow: NodeSeq = {          
       val ret: Box[NodeSeq] = for { 
         u <- user
-        m = messages.values.toList.first
+        m = messages.values.toList.head
       } yield {         
         if (!m.followers.contains(u)) {
           ajaxButton("Follow conversation", () => {  
@@ -87,7 +88,7 @@ object ConversationMgr {
 
     bind("conv", in,       
          "conversationId" -> cid,
-         "messagePool" -> messages.values.toList.first.pool.is,
+         "messagePool" -> messages.values.toList.head.pool.is,
          "cometTimeline" -> cometTimeline,
          "followButton" -> followOrUnfollow )       
   }                                

Modified: esme/trunk/server/src/main/scala/org/apache/esme/lib/MsgParser.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/lib/MsgParser.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/lib/MsgParser.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/lib/MsgParser.scala Thu Jan  6 18:32:04 2011
@@ -210,7 +210,7 @@ object MsgParser extends Parsers with Im
   def isNameChar(in: Char): Boolean = isTagChar(in) 
 
   lazy val hashTag: Parser[HashTag] = '#' ~> rep1(tagChar) ^^ {
-    case xs => HashTag(Tag.findOrCreate(xs))
+    case xs => HashTag(Tag.findOrCreate(xs.mkString("").trim))
   }
   
   lazy val tagChar: Parser[Elem] = elem("Tag Char", isTagChar _)

Modified: esme/trunk/server/src/main/scala/org/apache/esme/lib/ProfileMgr.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/lib/ProfileMgr.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/lib/ProfileMgr.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/lib/ProfileMgr.scala Thu Jan  6 18:32:04 2011
@@ -37,6 +37,7 @@ import util._
 import common._
 import Helpers._
 
+import org.apache.esme._
 import model._
 
 import org.openid4java.discovery.Identifier

Modified: esme/trunk/server/src/main/scala/org/apache/esme/lib/SearchMgr.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/lib/SearchMgr.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/lib/SearchMgr.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/lib/SearchMgr.scala Thu Jan  6 18:32:04 2011
@@ -35,6 +35,7 @@ import util._
 import common._
 import Helpers._
 
+import org.apache.esme._
 import model._
 
 import scala.xml._

Modified: esme/trunk/server/src/main/scala/org/apache/esme/lib/StreamMgr.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/lib/StreamMgr.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/lib/StreamMgr.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/lib/StreamMgr.scala Thu Jan  6 18:32:04 2011
@@ -41,7 +41,8 @@ import util._
 import common._
 import Helpers._
 
-import model._   
+import org.apache.esme._
+import model._ 
 import snippet.StreamDisplay
 
 import scala.xml._

Modified: esme/trunk/server/src/main/scala/org/apache/esme/lib/TrackMgr.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/lib/TrackMgr.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/lib/TrackMgr.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/lib/TrackMgr.scala Thu Jan  6 18:32:04 2011
@@ -38,6 +38,7 @@ import util._
 import common._
 import Helpers._
 
+import org.apache.esme._
 import model._
 
 import scala.xml._

Modified: esme/trunk/server/src/main/scala/org/apache/esme/lib/UserMgr.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/lib/UserMgr.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/lib/UserMgr.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/lib/UserMgr.scala Thu Jan  6 18:32:04 2011
@@ -35,6 +35,7 @@ import mapper._
 import util._
 import common._
 import Helpers._
+import org.apache.esme._
 import model._
 import org.apache.esme.model.{Message, User}
 

Modified: esme/trunk/server/src/main/scala/org/apache/esme/liftwebext/SHtml.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/liftwebext/SHtml.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/liftwebext/SHtml.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/liftwebext/SHtml.scala Thu Jan  6 18:32:04 2011
@@ -103,7 +103,7 @@ object SHtml {
   private def getSortedOpts(opts: Seq[(String, String)], excludeFirstOpt: Boolean): Seq[(String, String)] =
     if ( excludeFirstOpt )
       opts match {
-        case first :: rest => first :: rest.toList.sort( (first: (String, String), second: (String, String)) => first._2.toUpperCase < second._2.toUpperCase)
+        case first :: rest => first :: rest.toList.sortWith( (first: (String, String), second: (String, String)) => first._2.toUpperCase < second._2.toUpperCase)
         case _ => opts
       }
     else

Modified: esme/trunk/server/src/main/scala/org/apache/esme/model/AccessPool.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/model/AccessPool.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/model/AccessPool.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/model/AccessPool.scala Thu Jan  6 18:32:04 2011
@@ -44,9 +44,9 @@ object AccessPool extends AccessPool wit
     ap
   }
 
-  def getPoolName(poolId: long) = {
+  def getPoolName(poolId: Long) = {
     AccessPool.find(poolId) match {
-      case Full(p) => p.getName
+      case Full(p : AccessPool) => p.getName
       case _ => "ERROR"
     }
   }

Modified: esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/model/Action.scala Thu Jan  6 18:32:04 2011
@@ -203,7 +203,7 @@ class Action extends LongKeyedMapper[Act
                                           MaxRows(1))
             val lastMsg = if (msgList.isEmpty) None 
               else {
-                val m = msgList.first
+                val m = msgList.head
                 Some(Distributor.UserCreatedMessage(user, m.body, m.tags, m.when, Empty, m.source, Full(m.replyTo), None))
               }
 
@@ -211,7 +211,7 @@ class Action extends LongKeyedMapper[Act
               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)
+            MessagePullActor ! MessagePullActor.StartPullActor(id.is, lastMsg, feed)
           
           case _ =>
         }

Modified: esme/trunk/server/src/main/scala/org/apache/esme/model/Mailbox.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/model/Mailbox.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/model/Mailbox.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/model/Mailbox.scala Thu Jan  6 18:32:04 2011
@@ -72,8 +72,8 @@ class Mailbox extends LongKeyedMapper[Ma
   object resent extends MappedBoolean(this)
 
   lazy val reason: MailboxReason =
-  viaTrack.can.map(TrackReason) or directlyFrom.can.map(DirectReason)  or
-  conversation.can.map(ConversationReason) openOr NoReason
+  viaTrack.box.map(TrackReason) or directlyFrom.box.map(DirectReason)  or
+  conversation.box.map(ConversationReason) openOr NoReason
 }
 
 sealed trait MailboxReason {

Modified: esme/trunk/server/src/main/scala/org/apache/esme/model/Message.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/model/Message.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/model/Message.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/model/Message.scala Thu Jan  6 18:32:04 2011
@@ -134,8 +134,8 @@ object Message extends Message with Long
     val ret: List[Message] = this.findAll(params :_*)
 
 
-    val userIds: List[Long] = (ret.flatMap(_.author.can) :::
-                               ret.flatMap(_.sentToIds)).removeDuplicates
+    val userIds: List[Long] = (ret.flatMap(_.author.box) :::
+                               ret.flatMap(_.sentToIds)).distinct
 
     val users:Map[Long, User] = Map(User.findAll(InRaw(User.id, userIds.mkString(","),
                                                        IHaveValidatedThisSQL("dpp", "Aug 23, 2008"))).map(u => (u.id.is, u)) :_*)
@@ -145,7 +145,7 @@ object Message extends Message with Long
   }
 
   def search(searchTerm: String, following: List[User], numHits: Int): List[Message] = {
-    val users:List[String] = following.map(user => user.nickname)
+    val users:List[String] = following.map(user => user.nickname.is)
 
     logger.debug("Inside Message.search() with user list "+(users.mkString(", ")))
 
@@ -252,7 +252,7 @@ object Message extends Message with Long
     val weights = compoundStem(messages.flatMap(_.wordFrequencies))
 
     // Start with the top N tags
-    val sortedWeights = weights.sort(_._2 > _._2).take(n)
+    val sortedWeights = weights.sortWith(_._2 > _._2).take(n)
 
     // And create a normalized cente-weighted list, e.g. smallest, small, Larger, BIG, *HUGE*, BIG, Larger, small, smallest
     TagUtils.normalize(TagUtils.everyEven(sortedWeights).reverse ::: TagUtils.everyOdd(sortedWeights))
@@ -274,7 +274,7 @@ object Message extends Message with Long
         case e: Elem if "body" == e.label => <body>{ns}</body>
         case _ => n
       }
-    })).first
+    })).head
   }
 }
 
@@ -319,7 +319,7 @@ class Message extends LongKeyedMapper[Me
   lazy val metaData: String = {
     val org = originalXml
 
-    (org \ "metadata").map(_.text).first
+    (org \ "metadata").map(_.text).head
   }
 
 
@@ -335,7 +335,7 @@ class Message extends LongKeyedMapper[Me
   }
   
   private[model] def preload(users: Map[Long, User]) {
-    author.can.foreach{
+    author.box.foreach{
       id =>
       this.author.primeObj(users.get(id))
     }
@@ -345,12 +345,12 @@ class Message extends LongKeyedMapper[Me
 
   private def replyToTag: MetaData =
   new UnprefixedAttribute("reply_to",
-                          replyTo.can.map(i => Text(i.toString)).toOption,
+                          replyTo.box.map(i => Text(i.toString)).toOption,
                           Null)
 
   private def conversationTag: MetaData =
   new UnprefixedAttribute("conversation",
-                          conversation.can.map(i => Text(i.toString)).toOption,
+                          conversation.box.map(i => Text(i.toString)).toOption,
                           Null)
 
   override lazy val toXml: Elem = {
@@ -486,26 +486,26 @@ class Message extends LongKeyedMapper[Me
   def getAuthor:Long = author.is
 
   // termVector=YES means that we get the word frequencies for tag clouds
-  @SearchableProperty{val termVector=TermVector.YES, val analyzer="stemming"}
+  @SearchableProperty(termVector=TermVector.YES, analyzer="stemming")
   def getText:String = originalXml.text
   
   // Body without extra tags
   def getBody:String = body
 
-  @SearchableProperty{val termVector=TermVector.YES, val analyzer="default"}
+  @SearchableProperty(termVector=TermVector.YES, analyzer="default")
   def getTextWords:String = originalXml.text
 
-  @SearchableProperty{val format="yyyy-MM-dd mm:ss"}
+  @SearchableProperty(format="yyyy-MM-dd mm:ss")
   def getWhen = new java.util.Date(when.is)
 
-  @SearchableProperty{val termVector=TermVector.YES, val analyzer="default"}
+  @SearchableProperty(termVector=TermVector.YES, analyzer="default")
   def getTags:String = {
     // Create a string of space-separated tags, with the spaces in each tag converted to underscores 
     val tagString: String = tags.map(x => x.split(" ").mkString("_")).mkString(" ").toLowerCase()  
     tagString
   } 
 
-  @SearchableProperty{val termVector=TermVector.YES, val analyzer="pool"}
+  @SearchableProperty(termVector=TermVector.YES, analyzer="pool")
   def getPool = pool.is
 
   /**
@@ -532,7 +532,7 @@ class Message extends LongKeyedMapper[Me
           }</body>
         <tags>{
             ((lst.flatMap{case HashTag(t) => Full(t) case _ => Empty})
-             ::: tags).removeDuplicates.map(_.toXml)
+             ::: tags).distinct.map(_.toXml)
           }</tags>{
           metaData match {
             case Full(xs) => <metadata>{xs}</metadata>

Modified: esme/trunk/server/src/main/scala/org/apache/esme/model/Privilege.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/model/Privilege.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/model/Privilege.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/model/Privilege.scala Thu Jan  6 18:32:04 2011
@@ -35,6 +35,7 @@ import util._
 import common._
 import Helpers._
 
+import org.apache.esme._
 import model._
 
 object Privilege extends Privilege with LongKeyedMetaMapper[Privilege] {

Modified: esme/trunk/server/src/main/scala/org/apache/esme/model/Tag.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/model/Tag.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/model/Tag.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/model/Tag.scala Thu Jan  6 18:32:04 2011
@@ -53,7 +53,7 @@ object Tag extends Tag with MetaProtoTag
     val weights = compound(messages.flatMap(_.tagFrequencies))
 
     // Start with the top 20 tags, sorted by frequency
-    val sortedWeights = weights.sort(_._2 > _._2).take(n)
+    val sortedWeights = weights.sortWith(_._2 > _._2).take(n)
 
     // And create a normalized cente-weighted list, e.g. smallest, small, Larger, BIG, *HUGE*, BIG, Larger, small, smallest
     TagUtils.normalize(TagUtils.everyEven(sortedWeights).reverse ::: TagUtils.everyOdd(sortedWeights))

Modified: esme/trunk/server/src/main/scala/org/apache/esme/model/Tracking.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/model/Tracking.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/model/Tracking.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/model/Tracking.scala Thu Jan  6 18:32:04 2011
@@ -48,7 +48,7 @@ class Tracking extends LongKeyedMapper[T
 
   override def toXml: Elem = 
   <tracking id={id.toString} 
-    user={user.can.map(l => Text(l.toString)).toOption}
+    user={user.box.map(l => Text(l.toString)).toOption}
     pattern={pattern}
     removed={removed.toString}
     createdAt={createdAt.toString}></tracking>
@@ -93,7 +93,7 @@ object uniqueId extends MappedUniqueId(t
     }
 
     def matcher: Box[TrackingMatcher] = {
-      who.can match {
+      who.box match {
         case Full(whoId) =>
           Full(new PersonTrackingMatcher(id, whoId))
 

Modified: esme/trunk/server/src/main/scala/org/apache/esme/model/User.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/model/User.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/model/User.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/model/User.scala Thu Jan  6 18:32:04 2011
@@ -114,8 +114,8 @@ object User extends User with KeyedMetaM
            "timezone" -%> user.timezone.toForm,
            "locale" -%> user.locale.toForm,
            "credentials" -> auth.toForm,
-           "submit" -%> SHtml.submit(S.?("base_user_ui_signup"), doSubmit _),
-    ) ++ SHtml.hidden(doSubmit _)
+           "submit" -%> SHtml.submit(S.?("base_user_ui_signup"), doSubmit _)
+    ) ++ SHtml.hidden(() => { doSubmit})
     }
 
 
@@ -187,9 +187,9 @@ object User extends User with KeyedMetaM
 
   def currentUser: Box[User] = curUser.is
 
-  def getNickname(userId: long) = {
+  def getNickname(userId: Long) = {
     User.find(userId) match {
-      case Full(u) => u.nickname.is
+      case Full(u : User) => u.nickname.is
       case _ => "ERROR"
     }
   }

Modified: esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserDisplay.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserDisplay.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserDisplay.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserDisplay.scala Thu Jan  6 18:32:04 2011
@@ -60,7 +60,7 @@ object UserDisplay {
     }    
     
     def cometTimeline:NodeSeq = {                                        
-      println(<lift:comet type="UserMessagesTimeline" name={"user"+user.id.is} />)
+      //println(<lift:comet type="UserMessagesTimeline" name={"user"+user.id.is} />)
       <lift:comet type="UserMessagesTimeline" name={"user"+user.id.is} />
     }
                                                       

Modified: esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserSnip.scala
URL: http://svn.apache.org/viewvc/esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserSnip.scala?rev=1055994&r1=1055993&r2=1055994&view=diff
==============================================================================
--- esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserSnip.scala (original)
+++ esme/trunk/server/src/main/scala/org/apache/esme/snippet/UserSnip.scala Thu Jan  6 18:32:04 2011
@@ -114,7 +114,7 @@ class UserSnip extends DispatchSnippet {
     
     (<foo>{in}</foo> \ lookFor).toList.
     filter(_.prefix == "logged").
-    map(_.child).firstOption.getOrElse(NodeSeq.Empty)
+    map(_.child).headOption.getOrElse(NodeSeq.Empty)
   }
 
   def userFmt(u: User): Node = 
@@ -179,7 +179,7 @@ class UserSnip extends DispatchSnippet {
       yield p)
         .map( p => {val pool = AccessPool.find(p); (pool.get.id.is.toString, pool.get.getName)} )
         .toList
-        .sort( ( first: (String, String), second: (String, String)) => first._2.toUpperCase < second._2.toUpperCase)
+        .sortWith( ( first: (String, String), second: (String, String)) => first._2.toUpperCase < second._2.toUpperCase)
         .map(p => <option value={p._1}>{p._2}</option>)
   }