Author: solomax
Date: Wed May 22 03:43:07 2013
New Revision: 1485042

URL: http://svn.apache.org/r1485042
Log:
[OPENMEETINGS-643] username/email validations are corrected

Added:
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/OmAjaxFormValidatingBehavior.java
Modified:
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/EmailManager.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDao.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/User.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/labels/LangForm.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/servers/ServerForm.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/users/UserForm.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/ProfilePanel.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomPanel.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/xmlimport/UserImport.java

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/EmailManager.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/EmailManager.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/EmailManager.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/EmailManager.java
 Wed May 22 03:43:07 2013
@@ -18,16 +18,14 @@
  */
 package org.apache.openmeetings.data.user;
 
+import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
 import static 
org.apache.openmeetings.persistence.beans.basic.Configuration.DEFAUT_LANG_KEY;
 
 import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
-import javax.persistence.TypedQuery;
 
-import org.apache.openmeetings.OpenmeetingsVariables;
 import org.apache.openmeetings.data.basic.FieldManager;
 import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
-import org.apache.openmeetings.persistence.beans.user.Address;
 import org.apache.openmeetings.templates.RegisterUserTemplate;
 import org.apache.openmeetings.utils.mail.MailHandler;
 import org.red5.logging.Red5LoggerFactory;
