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>