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 2016/04/24 19:11:43 UTC
svn commit: r1740715 - in /openmeetings/application:
branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/
branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/
branches/3.2.x/openmeetings-web/src/main/java/org/apache/...
Author: solomax
Date: Sun Apr 24 17:11:43 2016
New Revision: 1740715
URL: http://svn.apache.org/viewvc?rev=1740715&view=rev
Log:
[OPENMEETINGS-1376] allow/deny right seems to work
Modified:
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1740715&r1=1740714&r2=1740715&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx Sun Apr 24 17:11:43 2016
@@ -1004,7 +1004,7 @@
<method name="clientUpdated" args="client">
<![CDATA[
- if ($debug) Debug.write("drawAllowStatus changes ###### ");
+ if ($debug) Debug.write("clientUpdated changes ###### ");
if (client.publicSID == canvas.publicSID) {
if ($debug) Debug.write("Its about You ", client);
canvas.setAttribute("isAllowedToDraw", client.canDraw);
@@ -1022,9 +1022,13 @@
} else {
canvas.commonVideoViewContent.createEditRecordStream(false, false, -1);
}
+ canvas.setAttribute("lastBroadCastingUser", client);
+ } else {
+ if (canvas.inner.editRecordStream != null) {
+ canvas.inner.editRecordStream.destroy();
+ }
}
}
- canvas.setAttribute("lastBroadCastingUser", client);
]]>
</method>
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1740715&r1=1740714&r2=1740715&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java Sun Apr 24 17:11:43 2016
@@ -216,6 +216,7 @@ public class Application extends Authent
public static void removeOnlineUser(Client c) {
if (c != null) {
+ log.debug("Removing online client: {}, room: {}", c.getUid(), c.getRoomId());
ONLINE_USERS.remove(c.getUid());
}
}
@@ -300,6 +301,7 @@ public class Application extends Authent
}
public static Client removeUserFromRoom(Client c) {
+ log.debug("Removing room client: {}, room: {}", c.getUid(), c.getRoomId());
if (c.getRoomId() != null) {
Set<Client> clients = ROOMS.get(c.getRoomId());
if (clients != null) {
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=1740715&r1=1740714&r2=1740715&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 Sun Apr 24 17:11:43 2016
@@ -406,6 +406,17 @@ public class RoomPanel extends BasePanel
for (Right right : rights) {
client.getRights().add(right);
}
+ broadcast(target, client);
+ }
+
+ public void denyRight(AjaxRequestTarget target, Client client, Right... rights) {
+ for (Right right : rights) {
+ client.getRights().remove(right);
+ }
+ broadcast(target, client);
+ }
+
+ public void broadcast(AjaxRequestTarget target, Client client) {
broadcast(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/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=1740715&r1=1740714&r2=1740715&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 Sun Apr 24 17:11:43 2016
@@ -46,6 +46,7 @@ import org.apache.wicket.markup.html.pan
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
+import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -54,7 +55,7 @@ import com.googlecode.wicket.jquery.ui.w
public class RoomSidebar extends Panel {
private static final long serialVersionUID = 1L;
private static final Logger log = Red5LoggerFactory.getLogger(RoomSidebar.class, webAppRootKey);
- public static final String FUNC_REQUEST_RIGHT = "requestRight";
+ public static final String FUNC_CHANGE_RIGHT = "changeRight";
public static final String PARAM_RIGHT = "right";
public static final String PARAM_UID = "uid";
private final RoomPanel room;
@@ -80,10 +81,28 @@ public class RoomSidebar extends Panel {
protected void respond(AjaxRequestTarget target) {
try {
String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString();
+ if (Strings.isEmpty(uid)) {
+ return;
+ }
Right right = Right.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_RIGHT).toString());
if (room.getClient().hasRight(Right.moderator)) {
Client client = getOnlineClient(uid);
- room.allowRight(target, client, right);
+ if (client == null) {
+ return;
+ }
+ if (client.hasRight(right)) {
+ if (Right.audio == right) {
+ room.denyRight(target, client, right, Right.video);
+ } else {
+ room.denyRight(target, client, right);
+ }
+ } else {
+ if (Right.video == right) {
+ room.allowRight(target, client, Right.audio, right);
+ } else {
+ room.allowRight(target, client, right);
+ }
+ }
} else {
room.requestRight(target, RoomMessage.Type.requestRightModerator);
}
@@ -144,7 +163,7 @@ public class RoomSidebar extends Panel {
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
- response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_REQUEST_RIGHT, requestRight, explicit(PARAM_RIGHT), explicit(PARAM_UID)), FUNC_REQUEST_RIGHT)));
+ response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_CHANGE_RIGHT, requestRight, explicit(PARAM_RIGHT), explicit(PARAM_UID)), FUNC_CHANGE_RIGHT)));
}
private ListView<Client> updateUsers() {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/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/RoomRightIcon.java?rev=1740715&r1=1740714&r2=1740715&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java Sun Apr 24 17:11:43 2016
@@ -18,7 +18,7 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon;
-import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_REQUEST_RIGHT;
+import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_CHANGE_RIGHT;
import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.app.Client.Right;
@@ -32,6 +32,7 @@ public abstract class RoomRightIcon exte
private static final String CLS_CLICKABLE = "clickable ";
private static final String CLS_GRANTED = "granted ";
private static final String ICON_CLASS = "ui-icon align-left ";
+ private final RoomPanel room;
protected final Right right;
protected final boolean self;
protected final Client client;
@@ -39,6 +40,7 @@ public abstract class RoomRightIcon exte
public RoomRightIcon(String id, Client client, Right right, RoomPanel room) {
super(id);
+ this.room = room;
this.client = client;
this.right = right;
self = room.getClient().getUid().equals(client.getUid());
@@ -62,9 +64,11 @@ public abstract class RoomRightIcon exte
cls.append(mainCssClass);
if (hasRight()) {
cls.append(CLS_GRANTED);
- } else {
+ }
+ if (!self && room.getClient().hasRight(Right.moderator)) {
+ //request/remove
cls.append(CLS_CLICKABLE);
- add(AttributeAppender.replace("onclick", String.format("%s('%s', '%s');", FUNC_REQUEST_RIGHT, right.name(), client.getUid())));
+ add(AttributeAppender.replace("onclick", String.format("%s('%s', '%s');", FUNC_CHANGE_RIGHT, right.name(), client.getUid())));
}
add(AttributeAppender.replace("title", getTitle()));
add(AttributeAppender.replace("class", cls));
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1740715&r1=1740714&r2=1740715&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java Sun Apr 24 17:11:43 2016
@@ -216,6 +216,7 @@ public class Application extends Authent
public static void removeOnlineUser(Client c) {
if (c != null) {
+ log.debug("Removing online client: {}, room: {}", c.getUid(), c.getRoomId());
ONLINE_USERS.remove(c.getUid());
}
}
@@ -300,6 +301,7 @@ public class Application extends Authent
}
public static Client removeUserFromRoom(Client c) {
+ log.debug("Removing room client: {}, room: {}", c.getUid(), c.getRoomId());
if (c.getRoomId() != null) {
Set<Client> clients = ROOMS.get(c.getRoomId());
if (clients != null) {
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1740715&r1=1740714&r2=1740715&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Sun Apr 24 17:11:43 2016
@@ -437,6 +437,17 @@ public class RoomPanel extends BasePanel
for (Right right : rights) {
client.getRights().add(right);
}
+ broadcast(target, client);
+ }
+
+ public void denyRight(AjaxRequestTarget target, Client client, Right... rights) {
+ for (Right right : rights) {
+ client.getRights().remove(right);
+ }
+ broadcast(target, client);
+ }
+
+ public void broadcast(AjaxRequestTarget target, Client client) {
broadcast(new RoomMessage(getRoom().getId(), getUserId(), RoomMessage.Type.rightUpdated));
RoomBroadcaster.sendUpdatedClient(client);
}
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1740715&r1=1740714&r2=1740715&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java Sun Apr 24 17:11:43 2016
@@ -46,6 +46,7 @@ import org.apache.wicket.markup.html.pan
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
+import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -54,7 +55,7 @@ import com.googlecode.wicket.jquery.ui.w
public class RoomSidebar extends Panel {
private static final long serialVersionUID = 1L;
private static final Logger log = Red5LoggerFactory.getLogger(RoomSidebar.class, webAppRootKey);
- public static final String FUNC_REQUEST_RIGHT = "requestRight";
+ public static final String FUNC_CHANGE_RIGHT = "changeRight";
public static final String PARAM_RIGHT = "right";
public static final String PARAM_UID = "uid";
private final RoomPanel room;
@@ -80,10 +81,28 @@ public class RoomSidebar extends Panel {
protected void respond(AjaxRequestTarget target) {
try {
String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString();
+ if (Strings.isEmpty(uid)) {
+ return;
+ }
Right right = Right.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_RIGHT).toString());
if (room.getClient().hasRight(Right.moderator)) {
Client client = getOnlineClient(uid);
- room.allowRight(target, client, right);
+ if (client == null) {
+ return;
+ }
+ if (client.hasRight(right)) {
+ if (Right.audio == right) {
+ room.denyRight(target, client, right, Right.video);
+ } else {
+ room.denyRight(target, client, right);
+ }
+ } else {
+ if (Right.video == right) {
+ room.allowRight(target, client, Right.audio, right);
+ } else {
+ room.allowRight(target, client, right);
+ }
+ }
} else {
room.requestRight(target, RoomMessage.Type.requestRightModerator);
}
@@ -144,7 +163,7 @@ public class RoomSidebar extends Panel {
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
- response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_REQUEST_RIGHT, requestRight, explicit(PARAM_RIGHT), explicit(PARAM_UID)), FUNC_REQUEST_RIGHT)));
+ response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_CHANGE_RIGHT, requestRight, explicit(PARAM_RIGHT), explicit(PARAM_UID)), FUNC_CHANGE_RIGHT)));
}
private ListView<Client> updateUsers() {
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java?rev=1740715&r1=1740714&r2=1740715&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java Sun Apr 24 17:11:43 2016
@@ -18,7 +18,7 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon;
-import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_REQUEST_RIGHT;
+import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_CHANGE_RIGHT;
import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.app.Client.Right;
@@ -32,6 +32,7 @@ public abstract class RoomRightIcon exte
private static final String CLS_CLICKABLE = "clickable ";
private static final String CLS_GRANTED = "granted ";
private static final String ICON_CLASS = "ui-icon align-left ";
+ private final RoomPanel room;
protected final Right right;
protected final boolean self;
protected final Client client;
@@ -39,6 +40,7 @@ public abstract class RoomRightIcon exte
public RoomRightIcon(String id, Client client, Right right, RoomPanel room) {
super(id);
+ this.room = room;
this.client = client;
this.right = right;
self = room.getClient().getUid().equals(client.getUid());
@@ -62,9 +64,11 @@ public abstract class RoomRightIcon exte
cls.append(mainCssClass);
if (hasRight()) {
cls.append(CLS_GRANTED);
- } else {
+ }
+ if (!self && room.getClient().hasRight(Right.moderator)) {
+ //request/remove
cls.append(CLS_CLICKABLE);
- add(AttributeAppender.replace("onclick", String.format("%s('%s', '%s');", FUNC_REQUEST_RIGHT, right.name(), client.getUid())));
+ add(AttributeAppender.replace("onclick", String.format("%s('%s', '%s');", FUNC_CHANGE_RIGHT, right.name(), client.getUid())));
}
add(AttributeAppender.replace("title", getTitle()));
add(AttributeAppender.replace("class", cls));