You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/02/16 04:15:28 UTC
svn commit: r1783168 [2/4] - in /openmeetings/application:
branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/
branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/
branches/3.2.x/openm...
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Thu Feb 16 04:15:27 2017
@@ -35,8 +35,9 @@ import java.util.UUID;
import org.apache.directory.api.util.Strings;
import org.apache.openmeetings.core.remote.ConferenceLibrary;
import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
+import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.calendar.Appointment;
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.db.entity.file.FileItem;
@@ -52,7 +53,6 @@ import org.apache.openmeetings.util.mess
import org.apache.openmeetings.util.message.RoomMessage.Type;
import org.apache.openmeetings.util.message.TextRoomMessage;
import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.BasePanel;
import org.apache.openmeetings.web.room.activities.ActivitiesPanel;
@@ -70,12 +70,7 @@ import org.apache.wicket.markup.head.Jav
import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
import org.apache.wicket.markup.head.PriorityHeaderItem;
import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.protocol.ws.WebSocketSettings;
-import org.apache.wicket.protocol.ws.api.IWebSocketConnection;
import org.apache.wicket.protocol.ws.api.event.WebSocketPushPayload;
-import org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry;
-import org.apache.wicket.protocol.ws.api.registry.PageIdKey;
-import org.apache.wicket.protocol.ws.concurrent.Executor;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
import org.apache.wicket.request.resource.ResourceReference;
@@ -112,7 +107,7 @@ public class RoomPanel extends BasePanel
protected void respond(AjaxRequestTarget target) {
target.appendJavaScript("setRoomSizes();");
//TODO SID etc
- broadcast(new RoomMessage(r.getId(), getUserId(), RoomMessage.Type.roomEnter));
+ WebSocketHelper.sendRoom(new RoomMessage(r.getId(), getUserId(), RoomMessage.Type.roomEnter));
getMainPanel().getChat().roomEnter(r, target);
if (r.isFilesOpened()) {
sidebar.setFilesActive(target);
@@ -223,7 +218,7 @@ public class RoomPanel extends BasePanel
allowed = r.getIspublic() || (r.getOwnerId() != null && r.getOwnerId().equals(getUserId()));
log.debug("public ? " + r.getIspublic() + ", ownedId ? " + r.getOwnerId() + " " + allowed);
if (!allowed) {
- User u = getBean(UserDao.class).get(getUserId());
+ User u = getClient().getUser();
for (RoomGroup ro : r.getRoomGroups()) {
for (GroupUser ou : u.getGroupUsers()) {
if (ro.getGroup().getId().equals(ou.getGroup().getId())) {
@@ -274,7 +269,7 @@ public class RoomPanel extends BasePanel
@Override
public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
- menu.exit(handler, true);
+ menu.exit(handler);
}
});
}
@@ -409,8 +404,8 @@ public class RoomPanel extends BasePanel
if (soap != null && soap.isModerator()) {
c.getRights().add(Right.superModerator);
} else {
- User u = getBean(UserDao.class).get(getUserId());
- Right rr = AuthLevelUtil.getRoomRight(u, r, r.isAppointment() ? getBean(AppointmentDao.class).getByRoom(r.getId()) : null, getRoomClients(r.getId()).size());
+ //FIXME TODO !!! c.getUser != getUserId
+ Right rr = AuthLevelUtil.getRoomRight(c.getUser(), r, r.isAppointment() ? getBean(AppointmentDao.class).getByRoom(r.getId()) : null, getRoomClients(r.getId()).size());
if (rr != null) {
c.getRights().add(rr);
}
@@ -418,27 +413,6 @@ public class RoomPanel extends BasePanel
}
}
- public static void broadcast(final RoomMessage m) {
- WebSocketSettings settings = WebSocketSettings.Holder.get(Application.get());
- IWebSocketConnectionRegistry reg = settings.getConnectionRegistry();
- Executor executor = settings.getWebSocketPushMessageExecutor();
- for (Client c : getRoomClients(m.getRoomId())) {
- try {
- final IWebSocketConnection wsConnection = reg.getConnection(Application.get(), c.getSessionId(), new PageIdKey(c.getPageId()));
- if (wsConnection != null) {
- executor.run(new Runnable() {
- @Override
- public void run() {
- wsConnection.sendMessage(m);
- }
- });
- }
- } catch (Exception e) {
- log.error("Error while broadcasting message to room", e);
- }
- }
- }
-
public static boolean isModerator(long userId, long roomId) {
return hasRight(userId, roomId, Right.moderator);
}
@@ -452,17 +426,6 @@ public class RoomPanel extends BasePanel
return false;
}
- public static void sendRoom(long roomId, String msg) {
- IWebSocketConnectionRegistry reg = WebSocketSettings.Holder.get(Application.get()).getConnectionRegistry();
- for (Client c : getRoomClients(roomId)) {
- try {
- reg.getConnection(Application.get(), c.getSessionId(), new PageIdKey(c.getPageId())).sendMessage(msg);
- } catch (Exception e) {
- log.error("Error while sending message to room", e);
- }
- }
- }
-
@Override
public BasePanel onMenuPanelLoad(IPartialPageRequestHandler handler) {
getBasePage().getHeader().setVisible(false);
@@ -494,7 +457,7 @@ public class RoomPanel extends BasePanel
getMainPanel().getChat().toggle(handler, true);
}
handler.appendJavaScript("if (typeof roomUnload == 'function') { roomUnload(); }");
- RoomMenuPanel.roomExit(getClient());
+ Application.exitRoom(getClient());
getMainPanel().getChat().roomExit(r, handler);
}
@@ -549,7 +512,7 @@ public class RoomPanel extends BasePanel
break;
}
if (reqType != null) {
- RoomPanel.broadcast(new TextRoomMessage(getRoom().getId(), getUserId(), reqType, getClient().getUid()));
+ WebSocketHelper.sendRoom(new TextRoomMessage(getRoom().getId(), getUserId(), reqType, getClient().getUid()));
}
}
@@ -574,11 +537,11 @@ public class RoomPanel extends BasePanel
}
public void kickUser(AjaxRequestTarget target, Client client) {
- RoomPanel.broadcast(new TextRoomMessage(client.getRoomId(), client.getUserId(), Type.kick, client.getUid()));
+ WebSocketHelper.sendRoom(new TextRoomMessage(client.getRoomId(), client.getUserId(), Type.kick, client.getUid()));
}
public void broadcast(AjaxRequestTarget target, Client client) {
- broadcast(new RoomMessage(getRoom().getId(), getUserId(), RoomMessage.Type.rightUpdated));
+ WebSocketHelper.sendRoom(new RoomMessage(getRoom().getId(), getUserId(), RoomMessage.Type.rightUpdated));
RoomBroadcaster.sendUpdatedClient(client);
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java Thu Feb 16 04:15:27 2017
@@ -18,11 +18,11 @@
*/
package org.apache.openmeetings.web.room.activities;
+import static org.apache.openmeetings.core.util.WebSocketHelper.sendRoom;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.Application.getOnlineClient;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
-import static org.apache.openmeetings.web.room.RoomPanel.broadcast;
import static org.apache.openmeetings.web.util.CallbackFunctionHelper.getNamedFunction;
import static org.apache.wicket.ajax.attributes.CallbackParameter.explicit;
@@ -33,12 +33,12 @@ import java.util.LinkedHashMap;
import java.util.Map;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room.Right;
import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.util.message.RoomMessage;
import org.apache.openmeetings.util.message.TextRoomMessage;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.common.BasePanel;
import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.wicket.Component;
@@ -82,7 +82,7 @@ public class ActivitiesPanel extends Bas
@Override
protected void respond(AjaxRequestTarget target) {
try {
- String id = getRequest().getRequestParameters().getParameterValue(PARAM_ID).toString();
+ String id = getRequest().getRequestParameters().getParameterValue(PARAM_ID).toString();
long roomId = getRequest().getRequestParameters().getParameterValue(PARAM_ROOM_ID).toLong();
assert(room.getRoom().getId().equals(roomId));
Action action = Action.valueOf(getRequest().getRequestParameters().getParameterValue(ACTION).toString());
@@ -94,7 +94,7 @@ public class ActivitiesPanel extends Bas
break;
case decline:
if (room.getClient().hasRight(Right.moderator)) {
- broadcast(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
+ sendRoom(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
}
break;
case accept:
@@ -102,35 +102,35 @@ public class ActivitiesPanel extends Bas
if (room.getClient().hasRight(Right.moderator) && client != null && roomId == client.getRoomId()) {
switch (a.getType()) {
case reqRightModerator:
- broadcast(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
+ sendRoom(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
room.allowRight(target, client, Right.moderator);
break;
case reqRightAv:
- broadcast(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
+ sendRoom(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
room.allowRight(target, client, Right.audio, Right.video);
break;
case reqRightWb:
- broadcast(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
+ sendRoom(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
room.allowRight(target, client, Right.whiteBoard);
break;
case reqRightShare:
- broadcast(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
+ sendRoom(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
room.allowRight(target, client, Right.share);
break;
case reqRightRemote:
- broadcast(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
+ sendRoom(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
room.allowRight(target, client, Right.remoteControl);
break;
case reqRightA:
- broadcast(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
+ sendRoom(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
room.allowRight(target, client, Right.audio);
break;
case reqRightMute:
- broadcast(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
+ sendRoom(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
room.allowRight(target, client, Right.mute);
break;
case reqRightExclusive:
- broadcast(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
+ sendRoom(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
room.allowRight(target, client, Right.exclusive);
break;
default:
@@ -146,7 +146,7 @@ public class ActivitiesPanel extends Bas
log.error("Unexpected exception while processing activity action", e);
}
}
-
+
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
@@ -222,7 +222,7 @@ public class ActivitiesPanel extends Bas
item.add(accept, decline, new Label("text", text));
item.add(AttributeAppender.append("class", getClass(a)));
}
-
+
private String getClass(Activity a) {
String cls = "ui-state-default";
switch (a.getType()) {
@@ -262,7 +262,7 @@ public class ActivitiesPanel extends Bas
handler.add(container);
}
}
-
+
public ActivitiesPanel(String id, RoomPanel room) {
super(id);
this.room = room;
@@ -272,7 +272,7 @@ public class ActivitiesPanel extends Bas
add(container.add(lv).setOutputMarkupPlaceholderTag(true));
add(action);
}
-
+
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java Thu Feb 16 04:15:27 2017
@@ -18,10 +18,10 @@
*/
package org.apache.openmeetings.web.room.menu;
+import static org.apache.openmeetings.core.util.WebSocketHelper.sendRoom;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_BASE_URL;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.Application.removeUserFromRoom;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.web.util.GroupLogoResourceReference.getUrl;
import static org.apache.openmeetings.web.util.OmUrlFragment.ROOMS_PUBLIC;
@@ -33,7 +33,6 @@ import org.apache.commons.lang3.time.Fas
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.room.PollDao;
import org.apache.openmeetings.db.dao.server.ISessionManager;
-import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.room.RoomPoll;
@@ -42,7 +41,6 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.util.message.RoomMessage;
import org.apache.openmeetings.util.message.TextRoomMessage;
import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.ImagePanel;
import org.apache.openmeetings.web.common.InvitationDialog;
@@ -128,7 +126,7 @@ public class RoomMenuPanel extends Panel
@Override
public void onClick(AjaxRequestTarget target) {
- RoomPanel.broadcast(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.requestRightWb, room.getClient().getUid()));
+ sendRoom(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.requestRightWb, room.getClient().getUid()));
}
};
private final RoomMenuItem applyAvMenuItem = new RoomMenuItem(Application.getString(786), Application.getString(1482), false) {
@@ -136,7 +134,7 @@ public class RoomMenuPanel extends Panel
@Override
public void onClick(AjaxRequestTarget target) {
- RoomPanel.broadcast(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.requestRightAv, room.getClient().getUid()));
+ sendRoom(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.requestRightAv, room.getClient().getUid()));
}
};
private final RoomMenuItem pollCreateMenuItem = new RoomMenuItem(Application.getString(24), Application.getString(1483), false) {
@@ -276,7 +274,7 @@ public class RoomMenuPanel extends Panel
Room r = room.getRoom();
PollDao pollDao = getBean(PollDao.class);
boolean pollExists = pollDao.hasPoll(r.getId());
- User u = getBean(UserDao.class).get(getUserId());
+ User u = room.getClient().getUser();
boolean notExternalUser = u.getType() != User.Type.external && u.getType() != User.Type.contact;
exitMenuItem.setEnabled(notExternalUser);//TODO check this
filesMenu.setEnabled(room.getSidebar().isShowFiles());
@@ -332,12 +330,8 @@ public class RoomMenuPanel extends Panel
}
public void exit(IPartialPageRequestHandler handler) {
- exit(handler, true);
- }
-
- public void exit(IPartialPageRequestHandler handler, boolean broadcast) {
if (WebSession.getRights().contains(User.Right.Dashboard)) {
- roomExit(room.getClient(), broadcast);
+ Application.exitRoom(room.getClient());
room.getMainPanel().updateContents(ROOMS_PUBLIC, handler);
} else {
String url = getBean(ConfigurationDao.class).getConfValue(CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY, String.class, "");
@@ -347,17 +341,5 @@ public class RoomMenuPanel extends Panel
throw new RedirectToUrlException(url);
}
}
-
- public static void roomExit(Client c) {
- roomExit(c, true);
- }
-
- public static void roomExit(Client c, boolean broadcast) {
- Long roomId = c.getRoomId();
- removeUserFromRoom(c);
- if (broadcast && roomId != null) {
- RoomPanel.broadcast(new RoomMessage(roomId, c.getUserId(), RoomMessage.Type.roomExit));
- }
- }
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/StartSharingButton.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/StartSharingButton.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/StartSharingButton.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/StartSharingButton.java Thu Feb 16 04:15:27 2017
@@ -60,7 +60,7 @@ public class StartSharingButton extends
private static final String CDATA_BEGIN = "<![CDATA[";
private static final String CDATA_END = "]]>";
private final AjaxDownload download;
- private final org.apache.openmeetings.web.app.Client c;
+ private final org.apache.openmeetings.db.entity.basic.Client c;
private final ExtendedClientProperties extProps;
private enum Protocol {
rtmp
@@ -69,7 +69,7 @@ public class StartSharingButton extends
, rtmpt
}
- public StartSharingButton(String id, org.apache.openmeetings.web.app.Client c, final ExtendedClientProperties extProps) {
+ public StartSharingButton(String id, org.apache.openmeetings.db.entity.basic.Client c, final ExtendedClientProperties extProps) {
super(id);
this.c = c;
this.extProps = extProps;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/CreatePollDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/CreatePollDialog.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/CreatePollDialog.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/CreatePollDialog.java Thu Feb 16 04:15:27 2017
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.web.room.poll;
+import static org.apache.openmeetings.core.util.WebSocketHelper.sendRoom;
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
@@ -31,7 +32,6 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.util.message.RoomMessage;
import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
@@ -70,12 +70,12 @@ public class CreatePollDialog extends Ab
form.setModelObject(p);
target.add(form);
}
-
+
@Override
protected List<DialogButton> getButtons() {
return Arrays.asList(create, cancel);
}
-
+
@Override
public DialogButton getSubmitButton() {
return create;
@@ -96,12 +96,12 @@ public class CreatePollDialog extends Ab
PollDao dao = getBean(PollDao.class);
dao.close(roomId);
dao.update(form.getModelObject());
- RoomPanel.broadcast(new RoomMessage(roomId, getUserId(), RoomMessage.Type.pollCreated));
+ sendRoom(new RoomMessage(roomId, getUserId(), RoomMessage.Type.pollCreated));
}
private class PollForm extends Form<RoomPoll> {
private static final long serialVersionUID = 1L;
-
+
public PollForm(String id, IModel<RoomPoll> model) {
super(id, model);
add(new RequiredTextField<String>("name").setLabel(Model.of(Application.getString(1410))));
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java Thu Feb 16 04:15:27 2017
@@ -18,7 +18,7 @@
*/
package org.apache.openmeetings.web.room.sidebar;
-import org.apache.openmeetings.web.app.Client;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.openmeetings.web.room.sidebar.icon.right.AudioRightIcon;
import org.apache.openmeetings.web.room.sidebar.icon.right.ExclusiveRightIcon;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java Thu Feb 16 04:15:27 2017
@@ -20,10 +20,10 @@ package org.apache.openmeetings.web.room
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room.Right;
import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.openmeetings.web.room.sidebar.icon.KickIcon;
import org.apache.openmeetings.web.room.sidebar.icon.RefreshIcon;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java Thu Feb 16 04:15:27 2017
@@ -27,13 +27,13 @@ import static org.apache.wicket.ajax.att
import java.util.ArrayList;
import java.util.List;
+import org.apache.openmeetings.db.entity.basic.Client;
+import org.apache.openmeetings.db.entity.basic.Client.Activity;
+import org.apache.openmeetings.db.entity.basic.Client.Pod;
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;
import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.Client;
-import org.apache.openmeetings.web.app.Client.Activity;
-import org.apache.openmeetings.web.app.Client.Pod;
import org.apache.openmeetings.web.common.AddFolderDialog;
import org.apache.openmeetings.web.common.ConfirmableAjaxBorder;
import org.apache.openmeetings.web.common.ConfirmableAjaxBorder.ConfirmableBorderDialog;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java Thu Feb 16 04:15:27 2017
@@ -18,7 +18,7 @@
*/
package org.apache.openmeetings.web.room.sidebar;
-import org.apache.openmeetings.web.app.Client;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.openmeetings.web.room.sidebar.icon.SettingsIcon;
import org.apache.openmeetings.web.room.sidebar.icon.activity.CamActivityIcon;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java Thu Feb 16 04:15:27 2017
@@ -18,7 +18,7 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon;
-import org.apache.openmeetings.web.app.Client;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java Thu Feb 16 04:15:27 2017
@@ -20,8 +20,8 @@ package org.apache.openmeetings.web.room
import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_ACTION;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room.Right;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.openmeetings.web.room.RoomPanel.Action;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java Thu Feb 16 04:15:27 2017
@@ -18,8 +18,8 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon;
-import org.apache.openmeetings.web.app.Client;
-import org.apache.openmeetings.web.app.Client.Activity;
+import org.apache.openmeetings.db.entity.basic.Client;
+import org.apache.openmeetings.db.entity.basic.Client.Activity;
import org.apache.openmeetings.web.room.RoomPanel;
public class RefreshIcon extends ClientIcon {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java Thu Feb 16 04:15:27 2017
@@ -18,8 +18,8 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.room.RoomPanel;
public class SettingsIcon extends ClientIcon {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/CamActivityIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/CamActivityIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/CamActivityIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/CamActivityIcon.java Thu Feb 16 04:15:27 2017
@@ -18,9 +18,9 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon.activity;
+import org.apache.openmeetings.db.entity.basic.Client;
+import org.apache.openmeetings.db.entity.basic.Client.Activity;
import org.apache.openmeetings.db.entity.room.Room.Right;
-import org.apache.openmeetings.web.app.Client;
-import org.apache.openmeetings.web.app.Client.Activity;
import org.apache.openmeetings.web.room.RoomPanel;
public class CamActivityIcon extends RoomActivityIcon {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/MicActivityIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/MicActivityIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/MicActivityIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/MicActivityIcon.java Thu Feb 16 04:15:27 2017
@@ -18,9 +18,9 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon.activity;
+import org.apache.openmeetings.db.entity.basic.Client;
+import org.apache.openmeetings.db.entity.basic.Client.Activity;
import org.apache.openmeetings.db.entity.room.Room.Right;
-import org.apache.openmeetings.web.app.Client;
-import org.apache.openmeetings.web.app.Client.Activity;
import org.apache.openmeetings.web.room.RoomPanel;
public class MicActivityIcon extends RoomActivityIcon {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java Thu Feb 16 04:15:27 2017
@@ -21,10 +21,10 @@ package org.apache.openmeetings.web.room
import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.activityAllowed;
import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_TOGGLE_ACTIVITY;
+import org.apache.openmeetings.db.entity.basic.Client;
+import org.apache.openmeetings.db.entity.basic.Client.Activity;
+import org.apache.openmeetings.db.entity.basic.Client.Pod;
import org.apache.openmeetings.db.entity.room.Room;
-import org.apache.openmeetings.web.app.Client;
-import org.apache.openmeetings.web.app.Client.Activity;
-import org.apache.openmeetings.web.app.Client.Pod;
import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.openmeetings.web.room.sidebar.icon.ClientIcon;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java Thu Feb 16 04:15:27 2017
@@ -18,8 +18,8 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon.right;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room.Right;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.room.RoomPanel;
public class AudioRightIcon extends RoomRightIcon {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ExclusiveRightIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ExclusiveRightIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ExclusiveRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ExclusiveRightIcon.java Thu Feb 16 04:15:27 2017
@@ -18,8 +18,8 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon.right;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room.Right;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.room.RoomPanel;
public class ExclusiveRightIcon extends RoomRightIcon {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java Thu Feb 16 04:15:27 2017
@@ -18,8 +18,8 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon.right;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room.Right;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.room.RoomPanel;
public class ModeratorRightIcon extends RoomRightIcon {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java Thu Feb 16 04:15:27 2017
@@ -18,8 +18,8 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon.right;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room.Right;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.room.RoomPanel;
public class RemoteControlRightIcon extends RoomRightIcon {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java Thu Feb 16 04:15:27 2017
@@ -20,8 +20,8 @@ package org.apache.openmeetings.web.room
import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_TOGGLE_RIGHT;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room.Right;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.openmeetings.web.room.sidebar.icon.ClientIcon;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java Thu Feb 16 04:15:27 2017
@@ -18,8 +18,8 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon.right;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room.Right;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.room.RoomPanel;
public class ScreenShareRightIcon extends RoomRightIcon {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java Thu Feb 16 04:15:27 2017
@@ -18,8 +18,8 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon.right;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room.Right;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.room.RoomPanel;
public class VideoRightIcon extends RoomRightIcon {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java Thu Feb 16 04:15:27 2017
@@ -18,10 +18,10 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon.right;
+import org.apache.openmeetings.db.entity.basic.Client;
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;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.room.RoomPanel;
public class WhiteboardRightIcon extends RoomRightIcon {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java Thu Feb 16 04:15:27 2017
@@ -21,7 +21,6 @@ package org.apache.openmeetings.web.user
import static org.apache.openmeetings.db.util.AuthLevelUtil.hasAdminLevel;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.Application.getRoomClients;
import static org.apache.openmeetings.web.app.Application.getUserRooms;
import static org.apache.openmeetings.web.app.Application.isUserInRoom;
import static org.apache.openmeetings.web.app.WebSession.getDateFormat;
@@ -41,6 +40,7 @@ import java.util.Arrays;
import java.util.Date;
import java.util.List;
+import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.dao.basic.ChatDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.user.UserDao;
@@ -49,7 +49,6 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.room.Room.Right;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.common.ConfirmableAjaxBorder;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
@@ -64,10 +63,6 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.markup.html.form.HiddenField;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
-import org.apache.wicket.protocol.ws.WebSocketSettings;
-import org.apache.wicket.protocol.ws.api.IWebSocketConnection;
-import org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry;
-import org.apache.wicket.protocol.ws.api.registry.PageIdKey;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
import org.json.JSONArray;
import org.json.JSONObject;
@@ -202,19 +197,8 @@ public class Chat extends Panel {
}
private static void sendRoom(ChatMessage m, String msg) {
- IWebSocketConnectionRegistry reg = WebSocketSettings.Holder.get(Application.get()).getConnectionRegistry();
- for (Client c : getRoomClients(m.getToRoom().getId())) {
- try {
- if (!m.isNeedModeration() || (m.isNeedModeration() && c.hasRight(Right.moderator))) {
- IWebSocketConnection con = reg.getConnection(Application.get(), c.getSessionId(), new PageIdKey(c.getPageId()));
- if (con != null) {
- con.sendMessage(msg);
- }
- }
- } catch (Exception e) {
- log.error("Error while sending message to room", e);
- }
- }
+ WebSocketHelper.sendRoom(m.getToRoom().getId(), msg
+ , c -> !m.isNeedModeration() || (m.isNeedModeration() && c.hasRight(Right.moderator)));
}
private class ChatForm extends Form<Void> {
@@ -265,37 +249,11 @@ public class Chat extends Panel {
if (m.getToRoom() != null) {
sendRoom(m, msg);
} else if (m.getToUser() != null) {
- IWebSocketConnectionRegistry reg = WebSocketSettings.Holder.get(Application.get()).getConnectionRegistry();
- for (Client c : Application.getClients(getUserId())) {
- try {
- IWebSocketConnection con = reg.getConnection(Application.get(), c.getSessionId(), new PageIdKey(c.getPageId()));
- if (con != null) {
- con.sendMessage(msg);
- }
- } catch (Exception e) {
- log.error("Error while sending message to room", e);
- }
- }
+ WebSocketHelper.sendUser(getUserId(), msg);
msg = getMessage(m.getToUser().getId(), Arrays.asList(m)).toString();
- for (Client c : Application.getClients(m.getToUser().getId())) {
- try {
- IWebSocketConnection con = reg.getConnection(Application.get(), c.getSessionId(), new PageIdKey(c.getPageId()));
- if (con != null) {
- con.sendMessage(msg);
- }
- } catch (Exception e) {
- log.error("Error while sending message to room", e);
- }
- }
+ WebSocketHelper.sendUser(m.getToUser().getId(), msg);
} else {
- IWebSocketConnectionRegistry reg = WebSocketSettings.Holder.get(getApplication()).getConnectionRegistry();
- for (IWebSocketConnection c : reg.getConnections(getApplication())) {
- try {
- c.sendMessage(msg);
- } catch(Exception e) {
- log.error("Error while sending message", e);
- }
- }
+ WebSocketHelper.sendAll(msg);
}
chatMessage.setDefaultModelObject("");
target.add(chatMessage);
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java Thu Feb 16 04:15:27 2017
@@ -18,6 +18,8 @@
*/
package org.apache.openmeetings.web.user.rooms;
+import static org.apache.openmeetings.web.app.Application.getBean;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -25,10 +27,10 @@ import java.util.List;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.common.UserPanel;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -62,7 +64,7 @@ public class RoomsPanel extends UserPane
roomId = r.getId();
updateRoomDetails(target);
}
-
+
@Override
public void onRefreshClick(AjaxRequestTarget target, Room r) {
super.onRefreshClick(target, r);
@@ -70,7 +72,7 @@ public class RoomsPanel extends UserPane
updateRoomDetails(target);
}
});
-
+
// Users in this Room
add(details.setOutputMarkupId(true).setVisible(rooms.size() > 0));
details.add(new Label("roomId", roomID));
@@ -92,12 +94,12 @@ public class RoomsPanel extends UserPane
rr.disableCaching();
return rr;
}
-
+
@Override
protected byte[] getData(Attributes attributes) {
String uri = null;
if (userId != null) {
- uri = Application.getBean(UserDao.class).get(userId > 0 ? userId : -userId).getPictureuri();
+ uri = getBean(UserDao.class).get(userId > 0 ? userId : -userId).getPictureuri();
}
File img = OmFileHelper.getUserProfilePicture(userId, uri);
try (InputStream is = new FileInputStream(img)) {
@@ -118,13 +120,13 @@ public class RoomsPanel extends UserPane
void updateRoomDetails(AjaxRequestTarget target) {
final List<Client> clientsInRoom = Application.getRoomClients(roomId);
clients.setDefaultModelObject(clientsInRoom);
- Room room = Application.getBean(RoomDao.class).get(roomId);
+ Room room = getBean(RoomDao.class).get(roomId);
roomID.setObject(room.getId());
roomName.setObject(room.getName());
roomComment.setObject(room.getComment());
target.add(clientsContainer, details);
}
-
+
@Override
protected void onDetach() {
roomID.detach();
Modified: openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java Thu Feb 16 04:15:27 2017
@@ -39,7 +39,7 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.apache.cxf.feature.Features;
-import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
+import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.dao.room.IInvitationManager;
import org.apache.openmeetings.db.dao.room.InvitationDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
@@ -54,8 +54,8 @@ import org.apache.openmeetings.db.dto.ro
import org.apache.openmeetings.db.dto.room.RoomDTO;
import org.apache.openmeetings.db.entity.room.Invitation;
import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
-import org.apache.openmeetings.db.entity.server.Sessiondata;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.server.Sessiondata;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.util.message.RoomMessage;
@@ -66,9 +66,9 @@ import org.springframework.beans.factory
/**
* RoomService contains methods to manipulate rooms and create invitation hash
- *
+ *
* @author sebawagner
- *
+ *
*/
@WebService(serviceName="org.apache.openmeetings.webservice.RoomWebService", targetNamespace = TNS)
@Features(features = "org.apache.cxf.feature.LoggingFeature")
@@ -91,8 +91,6 @@ public class RoomWebService {
private ISessionManager sessionManager;
@Autowired
private RoomDao roomDao;
- @Autowired
- private ScopeApplicationAdapter appAdapter;
/**
* Returns an Object of Type RoomsList which contains a list of
@@ -100,7 +98,7 @@ public class RoomWebService {
* about that Room. The List of current-users in the room is Null if you get
* them via SOAP. The Roomtype can be 1 for conference rooms or 2 for
* audience rooms.
- *
+ *
* @param sid
* The SID of the User. This SID must be marked as Loggedin
* @param type
@@ -128,7 +126,7 @@ public class RoomWebService {
/**
* returns a conference room object
- *
+ *
* @param sid - The SID of the User. This SID must be marked as Loggedin
* @param id - the room id
* @return - room with the id given
@@ -150,7 +148,7 @@ public class RoomWebService {
* Checks if a room with this exteralRoomId + externalRoomType does exist,
* if yes it returns the room id if not, it will create the room and then
* return the room id of the newly created room
- *
+ *
* @param sid
* The SID of the User. This SID must be marked as Loggedin
* @param type
@@ -162,7 +160,7 @@ public class RoomWebService {
* your external room id may set here
* @param room
* details of the room to be created if not found
- *
+ *
* @return - id of the room or error code
* @throws ServiceException
*/
@@ -196,15 +194,15 @@ public class RoomWebService {
throw new ServiceException(err.getMessage());
}
}
-
+
/**
* Adds a new Room like through the Frontend
- *
+ *
* @param sid
* The SID from getSession
* @param room
* room object
- *
+ *
* @return - id of the user added or error code
* @throws ServiceException
*/
@@ -229,15 +227,15 @@ public class RoomWebService {
throw new ServiceException(e.getMessage());
}
}
-
+
/**//*
* Adds a new Room like through the Frontend
- *
+ *
* @param sid
* The SID from getSession
* @param room
* room object
- *
+ *
* @return - id of the user added or error code
* @throws ServiceException
*//*
@@ -265,13 +263,13 @@ public class RoomWebService {
throw new ServiceException(err.getMessage());
}
}*/
-
+
/**
* Delete a room by its room id
- *
+ *
* @param sid - The SID of the User. This SID must be marked as Loggedin
* @param id - The id of the room
- *
+ *
* @return - id of the room deleted
*/
@WebMethod
@@ -297,14 +295,14 @@ public class RoomWebService {
* Method to remotely close rooms. If a room is closed all users
* inside the room and all users that try to enter it will be redirected to
* the redirectURL that is defined in the Room-Object.
- *
+ *
* Returns positive value if authentication was successful.
- *
+ *
* @param sid
* The SID of the User. This SID must be marked as Loggedin
* @param id
* the room id
- *
+ *
* @return - 1 in case of success, -2 otherwise
* @throws ServiceException
*/
@@ -323,7 +321,7 @@ public class RoomWebService {
roomDao.update(room, userId);
- appAdapter.broadcastRoom(new RoomMessage(room.getId(), userId, RoomMessage.Type.roomClosed));
+ WebSocketHelper.sendRoom(new RoomMessage(room.getId(), userId, RoomMessage.Type.roomClosed));
return new ServiceResult(1L, "Closed", Type.SUCCESS);
} else {
@@ -342,14 +340,14 @@ public class RoomWebService {
* Method to remotely open rooms. If a room is closed all users
* inside the room and all users that try to enter it will be redirected to
* the redirectURL that is defined in the Room-Object.
- *
+ *
* Returns positive value if authentication was successful.
- *
+ *
* @param sid
* The SID of the User. This SID must be marked as Loggedin
* @param id
* the room id
- *
+ *
* @return - 1 in case of success, -2 otherwise
* @throws ServiceException
*/
@@ -366,7 +364,7 @@ public class RoomWebService {
Room room = roomDao.get(id);
room.setClosed(false);
roomDao.update(room, userId);
-
+
return new ServiceResult(1L, "Opened", Type.SUCCESS);
} else {
throw new ServiceException("Insufficient permissions"); //TODO code -26
@@ -382,13 +380,13 @@ public class RoomWebService {
/**
* kick all uses of a certain room
- *
+ *
* @param sid
* The SID of the User. This SID must be marked as Loggedin
* _Admin
* @param id
* the room id
- *
+ *
* @return - true if user was kicked, false otherwise
*/
@WebMethod
@@ -410,10 +408,10 @@ public class RoomWebService {
throw new ServiceException(err.getMessage());
}
}
-
+
/**
* Returns current users for rooms ids
- *
+ *
* @param sid - The SID of the User. This SID must be marked as Loggedin
* @param ids - id of the room you need counters for
* @return - current users for rooms ids
@@ -452,7 +450,7 @@ public class RoomWebService {
/**
* Method to get invitation hash with given parameters
- *
+ *
* @param sid - The SID of the User. This SID must be marked as Loggedin
* @param invite - parameters of the invitation
* @param sendmail - flag to determine if email should be sent or not
@@ -473,7 +471,7 @@ public class RoomWebService {
if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
Invitation i = invite.get(userId, userDao, roomDao);
i = invitationDao.update(i);
-
+
if (i != null) {
if (sendmail) {
invitationManager.sendInvitationLink(i, MessageType.Create, invite.getSubject(), invite.getMessage(), false);
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java Thu Feb 16 04:15:27 2017
@@ -18,17 +18,17 @@
*/
package org.apache.openmeetings.core.remote;
+import static org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter.nextBroadCastId;
+import static org.apache.openmeetings.util.LocaleHelper.getCountryName;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FRONTEND_REGISTER_KEY;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_OAUTH_REGISTER_KEY;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SOAP_REGISTER_KEY;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import static org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter.nextBroadCastId;
-import static org.apache.openmeetings.util.LocaleHelper.getCountryName;
+import static org.apache.openmeetings.util.Version.getVersion;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Date;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
@@ -83,7 +83,12 @@ public class MobileService {
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";
+ }
+
public Map<String, Object> checkServer() {
Map<String, Object> result = new Hashtable<>();
result.put("allowSelfRegister", "1".equals(cfgDao.getConfValue(CONFIG_FRONTEND_REGISTER_KEY, String.class, "0")));
@@ -91,7 +96,7 @@ public class MobileService {
result.put("allowOauthRegister", "1".equals(cfgDao.getConfValue(CONFIG_OAUTH_REGISTER_KEY, String.class, "0")));
return result;
}
-
+
public Map<String, String> getStates() {
Map<String, String> result = new Hashtable<>();
for (String code : Locale.getISOCountries()) {
@@ -99,11 +104,11 @@ public class MobileService {
}
return result;
}
-
+
public String[] getTimezones() {
return TimeZone.getAvailableIDs();
}
-
+
public Map<String, Object> loginGoogle(Map<String, String> umap) {
Map<String, Object> result = getResult();
try {
@@ -116,7 +121,7 @@ public class MobileService {
}
return result;
}
-
+
public Map<String, Object> registerUser(Map<String, String> umap) {
Map<String, Object> result = getResult();
try {
@@ -135,7 +140,7 @@ public class MobileService {
String tzId = umap.get("tzId");
String country = umap.get("stateId");
Long langId = Long.valueOf(umap.get("langId"));
-
+
//FIXME TODO unify with Register dialog
String hash = UUID.randomUUID().toString();
@@ -168,7 +173,7 @@ public class MobileService {
}
return result;
}
-
+
public Map<String, Object> loginUser(String login, String password) {
Map<String, Object> result = getResult();
try {
@@ -181,32 +186,30 @@ public class MobileService {
}
return result;
}
-
+
private static Map<String, Object> getResult() {
Map<String, Object> result = new Hashtable<>();
result.put("status", -1);
return result;
}
-
+
private Map<String, Object> login(User u, Map<String, Object> result) {
if (u != null) {
- Sessiondata sd = sessionDao.create(u.getId(), u.getLanguageId());
IConnection conn = Red5.getConnectionLocal();
String streamId = conn.getClient().getId();
Client c = sessionManager.getClientByStreamId(streamId, null);
if (c == null) {
- c = sessionManager.addClientListItem(streamId, conn.getScope().getName(), conn.getRemotePort(),
- conn.getRemoteAddress(), "", null);
- }
- if (c == null) {
// Failed to create client
result.put("status", -1);
} else {
+ Sessiondata sd = sessionDao.check(c.getSecurityCode());
+ sd.setUserId(u.getId());
+ sd.setLanguageId(u.getLanguageId());
+ sessionDao.update(sd);
SessionVariablesUtil.initClient(conn.getClient(), c.getPublicSID());
c.setUserId(u.getId());
c.setFirstname(u.getFirstname());
c.setLastname(u.getLastname());
- c.setMobile(true);
sessionManager.updateClientByStreamId(streamId, c, false, null);
add(result, "sid", sd.getSessionId());
@@ -218,11 +221,12 @@ public class MobileService {
add(result, "login", u.getLogin());
add(result, "email", u.getAddress() == null ? "" : u.getAddress().getEmail());
add(result, "language", u.getLanguageId()); //TODO rights
+ add(result, "version", getVersion());
}
}
return result;
}
-
+
public List<Map<String, Object>> getVideoStreams() {
List<Map<String, Object>> result = new ArrayList<Map<String,Object>>();
// Notify all clients of the same scope (room)
@@ -252,7 +256,7 @@ public class MobileService {
}
private void addRoom(String type, String org, boolean first, List<Map<String, Object>> result, Room r) {
- Map<String, Object> room = new Hashtable<String, Object>();
+ Map<String, Object> room = new Hashtable<>();
room.put("id", r.getId());
room.put("name", r.getName());
room.put("type", type);
@@ -266,22 +270,22 @@ public class MobileService {
room.put("audioOnly", r.isAudioOnly());
result.add(room);
}
-
+
public List<Map<String, Object>> getRooms() {
- List<Map<String, Object>> result = new ArrayList<Map<String,Object>>();
+ List<Map<String, Object>> result = new ArrayList<>();
// FIXME duplicated code
IConnection current = Red5.getConnectionLocal();
Client c = sessionManager.getClientByStreamId(current.getClient().getId(), null);
User u = userDao.get(c.getUserId());
//my rooms
- List<Room> myl = new ArrayList<Room>();
+ List<Room> myl = new ArrayList<>();
myl.add(roomDao.getUserRoom(u.getId(), Room.Type.conference, labelDao.getString(1306L, u.getLanguageId())));
myl.add(roomDao.getUserRoom(u.getId(), Room.Type.restricted, labelDao.getString(1307L, 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();
@@ -291,16 +295,17 @@ public class MobileService {
first = false;
}
}
-
+
//public rooms
for (Room r : roomDao.getPublicRooms()) {
addRoom("public", null, false, result, r);
}
return result;
}
-
+
public Map<String, Object> roomConnect(String SID, Long userId) {
- Map<String, Object> result = new Hashtable<String, Object>();
+ Map<String, Object> result = new Hashtable<>();
+ /** FIXME TODO
User u = userDao.get(userId);
Client c = scopeAdapter.setUsernameReconnect(SID, userId, u.getLogin(), u.getFirstname(), u.getLastname(), u.getPictureuri());
//TODO check if we need anything here
@@ -316,6 +321,7 @@ public class MobileService {
result.put("publicSid", c.getPublicSID());
scopeAdapter.sendMessageToCurrentScope("addNewUser", c, false, false);
+ */
return result;
}
@@ -323,16 +329,16 @@ public class MobileService {
IConnection current = Red5.getConnectionLocal();
Client c = sessionManager.getClientByStreamId(current.getClient().getId(), null);
c.setAvsettings(avMode);
- c.setVWidth(Integer.parseInt(width));
- c.setVHeight(Integer.parseInt(height));
+ c.setVWidth(Double.valueOf(width).intValue());
+ c.setVHeight(Double.valueOf(height).intValue());
if (interviewPodId > 0) {
c.setInterviewPodId(interviewPodId);
}
sessionManager.updateClientByStreamId(c.getStreamid(), c, false, null);
- HashMap<String, Object> hsm = new HashMap<String, Object>();
+ Map<String, Object> hsm = new HashMap<>();
hsm.put("client", c);
hsm.put("message", new String[]{"avsettings", "0", avMode});
- Map<String, Object> result = new Hashtable<String, Object>();
+ Map<String, Object> result = new Hashtable<>();
if (!"n".equals(avMode)) {
result.put("broadcastId", nextBroadCastId());
}
@@ -340,4 +346,56 @@ public class MobileService {
scopeAdapter.sendMessageToCurrentScope("sendVarsToMessageWithClient", hsm, true, false);
return result;
}
+/*
+ public void sendChatMessage(String message) {
+ IConnection current = Red5.getConnectionLocal();
+ Client client = sessionManager.getClientByStreamId(current.getClient().getId(), null);
+ List<String> msg = new ArrayList<String>();
+ msg.add("chat"); //'privatechat'
+ msg.add(""); //date-time
+ msg.add("newtextmessage");
+ msg.add(client.getUsername());
+ msg.add(message);
+ msg.add(client.getUsercolor());
+ msg.add(client.getPublicSID()); //om[6] = parent.parent.isPrivate ? parent.parent.parent.refObj.publicSID : canvas.publicSID;
+ msg.add("false");// canvas.isrtl;
+ msg.add("" + client.getUserId());
+ Room room = roomDao.get(client.getRoomId());
+ msg.add("" + (room.isChatModerated() && !(client.getIsMod() || client.getIsSuperModerator())));
+ sendMessageWithClient(msg);
+
+ "sendVarsToMessageWithClient"
+ }
+
+ public List<Map<String, Object>> getRoomChatHistory() {
+ try {
+ IConnection current = Red5.getConnectionLocal();
+ Client currentClient = this.sessionManager.getClientByStreamId(current.getClient().getId(), null);
+ Long roomId = currentClient.getRoomId();
+
+ log.debug("GET CHATROOM: " + roomId);
+
+ List<Map<String,Object>> myChatList = myChats.get(roomId);
+ if (myChatList==null) myChatList = new ArrayList<Map<String,Object>>();
+
+ if (!currentClient.getIsMod() && !currentClient.getIsSuperModerator()) {
+ //current user is not moderator, chat history need to be filtered
+ List<Map<String,Object>> tmpChatList = new LinkedList<Map<String,Object>>(myChatList);
+ for (int i = tmpChatList.size() - 1; i > -1; --i) {
+ @SuppressWarnings("rawtypes")
+ List msgList = (List)tmpChatList.get(i).get("message");
+ if (Boolean.valueOf("" + msgList.get(9))) { //needModeration
+ tmpChatList.remove(i);
+ }
+ }
+ myChatList = tmpChatList;
+ }
+
+ return myChatList;
+ } catch (Exception err) {
+ log.error("[getRoomChatHistory] ",err);
+ return null;
+ }
+ }
+*/
}
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java?rev=1783168&r1=1783167&r2=1783168&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java Thu Feb 16 04:15:27 2017
@@ -30,6 +30,7 @@ import org.apache.openmeetings.core.data
import org.apache.openmeetings.core.data.record.converter.RecordingConverterTask;
import org.apache.openmeetings.core.data.record.listener.StreamListener;
import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
+import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.record.RecordingMetaDataDao;
import org.apache.openmeetings.db.dao.record.RecordingMetaDeltaDao;
@@ -142,7 +143,7 @@ public class RecordingService implements
Client rcl = sessionManager.getClientByStreamId(conn.getClient().getId(), null);
// Send every user a notification that the recording did start
- scopeApplicationAdapter.broadcastRoom(new TextRoomMessage(roomId, ownerId, RoomMessage.Type.recordingStarted, client.getPublicSID()));
+ WebSocketHelper.sendRoom(new TextRoomMessage(roomId, ownerId, RoomMessage.Type.recordingStarted, client.getPublicSID()));
// If its the recording client we need another type of Meta Data
if (rcl.isScreenClient()) {
@@ -310,7 +311,7 @@ public class RecordingService implements
public Long stopRecordAndSave(IScope scope, Client client, Long storedRecordingId) {
try {
log.debug("stopRecordAndSave " + client.getUsername() + "," + client.getUserip());
- scopeApplicationAdapter.broadcastRoom(new TextRoomMessage(client.getRoomId(), client.getUserId(), RoomMessage.Type.recordingStoped, client.getPublicSID()));
+ WebSocketHelper.sendRoom(new TextRoomMessage(client.getRoomId(), client.getUserId(), RoomMessage.Type.recordingStoped, client.getPublicSID()));
// get all stream and stop recording them
for (IConnection conn : scope.getClientConnections()) {