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 c2b45e2  [OPENMEETINGS-1856] sonar should be more happy
c2b45e2 is described below

commit c2b45e22621e7e71baf2a96290672d18c098d45f
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Fri Oct 26 22:45:52 2018 +0700

    [OPENMEETINGS-1856] sonar should be more happy
---
 .../openmeetings/core/converter/BaseConverter.java |  42 +-
 .../core/converter/InterviewConverter.java         |  12 -
 .../core/converter/RecordingConverter.java         |   9 -
 .../openmeetings/core/remote/MobileService.java    | 448 ---------------------
 .../openmeetings/core/util/WebSocketHelper.java    |   4 +-
 .../apache/openmeetings/backup/BackupExport.java   |  46 ++-
 .../openmeetings/util/OMContextListener.java       |   1 -
 .../org/apache/openmeetings/web/common/main.js     |   6 +-
 .../openmeetings/web/room/activities/activities.js |  17 +-
 .../apache/openmeetings/web/room/raw-settings.js   |   5 +-
 .../openmeetings/web/room/wb/raw-interview-area.js |  19 +-
 .../openmeetings/web/room/wb/raw-tool-shape.js     |   4 +-
 .../openmeetings/web/room/wb/raw-tool-util.js      |   5 +-
 .../apache/openmeetings/web/room/wb/raw-wb-area.js |  72 +++-
 .../openmeetings/web/room/wb/raw-wb-board.js       |  14 +-
 .../openmeetings/web/user/chat/ChatForm.java       |   9 -
 .../apache/openmeetings/web/user/chat/raw-chat.js  |   4 +-
 17 files changed, 142 insertions(+), 575 deletions(-)

diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
index 8281646..63fedec 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
@@ -44,6 +44,7 @@ import java.util.regex.Pattern;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.file.FileItemLogDao;
 import org.apache.openmeetings.db.dao.record.RecordingChunkDao;
+import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.entity.file.BaseFileItem;
 import org.apache.openmeetings.db.entity.record.Recording;
 import org.apache.openmeetings.db.entity.record.RecordingChunk;
