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 6300082 [OPENMEETINGS-1952] additional static methods for some configs, to reduce DB load 6300082 is described below commit 63000825aa62613c9cec08cae96aae0f6e8446bb Author: Maxim Solodovnik <solomax...@gmail.com> AuthorDate: Tue Oct 9 13:52:30 2018 +0700 [OPENMEETINGS-1952] additional static methods for some configs, to reduce DB load --- .../openmeetings/core/remote/MobileService.java | 5 ++--- .../openmeetings/db/dao/basic/ConfigurationDao.java | 20 ++++++++++++++++++++ .../openmeetings/service/mail/EmailManager.java | 8 ++------ .../openmeetings/util/OpenmeetingsVariables.java | 18 ++++++++++++++++++ .../openmeetings/web/admin/users/UserForm.java | 7 ++----- .../org/apache/openmeetings/web/app/UserManager.java | 7 ++----- .../openmeetings/web/pages/auth/RegisterDialog.java | 11 ++++------- 7 files changed, 50 insertions(+), 26 deletions(-) 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 bf0e011..1ff1a6d 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,11 +20,11 @@ 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_EMAIL_VERIFICATION; import static org.apache.openmeetings.util.OpenmeetingsVariables.PARAM_STATUS; import static org.apache.openmeetings.util.OpenmeetingsVariables.getBaseUrl; import static org.apache.openmeetings.util.OpenmeetingsVariables.isAllowRegisterFrontend; import static org.apache.openmeetings.util.OpenmeetingsVariables.isAllowRegisterOauth; +import static org.apache.openmeetings.util.OpenmeetingsVariables.isSendVerificationEmail; import java.io.Serializable; import java.util.ArrayList; @@ -152,8 +152,7 @@ public class MobileService { } else if (user instanceof User) { User u = (User)user; String baseURL = getBaseUrl(); - boolean sendConfirmation = !Strings.isEmpty(baseURL) - && cfgDao.getBool(CONFIG_EMAIL_VERIFICATION, false); + boolean sendConfirmation = !Strings.isEmpty(baseURL) && isSendVerificationEmail(); if (sendConfirmation) { add(result, PARAM_STATUS, -666L); } else { 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 1731287..585dfa2 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 @@ -27,6 +27,8 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CRYPT; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_TIMEZONE; +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.CONFIG_EXT_PROCESS_TTL; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FNAME_MIN_LENGTH; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_GOOGLE_ANALYTICS_CODE; @@ -79,6 +81,8 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.setMinLoginLeng 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.setSendRegisterEmail; +import static org.apache.openmeetings.util.OpenmeetingsVariables.setSendVerificationEmail; import static org.apache.openmeetings.util.OpenmeetingsVariables.setSipContext; import static org.apache.openmeetings.util.OpenmeetingsVariables.setSipEnabled; import static org.apache.openmeetings.util.OpenmeetingsVariables.setVideoPreset; @@ -388,6 +392,12 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> { case CONFIG_REGISTER_OAUTH: reloadAllowRegisterOauth(); break; + case CONFIG_EMAIL_VERIFICATION: + reloadSendVerificationEmail(); + break; + case CONFIG_EMAIL_AT_REGISTER: + reloadSendRegisterEmail(); + break; } return entity; } @@ -503,6 +513,14 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> { setAllowRegisterOauth(getBool(CONFIG_REGISTER_OAUTH, false)); } + private void reloadSendVerificationEmail() { + setSendVerificationEmail(getBool(CONFIG_EMAIL_VERIFICATION, false)); + } + + private void reloadSendRegisterEmail() { + setSendRegisterEmail(getBool(CONFIG_EMAIL_AT_REGISTER, false)); + } + public void reinit() { reloadMaxUpload(); reloadCrypt(); @@ -527,6 +545,8 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> { reloadAllowRegisterFront(); reloadAllowRegisterSoap(); reloadAllowRegisterOauth(); + reloadSendVerificationEmail(); + reloadSendRegisterEmail(); } private JSONObject reloadRoomSettings() { diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java index b64dd84..d1d5bde 100644 --- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java +++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java @@ -19,13 +19,12 @@ package org.apache.openmeetings.service.mail; import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication; -import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_AT_REGISTER; import static org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultLang; import static org.apache.openmeetings.util.OpenmeetingsVariables.getWicketApplicationName; +import static org.apache.openmeetings.util.OpenmeetingsVariables.isSendRegisterEmail; import org.apache.openmeetings.IApplication; import org.apache.openmeetings.core.mail.MailHandler; -import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.service.mail.template.RegisterUserTemplate; import org.apache.wicket.Application; import org.apache.wicket.request.mapper.parameter.PageParameters; @@ -43,8 +42,6 @@ public class EmailManager { private static final Logger log = LoggerFactory.getLogger(EmailManager.class); @Autowired - private ConfigurationDao cfgDao; - @Autowired private MailHandler mailHandler; private static IApplication getApp() { @@ -66,12 +63,11 @@ public class EmailManager { */ public void sendMail(String username, String email, String hash, Boolean sendEmailWithVerficationCode, Long langId) { log.debug("sendMail:: username = {}, email = {}", username, email); - boolean sendEmailAtRegister = cfgDao.getBool(CONFIG_EMAIL_AT_REGISTER, false); ensureApplication(langId != null ? langId : getDefaultLang()); String link = getApp().urlForActivatePage(new PageParameters().add("u", hash)); - if (sendEmailAtRegister) { + if (isSendRegisterEmail()) { mailHandler.send(email, getString("512") , RegisterUserTemplate.getEmail(username, email, sendEmailWithVerficationCode ? link : null)); } 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 d261193..47179aa 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 @@ -144,6 +144,8 @@ public class OpenmeetingsVariables { private static boolean allowRegisterFrontend = false; private static boolean allowRegisterSoap = false; private static boolean allowRegisterOauth = false; + private static boolean sendVerificationEmail = false; + private static boolean sendRegisterEmail = false; private OpenmeetingsVariables() {} @@ -366,4 +368,20 @@ public class OpenmeetingsVariables { public static void setAllowRegisterOauth(boolean allow) { allowRegisterOauth = allow; } + + public static boolean isSendVerificationEmail() { + return sendVerificationEmail; + } + + public static void setSendVerificationEmail(boolean send) { + sendVerificationEmail = send; + } + + public static boolean isSendRegisterEmail() { + return sendRegisterEmail; + } + + public static void setSendRegisterEmail(boolean send) { + sendRegisterEmail = send; + } } 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 466432e..92934e0 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 @@ -21,8 +21,8 @@ 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.util.OpenmeetingsVariables.CONFIG_EMAIL_AT_REGISTER; import static org.apache.openmeetings.util.OpenmeetingsVariables.getMinLoginLength; +import static org.apache.openmeetings.util.OpenmeetingsVariables.isSendRegisterEmail; 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; @@ -36,7 +36,6 @@ import java.util.Set; import java.util.UUID; import org.apache.openmeetings.core.util.StrongPasswordValidator; -import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.server.LdapConfigDao; import org.apache.openmeetings.db.dao.server.OAuth2Dao; import org.apache.openmeetings.db.dao.user.UserDao; @@ -96,8 +95,6 @@ public class UserForm extends AdminBaseForm<User> { private final DropDownChoice<Long> domainId = new DropDownChoice<>("domainId"); private final PasswordDialog adminPass = new PasswordDialog("adminPass"); @SpringBean - private ConfigurationDao cfgDao; - @SpringBean private UserDao userDao; @SpringBean private EmailManager emainManager; @@ -243,7 +240,7 @@ public class UserForm extends AdminBaseForm<User> { private void saveUser(AjaxRequestTarget target, String pass) { User u = getModelObject(); final boolean isNew = u.getId() == null; - boolean sendEmailAtRegister = cfgDao.getBool(CONFIG_EMAIL_AT_REGISTER, false); + boolean sendEmailAtRegister = isSendRegisterEmail(); if (isNew && sendEmailAtRegister) { u.setActivatehash(UUID.randomUUID().toString()); } diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java index 523509b..248faba 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java @@ -21,12 +21,12 @@ 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.OmException.UNKNOWN; -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.getDefaultGroup; import static org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultLang; import static org.apache.openmeetings.util.OpenmeetingsVariables.getMinLoginLength; import static org.apache.openmeetings.util.OpenmeetingsVariables.isAllowRegisterFrontend; +import static org.apache.openmeetings.util.OpenmeetingsVariables.isSendVerificationEmail; import java.io.IOException; import java.security.NoSuchAlgorithmException; @@ -34,7 +34,6 @@ import java.util.Date; import java.util.Locale; import java.util.UUID; -import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.label.LabelDao; import org.apache.openmeetings.db.dao.user.GroupDao; import org.apache.openmeetings.db.dao.user.IUserManager; @@ -64,8 +63,6 @@ public class UserManager implements IUserManager { private static final Logger log = LoggerFactory.getLogger(UserManager.class); @Autowired - private ConfigurationDao cfgDao; - @Autowired private GroupDao groupDao; @Autowired private UserDao userDao; @@ -74,7 +71,7 @@ public class UserManager implements IUserManager { private boolean sendConfirmation() { String baseURL = getBaseUrl(); - return !Strings.isEmpty(baseURL) && cfgDao.getBool(CONFIG_EMAIL_VERIFICATION, false); + return !Strings.isEmpty(baseURL) && isSendVerificationEmail(); } /** 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 95d9e90..9ed3e00 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,17 +18,16 @@ */ package org.apache.openmeetings.web.pages.auth; -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.isSendRegisterEmail; +import static org.apache.openmeetings.util.OpenmeetingsVariables.isSendVerificationEmail; import static org.apache.wicket.validation.validator.StringValidator.minimumLength; 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.IUserManager; import org.apache.openmeetings.db.dao.user.UserDao; import org.apache.openmeetings.db.entity.user.Address; @@ -84,8 +83,6 @@ public class RegisterDialog extends NonClosableDialog<String> { private boolean sendConfirmation = false; private boolean sendEmailAtRegister = false; @SpringBean - private ConfigurationDao cfgDao; - @SpringBean private IUserManager userManager; @SpringBean private UserDao userDao; @@ -155,8 +152,8 @@ public class RegisterDialog extends NonClosableDialog<String> { @Override protected void onOpen(IPartialPageRequestHandler handler) { String baseURL = getBaseUrl(); - sendEmailAtRegister = cfgDao.getBool(CONFIG_EMAIL_AT_REGISTER, false); - sendConfirmation = !Strings.isEmpty(baseURL) && cfgDao.getBool(CONFIG_EMAIL_VERIFICATION, false); + sendEmailAtRegister = isSendRegisterEmail(); + sendConfirmation = !Strings.isEmpty(baseURL) && isSendVerificationEmail(); String messageCode = "account.created"; if (sendConfirmation && sendEmailAtRegister) { messageCode = "warn.notverified";