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 2017/10/30 04:52:09 UTC

openmeetings git commit: [OPENMEETINGS-1732] WB was partially re-created after deletion

Repository: openmeetings
Updated Branches:
  refs/heads/4.0.x f462cf3fc -> ed6285d28


[OPENMEETINGS-1732] WB was partially re-created after deletion


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/ed6285d2
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/ed6285d2
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/ed6285d2

Branch: refs/heads/4.0.x
Commit: ed6285d28fb9e7319e2ea3c5d61a7df26e7eee0d
Parents: f462cf3
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Mon Oct 30 11:52:01 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Mon Oct 30 11:52:01 2017 +0700

----------------------------------------------------------------------
 .../core/data/whiteboard/WhiteboardCache.java         | 14 ++++++++------
 .../openmeetings/db/dao/basic/ConfigurationDao.java   | 10 ++++++++++
 .../org/apache/openmeetings/db/dao/user/UserDao.java  |  4 ++--
 .../openmeetings/service/mail/EmailManager.java       |  4 ++--
 .../service/mail/template/AbstractTemplatePanel.java  |  6 ++----
 .../apache/openmeetings/service/user/UserManager.java |  4 ++--
 .../openmeetings/util/OpenmeetingsVariables.java      |  9 +++++++++
 .../org/apache/openmeetings/web/app/WebSession.java   |  4 ++--
 .../org/apache/openmeetings/web/room/wb/WbPanel.java  |  9 +++++----
 openmeetings-web/src/main/webapp/css/wb.css           |  1 +
 10 files changed, 43 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed6285d2/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardCache.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardCache.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardCache.java
index 65d70aa..9dbed0a 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardCache.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardCache.java
@@ -19,6 +19,7 @@
 package org.apache.openmeetings.core.data.whiteboard;
 
 import static org.apache.openmeetings.core.remote.ScopeApplicationAdapter.getApp;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultLang;
 
 import java.util.Map.Entry;
 import java.util.Set;
