This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new ac4f8d0  [OPENMEETINGS-1864] initial code clean-up
ac4f8d0 is described below

commit ac4f8d0d4623ccca7f182afee3c0da4496d1afb8
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Fri Apr 6 23:43:34 2018 +0700

    [OPENMEETINGS-1864] initial code clean-up
---
 .../openmeetings/core/ldap/LdapLoginManager.java   |   3 +-
 .../openmeetings/core/remote/MobileService.java    |  19 +--
 .../core/util/StrongPasswordValidator.java         |  16 +-
 .../db/dao/basic/ConfigurationDao.java             |  22 +++
 .../openmeetings/db/dao/user/IUserManager.java     |  20 +--
 .../apache/openmeetings/db/dao/user/UserDao.java   |  10 +-
 .../apache/openmeetings/db/util/UserHelper.java    |  38 -----
 .../apache/openmeetings/backup/BackupImport.java   |   4 +-
 .../java/org/apache/openmeetings/cli/Admin.java    |   5 +-
 .../installation/ImportInitvalues.java             |   3 +-
 .../openmeetings/service/user/UserManager.java     | 167 ++++++---------------
 .../openmeetings/util/OpenmeetingsVariables.java   |  18 +++
 .../openmeetings/web/admin/users/UserForm.java     |  14 +-
 .../openmeetings/web/admin/users/UsersPanel.java   |   3 +-
 .../apache/openmeetings/web/app/WebSession.java    |   3 +-
 .../web/pages/auth/ForgetPasswordDialog.java       |   7 +-
 .../web/pages/auth/RegisterDialog.java             |  23 +--
 .../web/pages/auth/ResetPasswordDialog.java        |   7 +-
 .../web/pages/install/InstallWizard.java           |   3 +-
 .../web/user/profile/ChangePasswordDialog.java     |   6 +-
 .../apache/openmeetings/backup/TestOldBackups.java |   3 -
 .../apache/openmeetings/domain/TestAddGroup.java   |   5 -
 .../apache/openmeetings/user/TestUserContact.java  |   4 -
 .../apache/openmeetings/user/TestUserGroup.java    |   3 -
 .../openmeetings/webservice/UserWebService.java    |  20 +--
 25 files changed, 140 insertions(+), 286 deletions(-)

diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManager.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManager.java
index 77a94a4..8028ef9 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManager.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManager.java
@@ -19,6 +19,7 @@
 package org.apache.openmeetings.core.ldap;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static org.apache.openmeetings.db.dao.user.UserDao.getNewUserInstance;
 import static org.apache.openmeetings.db.util.LocaleHelper.validateCountry;
 import static org.apache.openmeetings.db.util.TimezoneUtil.getTimeZone;
 import static org.apache.openmeetings.util.OmException.BAD_CREDENTIALS;