@@ -43,9 +41,7 @@ import org.springframework.transaction.a
  */
 @Transactional
 public class EmailManager {
-
-       private static final Logger log = Red5LoggerFactory.getLogger(
-                       EmailManager.class, 
OpenmeetingsVariables.webAppRootKey);
+       private static final Logger log = 
Red5LoggerFactory.getLogger(EmailManager.class, webAppRootKey);
 
        @PersistenceContext
        private EntityManager em;
@@ -70,7 +66,7 @@ public class EmailManager {
         */
        public String sendMail(String Username, String Userpass, String EMail,
                        String link, Boolean sendEmailWithVerficationCode) {
-
+               log.debug("sendMail:: username = {}, email = {}", Username, 
EMail);
                Integer sendEmailAtRegister = 
configurationDao.getConfValue("sendEmailAtRegister", Integer.class, "0");
 
                if (sendEmailAtRegister == 1) {
@@ -99,31 +95,4 @@ public class EmailManager {
                String succ = "invalid email";
                return succ;
        }
-
-       /**
-        * Checks if a mail is already taken by someone else
-        * 
-        * @param email
-        * @return
-        */
-       public boolean checkUserEMail(String email) {
-               try {
-                       if (email == null || email.length() == 0)
-                               return true;
-                       log.debug("checkUserMail: " + email);
-                       TypedQuery<Address> query = em
-                                       .createQuery("select c from Address as 
c where c.email LIKE :email AND c.deleted <> :deleted", Address.class);
-                       query.setParameter("email", email);
-                       query.setParameter("deleted", true);
-                       int count = query.getResultList().size();
-                       log.debug("size: " + count);
-
-                       if (count > 0) {
-                               return false;
-                       }
-               } catch (Exception ex2) {
-                       log.error("checkUserEMail: ", ex2);
-               }
-               return true;
-       }
 }

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java
 Wed May 22 03:43:07 2013
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.data.user;
 
+import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
 import static 
org.apache.openmeetings.persistence.beans.basic.Configuration.DEFAUT_LANG_KEY;
 import static 
org.apache.openmeetings.persistence.beans.basic.Configuration.FRONTEND_REGISTER_KEY;
 import static 
org.apache.openmeetings.persistence.beans.basic.Configuration.LOGIN_MIN_LENGTH_KEY;
@@ -41,7 +42,6 @@ import javax.persistence.criteria.Predic
 import javax.persistence.criteria.Root;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.openmeetings.OpenmeetingsVariables;
 import org.apache.openmeetings.data.basic.AuthLevelUtil;
 import org.apache.openmeetings.data.basic.FieldManager;
 import org.apache.openmeetings.data.basic.SessiondataDao;
@@ -81,9 +81,7 @@ import org.springframework.transaction.a
  */
 @Transactional
 public class UserManager {
-
-       private static final Logger log = Red5LoggerFactory.getLogger(
-                       UserManager.class, OpenmeetingsVariables.webAppRootKey);
+       private static final Logger log = 
Red5LoggerFactory.getLogger(UserManager.class, webAppRootKey);
 
        @PersistenceContext
        private EntityManager em;
@@ -448,7 +446,7 @@ public class UserManager {
                                boolean checkName = true;
 
                                if (!login.equals(us.getLogin())) {
-                                       checkName = 
usersDao.checkUserLogin(login);
+                                       checkName = 
usersDao.checkUserLogin(login, user_id);
                                }
                                boolean checkEmail = true;
 
@@ -457,7 +455,7 @@ public class UserManager {
 
                                        // Its a new one - check, whether 
another user already uses
                                        // that one...
-                                       checkEmail = 
emailManagement.checkUserEMail(email);
+                                       checkEmail = 
usersDao.checkUserEMail(email, user_id);
                                }
 
                                if (checkName && checkEmail) {
@@ -881,8 +879,8 @@ public class UserManager {
                        // Check for required data
                        if (login.length() >= 
userLoginMinimumLength.intValue()) {
                                // Check for duplicates
-                               boolean checkName = 
usersDao.checkUserLogin(login);
-                               boolean checkEmail = 
emailManagement.checkUserEMail(email);
+                               boolean checkName = 
usersDao.checkUserLogin(login, null);
+                               boolean checkEmail = 
usersDao.checkUserEMail(email, null);
                                if (checkName && checkEmail) {
 
                                        String hash = cryptManager
@@ -1184,8 +1182,7 @@ public class UserManager {
                                        String email = 
values.get("email").toString();
 
                                        if 
(!email.equals(savedUser.getAdresses().getEmail())) {
-                                               boolean checkEmail = 
emailManagement
-                                                               
.checkUserEMail(email);
+                                               boolean checkEmail = 
usersDao.checkUserEMail(email, user_id);
                                                if (!checkEmail) {
                                                        // mail already used by 
another user!
                                                        returnLong = new 
Long(-11);

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDao.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDao.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDao.java
 Wed May 22 03:43:07 2013
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.data.user.dao;
 
+import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
 import static 
org.apache.openmeetings.persistence.beans.basic.Configuration.DEFAUT_LANG_KEY;
 
 import java.util.Date;
@@ -31,7 +32,6 @@ import javax.persistence.TypedQuery;
 import org.apache.commons.lang.StringUtils;
 import org.apache.openjpa.persistence.OpenJPAPersistence;
 import org.apache.openjpa.persistence.OpenJPAQuery;
-import org.apache.openmeetings.OpenmeetingsVariables;
 import org.apache.openmeetings.data.IDataProviderDao;
 import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
 import org.apache.openmeetings.data.basic.dao.OmTimeZoneDao;
@@ -52,9 +52,7 @@ import org.springframework.transaction.a
  */
 @Transactional
 public class UsersDao implements IDataProviderDao<User> {
-
-       private static final Logger log = Red5LoggerFactory.getLogger(
-                       UsersDao.class, OpenmeetingsVariables.webAppRootKey);
+       private static final Logger log = 
Red5LoggerFactory.getLogger(UsersDao.class, webAppRootKey);
 
        public final static String[] searchFields = {"lastname", "firstname", 
"login", "adresses.email", "adresses.town"};
 
@@ -223,23 +221,35 @@ public class UsersDao implements IDataPr
         * @param DataValue
         * @return
         */
-       public boolean checkUserLogin(String DataValue) {
-               try {
-                       TypedQuery<User> query = em
-                                       .createNamedQuery("checkUserLogin", 
User.class);
-                       query.setParameter("DataValue", DataValue);
-                       query.setParameter("deleted", true);
-                       int count = query.getResultList().size();
-
-                       if (count != 0) {
-                               return false;
-                       }
-               } catch (Exception ex2) {
-                       log.error("[checkUserData]", ex2);
-               }
-               return true;
+       public boolean checkUserLogin(String login, Long id) {
+               log.debug("checkUserLogin: email = {}, id = {}", login, id);
+               long count = em.createNamedQuery("checkUserLogin", Long.class)
+                               .setParameter("login", login)
+                               .setParameter("id", id == null ? 0 : id)
+                               .getSingleResult();
+               return count == 0;
        }
 
+       /**
+        * Checks if a mail is already taken by someone else
+        * 
+        * @param email
+        * @return
+        */
+       public boolean checkUserEMail(String email, Long id) {
+               log.debug("checkUserMail: email = {}, id = {}", email, id);
+               if (email == null || email.length() == 0) {
+                       return true;
+               }
+               long count = em.createNamedQuery("checkUserEmail", Long.class)
+                       .setParameter("email", email)
+                       .setParameter("id", id == null ? 0 : id)
+                       .getSingleResult();
+               log.debug("size: " + count);
+
+               return count == 0;
+       }
+       
        public User getUserByName(String login) {
                try {
                        TypedQuery<User> query = 
em.createNamedQuery("getUserByName", User.class);

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/User.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/User.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/User.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/User.java
 Wed May 22 03:43:07 2013
@@ -70,14 +70,13 @@ import org.simpleframework.xml.Root;
  * 
  */
 @Entity
-@FetchGroups({
- @FetchGroup(name = "backupexport",
-                attributes = { @FetchAttribute(name = "password")
- })
-})
+@FetchGroups({ @FetchGroup(name = "backupexport", attributes = { 
@FetchAttribute(name = "password") }) })
 @NamedQueries({
        @NamedQuery(name = "getUserById", query = "select c from User as c 
where c.user_id = :user_id"),
-       @NamedQuery(name = "checkUserLogin", query = "select c from User as c 
where c.login = :DataValue AND c.deleted <> :deleted"),
+       @NamedQuery(name = "checkUserLogin", query = "SELECT COUNT(u) FROM User 
AS u WHERE ((:id > 0 AND u.user_id <> :id) OR (:id = 0)) "
+                       + "AND u.login = :login AND u.deleted = false"),
+       @NamedQuery(name = "checkUserEmail", query = "SELECT COUNT(u) FROM User 
u WHERE ((:id > 0 AND u.user_id <> :id) OR (:id = 0)) "
+                       + "AND u.adresses.email = :email AND u.deleted = 
false"),
        @NamedQuery(name = "getUserByName", query = "SELECT u FROM User as u "
                        + " where u.login = :login" + " AND u.deleted <> 
:deleted"),
        @NamedQuery(name = "getUserByEmail", query = "SELECT u FROM User as u "
@@ -96,9 +95,7 @@ import org.simpleframework.xml.Root;
                        + "where c.deleted = false " //
                        + "AND c.user_id = :userId " //
                        + "AND c.password LIKE :password"), //
-       @NamedQuery(name = "updatePassword", query = "UPDATE User u " //
-                       + "SET u.password = :password " //
-                       + "WHERE u.user_id = :userId"), //
+       @NamedQuery(name = "updatePassword", query = "UPDATE User u SET 
u.password = :password WHERE u.user_id = :userId"), //
        @NamedQuery(name = "getNondeletedUsers", query = "SELECT u FROM User u 
WHERE u.deleted = false"),
        @NamedQuery(name = "countNondeletedUsers", query = "SELECT COUNT(u) 
FROM User u WHERE u.deleted = false"),
        @NamedQuery(name = "getUsersByOrganisationId", query = "SELECT u FROM 
User u WHERE u.deleted = false AND 
u.organisation_users.organisation.organisation_id = :organisation_id") 

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/configurations/ConfigForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
 Wed May 22 03:43:07 2013
@@ -23,8 +23,8 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.web.admin.AdminBaseForm;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.datetime.markup.html.basic.DateLabel;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
@@ -77,8 +77,7 @@ public class ConfigForm extends AdminBas
                
                // attach an ajax validation behavior to all form component's 
keydown
                // event and throttle it down to once per second
-               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
-                               Duration.ONE_SECOND);
+               OmAjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown", Duration.ONE_SECOND);
 
        }
        

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/groups/GroupForm.java
 Wed May 22 03:43:07 2013
@@ -23,8 +23,8 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.web.admin.AdminBaseForm;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.RequiredTextField;
@@ -47,8 +47,7 @@ public class GroupForm extends AdminBase
 
                // attach an ajax validation behavior to all form component's 
keydown
                // event and throttle it down to once per second
-               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
-                               Duration.ONE_SECOND);
+               OmAjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown", Duration.ONE_SECOND);
        }
        
        void updateView(AjaxRequestTarget target) {

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/labels/LangForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/labels/LangForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/labels/LangForm.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/labels/LangForm.java
 Wed May 22 03:43:07 2013
@@ -22,11 +22,11 @@ import org.apache.openmeetings.data.basi
 import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.common.ConfirmCallListener;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
 import org.apache.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.ChoiceRenderer;
 import org.apache.wicket.markup.html.form.DropDownChoice;
@@ -112,7 +112,6 @@ public class LangForm extends Form<Void>
 
                // attach an ajax validation behavior to all form component's 
keydown
                // event and throttle it down to once per second
-               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
-                               Duration.ONE_SECOND);
+               OmAjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown", Duration.ONE_SECOND);
        }
 }

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/ldaps/LdapForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
 Wed May 22 03:43:07 2013
@@ -23,8 +23,8 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.web.admin.AdminBaseForm;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.datetime.markup.html.basic.DateLabel;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
@@ -66,8 +66,7 @@ public class LdapForm extends AdminBaseF
 
                // attach an ajax validation behavior to all form component's 
keydown
                // event and throttle it down to once per second
-               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
-                               Duration.ONE_SECOND);
+               OmAjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown", Duration.ONE_SECOND);
        }
 
        @Override

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java
 Wed May 22 03:43:07 2013
@@ -30,7 +30,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.web.admin.AdminBaseForm;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
 import org.apache.wicket.markup.html.form.CheckBox;
 import org.apache.wicket.markup.html.form.ChoiceRenderer;
 import org.apache.wicket.markup.html.form.DropDownChoice;
@@ -127,7 +127,6 @@ public class RoomForm extends AdminBaseF
 
                // attach an ajax validation behavior to all form component's 
keydown
                // event and throttle it down to once per second
-               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
-                               Duration.ONE_SECOND);
+               OmAjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown", Duration.ONE_SECOND);
        }
 }

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/servers/ServerForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/servers/ServerForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/servers/ServerForm.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/servers/ServerForm.java
 Wed May 22 03:43:07 2013
@@ -23,8 +23,8 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.web.admin.AdminBaseForm;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.datetime.markup.html.basic.DateLabel;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
@@ -71,8 +71,7 @@ public class ServerForm extends AdminBas
 
                // attach an ajax validation behavior to all form component's 
keydown
                // event and throttle it down to once per second
-               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
-                               Duration.ONE_SECOND);
+               OmAjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown", Duration.ONE_SECOND);
        }
 
        @Override

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/users/UserForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/users/UserForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/users/UserForm.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/users/UserForm.java
 Wed May 22 03:43:07 2013
@@ -32,8 +32,8 @@ import org.apache.openmeetings.web.admin
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.ComunityUserForm;
 import org.apache.openmeetings.web.common.GeneralUserForm;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.datetime.markup.html.basic.DateLabel;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.CheckBox;
@@ -67,7 +67,7 @@ public class UserForm extends AdminBaseF
 
                // attach an ajax validation behavior to all form component's 
keydown
                // event and throttle it down to once per second
-               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown", Duration.ONE_SECOND);
+               OmAjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown", Duration.ONE_SECOND);
 
        }
 
@@ -195,7 +195,7 @@ public class UserForm extends AdminBaseF
 
        @Override
        protected void onValidate() {
-               
if(!getBean(UsersDao.class).checkUserLogin(login.getConvertedInput())) {
+               
if(!getBean(UsersDao.class).checkUserLogin(login.getConvertedInput(), 
getModelObject().getUser_id())) {
                        error(WebSession.getString(105));
                }
        }

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/GeneralUserForm.java
 Wed May 22 03:43:07 2013
@@ -28,10 +28,10 @@ import java.util.List;
 import org.apache.openmeetings.data.basic.FieldLanguageDao;
 import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
 import org.apache.openmeetings.data.basic.dao.OmTimeZoneDao;
-import org.apache.openmeetings.data.user.EmailManager;
 import org.apache.openmeetings.data.user.OrganisationManager;
 import org.apache.openmeetings.data.user.dao.SalutationDao;
 import org.apache.openmeetings.data.user.dao.StateDao;
+import org.apache.openmeetings.data.user.dao.UsersDao;
 import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
 import org.apache.openmeetings.persistence.beans.domain.Organisation;
 import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
@@ -154,7 +154,7 @@ public class GeneralUserForm extends For
 
        @Override
        protected void onValidate() {
-               
if(!getBean(EmailManager.class).checkUserEMail(email.getConvertedInput())) {
+               
if(!getBean(UsersDao.class).checkUserEMail(email.getConvertedInput(), 
getModelObject().getUser_id())) {
                        error(WebSession.getString(1000));
                }
                super.onValidate();

Added: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/OmAjaxFormValidatingBehavior.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/OmAjaxFormValidatingBehavior.java?rev=1485042&view=auto
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/OmAjaxFormValidatingBehavior.java
 (added)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/OmAjaxFormValidatingBehavior.java
 Wed May 22 03:43:07 2013
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.common;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
+import org.apache.wicket.ajax.attributes.ThrottlingSettings;
+import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.FormComponent;
+import org.apache.wicket.util.io.IClusterable;
+import org.apache.wicket.util.time.Duration;
+import org.apache.wicket.util.visit.IVisit;
+import org.apache.wicket.util.visit.IVisitor;
+
+//TODO should be removed in favor of AjaxFormValidatingBehavior after 
WICKET-5178 will be fixed
+public class OmAjaxFormValidatingBehavior extends AjaxFormValidatingBehavior {
+       private static final long serialVersionUID = 1L;
+
+       public OmAjaxFormValidatingBehavior(Form<?> form, String event) {
+               super(form, event);
+       }
+       
+       public static void addToAllFormComponents(final Form<?> form, final 
String event, final Duration throttleDelay) {
+               form.visitChildren(FormComponent.class, new 
FormValidateVisitor(form, event, throttleDelay));
+       }
+
+       private static class FormValidateVisitor implements IVisitor<Component, 
Void>, IClusterable
+       {
+               private static final long serialVersionUID = 1L;
+               private final Form<?> form;
+               private final String event;
+               private final Duration throttleDelay;
+
+               private FormValidateVisitor(Form<?> form, String event, 
Duration throttleDelay)
+               {
+                       this.form = form;
+                       this.event = event;
+                       this.throttleDelay = throttleDelay;
+               }
+
+               public void component(final Component component, final 
IVisit<Void> visit)
+               {
+                       final AjaxFormValidatingBehavior behavior = new 
AjaxFormValidatingBehavior(form, event)
+                       {
+                               /**
+                                * 
+                                */
+                               private static final long serialVersionUID = 1L;
+
+                               @Override
+                               protected void updateAjaxAttributes(final 
AjaxRequestAttributes attributes)
+                               {
+                                       super.updateAjaxAttributes(attributes);
+
+                                       if (throttleDelay != null)
+                                       {
+                                               String id = "throttle-" + 
component.getMarkupId();
+                                               ThrottlingSettings 
throttlingSettings = new ThrottlingSettings(id,
+                                                       throttleDelay);
+                                               
attributes.setThrottlingSettings(throttlingSettings);
+                                       }
+                                       attributes.setAllowDefault(true);
+                               }
+                       };
+                       component.add(behavior);
+                       visit.dontGoDeeper();
+               }
+       }
+}

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
 Wed May 22 03:43:07 2013
@@ -28,7 +28,6 @@ import java.util.List;
 import org.apache.openmeetings.data.basic.FieldLanguageDao;
 import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
 import org.apache.openmeetings.data.basic.dao.OmTimeZoneDao;
-import org.apache.openmeetings.data.user.EmailManager;
 import org.apache.openmeetings.data.user.UserManager;
 import org.apache.openmeetings.data.user.dao.StateDao;
 import org.apache.openmeetings.data.user.dao.UsersDao;
@@ -175,10 +174,10 @@ public class RegisterDialog extends Abst
                                        || 
!passwordField.getConvertedInput().equals(confirmPassword.getConvertedInput())) 
{
                                error(WebSession.getString(232));
                        }
-                       
if(!getBean(EmailManager.class).checkUserEMail(emailField.getConvertedInput())) 
{
+                       
if(!getBean(UsersDao.class).checkUserEMail(emailField.getConvertedInput(), 
null)) {
                                error(WebSession.getString(1000));
                        }
-                       
if(!getBean(UsersDao.class).checkUserLogin(loginField.getConvertedInput())) {
+                       
if(!getBean(UsersDao.class).checkUserLogin(loginField.getConvertedInput(), 
null)) {
                                error(WebSession.getString(105));
                        }
                }

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/ProfilePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/ProfilePanel.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/ProfilePanel.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/ProfilePanel.java
 Wed May 22 03:43:07 2013
@@ -27,10 +27,10 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
 import org.apache.openmeetings.web.common.ComunityUserForm;
 import org.apache.openmeetings.web.common.FormSaveRefreshPanel;
+import org.apache.openmeetings.web.common.OmAjaxFormValidatingBehavior;
 import org.apache.openmeetings.web.common.UploadableProfileImagePanel;
 import org.apache.openmeetings.web.common.UserPanel;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.util.time.Duration;
@@ -94,7 +94,7 @@ public class ProfilePanel extends UserPa
                                
                                // attach an ajax validation behavior to all 
form component's keydown
                                // event and throttle it down to once per second
-                               
AjaxFormValidatingBehavior.addToAllFormComponents(this, "keydown", 
Duration.ONE_SECOND);
+                               
OmAjaxFormValidatingBehavior.addToAllFormComponents(this, "keydown", 
Duration.ONE_SECOND);
                        }
                };
                add(form);

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomPanel.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomPanel.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomPanel.java
 Wed May 22 03:43:07 2013
@@ -40,7 +40,7 @@ public class RoomPanel extends BasePanel
                super(id);
 
                StringValue swfVal = pp.get("swf");
-               String swf = (swfVal.isEmpty() ? "main.as3.swf11.swf" : 
swfVal.toString())
+               String swf = (swfVal.isEmpty() ? "maindebug.as3.swf11.swf" : 
swfVal.toString())
                                + new 
PageParametersEncoder().encodePageParameters(pp);
                add(new Label("init", String.format("initSwf('%s');", 
swf)).setEscapeModelStrings(false));
        }

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/xmlimport/UserImport.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/xmlimport/UserImport.java?rev=1485042&r1=1485041&r2=1485042&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/xmlimport/UserImport.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/xmlimport/UserImport.java
 Wed May 22 03:43:07 2013
@@ -18,10 +18,10 @@
  */
 package org.apache.openmeetings.xmlimport;
 
+import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
+
 import java.io.InputStream;
 
-import org.apache.openmeetings.OpenmeetingsVariables;
-import org.apache.openmeetings.data.user.EmailManager;
 import org.apache.openmeetings.data.user.UserManager;
 import org.apache.openmeetings.data.user.dao.UsersDao;
 import org.apache.openmeetings.persistence.beans.user.User;
@@ -31,14 +31,10 @@ import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
 public class UserImport {
-
-       private static final Logger log = Red5LoggerFactory.getLogger(
-                       UserImport.class, OpenmeetingsVariables.webAppRootKey);
+       private static final Logger log = 
Red5LoggerFactory.getLogger(UserImport.class, webAppRootKey);
        @Autowired
        private UserManager userManager;
        @Autowired
-       private EmailManager emailManagement;
-       @Autowired
        private UsersDao usersDao;
        @Autowired
        private BackupImportController backupController;
@@ -48,13 +44,13 @@ public class UserImport {
                        
                        boolean mailCheck = true;
 
-                       if 
(!emailManagement.checkUserEMail(us.getAdresses().getEmail())) {
+                       if 
(!usersDao.checkUserEMail(us.getAdresses().getEmail(), us.getUser_id())) {
                                mailCheck = false;
                                log.info("mailCheck = " + mailCheck);
                        }
 
                        // check for duplicate Login or mail:
-                       if (usersDao.checkUserLogin(us.getLogin()) && 
mailCheck) {
+                       if (usersDao.checkUserLogin(us.getLogin(), 
us.getUser_id()) && mailCheck) {
                                userManager.addUser(us);
                        }
                }


Reply via email to