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))
}