@@ -339,7 +340,7 @@ public class LdapLoginManager {
                                throw BAD_CREDENTIALS;
                        }
                        if (u == null) {
-                               u = userDao.getNewUserInstance(null);
+                               u = getNewUserInstance(null);
                                u.setType(Type.ldap);
                                u.getRights().remove(Right.Login);
                                u.setDomainId(domainId);
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
index 82a3de0..b8e8103 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
@@ -20,7 +20,6 @@ package org.apache.openmeetings.core.remote;
 
 import static org.apache.openmeetings.db.util.LocaleHelper.getCountryName;
 import static org.apache.openmeetings.util.OmException.UNKNOWN;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_VERIFICATION;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_FRONTEND;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_OAUTH;
@@ -155,23 +154,15 @@ public class MobileService {
                                String country = umap.get("stateId");
                                Long langId = Long.valueOf(umap.get("langId"));
 
-                               String hash = UUID.randomUUID().toString();
-
-                               String baseURL = getBaseUrl();
-                               boolean sendConfirmation = 
!Strings.isEmpty(baseURL)
-                                               && 
cfgDao.getBool(CONFIG_EMAIL_VERIFICATION, false);
-                               Object user = 
userManager.registerUserInit(UserDao.getDefaultRights(), login, password, 
lastname
-                                               , firstname, email, null /* 
age/birthday */, "" /* street */
-                                               , "" /* additionalname */, "" 
/* fax */, "" /* zip */, country
-                                               , "" /* town */, langId, true 
/* sendWelcomeMessage */
-                                               , 
Arrays.asList(cfgDao.getLong(CONFIG_DEFAULT_GROUP_ID, null)),
-                                               "" /* phone */, false, 
sendConfirmation, TimeZone.getTimeZone(tzId),
-                                               false /* forceTimeZoneCheck */, 
"" /* userOffers */, "" /* userSearchs */, false /* showContactData */,
-                                               true /* 
showContactDataToContacts */, hash);
+                               Object user = userManager.registerUser(login, 
password, lastname
+                                               , firstname, email, country, 
langId, tzId);
                                if (user == null) {
                                        //do nothing
                                } else if (user instanceof User) {
                                        User u = (User)user;
+                                       String baseURL = getBaseUrl();
+                                       boolean sendConfirmation = 
!Strings.isEmpty(baseURL)
+                                                       && 
cfgDao.getBool(CONFIG_EMAIL_VERIFICATION, false);
                                        if (sendConfirmation) {
                                                add(result, PARAM_STATUS, 
-666L);
                                        } else {
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/StrongPasswordValidator.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/StrongPasswordValidator.java
index e4533df..2d9e403 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/StrongPasswordValidator.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/StrongPasswordValidator.java
@@ -18,6 +18,8 @@
  */
 package org.apache.openmeetings.core.util;
 
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getMinPasswdLength;
+
 import java.util.Map;
 
 import org.apache.directory.api.util.Strings;
@@ -33,16 +35,14 @@ import org.slf4j.LoggerFactory;
 public class StrongPasswordValidator implements IValidator<String> {
        private static final long serialVersionUID = 1L;
        private static final Logger log = 
LoggerFactory.getLogger(StrongPasswordValidator.class);
-       private final int minLength;
        private final boolean web;
        private User u;
 
-       public StrongPasswordValidator(final int minLength, final User u) {
-               this(true, minLength, u);
+       public StrongPasswordValidator(final User u) {
+               this(true, u);
        }
 
-       public StrongPasswordValidator(final boolean web, final int minLength, 
final User u) {
-               this.minLength = minLength;
+       public StrongPasswordValidator(final boolean web, final User u) {
                this.web = web;
                this.u = u;
        }
@@ -63,8 +63,8 @@ public class StrongPasswordValidator implements 
IValidator<String> {
                return password == null || 
password.equals(password.toUpperCase());
        }
 
-       private boolean badLength(String password) {
-               return password == null || password.length() < minLength;
+       private static boolean badLength(String password) {
+               return password == null || password.length() < 
getMinPasswdLength();
        }
 
        private static boolean checkWord(String password, String word) {
@@ -123,7 +123,7 @@ public class StrongPasswordValidator implements 
IValidator<String> {
        @Override
        public void validate(IValidatable<String> pass) {
                if (badLength(pass.getValue())) {
-                       error(pass, "bad.password.short", new MicroMap<String, 
Object>("0", minLength));
+                       error(pass, "bad.password.short", new MicroMap<String, 
Object>("0", getMinPasswdLength()));
                }
                if (noLowerCase(pass.getValue())) {
                        error(pass, "bad.password.lower");
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
index 95a2753..f907990 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
@@ -31,14 +31,18 @@ import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_HEADER_X
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_ARRANGE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_EXCLUSIVE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_MUTE;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_LOGIN_MIN_LENGTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MAX_UPLOAD_SIZE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MP4_AUDIO_BITRATE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MP4_AUDIO_RATE;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PASS_MIN_LENGTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REST_ALLOW_ORIGIN;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SIP_ENABLED;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_APP_NAME;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_BASE_URL;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_MAX_UPLOAD_SIZE;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getRoomSettings;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getWicketApplicationName;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setApplicationName;
@@ -50,6 +54,8 @@ import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setDefaultLang;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setExtProcessTtl;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.setGaCode;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setMaxUploadSize;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setMinLoginLength;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setMinPasswdLength;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setRestAllowOrigin;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setRoomSettings;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.setSipEnabled;
@@ -322,6 +328,12 @@ public class ConfigurationDao implements 
IDataProviderDao<Configuration> {
                        case CONFIG_REST_ALLOW_ORIGIN:
                                reloadRestAllowOrigin();
                                break;
+                       case CONFIG_LOGIN_MIN_LENGTH:
+                               reloadLoginMinLength();
+                               break;
+                       case CONFIG_PASS_MIN_LENGTH:
+                               reloadPasswdMinLength();
+                               break;
                }
                return entity;
        }
@@ -393,6 +405,14 @@ public class ConfigurationDao implements 
IDataProviderDao<Configuration> {
                setRestAllowOrigin(getString(CONFIG_REST_ALLOW_ORIGIN, null));
        }
 
+       private void reloadLoginMinLength() {
+               setMinLoginLength(getInt(CONFIG_LOGIN_MIN_LENGTH, 
USER_LOGIN_MINIMUM_LENGTH));
+       }
+
+       private void reloadPasswdMinLength() {
+               setMinPasswdLength(getInt(CONFIG_LOGIN_MIN_LENGTH, 
USER_PASSWORD_MINIMUM_LENGTH));
+       }
+
        public void reinit() {
                reloadMaxUpload();
                reloadCrypt();
@@ -406,6 +426,8 @@ public class ConfigurationDao implements 
IDataProviderDao<Configuration> {
                reloadTimezone();
                reloadRestAllowOrigin();
                reloadRoomSettings();
+               reloadLoginMinLength();
+               reloadPasswdMinLength();
        }
 
        private JSONObject reloadRoomSettings() {
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java
index 9109612..9faffec 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java
@@ -20,33 +20,19 @@ package org.apache.openmeetings.db.dao.user;
 
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
-import java.util.Date;
-import java.util.List;
 import java.util.Locale;
-import java.util.Set;
-import java.util.TimeZone;
 
 import org.apache.openmeetings.db.dto.user.OAuthUser;
 import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.util.OmException;
 
 //HACK to bypass cross project compilation
 public interface IUserManager {
        Object registerUser(String login, String userpass, String lastname,
-                       String firstname, String email, Date age, String street,
-                       String additionalname, String fax, String zip, String 
country,
-                       String town, long languageId, String phone, boolean 
sendSMS,
-                       boolean generateSipUserData, String jNameTimeZone, 
Boolean sendConfirmation);
+                       String firstname, String email, String country,
+                       long languageId, String tzId);
 
-       Object registerUserInit(Set<Right> rights, String login, String 
password, String lastname,
-                       String firstname, String email, Date age, String street,
-                       String additionalname, String fax, String zip, String 
country,
-                       String town, long languageId, boolean 
sendWelcomeMessage,
-                       List<Long> groups, String phone, boolean sendSMS, 
Boolean sendConfirmation,
-                       TimeZone timezone, Boolean forceTimeZoneCheck,
-                       String userOffers, String userSearchs, Boolean 
showContactData,
-                       Boolean showContactDataToContacts, String 
activatedHash) throws OmException, NoSuchAlgorithmException;
+       Object registerUser(User u, String password, String hash) throws 
OmException, NoSuchAlgorithmException;
 
        Long getLanguage(Locale loc);
        User loginOAuth(OAuthUser user, long serverId) throws IOException, 
NoSuchAlgorithmException;
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
index 8ccba80..0562ed7 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
@@ -19,10 +19,10 @@
 package org.apache.openmeetings.db.dao.user;
 
 import static org.apache.openmeetings.db.util.TimezoneUtil.getTimeZone;
-import static org.apache.openmeetings.db.util.UserHelper.getMinLoginLength;
 import static org.apache.openmeetings.util.DaoHelper.getStringParam;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.PARAM_USER_ID;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultLang;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getMinLoginLength;
 
 import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
@@ -53,7 +53,6 @@ import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.db.entity.user.User.Salutation;
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
-import org.apache.openmeetings.db.util.UserHelper;
 import org.apache.openmeetings.util.DaoHelper;
 import org.apache.openmeetings.util.OmException;
 import org.apache.openmeetings.util.crypt.CryptProvider;
@@ -97,7 +96,7 @@ public class UserDao implements 
IGroupAdminDataProviderDao<User> {
         * @param currentUser - the user to copy time zone from
         * @return new User instance
         */
-       public User getNewUserInstance(User currentUser) {
+       public static User getNewUserInstance(User currentUser) {
                User user = new User();
                user.setSalutation(Salutation.mr);
                user.setRights(getDefaultRights());
@@ -106,6 +105,7 @@ public class UserDao implements 
IGroupAdminDataProviderDao<User> {
                user.setForceTimeZoneCheck(false);
                user.setSendSMS(false);
                user.setAge(new Date());
+               user.setLastlogin(new Date());
                Address address = new Address();
                address.setCountry(Locale.getDefault().getCountry());
                user.setAddress(address);
@@ -366,7 +366,7 @@ public class UserDao implements 
IGroupAdminDataProviderDao<User> {
        }
 
        public boolean validLogin(String login) {
-               return !Strings.isEmpty(login) && login.length() >= 
UserHelper.getMinLoginLength(cfgDao);
+               return !Strings.isEmpty(login) && login.length() >= 
getMinLoginLength();
        }
 
        private static User getSingle(List<User> list) {
@@ -481,7 +481,7 @@ public class UserDao implements 
IGroupAdminDataProviderDao<User> {
                        User to = new User();
                        to.setType(Type.contact);
                        String login = owner.getId() + "_" + email; //UserId 
prefix is used to ensure unique login
-                       to.setLogin(login.length() < getMinLoginLength(cfgDao) 
? UUID.randomUUID().toString() : login);
+                       to.setLogin(login.length() < getMinLoginLength() ? 
UUID.randomUUID().toString() : login);
                        to.setFirstname(firstName);
                        to.setLastname(lastName);
                        to.setLanguageId(null == langId || null == 
LabelDao.getLocale(langId) ? owner.getLanguageId() : langId.longValue());
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/UserHelper.java 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/UserHelper.java
deleted file mode 100644
index 36a7a9a..0000000
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/UserHelper.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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.db.util;
-
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_LOGIN_MIN_LENGTH;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PASS_MIN_LENGTH;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
-
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-
-public class UserHelper {
-       private UserHelper() {}
-
-       public static int getMinLoginLength(ConfigurationDao cfgDao) {
-               return cfgDao.getInt(CONFIG_LOGIN_MIN_LENGTH, 
USER_LOGIN_MINIMUM_LENGTH);
-       }
-
-       public static int getMinPasswdLength(ConfigurationDao cfgDao) {
-               return cfgDao.getInt(CONFIG_PASS_MIN_LENGTH, 
USER_PASSWORD_MINIMUM_LENGTH);
-       }
-}
diff --git 
a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
 
b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
index a3572be..a9ef8a6 100644
--- 
a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
+++ 
b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
@@ -21,7 +21,6 @@ package org.apache.openmeetings.backup;
 import static 
org.apache.openmeetings.db.entity.user.PrivateMessage.INBOX_FOLDER_ID;
 import static 
org.apache.openmeetings.db.entity.user.PrivateMessage.SENT_FOLDER_ID;
 import static 
org.apache.openmeetings.db.entity.user.PrivateMessage.TRASH_FOLDER_ID;
-import static org.apache.openmeetings.db.util.UserHelper.getMinLoginLength;
 import static org.apache.openmeetings.util.OmFileHelper.BCKP_RECORD_FILES;
 import static org.apache.openmeetings.util.OmFileHelper.BCKP_ROOM_FILES;
 import static org.apache.openmeetings.util.OmFileHelper.CSS_DIR;
@@ -99,6 +98,7 @@ import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_TIM
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_TLS;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_USER;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultTimezone;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getMinLoginLength;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -548,7 +548,7 @@ public class BackupImport {
                registry.bind(Salutation.class, SalutationConverter.class);
                registry.bind(Date.class, DateConverter.class);
                List<User> list = readList(ser, f, "users.xml", "users", 
User.class);
-               int minLoginLength = getMinLoginLength(cfgDao);
+               int minLoginLength = getMinLoginLength();
                for (User u : list) {
                        if (u.getLogin() == null) {
                                continue;
diff --git 
a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java 
b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
index 7fc0537..9b2006a 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
@@ -20,7 +20,6 @@ package org.apache.openmeetings.cli;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static 
org.apache.openmeetings.db.util.ApplicationHelper.destroyApplication;
-import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_CONTEXT_NAME;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
@@ -54,7 +53,6 @@ import org.apache.openmeetings.backup.BackupImport;
 import org.apache.openmeetings.backup.ProgressHolder;
 import org.apache.openmeetings.core.ldap.LdapLoginManager;
 import org.apache.openmeetings.core.util.StrongPasswordValidator;
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.file.FileItemDao;
 import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
@@ -461,8 +459,7 @@ public class Admin {
                if (cmdl.hasOption("password")) {
                        cfg.setPassword(cmdl.getOptionValue("password"));
                }
-               ConfigurationDao cfgDao = 
getApplicationContext().getBean(ConfigurationDao.class);
-               IValidator<String> passValidator = new 
StrongPasswordValidator(false, getMinPasswdLength(cfgDao), new User());
+               IValidator<String> passValidator = new 
StrongPasswordValidator(false, new User());
                Validatable<String> passVal;
                do {
                        passVal = new Validatable<>(cfg.getPassword());
diff --git 
a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
 
b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
index de8a481..24ced4e 100644
--- 
a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
+++ 
b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.installation;
 
+import static org.apache.openmeetings.db.dao.user.UserDao.getNewUserInstance;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_BASE_URL;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_NAME;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPOINTMENT_REMINDER_MINUTES;
@@ -416,7 +417,7 @@ public class ImportInitvalues {
                org.setInserted(new Date());
                org = groupDao.update(org, null);
 
-               User u = userDao.getNewUserInstance(null);
+               User u = getNewUserInstance(null);
                u.setType(User.Type.user);
                u.getRights().add(Right.Admin);
                u.getRights().add(Right.Soap);
diff --git 
a/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
 
b/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
index 7248fac..95c58b5 100644
--- 
a/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
+++ 
b/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
@@ -18,42 +18,34 @@
  */
 package org.apache.openmeetings.service.user;
 
+import static org.apache.openmeetings.db.dao.user.UserDao.getNewUserInstance;
 import static org.apache.openmeetings.db.util.TimezoneUtil.getTimeZone;
-import static org.apache.openmeetings.db.util.UserHelper.getMinLoginLength;
 import static org.apache.openmeetings.util.OmException.UNKNOWN;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_VERIFICATION;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_SOAP;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.getBaseUrl;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultLang;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getMinLoginLength;
 
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.security.SecureRandom;
-import java.util.Arrays;
 import java.util.Date;
-import java.util.List;
 import java.util.Locale;
-import java.util.Set;
-import java.util.TimeZone;
 import java.util.UUID;
 
 import org.apache.commons.codec.binary.Base64;
-import org.apache.openmeetings.core.remote.ScopeApplicationAdapter;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.label.LabelDao;
-import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.IUserManager;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dto.user.OAuthUser;
-import org.apache.openmeetings.db.entity.user.Address;
 import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Right;
-import org.apache.openmeetings.db.entity.user.User.Salutation;
 import org.apache.openmeetings.db.entity.user.User.Type;
-import org.apache.openmeetings.db.manager.IStreamClientManager;
 import org.apache.openmeetings.service.mail.EmailManager;
 import org.apache.openmeetings.util.OmException;
 import org.apache.wicket.util.string.Strings;
@@ -72,8 +64,6 @@ public class UserManager implements IUserManager {
        private static final Logger log = 
LoggerFactory.getLogger(UserManager.class);
 
        @Autowired
-       private SessiondataDao sessionDao;
-       @Autowired
        private ConfigurationDao cfgDao;
        @Autowired
        private GroupDao groupDao;
@@ -81,10 +71,13 @@ public class UserManager implements IUserManager {
        private UserDao userDao;
        @Autowired
        private EmailManager emailManager;
-       @Autowired
-       private ScopeApplicationAdapter scopeAdapter;
-       @Autowired
-       private IStreamClientManager streamClientManager;
+
+       private boolean sendConfirmation() {
+               String baseURL = getBaseUrl();
+               return baseURL != null
+                               && !baseURL.isEmpty()
+                               && cfgDao.getBool(CONFIG_EMAIL_VERIFICATION, 
false);
+       }
 
        /**
         * Method to register a new User, User will automatically be added to 
the
@@ -96,46 +89,32 @@ public class UserManager implements IUserManager {
         * @param lastname - user last name
         * @param firstname - user first name
         * @param email - user email
-        * @param age - user birthday
-        * @param street - user address street
-        * @param additionalname - user additional name
-        * @param fax - user fax
-        * @param zip - user zip code
         * @param country - user country code
-        * @param town - user town
         * @param languageId - language id
-        * @param phone - user phone
-        * @param sendSMS - should SMS be sent to this user
-        * @param generateSipUserData - should SIP data be generated
-        * @param jNameTimeZone - the name of the time zone
-        * @param _sendConfirmation - should confirmation be sent
+        * @param tzId - the name of the time zone
         * @return {@link User} of code of error as {@link String}
         */
        @Override
        public Object registerUser(String login, String password, String 
lastname,
-                       String firstname, String email, Date age, String street,
-                       String additionalname, String fax, String zip, String 
country,
-                       String town, long languageId, String phone, boolean 
sendSMS,
-                       boolean generateSipUserData, String jNameTimeZone, 
Boolean _sendConfirmation) {
+                       String firstname, String email, String country, long 
languageId, String tzId) {
                try {
                        // Checks if FrontEndUsers can register
                        if (cfgDao.getBool(CONFIG_REGISTER_SOAP, false)) {
-                               boolean sendConfirmation;
-                               if (_sendConfirmation == null) {
-                                       String baseURL = getBaseUrl();
-                                       sendConfirmation = baseURL != null
-                                                       && !baseURL.isEmpty()
-                                                       && 
cfgDao.getBool(CONFIG_EMAIL_VERIFICATION, false);
-                               } else {
-                                       sendConfirmation = 
_sendConfirmation.booleanValue();
-                               }
-                               Object user = 
registerUserInit(UserDao.getDefaultRights(), login,
-                                               password, lastname, firstname, 
email, age, street,
-                                               additionalname, fax, zip, 
country, town, languageId,
-                                               true, 
Arrays.asList(cfgDao.getLong(CONFIG_DEFAULT_GROUP_ID, null)), phone,
-                                               sendSMS, sendConfirmation, 
getTimeZone(jNameTimeZone), false, "", "", false, true, null);
+                               User u = getNewUserInstance(null);
+                               u.setFirstname(firstname);
+                               u.setLogin(login);
+                               u.setLastname(lastname);
+                               u.getAddress().setCountry(country);
+                               u.getAddress().setEmail(email);
+                               u.setTimeZoneId(getTimeZone(tzId).getID());
+
+                               // this is needed cause the language is not a 
needed data at registering
+                               u.setLanguageId(languageId != 0 ? languageId : 
1);
+                               u.getGroupUsers().add(new 
GroupUser(groupDao.get(cfgDao.getLong(CONFIG_DEFAULT_GROUP_ID, null)), u));
+
+                               Object user = registerUser(u, password, null);
 
-                               if (user instanceof User && sendConfirmation) {
+                               if (user instanceof User && sendConfirmation()) 
{
                                        return -40L;
                                }
 
@@ -150,108 +129,48 @@ public class UserManager implements IUserManager {
        }
 
        /**
-        * @param rights - {@link Right} to be assigned to the user
-        * @param login - user login
+        * @param u - User with basic parametrs set
         * @param password - user password
-        * @param lastname - user last name
-        * @param firstname - user first name
-        * @param email - user email
-        * @param age - user birthday
-        * @param street - user address street
-        * @param additionalname - user additional name
-        * @param fax - user fax
-        * @param zip - user zip code
-        * @param country - user country code
-        * @param town - user town
-        * @param languageId - language id
-        * @param sendWelcomeMessage - should confirmation email be sent
-        * @param groups - ids of user groups
-        * @param phone - user phone
-        * @param sendSMS - should SMS be sent to this user
-        * @param sendConfirmation - should confirmation be sent
-        * @param timezone - the name of the time zone
-        * @param forceTimeZoneCheck - should time zone be verified by user
-        * @param userOffers - what user offers
-        * @param userSearchs - what user searches
-        * @param showContactData - is contact data publicly visible
-        * @param showContactDataToContacts - is contact data visible to 
contacts
-        * @param activatedHash - activation hash
+        * @param hash - activation hash
         * @return {@link User} of code of error as {@link String}
         * @throws NoSuchAlgorithmException in case password hashing algorithm 
is not found
         * @throws OmException in case of any issues with provided data
         */
        @Override
-       public Object registerUserInit(Set<Right> rights, String login, String 
password, String lastname,
-                       String firstname, String email, Date age, String street,
-                       String additionalname, String fax, String zip, String 
country,
-                       String town, long languageId, boolean 
sendWelcomeMessage,
-                       List<Long> groups, String phone, boolean sendSMS, 
Boolean sendConfirmation,
-                       TimeZone timezone, Boolean forceTimeZoneCheck,
-                       String userOffers, String userSearchs, Boolean 
showContactData,
-                       Boolean showContactDataToContacts, String 
activatedHash) throws OmException, NoSuchAlgorithmException {
+       public Object registerUser(User u, String password, String hash) throws 
OmException, NoSuchAlgorithmException {
                // Check for required data
-               if (login.length() >= getMinLoginLength(cfgDao)) {
+               String login = u.getLogin();
+               if (!Strings.isEmpty(login) && login.length() >= 
getMinLoginLength()) {
                        // Check for duplicates
                        boolean checkName = userDao.checkLogin(login, 
User.Type.user, null, null);
+                       String email = u.getAddress() == null ? null : 
u.getAddress().getEmail();
                        boolean checkEmail = Strings.isEmpty(email) || 
userDao.checkEmail(email, User.Type.user, null, null);
                        if (checkName && checkEmail) {
-                               String hash = Strings.isEmpty(activatedHash) ? 
UUID.randomUUID().toString() : activatedHash;
-                               if (sendWelcomeMessage && email.length() != 0) {
-                                       emailManager.sendMail(login, email, 
hash, sendConfirmation, languageId);
+                               String ahash = Strings.isEmpty(hash) ? 
UUID.randomUUID().toString() : hash;
+                               if (Strings.isEmpty(u.getExternalType())) {
+                                       if (!Strings.isEmpty(email)) {
+                                               emailManager.sendMail(login, 
email, ahash, sendConfirmation(), u.getLanguageId());
+                                       }
+                               } else {
+                                       u.setType(Type.external);
                                }
-                               Address a =  new Address();
-                               a.setStreet(street);
-                               a.setZip(zip);
-                               a.setTown(town);
-                               a.setCountry(country);
-                               a.setAdditionalname(additionalname);
-                               a.setComment("");
-                               a.setFax(fax);
-                               a.setPhone(phone);
-                               a.setEmail(email);
 
                                // If this user needs first to click his E-Mail 
verification
                                // code then set the status to 0
-                               if (sendConfirmation && 
rights.contains(Right.Login)) {
-                                       rights.remove(Right.Login);
-                               }
-
-                               User u = new User();
-                               u.setFirstname(firstname);
-                               u.setLogin(login);
-                               u.setLastname(lastname);
-                               u.setAge(age);
-                               u.setAddress(a);
-                               u.setSendSMS(sendSMS);
-                               u.setRights(rights);
-                               u.setLastlogin(new Date());
-                               u.setSalutation(Salutation.mr);
-                               u.setActivatehash(hash);
-                               u.setTimeZoneId(timezone.getID());
-                               u.setForceTimeZoneCheck(forceTimeZoneCheck);
-                               if (!Strings.isEmpty(u.getExternalType())) {
-                                       u.setType(Type.external);
+                               if (sendConfirmation() && 
u.getRights().contains(Right.Login)) {
+                                       u.getRights().remove(Right.Login);
                                }
 
-                               u.setUserOffers(userOffers);
-                               u.setUserSearchs(userSearchs);
-                               u.setShowContactData(showContactData);
-                               
u.setShowContactDataToContacts(showContactDataToContacts);
+                               u.setActivatehash(ahash);
 
                                // this is needed cause the language is not a 
needed data at registering
-                               u.setLanguageId(languageId != 0 ? languageId : 
1);
                                if (!Strings.isEmpty(password)) {
                                        u.updatePassword(cfgDao, password);
                                }
-                               if (groups != null) {
-                                       for (Long grpId : groups) {
-                                               u.getGroupUsers().add(new 
GroupUser(groupDao.get(grpId), u));
-                                       }
-                               }
                                u = userDao.update(u, null);
                                log.debug("Added user-Id " + u.getId());
 
-                               if (a.getId() != null && u.getId() != null) {
+                               if (u.getId() != null) {
                                        return u;
                                }
                        } else {
@@ -351,7 +270,7 @@ public class UserManager implements IUserManager {
                String pass = Base64.encodeBase64String(rawPass);
                // check if the user already exists and register new one if 
it's needed
                if (u == null) {
-                       u = userDao.getNewUserInstance(null);
+                       u = getNewUserInstance(null);
                        u.setType(Type.oauth);
                        u.getRights().remove(Right.Login);
                        u.setDomainId(serverId);
diff --git 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
index 4a19aa4..0394b5a 100644
--- 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
+++ 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
@@ -121,6 +121,8 @@ public class OpenmeetingsVariables {
        private static String wicketApplicationName = null;
        private static String applicationName = null;
        private static int extProcessTtl = 20;
+       private static int minLoginLength = USER_LOGIN_MINIMUM_LENGTH;
+       private static int minPasswdLength = USER_PASSWORD_MINIMUM_LENGTH;
        private static JSONObject roomSettings = new JSONObject();
        private static boolean initComplete = false;
        private static long maxUploadSize = DEFAULT_MAX_UPLOAD_SIZE;
@@ -267,4 +269,20 @@ public class OpenmeetingsVariables {
                }
                return appClass;
        }
+
+       public static int getMinLoginLength() {
+               return minLoginLength;
+       }
+
+       public static void setMinLoginLength(int length) {
+               minLoginLength = length;
+       }
+
+       public static int getMinPasswdLength() {
+               return minPasswdLength;
+       }
+
+       public static void setMinPasswdLength(int length) {
+               minPasswdLength = length;
+       }
 }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
index 786c533..880c411 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
@@ -18,11 +18,11 @@
  */
 package org.apache.openmeetings.web.admin.users;
 
+import static org.apache.openmeetings.db.dao.user.UserDao.getNewUserInstance;
 import static org.apache.openmeetings.db.util.AuthLevelUtil.hasAdminLevel;
 import static org.apache.openmeetings.db.util.AuthLevelUtil.hasGroupAdminLevel;
-import static org.apache.openmeetings.db.util.UserHelper.getMinLoginLength;
-import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_AT_REGISTER;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getMinLoginLength;
 import static org.apache.openmeetings.web.app.WebSession.getRights;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static 
org.apache.wicket.validation.validator.StringValidator.minimumLength;
@@ -119,9 +119,9 @@ public class UserForm extends AdminBaseForm<User> {
        protected void onInitialize() {
                super.onInitialize();
                
add(password.setResetPassword(false).setLabel(Model.of(getString("110"))).setRequired(false)
-                               .add(passValidator = new 
StrongPasswordValidator(getMinPasswdLength(cfgDao), getModelObject())));
+                               .add(passValidator = new 
StrongPasswordValidator(getModelObject())));
                login.setLabel(Model.of(getString("108")));
-               add(login.add(minimumLength(getMinLoginLength(cfgDao))));
+               add(login.add(minimumLength(getMinLoginLength())));
 
                add(new DropDownChoice<>("type", 
Arrays.asList(Type.values())).add(new OnChangeAjaxBehavior() {
                        private static final long serialVersionUID = 1L;
@@ -236,7 +236,7 @@ public class UserForm extends AdminBaseForm<User> {
 
        @Override
        protected void onNewSubmit(AjaxRequestTarget target, Form<?> form) {
-               
setModelObject(userDao.getNewUserInstance(userDao.get(getUserId())));
+               setModelObject(getNewUserInstance(userDao.get(getUserId())));
                update(target);
        }
 
@@ -246,7 +246,7 @@ public class UserForm extends AdminBaseForm<User> {
                if (user.getId() != null) {
                        user = userDao.get(user.getId());
                } else {
-                       user = userDao.getNewUserInstance(null);
+                       user = getNewUserInstance(null);
                }
                setModelObject(user);
                update(target);
@@ -254,7 +254,7 @@ public class UserForm extends AdminBaseForm<User> {
 
        private void deleteUser(AjaxRequestTarget target) {
                userDao.delete(getModelObject(), getUserId());
-               
setModelObject(userDao.getNewUserInstance(userDao.get(getUserId())));
+               setModelObject(getNewUserInstance(userDao.get(getUserId())));
                update(target);
        }
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
index 43935e2..38794c2 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.web.admin.users;
 
+import static org.apache.openmeetings.db.dao.user.UserDao.getNewUserInstance;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
@@ -108,7 +109,7 @@ public class UsersPanel extends AdminBasePanel {
                        }
                };
 
-               form = new UserForm("form", listContainer, 
userDao.getNewUserInstance(userDao.get(getUserId())), warning);
+               form = new UserForm("form", listContainer, 
getNewUserInstance(userDao.get(getUserId())), warning);
                form.showNewRecord();
                add(form, warning);
                super.onInitialize();
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
index 45cd5a2..157b9b1 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.web.app;
 
+import static org.apache.openmeetings.db.dao.user.UserDao.getNewUserInstance;
 import static org.apache.openmeetings.db.util.TimezoneUtil.getTimeZone;
 import static 
org.apache.openmeetings.util.CalendarPatterns.ISO8601_FULL_FORMAT_STRING;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_MYROOMS;
@@ -235,7 +236,7 @@ public class WebSession extends 
AbstractAuthenticatedWebSession implements IWebS
                                if (remoteUser != null && 
!Strings.isEmpty(remoteUser.getExternalUserId())) {
                                        User user = 
userDao.getExternalUser(remoteUser.getExternalUserId(), 
remoteUser.getExternalUserType());
                                        if (user == null) {
-                                               user = 
userDao.getNewUserInstance(null);
+                                               user = getNewUserInstance(null);
                                                
user.setFirstname(remoteUser.getFirstname());
                                                
user.setLastname(remoteUser.getLastname());
                                                
user.setLogin(remoteUser.getUsername());
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
index 5c16c9f..fdff3bb 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
@@ -19,6 +19,7 @@
 package org.apache.openmeetings.web.pages.auth;
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.getBaseUrl;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getMinLoginLength;
 import static org.apache.openmeetings.web.app.Application.urlForPage;
 
 import java.util.Arrays;
@@ -28,10 +29,8 @@ import java.util.UUID;
 
 import org.apache.directory.api.util.Strings;
 import org.apache.openmeetings.core.mail.MailHandler;
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.db.util.UserHelper;
 import org.apache.openmeetings.service.mail.template.ResetPasswordTemplate;
 import org.apache.openmeetings.web.common.Captcha;
 import org.apache.openmeetings.web.pages.ResetPage;
@@ -121,7 +120,7 @@ public class ForgetPasswordDialog extends 
AbstractFormDialog<String> {
                                                error(getString("234"));
                                        }
                                }
-                               if (type == Type.login && n.length() < 
UserHelper.getMinLoginLength(cfgDao)) {
+                               if (type == Type.login && n.length() < 
getMinLoginLength()) {
                                        error(getString("104"));
                                }
                        }
@@ -130,8 +129,6 @@ public class ForgetPasswordDialog extends 
AbstractFormDialog<String> {
        private SignInDialog s;
        MessageDialog confirmDialog;
        @SpringBean
-       private ConfigurationDao cfgDao;
-       @SpringBean
        private UserDao userDao;
        @SpringBean
        private MailHandler mailHandler;
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
index 7498fda..598c9ca 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
@@ -18,18 +18,14 @@
  */
 package org.apache.openmeetings.web.pages.auth;
 
-import static org.apache.openmeetings.db.util.UserHelper.getMinLoginLength;
-import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_AT_REGISTER;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_VERIFICATION;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.getBaseUrl;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getMinLoginLength;
 import static 
org.apache.wicket.validation.validator.StringValidator.minimumLength;
 
 import java.util.Arrays;
 import java.util.List;
-import java.util.TimeZone;
-import java.util.UUID;
 
 import org.apache.openmeetings.core.util.StrongPasswordValidator;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
@@ -192,18 +188,9 @@ public class RegisterDialog extends 
NonClosableDialog<String> {
 
        @Override
        protected void onSubmit(AjaxRequestTarget target) {
-               String hash = UUID.randomUUID().toString();
-
                try {
-                       
userManager.registerUserInit(UserDao.getDefaultRights(), login, password, 
lastName
-                                       , firstName, email, null /* 
age/birthday */, "" /* street */
-                                       , "" /* additionalname */, "" /* fax 
*/, "" /* zip */, country
-                                       , "" /* town */, lang, true /* 
sendWelcomeMessage */
-                                       , 
Arrays.asList(cfgDao.getLong(CONFIG_DEFAULT_GROUP_ID, null)),
-                                       "" /* phone */, false, 
sendConfirmation, TimeZone.getTimeZone(tzModel.getObject()),
-                                       false /* forceTimeZoneCheck */, "" /* 
userOffers */, "" /* userSearchs */, false /* showContactData */,
-                                       true /* showContactDataToContacts */, 
hash);
-
+                       userManager.registerUser(login, password, lastName
+                                       , firstName, email, country, lang, 
tzModel.getObject());
                } catch (Exception e) {
                        log.error("[registerUser]", e);
                }
@@ -243,8 +230,8 @@ public class RegisterDialog extends 
NonClosableDialog<String> {
                        super.onInitialize();
                        firstNameField.setLabel(Model.of(getString("117")));
                        lastNameField.setLabel(Model.of(getString("136")));
-                       
loginField.add(minimumLength(getMinLoginLength(cfgDao))).setLabel(Model.of(getString("114")));
-                       passwordField.setResetPassword(true).add(new 
StrongPasswordValidator(getMinPasswdLength(cfgDao), new User()) {
+                       
loginField.add(minimumLength(getMinLoginLength())).setLabel(Model.of(getString("114")));
+                       passwordField.setResetPassword(true).add(new 
StrongPasswordValidator(new User()) {
                                private static final long serialVersionUID = 1L;
 
                                @Override
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
index 5e61c65..e3726c3 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
@@ -18,13 +18,10 @@
  */
 package org.apache.openmeetings.web.pages.auth;
 
-import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
-
 import java.util.Arrays;
 import java.util.List;
 
 import org.apache.openmeetings.core.util.StrongPasswordValidator;
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.web.app.Application;
@@ -54,8 +51,6 @@ public class ResetPasswordDialog extends 
NonClosableDialog<String> {
        private final User user;
        MessageDialog confirmReset;
        @SpringBean
-       private ConfigurationDao cfgDao;
-       @SpringBean
        private UserDao userDao;
 
        public ResetPasswordDialog(String id, final User user) {
@@ -142,7 +137,7 @@ public class ResetPasswordDialog extends 
NonClosableDialog<String> {
                        login.setOutputMarkupId(true);
                        add(password = new PasswordTextField("password", new 
Model<String>()));
                        
password.setLabel(Model.of(getString("328"))).setOutputMarkupId(true);
-                       password.setRequired(false).add(new 
StrongPasswordValidator(getMinPasswdLength(cfgDao), user));
+                       password.setRequired(false).add(new 
StrongPasswordValidator(user));
                        add(confirmPassword = new 
PasswordTextField("confirmPassword", new Model<String>()));
                        
confirmPassword.setLabel(Model.of(getString("116"))).setOutputMarkupId(true);
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
index 089fb81..d746010 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
@@ -20,7 +20,6 @@ package org.apache.openmeetings.web.pages.install;
 
 import static org.apache.openmeetings.core.converter.BaseConverter.EXEC_EXT;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
 import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONES;
 import static 
org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONE_SET;
 import static org.apache.wicket.validation.validator.RangeValidator.range;
@@ -425,7 +424,7 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
                        add(new 
RequiredTextField<String>("username").setLabel(Model.of(getString("install.wizard.params.step1.username"))).add(minimumLength(USER_LOGIN_MINIMUM_LENGTH)));
                        add(new PasswordTextField("password")
                                        
.setResetPassword(false).setLabel(Model.of(getString("install.wizard.params.step1.password")))
-                                       .add(new 
StrongPasswordValidator(USER_PASSWORD_MINIMUM_LENGTH, new User())));
+                                       .add(new StrongPasswordValidator(new 
User())));
                        add(new 
RequiredTextField<String>("email").setLabel(Model.of(getString("install.wizard.params.step1.email"))).add(RfcCompliantEmailAddressValidator.getInstance()));
                        add(new 
RequiredTextField<String>("group").setLabel(Model.of(getString("install.wizard.params.step1.group"))));
                }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java
index 758377e..95614a2 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java
@@ -18,14 +18,12 @@
  */
 package org.apache.openmeetings.web.user.profile;
 
-import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
 import java.util.Arrays;
 import java.util.List;
 
 import org.apache.openmeetings.core.util.StrongPasswordValidator;
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.html.form.Form;
@@ -75,8 +73,6 @@ public class ChangePasswordDialog extends 
AbstractFormDialog<String> {
        private final KendoFeedbackPanel feedback = new 
KendoFeedbackPanel("feedback", new Options("button", true));
        @SpringBean
        private UserDao userDao;
-       @SpringBean
-       private ConfigurationDao cfgDao;
 
        public ChangePasswordDialog(String id) {
                super(id, "");
@@ -94,7 +90,7 @@ public class ChangePasswordDialog extends 
AbstractFormDialog<String> {
                        }
                };
                cancel = new DialogButton("cancel", 
Model.of(getString("lbl.cancel")));
-               passValidator = new 
StrongPasswordValidator(getMinPasswdLength(cfgDao), userDao.get(getUserId()));
+               passValidator = new 
StrongPasswordValidator(userDao.get(getUserId()));
                add(form.add(
                                
current.setLabel(Model.of(getString("current.password"))).setRequired(true)
                                , 
pass.setLabel(Model.of(getString("328"))).add(passValidator)
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/backup/TestOldBackups.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/backup/TestOldBackups.java
index 08bfad1..6d6f809 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/backup/TestOldBackups.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/backup/TestOldBackups.java
@@ -32,7 +32,6 @@ import org.apache.openmeetings.AbstractJUnitDefaults;
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
 import org.apache.openmeetings.db.dao.calendar.MeetingMemberDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.entity.basic.Configuration;
 import org.junit.After;
 import org.junit.Test;
@@ -47,8 +46,6 @@ public class TestOldBackups extends AbstractJUnitDefaults {
        @Autowired
        private BackupImport backupController;
        @Autowired
-       private GroupDao groupDao;
-       @Autowired
        private RoomDao roomDao;
        @Autowired
        private AppointmentDao appointmentDao;
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/domain/TestAddGroup.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/domain/TestAddGroup.java
index 00b13ba..749ab45 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/domain/TestAddGroup.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/domain/TestAddGroup.java
@@ -21,21 +21,16 @@ package org.apache.openmeetings.domain;
 import static org.junit.Assert.assertNotNull;
 
 import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 
 public class TestAddGroup extends AbstractJUnitDefaults {
        private static final Logger log = 
LoggerFactory.getLogger(TestAddGroup.class);
 
-       @Autowired
-       private GroupDao groupDao;
-
        @Test
        public void testAddingGroup() {
                Group o = new Group();
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
index e48811e..df0165a 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
@@ -28,15 +28,11 @@ import java.util.List;
 import java.util.UUID;
 
 import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
 import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
 
 public class TestUserContact extends AbstractWicketTester {
-       @Autowired
-       private GroupDao groupDao;
 
        @Test
        public void testGetUser() {
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserGroup.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserGroup.java
index fcf756c..c46e754 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserGroup.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserGroup.java
@@ -26,7 +26,6 @@ import java.util.List;
 import java.util.UUID;
 
 import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.GroupUserDao;
 import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.db.entity.user.GroupUser;
@@ -41,8 +40,6 @@ public class TestUserGroup extends AbstractJUnitDefaults {
        public static final String GROUP_NAME = "Test Group";
        @Autowired
        private GroupUserDao groupUserDao;
-       @Autowired
-       private GroupDao groupDao;
 
        private User getValidUser() {
                for (User u : userDao.getAllBackupUsers()) {
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
index 7a6d14e..03f8f23 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
@@ -19,13 +19,12 @@
 package org.apache.openmeetings.webservice;
 
 import static org.apache.openmeetings.db.dto.basic.ServiceResult.UNKNOWN;
-import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultTimezone;
 import static org.apache.openmeetings.webservice.Constants.TNS;
 import static org.apache.openmeetings.webservice.Constants.USER_SERVICE_NAME;
 import static 
org.apache.openmeetings.webservice.Constants.USER_SERVICE_PORT_NAME;
 
-import java.util.Date;
+import java.security.NoSuchAlgorithmException;
 import java.util.List;
 import java.util.Locale;
 
@@ -44,7 +43,6 @@ import javax.ws.rs.core.MediaType;
 
 import org.apache.cxf.feature.Features;
 import org.apache.openmeetings.core.util.StrongPasswordValidator;
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
 import org.apache.openmeetings.db.dto.basic.ServiceResult;
 import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
@@ -87,8 +85,6 @@ public class UserWebService extends BaseWebService {
        private static final Logger log = 
LoggerFactory.getLogger(UserWebService.class);
 
        @Autowired
-       private ConfigurationDao cfgDao;
-       @Autowired
        private UserManager userManager;
        @Autowired
        private IClientManager clientManager;
@@ -178,7 +174,7 @@ public class UserWebService extends BaseWebService {
                        if (user.getLanguageId() == null) {
                                user.setLanguageId(1L);
                        }
-                       IValidator<String> passValidator = new 
StrongPasswordValidator(true, getMinPasswdLength(cfgDao), user.get(userDao));
+                       IValidator<String> passValidator = new 
StrongPasswordValidator(true, user.get(userDao));
                        Validatable<String> passVal = new 
Validatable<>(user.getPassword());
                        passValidator.validate(passVal);
                        if (!passVal.isValid()) {
@@ -189,12 +185,12 @@ public class UserWebService extends BaseWebService {
                                log.debug("addNewUser::weak password '{}', msg: 
{}", user.getPassword(), sb);
                                throw new ServiceException(sb.toString());
                        }
-                       Object _user = 
userManager.registerUser(user.getLogin(), user.getPassword(),
-                                       user.getLastname(), 
user.getFirstname(), user.getAddress().getEmail(), new Date(), 
user.getAddress().getStreet(),
-                                       user.getAddress().getAdditionalname(), 
user.getAddress().getFax(), user.getAddress().getZip(), 
user.getAddress().getCountry()
-                                       , user.getAddress().getTown(), 
user.getLanguageId(),
-                                       "", false, true, // generate SIP Data 
if the config is enabled
-                                       tz, confirm);
+                       Object _user;
+                       try {
+                               _user = 
userManager.registerUser(user.get(userDao), user.getPassword(), null);
+                       } catch (NoSuchAlgorithmException | OmException e) {
+                               throw new ServiceException("Unexpected error 
while creating user");
+                       }
 
                        if (_user == null) {
                                throw new 
ServiceException(UNKNOWN.getMessage());

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to