@@ -66,9 +67,11 @@ public abstract class BaseConverter {
        @Autowired
        protected ConfigurationDao cfgDao;
        @Autowired
-       private RecordingChunkDao chunkDao;
+       protected RecordingChunkDao chunkDao;
        @Autowired
        protected FileItemLogDao logDao;
+       @Autowired
+       protected RecordingDao recordingDao;
 
        protected static class Dimension {
                private final int width;
@@ -268,43 +271,6 @@ public abstract class BaseConverter {
                                        // Strip Wave to Full Length
                                        File outputGapFullWav = outputWav;
 
-                                       /* FIXME TODO
-                                       // Fix Start/End in Audio
-                                       List<RecordingMetaDelta> metaDeltas = 
metaDeltaDao.getByMetaId(metaId);
-
-                                       int counter = 0;
-
-                                       for (RecordingMetaDelta metaDelta : 
metaDeltas) {
-                                               File inputFile = 
outputGapFullWav;
-
-                                               // Strip Wave to Full Length
-                                               String hashFileGapsFullName = 
metaData.getStreamName() + "_GAP_FULL_WAVE_" + counter + ".wav";
-                                               outputGapFullWav = new 
File(streamFolder, hashFileGapsFullName);
-
-                                               
metaDelta.setWaveOutPutName(hashFileGapsFullName);
-
-                                               String[] soxArgs = null;
-
-                                               if (metaDelta.getDeltaTime() != 
null) {
-                                                       double gapSeconds = 
diffSeconds(metaDelta.getDeltaTime());
-                                                       if 
(metaDelta.isStartPadding()) {
-                                                               soxArgs = 
addSoxPad(logs, "fillGap", gapSeconds, 0, inputFile, outputGapFullWav);
-                                                       } else if 
(metaDelta.isEndPadding()) {
-                                                               soxArgs = 
addSoxPad(logs, "fillGap", 0, gapSeconds, inputFile, outputGapFullWav);
-                                                       }
-                                               }
-
-                                               if (soxArgs != null) {
-                                                       log.debug("START 
fillGap ################# Delta-ID :: {}", metaDelta.getId());
-
-                                                       
metaDeltaDao.update(metaDelta);
-                                                       counter++;
-                                               } else {
-                                                       outputGapFullWav = 
inputFile;
-                                               }
-                                       }
-                                       */
-
                                        // Strip Wave to Full Length
                                        String hashFileFullName = 
chunk.getStreamName() + "_FULL_WAVE.wav";
                                        File outputFullWav = new 
File(streamFolder, hashFileFullName);
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
index dc2e192..79f0077 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
@@ -33,8 +33,6 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.stream.Collectors;
 
-import org.apache.openmeetings.db.dao.record.RecordingChunkDao;
-import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.entity.record.Recording;
 import org.apache.openmeetings.db.entity.record.RecordingChunk;
 import org.apache.openmeetings.util.OmFileHelper;
@@ -44,19 +42,12 @@ import 
org.apache.openmeetings.util.process.ProcessResultList;
 import org.apache.wicket.util.string.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 @Component
 public class InterviewConverter extends BaseConverter implements 
IRecordingConverter {
        private static final Logger log = 
LoggerFactory.getLogger(InterviewConverter.class);
 
-       // Spring loaded Beans
-       @Autowired
-       private RecordingDao recordingDao;
-       @Autowired
-       private RecordingChunkDao chunkDao;
-
        @Override
        public void startConversion(Recording r) {
                if (r == null) {
@@ -117,7 +108,6 @@ public class InterviewConverter extends BaseConverter 
implements IRecordingConve
                                                logs.add(res);
                                                if (!res.isWarn()) {
                                                        long diff = 
diff(chunk.isAudioOnly() ? chunk.getEnd() : chunk.getStart(), pStart);
-                                                       //createBlankPod(id, 
streamFolder, interviewCam, diff, logs, pods, parts);
                                                        PodPart.add(parts, 
diff);
                                                        if 
(!chunk.isAudioOnly()) {
                                                                parts.add(new 
PodPart(path, diff(chunk.getEnd(), chunk.getStart())));
@@ -131,8 +121,6 @@ public class InterviewConverter extends BaseConverter 
implements IRecordingConve
                                if (!parts.isEmpty()) {
                                        String podX = new File(streamFolder, 
String.format("rec_%s_pod_%s.%s", r.getId(), N, 
EXTENSION_MP4)).getCanonicalPath();
                                        long diff = diff(r.getRecordEnd(), 
pStart);
-                                       // add blank pod till the end
-                                       //createBlankPod(id, streamFolder, 
interviewCam, diff, logs, pods, parts);
                                        PodPart.add(parts, diff);
                                        /* create continuous pod
                                         * ffmpeg \
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
index ae21de3..f1e8691 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
@@ -27,8 +27,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import org.apache.openmeetings.db.dao.record.RecordingChunkDao;
-import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.entity.record.Recording;
 import org.apache.openmeetings.db.entity.record.RecordingChunk;
 import org.apache.openmeetings.db.entity.record.RecordingChunk.Status;
@@ -36,19 +34,12 @@ import 
org.apache.openmeetings.util.process.ProcessResultList;
 import org.apache.wicket.util.string.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 @Component
 public class RecordingConverter extends BaseConverter implements 
IRecordingConverter {
        private static final Logger log = 
LoggerFactory.getLogger(RecordingConverter.class);
 
-       // Spring loaded Beans
-       @Autowired
-       private RecordingDao recordingDao;
-       @Autowired
-       private RecordingChunkDao chunkDao;
-
        @Override
        public void startConversion(Recording r) {
                if (r == null) {
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
deleted file mode 100644
index d0bb55e..0000000
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
+++ /dev/null
@@ -1,448 +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.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.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;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.TimeZone;
-
-import org.apache.commons.lang3.time.FastDateFormat;
-import org.apache.openmeetings.db.dao.basic.ChatDao;
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-import org.apache.openmeetings.db.dao.label.LabelDao;
-import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.db.dao.server.SessiondataDao;
-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.basic.ChatMessage;
-import org.apache.openmeetings.db.entity.room.Room;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.util.OmException;
-import org.apache.wicket.util.string.Strings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-@Service("mobile.service")
-public class MobileService {
-       private static final Logger log = 
LoggerFactory.getLogger(MobileService.class);
-       @Autowired
-       private ConfigurationDao cfgDao;
-       @Autowired
-       private UserDao userDao;
-       @Autowired
-       private IUserManager userManager;
-       @Autowired
-       private SessiondataDao sessionDao;
-       @Autowired
-       private RoomDao roomDao;
-       @Autowired
-       private ChatDao chatDao;
-
-       private static void add(Map<String, Object> m, String key, Object v) {
-               m.put(key, v == null ? "" : v);
-       }
-
-       public String refreshSession(String sid) {
-               sessionDao.check(sid);
-               return "ok";
-       }
-
-       /**
-        * @return - List of all available Languages
-        */
-       public List<Language> getLanguages() {
-               List<Language> result = new ArrayList<>();
-               for (Map.Entry<Long, Locale> e : LabelDao.getLanguages()) {
-                       result.add(new Language(e.getKey(), 
e.getValue().toLanguageTag(), e.getValue().getDisplayName(Locale.ENGLISH)));
-               }
-               return result;
-       }
-
-       public long switchMicMuted(String publicSID, boolean mute) {
-               return 0L; //return scopeAdapter.switchMicMuted(publicSID, 
mute);
-       }
-
-       public Map<String, Object> checkServer() {
-               Map<String, Object> result = new HashMap<>();
-               result.put("allowSelfRegister", isAllowRegisterFrontend());
-               result.put("allowOauthRegister", isAllowRegisterOauth());
-               return result;
-       }
-
-       public Map<String, String> getStates() {
-               Map<String, String> result = new HashMap<>();
-               for (String code : Locale.getISOCountries()) {
-                       result.put(code, getCountryName(code));
-               }
-               return result;
-       }
-
-       public String[] getTimezones() {
-               return TimeZone.getAvailableIDs();
-       }
-
-       public Map<String, Object> loginGoogle(Map<String, String> umap) {
-               Map<String, Object> result = getResult();
-               try {
-                       if (isAllowRegisterOauth()) {
-                               User u = userManager.loginOAuth(new 
OAuthUser(umap), 2); //TODO hardcoded
-                               result = login(u, result);
-                       }
-               } catch (Exception e) {
-                       log.error("[loginGoogle]", e);
-               }
-               return result;
-       }
-
-       public Map<String, Object> registerUser(Map<String, String> umap) {
-               Map<String, Object> result = getResult();
-               try {
-                       if (isAllowRegisterFrontend()) {
-                               String login = umap.get("login");
-                               String email = umap.get("email");
-                               String lastname = umap.get("lastname");
-                               String firstname = umap.get("firstname");
-                               if (firstname == null) {
-                                       firstname = "";
-                               }
-                               if (lastname == null) {
-                                       lastname = "";
-                               }
-                               String password = umap.get("password");
-                               String tzId = umap.get("tzId");
-                               String country = umap.get("stateId");
-                               Long langId = Long.valueOf(umap.get("langId"));
-
-                               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) && isSendVerificationEmail();
-                                       if (sendConfirmation) {
-                                               add(result, PARAM_STATUS, 
-666L);
-                                       } else {
-                                               result = login(u, result);
-                                       }
-                               } else {
-                                       add(result, PARAM_STATUS, user);
-                               }
-                       }
-               } catch (Exception e) {
-                       log.error("[registerUser]", e);
-               }
-               return result;
-       }
-
-       public Map<String, Object> loginUser(String login, String password) {
-               Map<String, Object> result = getResult();
-               try {
-                       User u = userDao.login(login, password);
-                       result = login(u, result);
-               } catch (OmException e) {
-                       result.put(PARAM_STATUS, e.getKey());
-               } catch (Exception e) {
-                       log.error("[loginUser]", e);
-               }
-               return result;
-       }
-
-       private static Map<String, Object> getResult() {
-               Map<String, Object> result = new HashMap<>();
-               result.put(PARAM_STATUS, UNKNOWN.getKey());
-               return result;
-       }
-
-       private Map<String, Object> login(User u, Map<String, Object> result) {
-               /*
-               if (u != null) {
-                       IConnection conn = Red5.getConnectionLocal();
-                       Sessiondata sd = sessionDao.create(u.getId(), 
u.getLanguageId());
-                       StreamClient c = create(u, sd);
-                       c.setScope(conn.getScope().getName());
-                       streamClientManager.add(c);
-                       IClientUtil.init(conn.getClient(), c.getUid(), false);
-
-                       add(result, "sid", sd.getSessionId());
-                       add(result, "publicSid", c.getUid());
-                       add(result, PARAM_STATUS, 0);
-                       add(result, PARAM_USER_ID, u.getId());
-                       add(result, "firstname", u.getFirstname());
-                       add(result, "lastname", u.getLastname());
-                       add(result, "login", u.getLogin());
-                       add(result, "email", u.getAddress() == null ? "" : 
u.getAddress().getEmail());
-                       add(result, "language", u.getLanguageId());
-                       add(result, "version", getVersion());
-               }
-               */
-               return result;
-       }
-
-       public List<Map<String, Object>> getVideoStreams() {
-               List<Map<String, Object>> result = new ArrayList<>();
-               /*
-               // Notify all clients of the same scope (room)
-               IConnection current = Red5.getConnectionLocal();
-               for (IConnection conn : 
current.getScope().getClientConnections()) {
-                       if (conn != null && conn instanceof 
IServiceCapableConnection) {
-                               StreamClient c = 
streamClientManager.get(IClientUtil.getId(conn.getClient()));
-                               if (!Strings.isEmpty(c.getAvsettings()) && 
Client.Type.sharing != c.getType()) {
-                                       Map<String, Object> map = new 
HashMap<>();
-                                       add(map, "streamId", c.getId());
-                                       add(map, "broadCastId", 
c.getBroadcastId());
-                                       add(map, PARAM_USER_ID, c.getUserId());
-                                       add(map, "firstname", c.getFirstname());
-                                       add(map, "lastname", c.getLastname());
-                                       add(map, "publicSid", c.getUid());
-                                       add(map, "login", c.getLogin());
-                                       add(map, "email", c.getEmail());
-                                       add(map, "avsettings", 
c.getAvsettings());
-                                       add(map, "interviewPodId", null);
-                                       add(map, "vWidth", c.getWidth());
-                                       add(map, "vHeight", c.getHeight());
-                                       result.add(map);
-                               }
-                       }
-               }
-               */
-               return result;
-       }
-
-       private void addRoom(String type, String org, boolean first, 
List<Map<String, Object>> result, Room r) {
-               Map<String, Object> room = new HashMap<>();
-               room.put("id", r.getId());
-               room.put("name", r.getName());
-               room.put("type", type);
-               room.put("roomTypeId", r.getType().getId());
-               if (org != null) {
-                       room.put("org", org);
-               }
-               room.put("first", first);
-               // room.put("users", 
streamClientManager.list(r.getId()).size());
-               room.put("total", r.getCapacity());
-               room.put("audioOnly", r.isAudioOnly());
-               result.add(room);
-       }
-
-       public List<Map<String, Object>> getRooms() {
-               List<Map<String, Object>> result = new ArrayList<>();
-               /*
-               IConnection current = Red5.getConnectionLocal();
-               StreamClient c = 
streamClientManager.get(IClientUtil.getId(current.getClient()));
-               User u = userDao.get(c.getUserId());
-               if (cfgDao.getBool(CONFIG_MYROOMS_ENABLED, true)) {
-                       //my rooms
-                       List<Room> myl = new ArrayList<>();
-                       myl.add(roomDao.getUserRoom(u.getId(), 
Room.Type.conference, LabelDao.getString("my.room.conference", 
u.getLanguageId())));
-                       myl.add(roomDao.getUserRoom(u.getId(), 
Room.Type.presentation, LabelDao.getString("my.room.presentation", 
u.getLanguageId())));
-                       myl.addAll(roomDao.getAppointedRoomsByUser(u.getId()));
-                       for (Room r : myl) {
-                               addRoom("my", null, false, result, r);
-                       }
-               }
-
-               //private rooms
-               for (GroupUser ou : u.getGroupUsers()) {
-                       Group org = ou.getGroup();
-                       boolean first = true;
-                       for (Room r : roomDao.getGroupRooms(org.getId())) {
-                               addRoom("private", org.getName(), first, 
result, r);
-                               first = false;
-                       }
-               }
-
-               //public rooms
-               for (Room r : roomDao.getPublicRooms()) {
-                       addRoom("public", null, false, result, r);
-               }
-               */
-               return result;
-       }
-
-       /**
-        * designed to do nothing remain for compatibility
-        *
-        * @param sid - sid
-        * @param userId - redundant userId
-        * @return {@link Map} with publiSid and broadcastId
-        */
-       public Map<String, Object> roomConnect(String sid, Long userId) {
-               Map<String, Object> result = new HashMap<>();
-               /*
-               // publicSid is changed on mobile room connect
-               IConnection current = Red5.getConnectionLocal();
-               StreamClient c = 
streamClientManager.get(IClientUtil.getId(current.getClient()));
-               result.put("publicSid", c.getUid());
-               result.put("broadCastId", c.getBroadcastId());
-               */
-               return result;
-       }
-
-       public Map<String, Object> updateAvMode(String avMode, String width, 
String height, @SuppressWarnings("unused") Integer interviewPodId) {
-               Map<String, Object> result = new HashMap<>();
-               /*
-               IConnection current = Red5.getConnectionLocal();
-               StreamClient c = 
streamClientManager.get(IClientUtil.getId(current.getClient()));
-               c.setAvsettings(avMode);
-               if (!"n".equals(avMode)) {
-                       c.setBroadcastId(UUID.randomUUID().toString());
-                       c.setBroadcasting(true);
-               }
-               c.setWidth(Double.valueOf(width).intValue());
-               c.setHeight(Double.valueOf(height).intValue());
-               streamClientManager.update(c);
-               Map<String, Object> hsm = new HashMap<>();
-               hsm.put("client", c);
-               hsm.put("message", new String[]{"avsettings", "0", avMode});
-               if (!"n".equals(avMode)) {
-                       result.put("broadcastId", c.getBroadcastId());
-               }
-
-               
scopeAdapter.sendMessageToCurrentScope("sendVarsToMessageWithClient", hsm, 
true, false);
-               */
-               return result;
-       }
-
-       public void sendChatMessage(String msg) {
-               /*
-               IConnection current = Red5.getConnectionLocal();
-               StreamClient c = 
streamClientManager.get(IClientUtil.getId(current.getClient()));
-
-               ChatMessage m = new ChatMessage();
-               m.setMessage(msg);
-               m.setSent(new Date());
-               User u = userDao.get(c.getUserId());
-               m.setFromUser(u);
-               Room r = roomDao.get(c.getRoomId());
-               m.setToRoom(r);
-               m.setNeedModeration(r.isChatModerated() && !isModerator(c));
-               chatDao.update(m);
-               FastDateFormat fmt = FormatHelper.getDateTimeFormat(u);
-               sendChatMessage(c, m, fmt);
-               WebSocketHelper.sendRoom(m, WebSocketHelper.getMessage(u, 
Arrays.asList(m), null));
-               */
-       }
-
-       public void sendChatMessage(String uid, ChatMessage m, FastDateFormat 
fmt) {
-               /*sendChatMessage(streamClientManager.get(uid), m, fmt);
-       }
-
-       public void sendChatMessage(StreamClient c, ChatMessage m, 
FastDateFormat fmt) {
-               if (c == null) {
-                       return;
-               }
-               Map<String, Object> hsm = new HashMap<>();
-               hsm.put("client", c);
-               hsm.put("message", Arrays.asList("chat", encodeChatMessage(m, 
fmt)));
-
-               final Long roomId = c.getRoomId();
-               //Sync to all users of current scope
-               new MessageSender(scopeAdapter.getChildScope(roomId), 
"sendVarsToMessageWithClient", hsm, scopeAdapter) {
-                       @Override
-                       public boolean filter(IConnection conn) {
-                               StreamClient rcl = 
streamClientManager.get(IClientUtil.getId(conn.getClient()));
-                               return Client.Type.sharing == rcl.getType()
-                                               || rcl.getRoomId() == null || 
!rcl.getRoomId().equals(roomId);
-                       }
-               }.start();
-       }
-
-       private static boolean isModerator(StreamClient c) {
-               return c.isMod() || c.isSuperMod();
-               */
-       }
-
-       private static Map<String, Object> encodeChatMessage(ChatMessage m, 
FastDateFormat fmt) {
-               Map<String, Object> mm = new HashMap<>();
-               mm.put("from", String.format("%s %s", 
m.getFromUser().getFirstname(), m.getFromUser().getLastname()));
-               mm.put("time", fmt.format(m.getSent()));
-               mm.put("msg", m.getMessage());
-               return mm;
-       }
-
-       public List<Map<String, Object>> getRoomChatHistory() {
-               List<Map<String,Object>> myChatList = new ArrayList<>();
-               /*
-               try {
-                       IConnection current = Red5.getConnectionLocal();
-                       StreamClient c = 
streamClientManager.get(IClientUtil.getId(current.getClient()));
-                       Long roomId = c.getRoomId();
-
-                       log.debug("GET CHATROOM: " + roomId);
-
-                       Room r = roomDao.get(roomId);
-                       User u = userDao.get(c.getUserId());
-                       FastDateFormat fmt = FormatHelper.getDateTimeFormat(u);
-                       for (ChatMessage m : chatDao.getRoom(roomId, 0, 30, 
!r.isChatModerated() || isModerator(c))) {
-                               myChatList.add(encodeChatMessage(m, fmt));
-                       }
-
-               } catch (Exception err) {
-                       log.error("[getRoomChatHistory] ",err);
-               }
-               */
-               return myChatList;
-       }
-
-       public static class Language implements Serializable {
-               private static final long serialVersionUID = 1L;
-               private long language_id;
-               private String code;
-               private String name;
-
-               public Language() {
-                       //for creating via reflection
-               }
-
-               public Language(long langId, String code, String name) {
-                       this.language_id = langId;
-                       this.code = code;
-                       this.name = name;
-               }
-
-               public String getCode() {
-                       return code;
-               }
-
-               public long getLanguage_id() {
-                       return language_id;
-               }
-
-               public String getName() {
-                       return name;
-               }
-       }
-}
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
index a8ba8c4..4f79dd5 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
@@ -249,7 +249,7 @@ public class WebSocketHelper {
                        Application app = (Application)getApp();
                        WebSocketSettings settings = 
WebSocketSettings.Holder.get(app);
                        IWebSocketConnectionRegistry reg = 
settings.getConnectionRegistry();
-                       Executor executor = 
settings.getWebSocketPushMessageExecutor(); // new NewThreadExecutor();
+                       Executor executor = 
settings.getWebSocketPushMessageExecutor();
                        for (IWebSocketConnection c : reg.getConnections(app)) {
                                executor.run(() -> {
                                        try {
@@ -293,7 +293,7 @@ public class WebSocketHelper {
                        Application app = (Application)getApp();
                        WebSocketSettings settings = 
WebSocketSettings.Holder.get(app);
                        IWebSocketConnectionRegistry reg = 
settings.getConnectionRegistry();
-                       Executor executor = 
settings.getWebSocketPushMessageExecutor(); //new NewThreadExecutor();
+                       Executor executor = 
settings.getWebSocketPushMessageExecutor();
                        for (Client c : func.apply(app)) {
                                if (check == null || check.test(c)) {
                                        final IWebSocketConnection wc = 
reg.getConnection(app, c.getSessionId(), new PageIdKey(c.getPageId()));
diff --git 
a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
 
b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
index e0d7f3c..cdeee85 100644
--- 
a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
+++ 
b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
@@ -182,30 +182,34 @@ public class BackupExport {
                        exportChat(zos, progressHolder);
 
                        if (includeFiles) {
-                               //##################### Backup Room Files
-                               for (File file : getUploadDir().listFiles()) {
-                                       String fName = file.getName();
-                                       if (file.isDirectory() && 
!IMPORT_DIR.equals(fName) && !BACKUP_DIR.equals(fName)) {
-                                               log.debug("### " + 
file.getName());
-                                               writeZipDir(BCKP_ROOM_FILES, 
file.getParentFile().toURI(), file, zos);
-                                       }
-                               }
-
-                               //##################### Backup Recording Files
-                               final File recDir = getStreamsHibernateDir();
-                               writeZipDir(BCKP_RECORD_FILES, recDir.toURI(), 
recDir, zos);
-                               progressHolder.setProgress(90);
-
-                               final File customCss = getCustomCss();
-                               if (customCss != null && customCss.exists() && 
customCss.isFile()) {
-                                       writeZip(CSS_DIR, 
customCss.getParentFile().toURI(), customCss, zos);
-                               }
+                               exportFiles(progressHolder, zos);
                        }
                }
                progressHolder.setProgress(100);
                log.debug("---Done");
        }
 
+       private void exportFiles(ProgressHolder progressHolder, ZipOutputStream 
zos) throws IOException {
+               //##################### Backup Room Files
+               for (File file : getUploadDir().listFiles()) {
+                       String fName = file.getName();
+                       if (file.isDirectory() && !IMPORT_DIR.equals(fName) && 
!BACKUP_DIR.equals(fName)) {
+                               log.debug("### " + file.getName());
+                               writeZipDir(BCKP_ROOM_FILES, 
file.getParentFile().toURI(), file, zos);
+                       }
+               }
+
+               //##################### Backup Recording Files
+               final File recDir = getStreamsHibernateDir();
+               writeZipDir(BCKP_RECORD_FILES, recDir.toURI(), recDir, zos);
+               progressHolder.setProgress(90);
+
+               final File customCss = getCustomCss();
+               if (customCss != null && customCss.exists() && 
customCss.isFile()) {
+                       writeZip(CSS_DIR, customCss.getParentFile().toURI(), 
customCss, zos);
+               }
+       }
+
        private static <T extends HistoricalEntity> void bindDate(Registry 
registry, List<T> list) throws Exception {
                bindDate(registry, list, HistoricalEntity::getInserted);
        }
@@ -545,6 +549,12 @@ public class BackupExport {
                }
        }
 
+       /**
+        * Required during build `generate-configs-xml` goal
+        *
+        * @param args - path to GeneralConfiguration.xml
+        * @throws Exception - in case of any error
+        */
        public static void main(String[] args) throws Exception {
                List<Configuration> list = ImportInitvalues.initialCfgs(new 
InstallationConfig());
                Serializer ser = getConfigSerializer(list);
diff --git 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OMContextListener.java
 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OMContextListener.java
index 4f09782..a662c0b 100644
--- 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OMContextListener.java
+++ 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OMContextListener.java
@@ -55,7 +55,6 @@ public class OMContextListener implements 
ServletContextListener {
                        // StatusPrinter will handle this
                }
                StatusPrinter.printInCaseOfErrorsOrWarnings(context);
-               //System.setProperty("logback.configurationFile", 
"logback-config.xml");
        }
 
        private static String pathToName(ServletContextEvent event) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/main.js 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/main.js
index 5c5ebc3..a0a9cf7 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/main.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/main.js
@@ -81,7 +81,11 @@ var OmUtil = (function() {
        self.confirmDlg = _confirmDlg;
        self.tmpl = _tmpl;
        self.debugEnabled = _debugEnabled;
-       self.enableDebug = function() { if (!!options) { options.debug = true; 
} };
+       self.enableDebug = function() {
+               if (!!options) {
+                       options.debug = true;
+               }
+       };
        self.sendMessage = function(_m, _base) {
                const base = _base || {}
                        , m = _m || {}
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/activities.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/activities.js
index 2e18171..bafb29e 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/activities.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/activities.js
@@ -70,7 +70,9 @@ var Activities = function() {
                }
        }
        function _hightlight() {
-               if (!inited) return;
+               if (!inited) {
+                       return;
+               }
                if (isClosed()) {
                        $('.control.block', 
activities).addClass('ui-state-highlight');
                }
@@ -121,7 +123,9 @@ var Activities = function() {
                        inited = true;
                }
                , toggle: function() {
-                       if (!inited) return;
+                       if (!inited) {
+                               return;
+                       }
                        if (isClosed()) {
                                _open();
                        } else {
@@ -130,7 +134,9 @@ var Activities = function() {
                }
                , findUser: _findUser
                , add: function(obj) {
-                       if (!inited) return;
+                       if (!inited) {
+                               return;
+                       }
                        const _id = _getId(obj.id);
                        area.append(OmUtil.tmpl('#activity-stub', 
_id).data(obj));
                        const a = $('#' + _id).addClass(obj.cssClass);
@@ -153,7 +159,10 @@ var Activities = function() {
                        } else {
                                fnd.hide();
                        }
-                       a.find('.activity-close').click(function() { 
a.remove(); _action('close', obj.id); });
+                       a.find('.activity-close').click(function() {
+                               a.remove();
+                               _action('close', obj.id);
+                       });
                        a.find('.activity-text').text(obj.text);
                        _hightlight();
                        if (aclean.prop('checked') && a.hasClass('auto-clean')) 
{
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-settings.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-settings.js
index 88e6367..a831ea0 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-settings.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-settings.js
@@ -528,7 +528,10 @@ var VideoSettings = (function() {
        return {
                init: _init
                , open: _open
-               , close: function() { _close(); vs.dialog('close'); }
+               , close: function() {
+                       _close();
+                       vs.dialog('close');
+               }
                , load: _load
                , save: _save
                , constraints: _constraints
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-interview-area.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-interview-area.js
index 4db9f22..85d22e4 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-interview-area.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-interview-area.js
@@ -1,8 +1,7 @@
 /* Licensed under the Apache License, Version 2.0 (the "License") 
http://www.apache.org/licenses/LICENSE-2.0 */
 var InterviewWbArea = function() {
        const self = BaseWbArea();;
-       let container, area, pArea, role = NONE, choose
-               , _inited = false, rec;
+       let container, area, pArea, role = NONE, choose, _inited = false, rec;
 
        function _init() {
                Wicket.Event.subscribe("/websocket/message", self.wbWsHandler);
@@ -52,7 +51,9 @@ var InterviewWbArea = function() {
                _inited = true;
        }
        function _setRole(_role) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                role = _role;
        }
        function _resizePod() {
@@ -61,7 +62,9 @@ var InterviewWbArea = function() {
                });
        }
        function _resize(sbW, chW, w, h) {
-               if (!container || !_inited) return;
+               if (!container || !_inited) {
+                       return;
+               }
                const hh = h - 5 - 40;//rec button height
                container.width(w).height(h).css('left', (Settings.isRtl ? chW 
: sbW) + 'px');
                area.width(w).height(hh);
@@ -70,11 +73,15 @@ var InterviewWbArea = function() {
                _resizePod();
        }
        function _setRecEnabled(en) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                rec.data('mode', 'rec').button('option', {disabled: !en, icon: 
'record'});
        }
        function _setRecStarted(started) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                rec.data('mode', started ? 'stop' : 'rec')
                        .attr('title', rec.data(started ? 'title-stop' : 
'title-start'))
                        .button('option', {icon: started ? 'stop' : 'record'});
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-tool-shape.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-tool-shape.js
index f789358..afc4549 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-tool-shape.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-tool-shape.js
@@ -18,7 +18,9 @@ var Shape = function(wb) {
        };
        shape.mouseMove = function(o) {
                const canvas = this;
-               if (!shape.isDown) return;
+               if (!shape.isDown) {
+                       return;
+               }
                const pointer = canvas.getPointer(o.e);
                shape.updateShape(pointer);
                canvas.requestRenderAll();
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-tool-util.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-tool-util.js
index aed7918..6e9d783 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-tool-util.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-tool-util.js
@@ -55,7 +55,10 @@ var ToolUtil = (function() {
                        }
                }
                , filter: function(_o, props) {
-                       return props.reduce(function(result, key) { result[key] 
= _o[key]; return result; }, {});
+                       return props.reduce(function(result, key) {
+                               result[key] = _o[key];
+                               return result;
+                       }, {});
                }
        };
 })();
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-area.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-area.js
index 71a25b9..c7d2467 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-area.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-area.js
@@ -160,7 +160,9 @@ var DrawWbArea = function() {
                return self.getWb(id).getCanvas();
        };
        self.setRole = function(_role) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                role = _role;
                const tabsNav = tabs.find('.ui-tabs-nav');
                tabsNav.sortable(role === PRESENTER ? 'enable' : 'disable');
@@ -205,7 +207,9 @@ var DrawWbArea = function() {
                Wicket.Event.subscribe('/websocket/message', self.wbWsHandler);
                container = $('.room.wb.area');
                tabs = container.find('.tabs');
-               if (tabs.length === 0) return;
+               if (tabs.length === 0) {
+                       return;
+               }
                tabs.tabs({
                        beforeActivate: function(e) {
                                let res = true;
@@ -240,7 +244,9 @@ var DrawWbArea = function() {
                Wicket.Event.unsubscribe('/websocket/message', 
self.wbWsHandler);
        };
        self.create = function(obj) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                const tid = self.getWbTabId(obj.wbId)
                        , wb = OmUtil.tmpl('#wb-area', tid)
                        , li = OmUtil.tmpl('#wb-area-tab').data('wb-id', 
obj.wbId).attr('data-wb-id', obj.wbId)
@@ -281,21 +287,29 @@ var DrawWbArea = function() {
                _resizeWbs();
        }
        self.createWb = function(obj) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                self.create(obj);
                _activateTab(obj.wbId);
                _actionActivateWb(obj.wbId);
        };
        self.activateWb = function(obj) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                _activateTab(obj.wbId);
        }
        self.renameWb = function(obj) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                _renameTab(obj);
        }
        self.removeWb = function(obj) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                const tabId = self.getWbTabId(obj.wbId);
                _getWbTab(obj.wbId).remove();
                $('#' + tabId).remove();
@@ -303,38 +317,54 @@ var DrawWbArea = function() {
                _actionActivateWb(getActive().data().id);
        };
        self.load = function(json) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                self.getWb(json.wbId).load(json.obj);
        };
        self.setSlide = function(json) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                self.getWb(json.wbId).setSlide(json.slide);
        };
        self.createObj = function(json) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                self.getWb(json.wbId).createObj(json.obj);
        };
        self.modifyObj = function(json) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                self.getWb(json.wbId).modifyObj(json.obj);
        };
        self.deleteObj = function(json) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                self.getWb(json.wbId).removeObj(json.obj);
        };
        self.clearAll = function(json) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                self.getWb(json.wbId).clearAll();
                Room.setSize();
        };
        self.clearSlide = function(json) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                self.getWb(json.wbId).clearSlide(json.slide);
        };
        self.resize = function(sbW, chW, w, h) {
                const hh = h - 5;
                container.width(w).height(h).css('left', (Settings.isRtl ? chW 
: sbW) + 'px');
-               if (!container || !_inited) return;
+               if (!container || !_inited) {
+                       return;
+               }
                area.width(w).height(hh);
 
                const wbTabs = area.find('.tabs.ui-tabs');
@@ -342,11 +372,15 @@ var DrawWbArea = function() {
                _resizeWbs();
        }
        self.setSize = function(json) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                self.getWb(json.wbId).setSize(json);
        }
        self.download = function(fmt) {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                const wb = getActive().data();
                if ('pdf' === fmt) {
                        const arr = [];
@@ -380,7 +414,9 @@ var DrawWbArea = function() {
        }
        self.videoStatus = _videoStatus;
        self.loadVideos = function() {
-               if (!_inited) return;
+               if (!_inited) {
+                       return;
+               }
                wbAction('loadVideos');
        };
        self.initVideos = _initVideos;
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-board.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-board.js
index d4b16da..2f3e29f 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-board.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-board.js
@@ -495,8 +495,9 @@ var Wb = function() {
        }
        //events
        function objCreatedHandler(o) {
-               if (role === NONE && o.type !== 'pointer') return;
-
+               if (role === NONE && o.type !== 'pointer') {
+                       return;
+               }
                let json;
                switch(o.type) {
                        case 'pointer':
@@ -514,7 +515,9 @@ var Wb = function() {
        };
        function objAddedHandler(e) {
                const o = e.target;
-               if (!!o.loaded) return;
+               if (!!o.loaded) {
+                       return;
+               }
                switch(o.type) {
                        case 'textbox':
                        case 'i-text':
@@ -529,8 +532,9 @@ var Wb = function() {
        };
        function objModifiedHandler(e) {
                const o = e.target, items = [];
-               if (role === NONE && o.type !== 'pointer') return;
-
+               if (role === NONE && o.type !== 'pointer') {
+                       return;
+               }
                o.includeDefaultValues = false;
                if ('activeSelection' === o.type) {
                        o.clone(function(_o) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatForm.java
index 41c4355..d7d9d36 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatForm.java
@@ -22,7 +22,6 @@ import static 
org.apache.openmeetings.core.util.WebSocketHelper.ID_ALL;
 import static org.apache.openmeetings.core.util.WebSocketHelper.ID_ROOM_PREFIX;
 import static org.apache.openmeetings.core.util.WebSocketHelper.ID_USER_PREFIX;
 import static org.apache.openmeetings.db.util.FormatHelper.getDisplayName;
-import static org.apache.openmeetings.web.app.WebSession.getDateFormat;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static org.apache.openmeetings.web.room.RoomPanel.isModerator;
 
@@ -31,7 +30,6 @@ import java.util.Date;
 import java.util.function.BooleanSupplier;
 import java.util.function.Predicate;
 
-import org.apache.openmeetings.core.remote.MobileService;
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.dao.basic.ChatDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
@@ -72,8 +70,6 @@ public class ChatForm extends Form<Void> {
        private UserDao userDao;
        @SpringBean
        private RoomDao roomDao;
-       @SpringBean
-       private MobileService mobileService;
 
        public ChatForm(String id) {
                super(id);
@@ -139,7 +135,6 @@ public class ChatForm extends Form<Void> {
                                        chatDao.update(m);
                                        JSONObject msg = 
getChat().getMessage(Arrays.asList(m));
                                        if (m.getToRoom() != null) {
-                                               
mobileService.sendChatMessage(getUid(), m, getDateFormat()); //let's send to 
mobile users
                                                WebSocketHelper.sendRoom(m, 
msg);
                                        } else if (m.getToUser() != null) {
                                                
WebSocketHelper.sendUser(getUserId(), msg.toString());
@@ -158,10 +153,6 @@ public class ChatForm extends Form<Void> {
                return findParent(MainPanel.class).getClient();
        }
 
-       private String getUid() {
-               return getClient().getUid();
-       }
-
        public String getScope() {
                return activeTab.getModelObject();
        }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js
index fbf6724..4f887f0 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js
@@ -367,7 +367,9 @@ var Chat = function() {
                });
        }
        function _setHeight(h) {
-               if (!isInited()) return;
+               if (!isInited()) {
+                       return;
+               }
                pp.height(h);
                if (isClosed()) {
                        ctrl.height(h);

Reply via email to