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/07/12 17:12:06 UTC

openmeetings git commit: [OPENMEETINGS-1664] more work on sip in master

Repository: openmeetings
Updated Branches:
  refs/heads/master 563588791 -> 50e6b2b6d


[OPENMEETINGS-1664] more work on sip in master


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/50e6b2b6
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/50e6b2b6
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/50e6b2b6

Branch: refs/heads/master
Commit: 50e6b2b6dc943ff94d1dfe39bd2915aeaa440fad
Parents: 5635887
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Thu Jul 13 00:11:56 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Thu Jul 13 00:11:56 2017 +0700

----------------------------------------------------------------------
 .../core/remote/ScopeApplicationAdapter.java       | 17 +++++++++++++----
 .../java/org/apache/openmeetings/IApplication.java |  1 +
 .../apache/openmeetings/web/app/Application.java   |  9 +++++----
 3 files changed, 19 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/50e6b2b6/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
index 8997db8..90ec027 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
@@ -91,7 +91,6 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
 	private static final String MOBILE_PARAM = "mobileClient";
 	private static final String WIDTH_PARAM = "width";
 	private static final String HEIGHT_PARAM = "height";
-	private static final String SIP_PARAM = "sipClient";
 	public static final String HIBERNATE_SCOPE = "hibernate";
 	public static final String FLASH_SECURE = "secure";
 	public static final String FLASH_NATIVE_SSL = "native";
@@ -220,11 +219,11 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
 		if (Boolean.TRUE.equals(connParams.get(MOBILE_PARAM))) {
 			rcm.setMobile(true);
 		}
-		if (Boolean.TRUE.equals(connParams.get(SIP_PARAM))) {
-			rcm.setSipTransport(true);
-		}
 		rcm.setUid(Strings.isEmpty(uid) ? UUID.randomUUID().toString() : uid);
 		rcm.setOwnerSid(ownerSid);
+		if (sipDao.getUid() != null && sipDao.getUid().equals(rcm.getOwnerSid())) {
+			rcm.setSipTransport(true);
+		}
 		rcm.setUserport(conn.getRemotePort());
 		rcm.setUserip(conn.getRemoteAddress());
 		rcm.setSwfurl(swfURL);
@@ -1132,10 +1131,14 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
 		String newNumber = getSipTransportLastname(count);
 		_log.debug("getSipConferenceMembersNumber: " + newNumber);
 		if (!newNumber.equals(client.getLastname())) {
+			IApplication iapp = (IApplication)Application.get(wicketApplicationName);
+			org.apache.openmeetings.db.entity.basic.Client cl = iapp.getOmOnlineClient(client.getUid());
+			cl.getUser().setLastname(newNumber);
 			client.setLastname(newNumber);
 			sessionManager.update(client);
 			_log.debug("updateSipTransport: {}, {}, {}, {}, {}", new Object[] { client.getUid(), client.getRoomId(),
 					client.getFirstname(), client.getLastname(), client.getAvsettings() });
+			WebSocketHelper.sendRoom(new TextRoomMessage(client.getRoomId(), client.getUserId(), RoomMessage.Type.rightUpdated, client.getUid()));
 			sendMessageWithClient(new String[] { "personal", client.getFirstname(), client.getLastname() });
 		}
 		return count != null && count > 0 ? count - 1 : 0;
@@ -1147,10 +1150,16 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
 		IClient client = current.getClient();
 		// Notify all clients of the same scope (room)
 		StreamClient c = sessionManager.get(IClientUtil.getId(client));
+		IApplication iapp = (IApplication)Application.get(wicketApplicationName);
+		org.apache.openmeetings.db.entity.basic.Client cl = iapp.getOmOnlineClient(c.getUid());
+		String newNumber = getSipTransportLastname(c.getRoomId());
+		cl.getUser().setLastname(newNumber);
+		c.setLastname(newNumber);
 		c.setLastname(getSipTransportLastname(c.getRoomId()));
 		c.setBroadCastId(broadCastId);
 		sessionManager.update(c);
 
+		WebSocketHelper.sendRoom(new TextRoomMessage(c.getRoomId(), c.getUserId(), RoomMessage.Type.rightUpdated, c.getUid()));
 		sendMessageToCurrentScope("addNewUser", c, false);
 	}
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/50e6b2b6/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java b/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
index c275e66..9b54e1e 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
@@ -44,6 +44,7 @@ public interface IApplication {
 	Client getOmClient(String uid);
 	Client getOmClientBySid(String sid);
 	StreamClient updateClient(StreamClient rcl, boolean forceSize);
+	Client getOmOnlineClient(String uid);
 	List<Client> getOmRoomClients(Long roomId);
 	List<Client> getOmClients(Long userId);
 	String getOmContactsLink();

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/50e6b2b6/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index 325a233..b48d5f0 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -52,7 +52,6 @@ import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.db.dao.log.ConferenceLogDao;
-import org.apache.openmeetings.db.dao.room.SipDao;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.basic.Client;
@@ -330,9 +329,6 @@ public class Application extends AuthenticatedWebApplication implements IApplica
 				}
 				//FIXME TODO rights
 			} else if (client == null && rcl.isSipTransport()) {
-				if (!getBean(SipDao.class).getUid().equals(rcl.getUid())) {
-					return null;
-				}
 				rcl.setPicture_uri("phone.png");
 				//SipTransport enters the room
 				User u = new User();
@@ -400,6 +396,11 @@ public class Application extends AuthenticatedWebApplication implements IApplica
 	}
 
 	@Override
+	public Client getOmOnlineClient(String uid) {
+		return getOnlineClient(uid);
+	}
+
+	@Override
 	public Client getOmClientBySid(String sid) {
 		return getClientBySid(sid);
 	}