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 bd2aa8a  [OPENMEETINGS-2176] some sonar issues should be addressed
bd2aa8a is described below

commit bd2aa8af508d7f60308c9754e957b4b42de308ee
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Fri Mar 6 11:45:30 2020 +0700

    [OPENMEETINGS-2176] some sonar issues should be addressed
---
 .../org/apache/openmeetings/userdata/TestMD5.java  | 30 ----------------------
 .../org/apache/openmeetings/db/bind/Constants.java |  4 +++
 .../apache/openmeetings/db/dao/room/RoomDao.java   |  2 +-
 .../openmeetings/db/entity/log/ConferenceLog.java  |  5 +++-
 .../org/apache/openmeetings/db/util/XmlHelper.java |  6 -----
 .../apache/openmeetings/web/app/ClientManager.java | 17 +++++++++++-
 .../apache/openmeetings/web/common/MainPanel.java  |  8 +++---
 .../apache/openmeetings/web/room/RoomPanel.java    | 25 +++++-------------
 .../apache/openmeetings/user/TestUserContact.java  | 29 ++++++++++++++++-----
 .../org/apache/openmeetings/backup/room/rooms.xml  |  6 +++++
 10 files changed, 64 insertions(+), 68 deletions(-)

diff --git 
a/openmeetings-core/src/test/java/org/apache/openmeetings/userdata/TestMD5.java 
b/openmeetings-core/src/test/java/org/apache/openmeetings/userdata/TestMD5.java
deleted file mode 100644
index 1dfc7f9..0000000
--- 
a/openmeetings-core/src/test/java/org/apache/openmeetings/userdata/TestMD5.java
+++ /dev/null
@@ -1,30 +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.userdata;
-
-import org.junit.Test;
-
-public class TestMD5 {
-
-       @Test
-       public void testTestMD5() {
-               // no-op
-       }
-
-}
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/bind/Constants.java 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/bind/Constants.java
index d2594ac..9fe67d3 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/bind/Constants.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/bind/Constants.java
@@ -57,4 +57,8 @@ public class Constants {
        public static final String POLL_NODE = "roompoll";
        public static final String ROOM_FILE_LIST_NODE = "RoomFiles";
        public static final String ROOM_FILE_NODE = "RoomFile";
+
+       private Constants() {
+               //shoudn't be used
+       }
 }
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomDao.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomDao.java
index 9d415d4..e5fc73b 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomDao.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomDao.java
@@ -266,7 +266,7 @@ public class RoomDao implements 
IGroupAdminDataProviderDao<Room> {
                Set<Long> ids = new HashSet<>();
                //(RECENT_ROOMS_COUNT + 1) passes required to preserve the 
order :(
                for (ConferenceLog l : em.createNamedQuery("getLogRecentRooms", 
ConferenceLog.class)
-                               .setParameter("roomEnter", 
ConferenceLog.Type.roomEnter)
+                               .setParameter("roomEnter", 
ConferenceLog.Type.ROOM_ENTER)
                                .setParameter(PARAM_USER_ID, userId)
                                .getResultList())
                {
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/log/ConferenceLog.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/log/ConferenceLog.java
index 06d32e3..aab393b 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/log/ConferenceLog.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/log/ConferenceLog.java
@@ -44,7 +44,10 @@ public class ConferenceLog implements IDataProviderEntity {
        private static final long serialVersionUID = 1L;
 
        public enum Type {
-               clientConnect, roomEnter, roomLeave, nicknameEnter
+               CLIENT_CONNECT
+               , ROOM_ENTER
+               , ROOM_LEAVE
+               , CLIENT_DISCONNECT
        }
 
        @Id
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/XmlHelper.java 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/XmlHelper.java
index d4dd5b2..0835c31 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/XmlHelper.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/XmlHelper.java
@@ -28,7 +28,6 @@ import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
 
 public class XmlHelper {
        private XmlHelper() {
@@ -55,9 +54,4 @@ public class XmlHelper {
                factory.setProperty(SUPPORT_DTD, false);
                return factory;
        }
-
-       public static XMLOutputFactory createOutputFactory() {
-               XMLOutputFactory factory = XMLOutputFactory.newInstance();
-               return factory;
-       }
 }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java
index 3f87d4b..de96804 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java
@@ -87,6 +87,11 @@ public class ClientManager implements IClientManager {
        }
 
        public void add(Client c) {
+               confLogDao.add(
+                               ConferenceLog.Type.CLIENT_CONNECT
+                               , c.getUserId(), "0", null
+                               , c.getRemoteAddress()
+                               , "");
                log.debug("Adding online client: {}, room: {}", c.getUid(), 
c.getRoom());
                c.setServerId(Application.get().getServerId());
                map().put(c.getUid(), c);
@@ -131,7 +136,7 @@ public class ClientManager implements IClientManager {
                if (roomId != null) {
                        sendRoom(new RoomMessage(roomId, c, 
RoomMessage.Type.roomExit));
                        confLogDao.add(
-                                       ConferenceLog.Type.roomLeave
+                                       ConferenceLog.Type.ROOM_LEAVE
                                        , c.getUserId(), "0", roomId
                                        , c.getRemoteAddress()
                                        , String.valueOf(roomId));
@@ -141,6 +146,11 @@ public class ClientManager implements IClientManager {
        @Override
        public void exit(Client c) {
                if (c != null) {
+                       confLogDao.add(
+                                       ConferenceLog.Type.CLIENT_DISCONNECT
+                                       , c.getUserId(), "0", null
+                                       , c.getRemoteAddress()
+                                       , "");
                        exitRoom(c);
                        kHandler.remove(c);
                        log.debug("Removing online client: {}, roomId: {}", 
c.getUid(), c.getRoomId());
@@ -172,6 +182,11 @@ public class ClientManager implements IClientManager {
         */
        public int addToRoom(Client c) {
                Long roomId = c.getRoom().getId();
+               confLogDao.add(
+                               ConferenceLog.Type.ROOM_ENTER
+                               , c.getUserId(), "0", roomId
+                               , c.getRemoteAddress()
+                               , String.valueOf(roomId));
                log.debug("Adding online room client: {}, room: {}", 
c.getUid(), roomId);
                IMap<Long, Set<String>> rooms = rooms();
                rooms.lock(roomId);
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
index 6a0d079..b4e53dc 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
@@ -412,14 +412,14 @@ public class MainPanel extends Panel {
                }
        }
 
-       private void updateContents(BasePanel panel, IPartialPageRequestHandler 
handler) {
-               if (panel != null) {
+       private void updateContents(BasePanel inPanel, 
IPartialPageRequestHandler handler) {
+               if (inPanel != null) {
                        BasePanel prev = getCurrentPanel();
                        if (prev != null) {
                                prev.cleanup(handler);
                        }
-                       handler.add(contents.replace(panel), 
this.add(AttributeModifier.replace(ATTR_CLASS, "main " + panel.getCssClass())));
-                       panel.onMenuPanelLoad(handler);
+                       handler.add(contents.replace(inPanel), 
this.add(AttributeModifier.replace(ATTR_CLASS, "main " + 
inPanel.getCssClass())));
+                       inPanel.onMenuPanelLoad(handler);
                }
        }
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index e061473..d96748e 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -38,14 +38,12 @@ import org.apache.openmeetings.core.remote.KurentoHandler;
 import org.apache.openmeetings.core.remote.StreamProcessor;
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
-import org.apache.openmeetings.db.dao.log.ConferenceLogDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.entity.basic.Client.StreamDesc;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.openmeetings.db.entity.calendar.MeetingMember;
 import org.apache.openmeetings.db.entity.file.BaseFileItem;
-import org.apache.openmeetings.db.entity.log.ConferenceLog;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.Room.Right;
 import org.apache.openmeetings.db.entity.room.Room.RoomElement;
@@ -70,7 +68,6 @@ import org.apache.openmeetings.web.room.wb.AbstractWbPanel;
 import org.apache.openmeetings.web.room.wb.InterviewWbPanel;
 import org.apache.openmeetings.web.room.wb.WbAction;
 import org.apache.openmeetings.web.room.wb.WbPanel;
-import org.apache.openmeetings.web.util.ExtendedClientProperties;
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
 import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
@@ -138,16 +135,10 @@ public class RoomPanel extends BasePanel {
                protected void respond(AjaxRequestTarget target) {
                        log.debug("RoomPanel::roomEnter");
                        WebSession ws = WebSession.get();
-                       ExtendedClientProperties cp = 
ws.getExtendedProperties();
-                       confLogDao.add(
-                                       ConferenceLog.Type.roomEnter
-                                       , getUserId(), "0", r.getId()
-                                       , cp.getRemoteAddress()
-                                       , String.valueOf(r.getId()));
-                       Client _c = getClient();
-                       JSONObject options = 
VideoSettings.getInitJson(_c.getSid())
-                                       .put("uid", _c.getUid())
-                                       .put("rights", 
_c.toJson(true).getJSONArray("rights"))
+                       Client c = getClient();
+                       JSONObject options = 
VideoSettings.getInitJson(c.getSid())
+                                       .put("uid", c.getUid())
+                                       .put("rights", 
c.toJson(true).getJSONArray("rights"))
                                        .put("interview", interview)
                                        .put("audioOnly", r.isAudioOnly())
                                        .put("questions", 
r.isAllowUserQuestions())
@@ -159,7 +150,7 @@ public class RoomPanel extends BasePanel {
                                        .append(wb.getInitScript())
                                        .append(getQuickPollJs());
                        target.appendJavaScript(sb);
-                       WebSocketHelper.sendRoom(new RoomMessage(r.getId(), _c, 
RoomMessage.Type.roomEnter));
+                       WebSocketHelper.sendRoom(new RoomMessage(r.getId(), c, 
RoomMessage.Type.roomEnter));
                        // play video from other participants
                        initVideos(target);
                        getMainPanel().getChat().roomEnter(r, target);
@@ -167,8 +158,8 @@ public class RoomPanel extends BasePanel {
                                sidebar.setFilesActive(target);
                        }
                        if (Room.Type.PRESENTATION != r.getType()) {
-                               List<Client> mods = cm.listByRoom(r.getId(), c 
-> c.hasRight(Room.Right.MODERATOR));
-                               log.debug("RoomPanel::roomEnter, mods IS EMPTY 
? {}, is MOD ? {}", mods.isEmpty(), _c.hasRight(Room.Right.MODERATOR));
+                               List<Client> mods = cm.listByRoom(r.getId(), cl 
-> cl.hasRight(Room.Right.MODERATOR));
+                               log.debug("RoomPanel::roomEnter, mods IS EMPTY 
? {}, is MOD ? {}", mods.isEmpty(), c.hasRight(Room.Right.MODERATOR));
                                if (mods.isEmpty()) {
                                        showIdeaAlert(target, 
getString(r.isModerated() ? "641" : "498"));
                                }
@@ -244,8 +235,6 @@ public class RoomPanel extends BasePanel {
        @SpringBean
        private ClientManager cm;
        @SpringBean
-       private ConferenceLogDao confLogDao;
-       @SpringBean
        private UserDao userDao;
        @SpringBean
        private AppointmentDao apptDao;
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
index af882c7..4d4cbd5 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
@@ -29,6 +29,7 @@ import java.util.List;
 
 import org.apache.openmeetings.AbstractWicketTester;
 import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.junit.jupiter.api.Test;
 
 public class TestUserContact extends AbstractWicketTester {
@@ -60,6 +61,20 @@ public class TestUserContact extends AbstractWicketTester {
        }
 
        @Test
+       public void testCreateUserWithSip() throws Exception {
+               boolean sipEnabled = OpenmeetingsVariables.isSipEnabled();
+               try {
+                       OpenmeetingsVariables.setSipEnabled(true);
+                       String uuid = randomUUID().toString();
+                       User u = createUser(uuid);
+                       assertTrue(userDao.verifyPassword(u.getId(), 
createPass()), "Password should be set as expected");
+                       assertNotNull(u.getSipUser());
+               } finally {
+                       OpenmeetingsVariables.setSipEnabled(sipEnabled);
+               }
+       }
+
+       @Test
        public void addContactByOwner() throws Exception {
                login(null, null);
 
@@ -68,30 +83,30 @@ public class TestUserContact extends AbstractWicketTester {
                assertFalse(users.isEmpty(), "User list should not be empty ");
 
                User contact = createUserContact(getUserId());
-               String email = contact.getAddress().getEmail();
-               List<User> l = userDao.get(email, false, 0, 9999);
+               String cEmail = contact.getAddress().getEmail();
+               List<User> l = userDao.get(cEmail, false, 0, 9999);
                // check that contact is visible for admin
                assertNotNull(l, "Contact list should not be null for admin ");
                assertFalse(l.isEmpty(), "Contact list should not be empty for 
admin ");
 
                // check that contact is visible for owner
-               l = userDao.get(email, 0, 9999, null, true, getUserId());
+               l = userDao.get(cEmail, 0, 9999, null, true, getUserId());
                assertFalse(l.isEmpty(), "Contact list should not be empty for 
owner ");
                //delete contact
                userDao.delete(contact, getUserId());
-               l = userDao.get(email, false, 0, 9999);
+               l = userDao.get(cEmail, false, 0, 9999);
                assertTrue(l.isEmpty(), "Contact list should be empty after 
deletion");
 
                User u = createUser();
                User u1 = createUser();
                contact = createUserContact(u.getId());
-               email = contact.getAddress().getEmail();
+               cEmail = contact.getAddress().getEmail();
                // check that contact is not visible for user that is not owner 
of this contact
-               l = userDao.get(email, 0, 9999, null, true, u1.getId());
+               l = userDao.get(cEmail, 0, 9999, null, true, u1.getId());
                assertTrue(l.isEmpty(), "Contact list should be empty for 
another user");
                //delete contact
                userDao.delete(contact, u.getId());
-               l = userDao.get(email, false, 0, 9999);
+               l = userDao.get(cEmail, false, 0, 9999);
                assertTrue(l.isEmpty(), "Contact list should be empty after 
deletion");
        }
 }
diff --git 
a/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/room/rooms.xml
 
b/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/room/rooms.xml
index 0f2ec71..ad9dae8 100644
--- 
a/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/room/rooms.xml
+++ 
b/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/room/rooms.xml
@@ -57,7 +57,13 @@ see http://openmeetings.apache.org/Upgrade.html for Details
          </room_moderators>
          <sipEnabled><![CDATA[false]]></sipEnabled>
          <hide_element class="org.apache.openjpa.util.java$util$HashSet$proxy">
+            <roomElement><![CDATA[TopBar]]></roomElement>
+            <roomElement><![CDATA[ActionMenu]]></roomElement>
+            <roomElement><![CDATA[PollMenu]]></roomElement>
+            <roomElement><![CDATA[ScreenSharing]]></roomElement>
             <roomElement><![CDATA[MicrophoneStatus]]></roomElement>
+            <roomElement><![CDATA[UserCount]]></roomElement>
+            <roomElement><![CDATA[FILES]]></roomElement>
          </hide_element>
       </room>
    </rooms>

Reply via email to