Author: solomax Date: Tue Feb 19 19:29:59 2013 New Revision: 1447880 URL: http://svn.apache.org/r1447880 Log: SIP: user count in SIP Transport is updated as expected; code cleanup;
Modified: openmeetings/trunk/singlewebapp/WebContent/src/base/hibernate/hibRtmpConnection.lzx openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/interviewuserlist/interviewUserListItem.lzx openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/participants/participantList.lzx openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/participants/participantListItem.lzx openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/restricted/restrictedUserList.lzx openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx openmeetings/trunk/singlewebapp/WebContent/swf10/commonVideoViewContentSWF10.lzx openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/MeetMe.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java Modified: openmeetings/trunk/singlewebapp/WebContent/src/base/hibernate/hibRtmpConnection.lzx URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/base/hibernate/hibRtmpConnection.lzx?rev=1447880&r1=1447879&r2=1447880&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/WebContent/src/base/hibernate/hibRtmpConnection.lzx (original) +++ openmeetings/trunk/singlewebapp/WebContent/src/base/hibernate/hibRtmpConnection.lzx Tue Feb 19 19:29:59 2013 @@ -1288,24 +1288,6 @@ <netparam><method name="getValue">return parent.mute;</method></netparam> </netRemoteCallHib> - <!-- - <netRemoteCallHib name="receiveMicMuteSwitched" funcname="receiveMicMuteSwitched"> - <netparam><method name="getValue">return null;</method></netparam> - <handler name="ondata" args="value"> - <![CDATA[ - //The onResult-Handler will be called be the rtmpconnection - if ($debug) Debug.write(" onResult receiveMicMuteSwitched : ", value); - var obj = canvas._videocontainer.getVideoObjectByPublicSID(value.publicSID); - if (canvas.publicSID == value.publicSID) { - obj.muteMicrophone(value.micMuted); - } else { - obj.setMicMuted(value.micMuted); - } - ]]> - </handler> - </netRemoteCallHib> - --> - <netRemoteCallHib name="newRed5ScreenCursor" funcname="newRed5ScreenCursor"> <netparam><method name="getValue">return null;</method></netparam> <handler name="ondata" args="value"> @@ -1677,6 +1659,13 @@ canvas.currentActivityList.applyForMuteOff(value.client,value.message[1]); } else if (value.message[0]=='applyForGiveExclusiveAudioOn'){ canvas.currentActivityList.applyForGiveExclusiveAudioOn(value.client,value.message[1]); + } else if (value.message[0] == 'personal') { + var pSID = value.client.publicSID; + var vo = canvas._videocontainer._participants.getVideoObjectByPublicSID(pSID); + if (vo != null) { + vo.setAttribute('lastname', value.message[2]); + } + canvas.sendViaLocalConnection(canvas.vid_lc_name, "updateFirstLastName", [pSID, value.message[1], value.message[2]]); } else { if ($debug) Debug.warn("sendVarsToMessageWithClient unkown message ",value); } Modified: openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/interviewuserlist/interviewUserListItem.lzx URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/interviewuserlist/interviewUserListItem.lzx?rev=1447880&r1=1447879&r2=1447880&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/interviewuserlist/interviewUserListItem.lzx (original) +++ openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/interviewuserlist/interviewUserListItem.lzx Tue Feb 19 19:29:59 2013 @@ -141,11 +141,7 @@ resource="userstatus_multiframe_rsc" /> <labelText name="_userName" x="41" y="2" - text="$once{ parent.firstname+' '+parent.lastname }" /> - - <!-- - <labelTooltip name="_userName" text="$once{ parent.firstname+' '+parent.lastname }" /> - --> + text="$once{ parent.firstname + ' ' + parent.lastname }" /> <animatorgroup name="showItem" started="false" process="simultaneous"> <animator attribute="height" to="62" duration="750" /> Modified: openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/participants/participantList.lzx URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/participants/participantList.lzx?rev=1447880&r1=1447879&r2=1447880&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/participants/participantList.lzx (original) +++ openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/participants/participantList.lzx Tue Feb 19 19:29:59 2013 @@ -151,29 +151,19 @@ <!--- get a Objects List Item @param string publicSID publicSID --> - <method name="getVideoObjectByPublicSID" args="publicSID"> - <![CDATA[ - //if ($debug) Debug.write("getVideoObjectByPublicSid SEARCH: ",publicSID); - - //for (var i=0;i<this._videoviewcontent.subviews.length;i++){ - // if ($debug) Debug.write("getVideoObjectByBroadCastId6 broadcastId: ",this._videoviewcontent.subviews[i].broadcastId); - // if ($debug) Debug.write("getVideoObjectByBroadCastId7 streamid,user_id: ",this._videoviewcontent.subviews[i].clientVars.streamid,this._videoviewcontent.subviews[i].clientVars.user_id); - //} - - for (var i=0;i<this._table.innerList.subviews.length;i++){ - //if ($debug) Debug.write("getVideoObjectByBroadCastId2 broadcastId VIEW: ",this._videoviewcontent.subviews[i].broadcastId); - //if ($debug) Debug.write("getVideoObjectByBroadCastId3 broadcastId SEARCH: ",broadcastId); - //if ($debug) Debug.write("getVideoObjectByBroadCastId4 obj: ",this._videoviewcontent.subviews[i]); - //if ($debug) Debug.write("getVideoObjectByBroadCastId5 streamid,user_id: ",this._videoviewcontent.subviews[i].clientVars.streamid,this._videoviewcontent.subviews[i].clientVars.user_id); - if (this._table.innerList.subviews[i].refObj.publicSID==publicSID){ - return this._table.innerList.subviews[i]; - } - } - - return null; - - ]]> - </method> + <method name="getVideoObjectByPublicSID" args="publicSID"> + <![CDATA[ + var v = null; + var lst = this._table.innerList; + for (var i = 0; i < lst.subviews.length; i++) { + if (lst.subviews[i].refObj.publicSID == publicSID) { + v = lst.subviews[i]; + break; + } + } + return v; + ]]> + </method> <participantsTable name="_table" y="20" /> Modified: openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/participants/participantListItem.lzx URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/participants/participantListItem.lzx?rev=1447880&r1=1447879&r2=1447880&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/participants/participantListItem.lzx (original) +++ openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/participants/participantListItem.lzx Tue Feb 19 19:29:59 2013 @@ -391,8 +391,8 @@ </handler> </image> - <labelText name="_firstName" fontsize="10" x="40" text="$once{ parent.firstname }" /> - <labelText name="_lastName" fontsize="10" x="40" y="20" text="$once{ parent.lastname }" /> + <labelText name="_firstName" fontsize="10" x="40" text="${ parent.firstname }" /> + <labelText name="_lastName" fontsize="10" x="40" y="20" text="${ parent.lastname }" /> <miniIcons name="_start_private_chat_rsc" x="114" y = "2" width="16" height="16" resource="start_private_chat_rsc" showhandcursor="true" Modified: openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/restricted/restrictedUserList.lzx URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/restricted/restrictedUserList.lzx?rev=1447880&r1=1447879&r2=1447880&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/restricted/restrictedUserList.lzx (original) +++ openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/restricted/restrictedUserList.lzx Tue Feb 19 19:29:59 2013 @@ -37,7 +37,7 @@ <handler name="onallowUserQuestions" args="bool"> if (bool != null) { if (!bool) { - this._participents._applyAndStatusIcons.destroy(); + this._participants._applyAndStatusIcons.destroy(); } } </handler> @@ -188,7 +188,7 @@ canvas.thishib.checkLzRecording.doCall(); //Render and Show User-List - parent._participents.sortAndRenderList(); + parent._participants.sortAndRenderList(); if (canvas._currentChatPanel.visible) { canvas._currentChatPanel.toggleopen(); @@ -211,7 +211,7 @@ if (streamid!=canvas.streamid){ //do add others - this._participents.initialAddItem(object); + this._participants.initialAddItem(object); //if ($debug) Debug.write("???????? object.isBroadcasting :: ",object.isBroadcasting); @@ -223,7 +223,7 @@ } else { //do add self too - this._participents.initialAddItem(object); + this._participants.initialAddItem(object); } ]]> @@ -231,7 +231,7 @@ <method name="receiveExclusiveAudioFlag" args="publicSID"> <![CDATA[ - var vList = this._participents._table.renderList; + var vList = this._participants._table.renderList; for (var i=0;i<vList.length;i++) { var item = vList[i]; var rcl = new Object(); @@ -255,12 +255,12 @@ this._videoviewcontent.createVideo(object.publicSID, object.firstname+' '+object.lastname, object.broadCastID, object.avsettings, -1, object); //do add others - this._participents.addItem(object); + this._participants.addItem(object); //return myvideocontainer; } else { //do add self too - this._participents.addItem(object); + this._participants.addItem(object); } ]]> @@ -275,7 +275,7 @@ } //Do Add it anyway - this._participents.addItem(object); + this._participants.addItem(object); ]]> </method> @@ -309,14 +309,14 @@ --> <method name="disconnectclient" args="publicSID"> this._videoviewcontent.disconnectclient(publicSID); - this._participents.disconnectclient(publicSID); + this._participants.disconnectclient(publicSID); </method> <method name="updateMuteStatusVideoView" args="roomClient"> this._videoviewcontent.updateMuteStatusVideoView(roomClient); </method> - <restrictedUserListInner name="_participents" /> + <restrictedUserListInner name="_participants" /> </class> Modified: openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx?rev=1447880&r1=1447879&r2=1447880&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx (original) +++ openmeetings/trunk/singlewebapp/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx Tue Feb 19 19:29:59 2013 @@ -156,9 +156,18 @@ ]]> </method> - - <method name="getVideoObjectByPublicSID" args="publicSID"> - if ($debug) Debug.error(" :: getVideoObjectByPublicSID :: ",publicSID); + <method name="getVideoObjectByPublicSID" args="publicSID"> + <![CDATA[ + var v = null; + var vList = this._table._innerlist._inn._inn.subviews; + for (var i = 0; i < vList.length; ++i) { + if (vList[i].refObj.publicSID == publicSID) { + v = vList[i]; + break; + } + } + return v; + ]]> </method> <view name="userStatus" layout="axis:y"> Modified: openmeetings/trunk/singlewebapp/WebContent/swf10/commonVideoViewContentSWF10.lzx URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/swf10/commonVideoViewContentSWF10.lzx?rev=1447880&r1=1447879&r2=1447880&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/WebContent/swf10/commonVideoViewContentSWF10.lzx (original) +++ openmeetings/trunk/singlewebapp/WebContent/swf10/commonVideoViewContentSWF10.lzx Tue Feb 19 19:29:59 2013 @@ -68,6 +68,7 @@ client.immediateExitRoom = this.immediateExitRoom; client.closeWhiteboard = this.closeWhiteboard; client.arrangeWindows = this.arrangeWindows; + client.updateFirstLastName = this.updateFirstLastName; var lc:LocalConnection = new LocalConnection(); lc.connect(canvas.vid_lc_name); @@ -491,6 +492,13 @@ <method name="immediateExitRoom" args="bool,ctx"> canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'exitRoom', bool); </method> + + <method name="updateFirstLastName" args="publicSID,first,last"> + var v = getVideoObjectByPublicSID(publicSID); + if (v != null) { + v.setAttribute('chatpartnername', first + ' ' + last); + } + </method> <!--- Shows the close whiteboard dialog Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/MeetMe.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/MeetMe.java?rev=1447880&r1=1447879&r2=1447880&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/MeetMe.java (original) +++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/MeetMe.java Tue Feb 19 19:29:59 2013 @@ -25,10 +25,12 @@ import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; +import org.apache.openjpa.persistence.DataCache; import org.simpleframework.xml.Element; import org.simpleframework.xml.Root; @Entity +@DataCache(enabled=false) @Table(name = "meetme") @Root(name="member") public class MeetMe implements Serializable { Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java?rev=1447880&r1=1447879&r2=1447880&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java (original) +++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java Tue Feb 19 19:29:59 2013 @@ -2802,15 +2802,21 @@ public class ScopeApplicationAdapter ext return result.isEmpty() ? result : roomDao.getSipRooms(result); } + private String getSipTransportLastname(Long roomId) { + Integer c = roomManager.getSipConferenceMembersNumber(roomId); + String count = (c != null && c > 0) ? "" + (c - 1) : ""; + return "(" + count + ")"; + } + public synchronized void updateSipTransport() { IConnection current = Red5.getConnectionLocal(); String streamid = current.getClient().getId(); - Client currentClient = this.sessionManager.getClientByStreamId(streamid, null); - log.debug("getSipConferenceMembersNumber: " + roomManager.getSipConferenceMembersNumber(currentClient.getRoom_id())); - String newNumber = "("+Integer.toString(roomManager.getSipConferenceMembersNumber(currentClient.getRoom_id())-1)+")"; - if(!newNumber.equals(currentClient.getLastname())) { + Client currentClient = sessionManager.getClientByStreamId(streamid, null); + String newNumber = getSipTransportLastname(currentClient.getRoom_id()); + log.debug("getSipConferenceMembersNumber: " + newNumber); + if (!newNumber.equals(currentClient.getLastname())) { currentClient.setLastname(newNumber); - this.sessionManager.updateClientByStreamId(streamid, currentClient, false, null); + sessionManager.updateClientByStreamId(streamid, currentClient, false, null); log.debug("updateSipTransport: {}, {}, {}, {}", new Object[]{currentClient.getPublicSID(), currentClient.getRoom_id(), currentClient.getFirstname(), currentClient.getLastname()}); sendMessageWithClient(new String[]{"personal",currentClient.getFirstname(),currentClient.getLastname()}); @@ -2824,7 +2830,7 @@ public class ScopeApplicationAdapter ext public synchronized void joinToConfCall(String number) { IConnection current = Red5.getConnectionLocal(); String streamid = current.getClient().getId(); - Client currentClient = this.sessionManager.getClientByStreamId(streamid, null); + Client currentClient = sessionManager.getClientByStreamId(streamid, null); try { String sipNumber = getSipNumber(currentClient.getRoom_id()); log.debug("asterisk -rx \"originate Local/" + number + "@rooms extension " + sipNumber + "@rooms\""); @@ -2848,11 +2854,11 @@ public class ScopeApplicationAdapter ext IClient c = current.getClient(); String streamid = c.getId(); // Notify all clients of the same scope (room) - Client currentClient = this.sessionManager.getClientByStreamId(streamid, null); + Client currentClient = sessionManager.getClientByStreamId(streamid, null); currentClient.setRoom_id(room_id); currentClient.setRoomEnter(new Date()); currentClient.setFirstname("SIP Transport"); - currentClient.setLastname("("+Integer.toString(roomManager.getSipConferenceMembersNumber(room_id)-1)+")"); + currentClient.setLastname(getSipTransportLastname(room_id)); currentClient.setBroadCastID(Long.parseLong(broadCastId)); currentClient.setIsBroadcasting(true); currentClient.setPublicSID(publicSID);