You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2018/04/06 16:43:46 UTC
[openmeetings] branch 4.0.x updated: [OPENMEETINGS-1864] initial
code clean-up
This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch 4.0.x
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/4.0.x by this push:
new c1902bc [OPENMEETINGS-1864] initial code clean-up
c1902bc is described below
commit c1902bc967bf76464f662451d9054e8726d42014
Author: Maxim Solodovnik <so...@gmail.com>
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 | 15 +-
.../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 | 158 ++++++---------------
.../openmeetings/util/OpenmeetingsVariables.java | 18 +++
.../openmeetings/web/admin/users/UserForm.java | 15 +-
.../openmeetings/web/admin/users/UsersPanel.java | 3 +-
.../apache/openmeetings/web/app/WebSession.java | 3 +-
.../web/pages/auth/ForgetPasswordDialog.java | 5 +-
.../web/pages/auth/RegisterDialog.java | 23 +--
.../web/pages/auth/ResetPasswordDialog.java | 5 +-
.../web/pages/install/InstallWizard.java | 3 +-
.../web/user/profile/ChangePasswordDialog.java | 5 +-
.../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 | 19 ++-
25 files changed, 139 insertions(+), 272 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 1b3a6a3..ea16e07 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;
@@ -340,7 +341,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 4260bae..8c61176 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_MYROOMS_ENABLED;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_FRONTEND;
@@ -170,23 +169,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 d0097c9..0147c9a 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,7 @@
*/
package org.apache.openmeetings.core.util;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getMinPasswdLength;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
import java.util.Map;
@@ -35,16 +36,14 @@ import org.slf4j.Logger;
public class StrongPasswordValidator implements IValidator<String> {
private static final long serialVersionUID = 1L;
private static final Logger log = Red5LoggerFactory.getLogger(StrongPasswordValidator.class, getWebAppRootKey());
- 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;
}
@@ -65,8 +64,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) {
@@ -125,7 +124,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 c370666..f3aa65f 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
@@ -39,9 +39,11 @@ 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;
@@ -57,6 +59,8 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.FLASH_QUALITY;
import static org.apache.openmeetings.util.OpenmeetingsVariables.FLASH_SECURE;
import static org.apache.openmeetings.util.OpenmeetingsVariables.FLASH_SSL_PORT;
import static org.apache.openmeetings.util.OpenmeetingsVariables.FLASH_VIDEO_CODEC;
+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.getWebAppRootKey;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getWicketApplicationName;
@@ -69,6 +73,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;
@@ -351,6 +357,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;
}
@@ -422,6 +434,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();
@@ -435,6 +455,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 c092bd9..fb03f8e 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 static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
import java.security.NoSuchAlgorithmException;
@@ -54,7 +54,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;
@@ -98,7 +97,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());
@@ -107,6 +106,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);
@@ -367,7 +367,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) {
@@ -482,7 +482,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 621f449..137946c 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
@@ -22,7 +22,6 @@ import static org.apache.openmeetings.db.entity.user.PrivateMessage.INBOX_FOLDER
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.TimezoneUtil.getTimeZone;
-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;
@@ -100,6 +99,7 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_TIM
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_TIMEOUT_CON;
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.getMinLoginLength;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
import java.io.File;
@@ -553,7 +553,7 @@ public class BackupImport {
log.info("OAuth2 servers import complete, starting user import");
String jNameTimeZone = cfgDao.getString(CONFIG_DEFAULT_TIMEZONE, "Europe/Berlin");
List<User> list = readUserList(f, "users.xml", "users");
- 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 6d21419..00cdfbb 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 cc66f0c..3d529fc 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;
@@ -417,7 +418,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 057e364..257e792 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,8 +18,8 @@
*/
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.OmFileHelper.HIBERNATE;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID;
@@ -27,19 +27,16 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_VE
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 static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
-import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
-import java.util.List;
import java.util.Locale;
import java.util.Map;
-import java.util.Set;
-import java.util.TimeZone;
import java.util.UUID;
import org.apache.commons.codec.binary.Base64;
@@ -52,11 +49,9 @@ 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.room.StreamClient;
-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;
@@ -92,6 +87,13 @@ public class UserManager implements IUserManager {
@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
* default user_level(1) new users will be automatically added to the
@@ -102,46 +104,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());
- if (user instanceof User && sendConfirmation) {
+ // 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()) {
return -40L;
}
@@ -156,108 +144,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 {
@@ -353,7 +281,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 6c421ce..429de2c 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
@@ -122,6 +122,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 {
public static void setRestAllowOrigin(String allowOrigin) {
restAllowOrigin = allowOrigin;
}
+
+ 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 6906092..bc527d5 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.util.OpenmeetingsVariables.getWebAppRootKey;
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getRights;
@@ -109,11 +109,10 @@ public class UserForm extends AdminBaseForm<User> {
@Override
protected void onInitialize() {
super.onInitialize();
- ConfigurationDao cfgDao = getBean(ConfigurationDao.class);
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;
@@ -231,7 +230,7 @@ public class UserForm extends AdminBaseForm<User> {
@Override
protected void onNewSubmit(AjaxRequestTarget target, Form<?> form) {
UserDao userDao = getBean(UserDao.class);
- setModelObject(userDao.getNewUserInstance(userDao.get(getUserId())));
+ setModelObject(getNewUserInstance(userDao.get(getUserId())));
update(target);
}
@@ -241,7 +240,7 @@ public class UserForm extends AdminBaseForm<User> {
if (user.getId() != null) {
user = getBean(UserDao.class).get(user.getId());
} else {
- user = getBean(UserDao.class).getNewUserInstance(null);
+ user = getNewUserInstance(null);
}
setModelObject(user);
update(target);
@@ -250,7 +249,7 @@ public class UserForm extends AdminBaseForm<User> {
private void deleteUser(AjaxRequestTarget target) {
UserDao userDao = getBean(UserDao.class);
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 fbe680b..6162088 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.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
@@ -107,7 +108,7 @@ public class UsersPanel extends AdminBasePanel {
};
UserDao userDao = getBean(UserDao.class);
- 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 b2c7386..b821913 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;
@@ -223,7 +224,7 @@ public class WebSession extends AbstractAuthenticatedWebSession implements IWebS
UserDao userDao = getBean(UserDao.class);
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 b2d45e9..0441e68 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.util.OpenmeetingsVariables.getWebAppRootKey;
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.Application.urlForPage;
@@ -30,10 +31,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;
@@ -122,7 +121,7 @@ public class ForgetPasswordDialog extends AbstractFormDialog<String> {
error(getString("234"));
}
}
- if (type == Type.login && n.length() < UserHelper.getMinLoginLength(getBean(ConfigurationDao.class))) {
+ if (type == Type.login && n.length() < getMinLoginLength()) {
error(getString("104"));
}
}
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 a37a18e..6ee8b5b 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,20 +18,16 @@
*/
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.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
import static org.apache.openmeetings.web.app.Application.getBean;
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;
@@ -188,17 +184,9 @@ public class RegisterDialog extends NonClosableDialog<String> {
@Override
protected void onSubmit(AjaxRequestTarget target) {
- String hash = UUID.randomUUID().toString();
-
try {
- getBean(IUserManager.class).registerUserInit(UserDao.getDefaultRights(), login, password, lastName
- , firstName, email, null /* age/birthday */, "" /* street */
- , "" /* additionalname */, "" /* fax */, "" /* zip */, country
- , "" /* town */, lang, true /* sendWelcomeMessage */
- , Arrays.asList(getBean(ConfigurationDao.class).getLong(CONFIG_DEFAULT_GROUP_ID, null)),
- "" /* phone */, false, sendConfirmation, TimeZone.getTimeZone(tzModel.getObject()),
- false /* forceTimeZoneCheck */, "" /* userOffers */, "" /* userSearchs */, false /* showContactData */,
- true /* showContactDataToContacts */, hash);
+ getBean(IUserManager.class).registerUser(login, password, lastName
+ , firstName, email, country, lang, tzModel.getObject());
} catch (Exception e) {
log.error("[registerUser]", e);
@@ -237,11 +225,10 @@ public class RegisterDialog extends NonClosableDialog<String> {
@Override
protected void onInitialize() {
super.onInitialize();
- ConfigurationDao cfgDao = getBean(ConfigurationDao.class);
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 210f8ba..42416b4 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,14 +18,12 @@
*/
package org.apache.openmeetings.web.pages.auth;
-import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
import static org.apache.openmeetings.web.app.Application.getBean;
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;
@@ -138,8 +136,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);
- ConfigurationDao cfgDao = getBean(ConfigurationDao.class);
- 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 4a9dee0..e0c4c45 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.util.OpenmeetingsVariables.getWebAppRootKey;
import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONES;
import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONE_SET;
@@ -423,7 +422,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 95c27a8..ab1bd1a 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,7 +18,6 @@
*/
package org.apache.openmeetings.web.user.profile;
-import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
@@ -27,7 +26,6 @@ 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;
@@ -91,8 +89,7 @@ public class ChangePasswordDialog extends AbstractFormDialog<String> {
}
};
cancel = new DialogButton("cancel", Model.of(getString("lbl.cancel")));
- ConfigurationDao cfgDao = getBean(ConfigurationDao.class);
- passValidator = new StrongPasswordValidator(getMinPasswdLength(cfgDao), getBean(UserDao.class).get(getUserId()));
+ passValidator = new StrongPasswordValidator(getBean(UserDao.class).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 da437ae..2cb3fda 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
@@ -33,7 +33,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;
@@ -48,8 +47,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 5375365..c95a078 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
@@ -22,21 +22,16 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKe
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.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
public class TestAddGroup extends AbstractJUnitDefaults {
private static final Logger log = Red5LoggerFactory.getLogger(TestAddGroup.class, getWebAppRootKey());
- @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 1e58ae5..2cad7cc 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,14 +19,13 @@
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.util.OpenmeetingsVariables.getWebAppRootKey;
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;
@@ -45,7 +44,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.dao.user.IUserManager;
import org.apache.openmeetings.db.dao.user.UserDao;
@@ -172,8 +170,7 @@ public class UserWebService extends BaseWebService {
if (user.getLanguageId() == null) {
user.setLanguageId(1L);
}
- ConfigurationDao cfgDao = getBean(ConfigurationDao.class);
- 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()) {
@@ -184,12 +181,12 @@ public class UserWebService extends BaseWebService {
log.debug("addNewUser::weak password '{}', msg: {}", user.getPassword(), sb);
throw new ServiceException(sb.toString());
}
- Object _user = getBean(UserManager.class).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 = getBean(UserManager.class).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
solomax@apache.org.