You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@esme.apache.org by rh...@apache.org on 2010/06/01 13:56:56 UTC

svn commit: r950029 - in /incubator/esme/trunk/server/src/main: resources/ESMEBase.properties scala/org/apache/esme/lib/AuthMgr.scala scala/org/apache/esme/model/AuthToken.scala

Author: rhirsch
Date: Tue Jun  1 11:56:55 2010
New Revision: 950029

URL: http://svn.apache.org/viewvc?rev=950029&view=rev
Log:
[ESME-215] Prevent duplicate token names

Modified:
    incubator/esme/trunk/server/src/main/resources/ESMEBase.properties
    incubator/esme/trunk/server/src/main/scala/org/apache/esme/lib/AuthMgr.scala
    incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/AuthToken.scala

Modified: incubator/esme/trunk/server/src/main/resources/ESMEBase.properties
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/resources/ESMEBase.properties?rev=950029&r1=950028&r2=950029&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/resources/ESMEBase.properties (original)
+++ incubator/esme/trunk/server/src/main/resources/ESMEBase.properties Tue Jun  1 11:56:55 2010
@@ -77,7 +77,7 @@ base_user_edit_openid_duplicate=This Ope
 base_token_menu=My Tokens
 base_token_error_name_short=Token description too short! Token descriptions must have a length of at least 3 characters!
 base_token_msg_new_token=A new token '%s' has been created. 
-base_token_msg_removed=Action '%s' removed
+base_token_msg_removed=Token '%s' removed
 base_token_err_duplicate_token=The description '%s' is taken, please choose another
 
 base_track_menu=My Tracks
@@ -86,6 +86,7 @@ base_track_error_name_long=The track is 
 base_track_msg_success=Now tracking '%s'
 base_track_msg_removed=Track '%s' removed
 base_track_msg_active=Active state of the track '%s' changed: %b
+base_track_err_duplicate_name=The name '%s' is taken, please choose another
 
 base_streams_menu=Streams
 base_streams_resend_any=--any--
@@ -98,6 +99,7 @@ base_action_msg_new_action=A new action 
 base_action_error_min_len=The name must be at least 2 characters long!
 base_action_msg_removed=Action '%s' removed
 base_action_msg_active=Active state of the action '%s' changed
+base_action_err_duplicate_name=The name '%s' is taken, please choose another
 
 base_twitter_api_err_user_not_found=User was not found
 base_twitter_api_err_user_not_included=Message was not included

Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/lib/AuthMgr.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/lib/AuthMgr.scala?rev=950029&r1=950028&r2=950029&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/lib/AuthMgr.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/lib/AuthMgr.scala Tue Jun  1 11:56:55 2010
@@ -112,9 +112,13 @@ object AuthMgr {
     def addAuthToken(desc: String): JsCmd = {
       desc.trim match {
         case x if x.length < 3 => DisplayMessage("messages", <b>{S.?("base_token_error_name_short")}</b>,  3 seconds, 3 seconds)
-        case x => AuthToken.create.description(x).user(user).saveMe
-         redisplayTokens() & SetValById(theInput, "") &
-          DisplayMessage("messages", <b>{S.?("base_token_msg_new_token", x)}</b>,  3 seconds, 3 seconds)
+        case x => val token = AuthToken.create.description(x).user(user)
+                token.validate match {
+                    case Nil => token.saveMe
+                          redisplayTokens() & SetValById(theInput, "") &
+                          DisplayMessage("messages", <b>{S.?("base_token_msg_new_token", x)}</b>,  3 seconds, 3 seconds)
+                     case xs => DisplayMessage("messages", <b>{S.?("base_token_err_duplicate_token", x)}</b>,  3 seconds, 3 seconds)
+        }
       }
 
      

Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/AuthToken.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/AuthToken.scala?rev=950029&r1=950028&r2=950029&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/AuthToken.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/AuthToken.scala Tue Jun  1 11:56:55 2010
@@ -17,6 +17,13 @@ package org.apache.esme.model
  * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
+ 
+ 	override def create: AuthToken = {
+		val ap = super.create
+		ap.createdDate(new Date())
+		ap
+    } 
+    
  */
 
 import net.liftweb._
@@ -35,47 +42,47 @@ import java.util.Date
 import scala.xml.{Text, Node, Elem => XmlElem}
 
 object AuthToken extends AuthToken with LongKeyedMetaMapper[AuthToken] {
-  // override def dbIndexes = Index(user, status) :: super.dbIndexes
-  
-     override def create: AuthToken = {
-    val ap = super.create
-    ap.createdDate(new Date())
-    ap
-  } 
+
+	override def create: AuthToken = {	
+	    val ap = super.create
+            ap.createdDate(new Date())
+            ap
+		
+    } 
 }
 
 class AuthToken extends LongKeyedMapper[AuthToken] {
-  def getSingleton = AuthToken // what's the "meta" server
-  def primaryKeyField = id
+	def getSingleton = AuthToken // what's the "meta" server
+	def primaryKeyField = id
 
-  def findByDescription(str: String): List[AuthToken] =
-  AuthToken.findAll(By(description, str))
-
-  object id extends MappedLongIndex(this)
-  object user extends MappedLongForeignKey(this, User)
-  object description extends MappedPoliteString(this, 64) {
-  
-    private def validateDescription(str: String): List[FieldError] = {
-      val others = getSingleton.findByDescription(str).
-      filter(_.id.is != fieldOwner.id.is)
-      others.map{u =>
-        val msg = S.?("base_token_err_duplicate_token", str)
-        S.error(msg)
-        FieldError(this, Text(msg))
-      }
-    }
-
-
-    override def validations = validateDescription _ :: super.validations
-  }
-   //define createfields
-  object createdDate extends MappedDateTime(this)
-  
-
-  
-  object uniqueId extends MappedUniqueId(this, 32) {
-    override def dbIndexed_? = true
-    
-  }
+	object id extends MappedLongIndex(this)
+	object user extends MappedLongForeignKey(this, User)
+	object description extends MappedPoliteString(this, 64) {
+
+		private def validateDescription(str: String): List[FieldError] = {
+		                
+				val others = getSingleton.findByDescription(str)
+				others.map{u => 
+				val msg = S.?("base_token_err_duplicate_token", str)
+						S.error(msg)
+						FieldError(this, Text(msg))
+				}
+		}
+
+
+		override def validations = validateDescription _ :: super.validations
+	}
+	//define created on field
+	object createdDate extends MappedDateTime(this)
+	object uniqueId extends MappedUniqueId(this, 32) {
+		override def dbIndexed_? = true
+
+	}
+	
+	/**
+          * Method to find all tokens by a description
+          */
+	def findByDescription(str: String): List[AuthToken] =
+		AuthToken.findAll(By(description, str), By(user,User.currentUser))
 }