@@ -63,12 +64,18 @@ public class WhiteboardCache {
 	}
 
 	public static Whiteboards get(Long roomId) {
+		return get(roomId, null);
+	}
+
+	public static Whiteboards get(Long roomId, Long langId) {
 		if (roomId == null) {
 			return null;
 		}
 		Whiteboards wbs = getCache().get(roomId);
 		if (wbs == null) {
 			wbs = new Whiteboards(roomId);
+			Whiteboard wb = add(wbs, langId);
+			wbs.setActiveWb(wb.getId());
 			update(wbs);
 		}
 		return wbs;
@@ -76,11 +83,6 @@ public class WhiteboardCache {
 
 	public static Set<Entry<Long, Whiteboard>> list(long roomId, Long langId) {
 		Whiteboards wbs = get(roomId);
-		if (wbs.getWhiteboards().isEmpty()) {
-			Whiteboard wb = add(wbs, langId);
-			wbs.setActiveWb(wb.getId());
-			update(wbs);
-		}
 		return wbs.getWhiteboards().entrySet();
 	}
 
@@ -92,7 +94,7 @@ public class WhiteboardCache {
 	}
 
 	private static Whiteboard add(Whiteboards wbs, Long langId) {
-		Whiteboard wb = new Whiteboard(getDefaultName(langId, wbs.count()));
+		Whiteboard wb = new Whiteboard(getDefaultName(langId == null ? getDefaultLang() : langId, wbs.count()));
 		wbs.add(wb);
 		return wb;
 	}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed6285d2/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
----------------------------------------------------------------------
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 d399a22..5c0c080 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
@@ -22,6 +22,7 @@ import static org.apache.commons.lang3.math.NumberUtils.toInt;
 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_CRYPT;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG;
 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;
@@ -58,6 +59,7 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.getWicketApplic
 import static org.apache.openmeetings.util.OpenmeetingsVariables.setApplicationName;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.setBaseUrl;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.setCryptClassName;
+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;
@@ -326,6 +328,9 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> {
 			case CONFIG_EXT_PROCESS_TTL:
 				setExtProcessTtl(toInt(value));
 				break;
+			case CONFIG_DEFAULT_LANG:
+				reloadDefaultLang();
+				break;
 		}
 		return entity;
 	}
@@ -368,10 +373,15 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> {
 		setGaCode(getString(CONFIG_GOOGLE_ANALYTICS_CODE, null));
 	}
 
+	private void reloadDefaultLang() {
+		setDefaultLang(getLong(CONFIG_DEFAULT_LANG, 1L));
+	}
+
 	public void reinit() {
 		reloadMaxUpload();
 		reloadCrypt();
 		setApplicationName(getString(CONFIG_APPLICATION_NAME, DEFAULT_APP_NAME));
+		reloadDefaultLang();
 		reloadBaseUrl();
 		reloadSipEnabled();
 		reloadGaCode();

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed6285d2/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
----------------------------------------------------------------------
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 f302a0e..f14f9a0 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
@@ -20,7 +20,7 @@ package org.apache.openmeetings.db.dao.user;
 
 import static org.apache.openmeetings.db.util.UserHelper.getMinLoginLength;
 import static org.apache.openmeetings.util.DaoHelper.getStringParam;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultLang;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
 
 import java.security.NoSuchAlgorithmException;
@@ -103,7 +103,7 @@ public class UserDao implements IGroupAdminDataProviderDao<User> {
 		User user = new User();
 		user.setSalutation(Salutation.mr); // TODO: Fix default selection to be configurable
 		user.setRights(getDefaultRights());
-		user.setLanguageId(cfgDao.getLong(CONFIG_DEFAULT_LANG, 1L));
+		user.setLanguageId(getDefaultLang());
 		user.setTimeZoneId(timezoneUtil.getTimeZone(currentUser).getID());
 		user.setForceTimeZoneCheck(false);
 		user.setSendSMS(false);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed6285d2/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java
----------------------------------------------------------------------
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 c5791d9..af9b1cb 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,8 +19,8 @@
 package org.apache.openmeetings.service.mail;
 
 import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG;
 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;
 
@@ -70,7 +70,7 @@ public class EmailManager {
 		log.debug("sendMail:: username = {}, email = {}", username, email);
 		boolean sendEmailAtRegister = cfgDao.getBool(CONFIG_EMAIL_AT_REGISTER, false);
 
-		ensureApplication(langId != null ? langId : cfgDao.getLong(CONFIG_DEFAULT_LANG, 1L));
+		ensureApplication(langId != null ? langId : getDefaultLang());
 		String link = getApp().urlForActivatePage(new PageParameters().add("u",  hash));
 
 		if (sendEmailAtRegister) {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed6285d2/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
index b8a691c..bfbec3d 100644
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
@@ -19,12 +19,11 @@
 package org.apache.openmeetings.service.mail.template;
 
 import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultLang;
 
 import java.util.Locale;
 
 import org.apache.openmeetings.IWebSession;
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.db.util.FormatHelper;
 import org.apache.wicket.AttributeModifier;
@@ -52,8 +51,7 @@ public abstract class AbstractTemplatePanel extends Panel {
 	}
 
 	private static Locale getDefault() {
-		Long langId = getBean(ConfigurationDao.class).getLong(CONFIG_DEFAULT_LANG, 1L);
-		return LabelDao.getLocale(langId);
+		return LabelDao.getLocale(getDefaultLang());
 	}
 
 	public static String getString(String id, Locale locale, String... params) {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed6285d2/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
----------------------------------------------------------------------
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 dbe9a72..ceed7ba 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
@@ -22,10 +22,10 @@ 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;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_VERIFICATION;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_SOAP;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.getBaseUrl;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultLang;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
 
 import java.io.IOException;
@@ -339,7 +339,7 @@ public class UserManager implements IUserManager {
 
 	@Override
 	public Long getLanguage(Locale loc) {
-		return LabelDao.getLanguage(loc, cfgDao.getLong(CONFIG_DEFAULT_LANG, 1L));
+		return LabelDao.getLanguage(loc, getDefaultLang());
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed6285d2/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
----------------------------------------------------------------------
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 a6587b2..7b2cdaf 100644
--- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
+++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
@@ -121,6 +121,7 @@ public class OpenmeetingsVariables {
 	private static String baseUrl = DEFAULT_BASE_URL;
 	private static boolean sipEnabled = false;
 	private static String gaCode = null;
+	private static Long defaultLang = 1L;
 
 	private OpenmeetingsVariables() {}
 
@@ -215,4 +216,12 @@ public class OpenmeetingsVariables {
 	public static void setGaCode(String code) {
 		gaCode = code;
 	}
+
+	public static Long getDefaultLang() {
+		return defaultLang;
+	}
+
+	public static void setDefaultLang(Long lang) {
+		defaultLang = lang;
+	}
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed6285d2/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
----------------------------------------------------------------------
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 387daf6..c6ed918 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
@@ -22,8 +22,8 @@ import static java.text.DateFormat.SHORT;
 import static org.apache.openmeetings.util.CalendarPatterns.ISO8601_FULL_FORMAT_STRING;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_MYROOMS;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_RSS;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MYROOMS_ENABLED;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultLang;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getAuthenticationStrategy;
 import static org.apache.openmeetings.web.app.Application.getBean;
@@ -357,7 +357,7 @@ public class WebSession extends AbstractAuthenticatedWebSession implements IWebS
 			if (session.isSignedIn()) {
 				session.languageId = getBean(UserDao.class).get(session.userId).getLanguageId();
 			} else {
-				session.languageId = getBean(ConfigurationDao.class).getLong(CONFIG_DEFAULT_LANG, 1L);
+				session.languageId = getDefaultLang();
 			}
 		}
 		return session.languageId;

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed6285d2/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
index 94e050e..fac3f9a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
@@ -169,6 +169,7 @@ public class WbPanel extends AbstractWbPanel {
 
 	@Override
 	void internalWbLoad(StringBuilder sb) {
+		Long langId = rp.getClient().getUser().getLanguageId();
 		if (!WhiteboardCache.contains(roomId) && rp.getRoom().getFiles() != null && !rp.getRoom().getFiles().isEmpty()) {
 			if (WhiteboardCache.tryLock(roomId)) {
 				try {
@@ -181,9 +182,9 @@ public class WbPanel extends AbstractWbPanel {
 						}
 						bfl.add(rf.getFile());
 					}
-					Whiteboards _wbs = WhiteboardCache.get(roomId);
+					Whiteboards _wbs = WhiteboardCache.get(roomId, langId);
 					for (Map.Entry<Long, List<BaseFileItem>> e : files.entrySet()) {
-						Whiteboard wb = WhiteboardCache.add(roomId, rp.getClient().getUser().getLanguageId());
+						Whiteboard wb = WhiteboardCache.add(roomId, langId);
 						_wbs.setActiveWb(wb.getId());
 						for (BaseFileItem fi : e.getValue()) {
 							sendFileToWb(fi, false);
@@ -194,8 +195,8 @@ public class WbPanel extends AbstractWbPanel {
 				}
 			}
 		}
-		Whiteboards wbs = WhiteboardCache.get(roomId);
-		for (Entry<Long, Whiteboard> entry : WhiteboardCache.list(roomId, rp.getClient().getUser().getLanguageId())) {
+		Whiteboards wbs = WhiteboardCache.get(roomId, langId);
+		for (Entry<Long, Whiteboard> entry : WhiteboardCache.list(roomId, langId)) {
 			Whiteboard wb = entry.getValue();
 			sb.append(new StringBuilder("WbArea.create(").append(getAddWbJson(wb)).append(");"));
 			JSONArray arr = new JSONArray();

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed6285d2/openmeetings-web/src/main/webapp/css/wb.css
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/css/wb.css b/openmeetings-web/src/main/webapp/css/wb.css
index c594352..6f3f038 100644
--- a/openmeetings-web/src/main/webapp/css/wb.css
+++ b/openmeetings-web/src/main/webapp/css/wb.css
@@ -204,6 +204,7 @@
 .wb-tabbar {
 	padding-left: 70px !important;
 	padding-right: 35px !important;
+	min-height: 40px;
 }
 .wb-tabbar .scroll-container {
 	overflow: hidden;