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 e272819  [OPENMEETINGS-1952] additional static methods for some 
configs, to reduce DB load
e272819 is described below

commit e2728191bebeb16131348bae8704c0ee65b77eea
Author: Maxim Solodovnik <[email protected]>
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       |  5 ++---
 .../org/apache/openmeetings/web/app/UserManager.java |  7 ++-----
 .../openmeetings/web/pages/auth/RegisterDialog.java  | 10 ++++------
 7 files changed, 50 insertions(+), 23 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 35288da..895ffe2 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_EMAIL_VERIFICATION;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MYROOMS_ENABLED;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.PARAM_STATUS;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.PARAM_USER_ID;
@@ -28,6 +27,7 @@ import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getBaseUrl;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
 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 static org.apache.openmeetings.util.Version.getVersion;
 
 import java.io.Serializable;
@@ -176,8 +176,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 e9d93b1..5fd3053 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
@@ -26,6 +26,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_FLASH_CAM_QUALITY;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_ECHO_PATH;
@@ -94,6 +96,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;
@@ -409,6 +413,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;
        }
@@ -524,6 +534,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();
@@ -548,6 +566,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 d16b5c6..3acd762 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,14 +19,13 @@
 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.getWebAppRootKey;
 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;
@@ -44,8 +43,6 @@ public class EmailManager {
        private static final Logger log = 
Red5LoggerFactory.getLogger(EmailManager.class, getWebAppRootKey());
 
        @Autowired
-       private ConfigurationDao cfgDao;
-       @Autowired
        private MailHandler mailHandler;
 
        private static IApplication getApp() {
@@ -67,12 +64,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 ad462c9..fb77944 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
@@ -148,6 +148,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() {}
 
@@ -370,4 +372,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 e6e65bb..7784802 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,9 +21,9 @@ 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.getWebAppRootKey;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.isSendRegisterEmail;
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.WebSession.getRights;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
@@ -38,7 +38,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;
@@ -236,7 +235,7 @@ public class UserForm extends AdminBaseForm<User> {
                User u = getModelObject();
                final UserDao dao = getBean(UserDao.class);
                final boolean isNew = u.getId() == null;
-               boolean sendEmailAtRegister = 
getBean(ConfigurationDao.class).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 849dedb4..7885db8 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
@@ -22,13 +22,13 @@ 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.OmFileHelper.HIBERNATE;
-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.getWebAppRootKey;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.isAllowRegisterFrontend;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.isSendVerificationEmail;
 
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
@@ -39,7 +39,6 @@ import java.util.Map;
 import java.util.UUID;
 
 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;
@@ -75,8 +74,6 @@ public class UserManager implements IUserManager {
        @Autowired
        private SessiondataDao sessionDao;
        @Autowired
-       private ConfigurationDao cfgDao;
-       @Autowired
        private GroupDao groupDao;
        @Autowired
        private UserDao userDao;
@@ -89,7 +86,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 41e616d..917bb71 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,11 +18,11 @@
  */
 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.getWebAppRootKey;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.isSendRegisterEmail;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.isSendVerificationEmail;
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static 
org.apache.wicket.validation.validator.StringValidator.minimumLength;
 
@@ -30,7 +30,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.IUserManager;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.Address;
@@ -149,10 +148,9 @@ public class RegisterDialog extends 
NonClosableDialog<String> {
 
        @Override
        protected void onOpen(IPartialPageRequestHandler handler) {
-               ConfigurationDao cfgDao = getBean(ConfigurationDao.class);
                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";

Reply via email to