You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2006/03/10 04:03:45 UTC

svn commit: r384689 - /incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java

Author: snoopdave
Date: Thu Mar  9 19:03:37 2006
New Revision: 384689

URL: http://svn.apache.org/viewcvs?rev=384689&view=rev
Log:
Force weblog by handle to be insensitive about handle case, 2nd part of fix for ROL-1066

Modified:
    incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java

Modified: incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java?rev=384689&r1=384688&r2=384689&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/roller/business/hibernate/HibernateUserManagerImpl.java Thu Mar  9 19:03:37 2006
@@ -3,7 +3,6 @@
  */
 package org.roller.business.hibernate;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -17,6 +16,7 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.hibernate.criterion.SimpleExpression;
 import org.roller.RollerException;
 import org.roller.business.PersistenceStrategy;
 import org.roller.business.UserManagerImpl;
@@ -46,6 +46,13 @@
     
     private static Log mLogger =
         LogFactory.getFactory().getInstance(HibernateUserManagerImpl.class);
+        
+    /** Doesn't seem to be any other way to get ignore case w/o QBE */
+    class IgnoreCaseEqExpression extends SimpleExpression {
+        public IgnoreCaseEqExpression(String property, Object value) {
+            super(property, value, "=", true);
+        }
+    }
     
     /**
      * @param strategy
@@ -141,7 +148,7 @@
             throw new RollerException(e);
         }
     }
-    
+
     /** 
      * Return website specified by handle.
      */
@@ -155,11 +162,11 @@
         {
             Session session = ((HibernateStrategy)mStrategy).getSession();
             Criteria criteria = session.createCriteria(WebsiteData.class);
-            if (enabled != null) 
+            if (enabled != null)
             {
                 criteria.add(
                    Expression.conjunction()
-                       .add(Expression.eq("handle", handle))
+                       .add(new IgnoreCaseEqExpression("handle", handle))
                        .add(Expression.eq("enabled", enabled)));
             }
             else
@@ -168,7 +175,8 @@
                     Expression.conjunction()
                         .add(Expression.eq("handle", handle)));
             }        
-            return (WebsiteData)criteria.uniqueResult();
+            WebsiteData website = (WebsiteData)criteria.uniqueResult();
+            return website;
         }
         catch (HibernateException e)
         {