Revision: 3799
Author: seba.wagner
Date: Sat Jun 11 00:57:08 2011
Log: Fixes: Multi-Whiteboard + Loading of stored drawings into
Multi-Whiteboard
http://code.google.com/p/openmeetings/source/detail?r=3799
Modified:
/trunk/singlewebapp/WebContent/WEB-INF/red5-services/fileservice.service.xml
/trunk/singlewebapp/WebContent/conf/hibernate.cfg.xml
/trunk/singlewebapp/WebContent/openmeetings/base/hibernate/hibRtmpConnection.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/roomSidebar/conferenceRoomSidebar.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/roomSidebar/eventRoomSidebar.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/roomSidebar/restrictedRoomSidebar.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/whiteboard/base/remoteWhiteboard.lzx
/trunk/singlewebapp/WebContent/openmeetings/plugins/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
/trunk/singlewebapp/server/red5/webapps/openmeetings/WEB-INF/red5-services/fileservice.service.xml
/trunk/singlewebapp/src/app/org/openmeetings/app/conference/whiteboard/WhiteboardManagement.java
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/ConferenceLibrary.java
=======================================
---
/trunk/singlewebapp/WebContent/WEB-INF/red5-services/fileservice.service.xml
Mon Oct 12 05:52:02 2009
+++
/trunk/singlewebapp/WebContent/WEB-INF/red5-services/fileservice.service.xml
Sat Jun 11 00:57:08 2011
@@ -9,7 +9,8 @@
<!-- Class for Methods which can be invoked by the client -->
<bean id="fileservice.service"
- class="org.openmeetings.app.remote.ConferenceLibrary"
- />
+ class="org.openmeetings.app.remote.ConferenceLibrary" >
+ <property name="clientListManager"
ref="openmeetings.ClientListManager" />
+ </bean>
</beans>
=======================================
--- /trunk/singlewebapp/WebContent/conf/hibernate.cfg.xml Fri Apr 15
04:58:38 2011
+++ /trunk/singlewebapp/WebContent/conf/hibernate.cfg.xml Sat Jun 11
00:57:08 2011
@@ -10,7 +10,7 @@
<!-- User / Password -->
<property name="connection.username">root</property>
- <property name="connection.password"></property>
+ <property name="connection.password">admin</property>
<!-- Database Settings -->
<property
name="connection.driver_class">com.mysql.jdbc.Driver</property>
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/base/hibernate/hibRtmpConnection.lzx
Tue Jun 7 03:24:12 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/base/hibernate/hibRtmpConnection.lzx
Sat Jun 11 00:57:08 2011
@@ -1081,6 +1081,16 @@
</handler>
</netRemoteCallHib>
+ <netRemoteCallHib name="loadWmlToWhiteboardById"
funcname="loadWmlToWhiteboardById">
+ <handler name="ondata" args="value">
+ <![CDATA[
+ //The onResult-Handler will be called be the rtmpconnection
+ if ($debug)
Debug.write("sendVarsToWhiteboardById : ",value);
+
canvas._drawarea.parent.parent.parent.loadWmlToWhiteboardById(value);
+ ]]>
+ </handler>
+ </netRemoteCallHib>
+
<!--
Adds this User to the List of current Moderators
-->
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/roomSidebar/conferenceRoomSidebar.lzx
Fri Apr 15 04:58:38 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/roomSidebar/conferenceRoomSidebar.lzx
Sat Jun 11 00:57:08 2011
@@ -77,8 +77,8 @@
</view>
- <fileExplorer name="_files" y="36" width="$once{ parent.width-12 }"
- height="${ parent.height-36 }" visibility="hidden" />
+ <fileExplorer name="_files" y="16" width="$once{ parent.width-12 }"
+ height="${ parent.height-16 }" visibility="hidden" />
<participents name="_videocontainer" y="36"
userNewVideoContainer="true"
width="$once{ parent.width-10 }" height="${
parent.height-36 }" />
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/roomSidebar/eventRoomSidebar.lzx
Wed Apr 20 05:32:18 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/roomSidebar/eventRoomSidebar.lzx
Sat Jun 11 00:57:08 2011
@@ -93,8 +93,8 @@
</view>
- <fileExplorer name="_files" y="36" width="$once{ parent.width-12 }"
- height="${ parent.height-36 }" visibility="hidden" />
+ <fileExplorer name="_files" y="16" width="$once{ parent.width-12 }"
+ height="${ parent.height-16 }" visibility="hidden" />
<eventUserList name="_videocontainer" y="36" listType="$once{
parent.listType }"
userNewVideoContainer="true" width="$once{
parent.width-10 }"
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/roomSidebar/restrictedRoomSidebar.lzx
Wed Apr 20 05:32:18 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/roomSidebar/restrictedRoomSidebar.lzx
Sat Jun 11 00:57:08 2011
@@ -93,8 +93,8 @@
</view>
- <fileExplorer name="_files" y="36" width="$once{ parent.width-12 }"
- height="${ parent.height-36 }" visibility="hidden" />
+ <fileExplorer name="_files" y="16" width="$once{ parent.width-12 }"
+ height="${ parent.height-16 }" visibility="hidden" />
<restrictedUserList name="_videocontainer" y="36"
userNewVideoContainer="true" width="$once{
parent.width-10 }"
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/whiteboard/base/remoteWhiteboard.lzx
Wed Jun 8 06:54:38 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/whiteboard/base/remoteWhiteboard.lzx
Sat Jun 11 00:57:08 2011
@@ -80,7 +80,7 @@
]]>
</method>
- <method name="loadSvedObjectList" args="objList">
+ <method name="loadSavedObjectList" args="objList">
<![CDATA[
var tempArray = new Array();
@@ -135,7 +135,9 @@
if ($debug) Debug.write("loadWMLFile: ",itemObj);
this.loadWMLFile.setAttribute('fileExplorerItemId',
itemObj.fileExplorerItemId);
-
+
+ if ($debug) Debug.write("prepareLoadWMLFile
1: ",parent.parent.whiteboardId);
+
this.loadWMLFile.doCall();
</method>
@@ -146,16 +148,22 @@
<netparam><method name="getValue">return
canvas.sessionId;</method></netparam>
<netparam><method name="getValue">return
hib.currentroomid;</method></netparam>
<netparam><method name="getValue">return
parent.fileExplorerItemId;</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.parent.parent.whiteboardId;</method></netparam>
<handler name="ondata" args="value">
<![CDATA[
//The onResult-Handler will be called be the rtmpconnection
if ($debug) Debug.write("loadWMLFile: ",value);
- canvas._drawarea.clearAll();
- parent.loadSvedObjectList(value);
+ //canvas._drawarea.clearAll();
+ //parent.loadSavedObjectList(value);
]]>
</handler>
</netRemoteCallHib>
+
+ <method name="loadWmlToWhiteboardById" args="roomItems">
+ this.clearRemote();
+ this.loadSavedObjectList(roomItems);
+ </method>
<netRemoteCallHib name="startNewSyncprocess"
funcname="whiteboardservice.startNewSyncprocess"
remotecontext="$once{ canvas.thishib }" >
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/plugins/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
Tue Apr 19 02:36:23 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/plugins/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
Sat Jun 11 00:57:08 2011
@@ -206,6 +206,16 @@
return;
}
}
+ </method>
+
+ <method name="loadWmlToWhiteboardById" args="obj">
+ if ($debug) Debug.write("loadWmlToWhiteboardById :: ",obj);
+ for (var eg in this.subviews) {
+ if (obj.id == this.subviews[eg].whiteboardId) {
+
this.subviews[eg]._drawareaMask._drawarea.loadWmlToWhiteboardById(obj.roomitems);
+ return;
+ }
+ }
</method>
<method name="activateWhiteboard" args="obj">
=======================================
---
/trunk/singlewebapp/server/red5/webapps/openmeetings/WEB-INF/red5-services/fileservice.service.xml
Tue Jan 5 08:27:13 2010
+++
/trunk/singlewebapp/server/red5/webapps/openmeetings/WEB-INF/red5-services/fileservice.service.xml
Sat Jun 11 00:57:08 2011
@@ -9,7 +9,7 @@
<!-- Class for Methods which can be invoked by the client -->
<bean id="fileservice.service"
- class="org.openmeetings.app.remote.ConferenceLibrary"
- />
-
+ class="org.openmeetings.app.remote.ConferenceLibrary">
+ <property name="clientListManager"
ref="openmeetings.ClientListManager" />
+ </bean>
</beans>
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/conference/whiteboard/WhiteboardManagement.java
Tue Jun 7 03:24:12 2011
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/conference/whiteboard/WhiteboardManagement.java
Sat Jun 11 00:57:08 2011
@@ -254,9 +254,13 @@
//Date dateOfEvent = (Date) whiteboardObj.get(1);
String action = whiteboardObj.get(2).toString();
- List actionObject = (List) whiteboardObj.get(3);
log.debug("action: "+action);
+ log.debug("actionObject: "+whiteboardObj.get(3));
+
+ List actionObject = (List) whiteboardObj.get(3);
+
+
if (action.equals("moveMap")){
WhiteboardObject whiteboardObject =
WhiteBoardObjectListManagerById.getInstance().getWhiteBoardObjectListByRoomIdAndWhiteboard(room_id,
whiteBoardId);
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/ConferenceLibrary.java
Wed Jun 8 06:54:38 2011
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/ConferenceLibrary.java
Sat Jun 11 00:57:08 2011
@@ -8,13 +8,19 @@
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
import org.openmeetings.app.conference.files.FileExplorerObject;
+import org.openmeetings.app.conference.whiteboard.WhiteboardManagement;
import org.openmeetings.app.data.basic.AuthLevelmanagement;
import org.openmeetings.app.data.basic.Sessionmanagement;
import org.openmeetings.app.data.basic.files.FilesObject;
@@ -38,6 +44,9 @@
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IConnection;
import org.red5.server.api.Red5;
+import org.red5.server.api.service.IPendingServiceCall;
+import org.red5.server.api.service.IPendingServiceCallback;
+import org.red5.server.api.service.IServiceCapableConnection;
import org.slf4j.Logger;
/**
@@ -45,7 +54,7 @@
* @author swagner
*
*/
-public class ConferenceLibrary {
+public class ConferenceLibrary implements IPendingServiceCallback {
private static final Logger log = Red5LoggerFactory.getLogger(
ConferenceLibrary.class,
ScopeApplicationAdapter.webAppRootKey);
@@ -729,13 +738,21 @@
return -1L;
}
- public ArrayList loadWmlObject(String SID, Long room_id, Long
fileExplorerItemId) {
+ public void loadWmlObject(String SID, Long room_id, Long
fileExplorerItemId, Long whiteboardId) {
try {
Long users_id =
Sessionmanagement.getInstance().checkSession(SID);
Long user_level =
Usermanagement.getInstance().getUserLevelByID(
users_id);
if
(AuthLevelmanagement.getInstance().checkUserLevel(user_level)) {
+
+ IConnection current = Red5.getConnectionLocal();
+ RoomClient currentClient =
this.clientListManager.getClientByStreamId(current.getClient().getId());
+
+ if (currentClient == null) {
+ return;
+ }
+
String roomName = room_id.toString();
String current_dir = ScopeApplicationAdapter.webAppPath
+ File.separatorChar + "upload" +
File.separatorChar;
@@ -743,13 +760,57 @@
FileExplorerItem fileExplorerItem =
FileExplorerItemDaoImpl.getInstance().getFileExplorerItemsById(fileExplorerItemId);
- return
LibraryWmlLoader.getInstance().loadWmlFile(current_dir,
- fileExplorerItem.getWmlFilePath());
+ ArrayList roomItems =
LibraryWmlLoader.getInstance().loadWmlFile(current_dir,
+
fileExplorerItem.getWmlFilePath());
+
+ Map whiteboardObjClear = new HashMap();
+ whiteboardObjClear.put(2, "clear");
+ whiteboardObjClear.put(3, null);
+
+ WhiteboardManagement.getInstance().addWhiteBoardObjectById(room_id,
whiteboardObjClear, whiteboardId);
+
+
+ for (int k=0;k<roomItems.size();k++) {
+
+ ArrayList actionObject = (ArrayList) roomItems.get(k);
+
+ Map whiteboardObj = new HashMap();
+ whiteboardObj.put(2, "draw");
+ whiteboardObj.put(3, actionObject);
+
+
WhiteboardManagement.getInstance().addWhiteBoardObjectById(room_id,
whiteboardObj, whiteboardId);
+
+ }
+
+
+ Map<String,Object> sendObject = new
HashMap<String,Object>();
+ sendObject.put("id", whiteboardId);
+ sendObject.put("roomitems", roomItems);
+
+ //Notify all Clients of that Scope (Room)
+ Collection<Set<IConnection>> conCollection =
current.getScope().getConnections();
+ for (Set<IConnection> conset : conCollection) {
+ for (IConnection conn : conset) {
+ if (conn != null) {
+ if (conn instanceof
IServiceCapableConnection) {
+ RoomClient rcl =
this.clientListManager.getClientByStreamId(conn.getClient().getId());
+ if ((rcl == null) || (rcl.getIsScreenClient() != null &&
rcl.getIsScreenClient())) {
+ continue;
+ } else {
+
//log.debug("*..*idremote: " + rcl.getStreamid());
+ //log.debug("*..* sendVars room_id IS EQUAL: " +
currentClient.getStreamid() + " asd " + rcl.getStreamid() + " IS eq? "
+currentClient.getStreamid().equals(rcl.getStreamid()));
+ ((IServiceCapableConnection)
conn).invoke("loadWmlToWhiteboardById", new Object[] { sendObject },this);
+ //log.debug("sending sendVarsToWhiteboard to " + conn + "
rcl " + rcl);
+ }
+ }
+ }
+ }
+ }
+
}
} catch (Exception err) {
log.error("[loadWmlObject] ", err);
}
- return null;
}
public ArrayList loadChartObject(String SID, Long room_id, String
fileName) {
@@ -1091,5 +1152,10 @@
log.error("[copyfile]", e);
}
}
+
+ public void resultReceived(IPendingServiceCall arg0) {
+ // TODO Auto-generated method stub
+
+ }
}
--
You received this message because you are subscribed to the Google Groups
"OpenMeetings developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/openmeetings-dev?hl=en.