Author: solomax
Date: Thu Jul 21 05:08:13 2016
New Revision: 1753640
URL: http://svn.apache.org/viewvc?rev=1753640&view=rev
Log:
[OPENMEETINGS-1030] more work of files section: wml drop
Modified:
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/remoteWhiteboard.lzx
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.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/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java
Modified:
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java
Thu Jul 21 05:08:13 2016
@@ -35,7 +35,7 @@ import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.XppDriver;
public class LibraryChartLoader {
- private static final Logger log =
Red5LoggerFactory.getLogger(LibraryWmlLoader.class, webAppRootKey);
+ private static final Logger log =
Red5LoggerFactory.getLogger(LibraryChartLoader.class, webAppRootKey);
private static final String fileExt = ".xchart";
Modified:
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java
Thu Jul 21 05:08:13 2016
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.core.documents;
+import static org.apache.openmeetings.util.OmFileHelper.WML_EXTENSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
@@ -38,13 +39,11 @@ import com.thoughtworks.xstream.io.xml.X
public class LibraryDocumentConverter {
private static final Logger log =
Red5LoggerFactory.getLogger(LibraryDocumentConverter.class, webAppRootKey);
- private static final String fileExt = ".wml";
-
public static String writeToLocalFolder(String fileName,
@SuppressWarnings("rawtypes")ArrayList objList) {
try {
log.debug("filePath: " +
OmFileHelper.getUploadWmlDir().getCanonicalPath());
- File file = new File(OmFileHelper.getUploadWmlDir(),
fileName + fileExt);
+ File file = new File(OmFileHelper.getUploadWmlDir(),
fileName + WML_EXTENSION);
if (file.exists()){
return "-20";
Modified:
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
Thu Jul 21 05:08:13 2016
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.core.documents;
+import static org.apache.openmeetings.util.OmFileHelper.WML_EXTENSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.BufferedReader;
@@ -27,11 +28,9 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
+import java.util.List;
import org.apache.openmeetings.util.OmFileHelper;
-import org.dom4j.Element;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -40,14 +39,12 @@ import com.thoughtworks.xstream.io.xml.X
public class LibraryWmlLoader {
private static final Logger log =
Red5LoggerFactory.getLogger(LibraryWmlLoader.class, webAppRootKey);
- private static final String fileExt = ".wml";
- @SuppressWarnings({ "rawtypes" })
- public ArrayList loadWmlFile(String fileName){
+ public static List<?> loadWmlFile(String fileName){
try {
String name = fileName;
- if (!name.endsWith(fileExt)) {
- name += fileExt;
+ if (!name.endsWith(WML_EXTENSION)) {
+ name += WML_EXTENSION;
}
File file = new File(OmFileHelper.getUploadWmlDir(),
name);
log.debug("filepathComplete: " + file);
@@ -58,7 +55,7 @@ public class LibraryWmlLoader {
try (InputStream is = new FileInputStream(file);
BufferedReader reader = new
BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)))
{
- ArrayList lMapList = (ArrayList)
xStream.fromXML(reader);
+ List<?> lMapList = (List<?>)
xStream.fromXML(reader);
return lMapList;
}
@@ -66,185 +63,6 @@ public class LibraryWmlLoader {
log.error("loadWmlFile",err);
}
- return null;
+ return new ArrayList<>();
}
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- @SuppressWarnings({ "unused", "rawtypes" })
- private static void createListObjectPaintByNode(Element paintElement,
LinkedHashMap<Integer,Object> subMap){
- try {
-
- LinkedHashMap<Integer,LinkedHashMap> pointMap = new
LinkedHashMap<Integer,LinkedHashMap>();
- Element pointElements = paintElement.element("points");
- Integer k = 0;
-
- for ( Iterator i = pointElements.elementIterator(
"point" ); i.hasNext(); ) {
- Element pointElement = (Element) i.next();
- LinkedHashMap<Integer,Object> singlePoint = new
LinkedHashMap<Integer,Object>();
- singlePoint.put(0, pointElement.getName());
- singlePoint.put(1,
Integer.valueOf(pointElement.attribute("val1").getText()));
- singlePoint.put(2,
Integer.valueOf(pointElement.attribute("val2").getText()));
- singlePoint.put(3,
Integer.valueOf(pointElement.attribute("val3").getText()));
- singlePoint.put(4,
Integer.valueOf(pointElement.attribute("val4").getText()));
- pointMap.put(k, singlePoint);
-
log.debug("createListObjectPaintByNode"+singlePoint);
- k++;
- }
- subMap.put(1, pointMap);
-
- subMap.put(2,
paintElement.element("fillstyle").getText());
- subMap.put(3,
Integer.valueOf(paintElement.element("linewidth").getText()));
- subMap.put(4,
Integer.valueOf(paintElement.element("strokestyle").getText()));
- subMap.put(5,
Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(6,
Float.valueOf(paintElement.element("x").getText()));
- subMap.put(7,
Float.valueOf(paintElement.element("y").getText()));
- subMap.put(8,
Float.valueOf(paintElement.element("width").getText()));
- subMap.put(9,
Float.valueOf(paintElement.element("height").getText()));
- subMap.put(10,
paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectPaintByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectLetterByNode(Element paintElement,
LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1,
paintElement.element("textforfield").getText());
- subMap.put(2,
Integer.valueOf(paintElement.element("fgcolor").getText()));
- subMap.put(3,
Integer.valueOf(paintElement.element("fontsize").getText()));
- subMap.put(4,
paintElement.element("fontstyle").getText());
- subMap.put(5,
Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(6,
Float.valueOf(paintElement.element("x").getText()));
- subMap.put(7,
Float.valueOf(paintElement.element("y").getText()));
- subMap.put(8,
Float.valueOf(paintElement.element("width").getText()));
- subMap.put(9,
Float.valueOf(paintElement.element("height").getText()));
- subMap.put(10,
paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectLetterByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectImageByNode(Element paintElement,
LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1,
paintElement.element("urlname").getText());
- subMap.put(2,
paintElement.element("baseurl").getText());
- subMap.put(3,
paintElement.element("filename").getText());
- subMap.put(4,
paintElement.element("modulename").getText());
- subMap.put(5,
paintElement.element("parentpath").getText());
- subMap.put(6, paintElement.element("room").getText());
- subMap.put(7, paintElement.element("domain").getText());
- subMap.put(8,
Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(9,
Float.valueOf(paintElement.element("x").getText()));
- subMap.put(10,
Float.valueOf(paintElement.element("y").getText()));
- subMap.put(11,
Float.valueOf(paintElement.element("width").getText()));
- subMap.put(12,
Float.valueOf(paintElement.element("height").getText()));
- subMap.put(13,
paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectImageByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectObjecByNode(Element paintElement,
LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1,
paintElement.element("fillstyle").getText());
- subMap.put(2,
paintElement.element("linewidth").getText());
- subMap.put(3,
Integer.valueOf(paintElement.element("strokestyle").getText()));
- subMap.put(4,
Float.valueOf(paintElement.element("startx").getText()));
- subMap.put(5,
Float.valueOf(paintElement.element("starty").getText()));
- subMap.put(6,
Float.valueOf(paintElement.element("endx").getText()));
- subMap.put(7,
Float.valueOf(paintElement.element("endy").getText()));
- subMap.put(8,
Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(9,
Float.valueOf(paintElement.element("x").getText()));
- subMap.put(10,
Float.valueOf(paintElement.element("y").getText()));
- subMap.put(11,
Float.valueOf(paintElement.element("width").getText()));
- subMap.put(12,
Float.valueOf(paintElement.element("height").getText()));
- subMap.put(13,
paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectObjecByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectRectAndEllipseByNode(Element paintElement,
LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1,
Integer.valueOf(paintElement.element("stroke").getText()));
- subMap.put(2, paintElement.element("line").getText());
- subMap.put(3,
Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(4,
Float.valueOf(paintElement.element("x").getText()));
- subMap.put(5,
Float.valueOf(paintElement.element("y").getText()));
- subMap.put(6,
Float.valueOf(paintElement.element("width").getText()));
- subMap.put(7,
Float.valueOf(paintElement.element("height").getText()));
- subMap.put(8,
paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectObjecByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectSWFByNode(Element paintElement,
LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1,
paintElement.element("urlname").getText());
- subMap.put(2,
paintElement.element("baseurl").getText());
- subMap.put(3,
paintElement.element("filename").getText());
- subMap.put(4,
paintElement.element("modulename").getText());
- subMap.put(5,
paintElement.element("parentpath").getText());
- subMap.put(6, paintElement.element("room").getText());
- subMap.put(7, paintElement.element("domain").getText());
- subMap.put(8,
Integer.valueOf(paintElement.element("slideNumber").getText()));
- subMap.put(9,
Float.valueOf(paintElement.element("innerx").getText()));
- subMap.put(10,
Float.valueOf(paintElement.element("innery").getText()));
- subMap.put(11,
Float.valueOf(paintElement.element("innerwidth").getText()));
- subMap.put(12,
Float.valueOf(paintElement.element("innerheight").getText()));
- subMap.put(13,
Integer.valueOf(paintElement.element("zoomlevel").getText()));
- subMap.put(14,
Float.valueOf(paintElement.element("initwidth").getText()));
- subMap.put(15,
Float.valueOf(paintElement.element("initheight").getText()));
- subMap.put(16,
Integer.valueOf(paintElement.element("currentzoom").getText()));
- subMap.put(17,
Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(18,
Float.valueOf(paintElement.element("x").getText()));
- subMap.put(19,
Float.valueOf(paintElement.element("y").getText()));
- subMap.put(20,
Float.valueOf(paintElement.element("width").getText()));
- subMap.put(21,
Float.valueOf(paintElement.element("height").getText()));
- subMap.put(22,
paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectImageByNode",err);
- }
- }
-
}
Modified:
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
Thu Jul 21 05:08:13 2016
@@ -24,6 +24,7 @@ import static org.apache.openmeetings.ut
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.apache.commons.transaction.util.FileHelper;
@@ -32,12 +33,14 @@ import org.apache.openmeetings.core.docu
import org.apache.openmeetings.core.documents.LibraryDocumentConverter;
import org.apache.openmeetings.core.documents.LibraryWmlLoader;
import org.apache.openmeetings.core.documents.LoadLibraryPresentation;
+import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dto.file.LibraryPresentation;
import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+import org.apache.openmeetings.db.entity.file.FileItem;
import org.apache.openmeetings.db.entity.file.FileItem.Type;
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.util.AuthLevelUtil;
@@ -47,7 +50,6 @@ 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;
import org.springframework.beans.factory.annotation.Autowired;
@@ -68,9 +70,9 @@ public class ConferenceLibrary implement
@Autowired
private FileExplorerItemDao fileDao;
@Autowired
- private LibraryWmlLoader libraryWmlLoader;
- @Autowired
private WhiteboardManager whiteboardManagement;
+ @Autowired
+ private ScopeApplicationAdapter scopeAdapter;
public LibraryPresentation getPresentationPreviewFileExplorer(String
SID, String parentFolder) {
try {
@@ -134,73 +136,45 @@ public class ConferenceLibrary implement
}
/**
- *
* Loads a Object from the library into the whiteboard of all
participant of
* the current room
*
- * @param SID
- * @param room_id
- * @param fileId
- * @param whiteboardId
+ * @param uid - uid of the client performing operation
+ * @param wbId - id of whiteboard
+ * @param fi - FileItem of the Wml being loaded
*/
- @SuppressWarnings({ "rawtypes", "unchecked" })
- public void loadWmlObject(String SID, Long room_id, Long fileId, Long
whiteboardId) {
- try {
- Long users_id = sessiondataDao.check(SID);
-
- if
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
- IConnection current = Red5.getConnectionLocal();
- Client currentClient =
sessionManager.getClientByStreamId(current.getClient().getId(), null);
+ public void sendToWhiteboard(String uid, Long wbId, FileItem fi) {
+ Client client =
sessionManager.getClientByPublicSIDAnyServer(uid).getRcl();
- if (currentClient == null) {
- return;
- }
+ if (client == null) {
+ log.warn("No client was found to send Wml:: {}", uid);
+ return;
+ }
- FileExplorerItem fileExplorerItem =
fileDao.get(fileId);
- if (fileExplorerItem == null) {
- log.warn("[loadWmlObject] Unable to
load Wml file by Id {}", fileId);
- return;
- }
+ List<?> roomItems = LibraryWmlLoader.loadWmlFile(fi.getHash());
- ArrayList roomItems =
libraryWmlLoader.loadWmlFile(fileExplorerItem.getHash());
+ Map<Integer, String> wbClear = new HashMap<>();
+ wbClear.put(2, "clear");
+ wbClear.put(3, null);
- Map whiteboardObjClear = new HashMap();
- whiteboardObjClear.put(2, "clear");
- whiteboardObjClear.put(3, null);
+ Long roomId = client.getRoomId();
+ whiteboardManagement.addWhiteBoardObjectById(roomId, wbClear,
wbId);
-
whiteboardManagement.addWhiteBoardObjectById(room_id, whiteboardObjClear,
whiteboardId);
+ for (int k = 0; k < roomItems.size(); k++) {
+ List<?> actionObject = (List<?>)roomItems.get(k);
- for (int k = 0; k < roomItems.size(); k++) {
- ArrayList actionObject =
(ArrayList)roomItems.get(k);
+ Map<Integer, Object> whiteboardObj = new HashMap<>();
+ whiteboardObj.put(2, "draw");
+ whiteboardObj.put(3, actionObject);
- Map whiteboardObj = new HashMap();
- whiteboardObj.put(2, "draw");
- whiteboardObj.put(3, actionObject);
+ whiteboardManagement.addWhiteBoardObjectById(roomId,
whiteboardObj, wbId);
+ }
-
whiteboardManagement.addWhiteBoardObjectById(room_id, whiteboardObj,
whiteboardId);
- }
+ Map<String, Object> sendObject = new HashMap<String, Object>();
+ sendObject.put("id", wbId);
+ sendObject.put("roomitems", roomItems);
- Map<String, Object> sendObject = new
HashMap<String, Object>();
- sendObject.put("id", whiteboardId);
- sendObject.put("roomitems", roomItems);
-
- // Notify all Clients of that Scope (Room)
- for (IConnection conn :
current.getScope().getClientConnections()) {
- if (conn != null) {
- if (conn instanceof
IServiceCapableConnection) {
- Client rcl =
sessionManager.getClientByStreamId(conn.getClient().getId(), null);
- if ((rcl == null) ||
rcl.isScreenClient()) {
- continue;
- } else {
-
((IServiceCapableConnection) conn).invoke("loadWmlToWhiteboardById", new
Object[] { sendObject }, this);
- }
- }
- }
- }
- }
- } catch (Exception err) {
- log.error("[loadWmlObject] ", err);
- }
+ scopeAdapter.sendToScope(roomId, "loadWmlToWhiteboardById",
sendObject);
}
/**
Modified:
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
Thu Jul 21 05:08:13 2016
@@ -1471,7 +1471,7 @@ public class ScopeApplicationAdapter ext
boolean showDrawStatus = getWhiteboardDrawStatus();
- sendToScope(roomId, "sendVarsToWhiteboardById", new
Object[]{showDrawStatus ? client : null, sendObject});
+ sendToScope(roomId, "sendVarsToWhiteboardById", new
Object[] { showDrawStatus ? client : null, sendObject });
} catch (Exception err) {
log.error("[sendToWhiteboard]", err);
return -1;
Modified:
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/remoteWhiteboard.lzx
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/remoteWhiteboard.lzx?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/remoteWhiteboard.lzx
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/remoteWhiteboard.lzx
Thu Jul 21 05:08:13 2016
@@ -126,20 +126,6 @@
</method>
- <netRemoteCallHib name="loadWMLFile"
funcname="fileservice.loadWmlObject" remotecontext="$once{ canvas.thishib }" >
- <attribute name="fileId" type="number" value="0"/>
- <netparam><method name="getValue">return
canvas.sessionId;</method></netparam>
- <netparam><method name="getValue">return
hib.currentroomid;</method></netparam>
- <netparam><method name="getValue">return
parent.fileId;</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);
- ]]>
- </handler>
- </netRemoteCallHib>
-
<method name="loadWmlToWhiteboardById" args="roomItems">
this.clearRemote();
this.loadSavedObjectList(roomItems);
Modified:
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
Thu Jul 21 05:08:13 2016
@@ -70,6 +70,7 @@ public class OmFileHelper {
public static final String profileImagePrefix = "_profile_";
public static final String thumbImagePrefix = "_thumb_";
public static final String dashboardFile = "dashboard.xml";
+ public static final String WML_EXTENSION = ".wml";
public static final String FLV_EXTENSION = ".flv";
public static final String MP4_EXTENSION = ".mp4";
public static final String OGG_EXTENSION = ".ogg";
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=1753640&r1=1753639&r2=1753640&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 Jul 21 05:08:13 2016
@@ -31,6 +31,7 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.util.Calendar;
+import org.apache.openmeetings.core.remote.ConferenceLibrary;
import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
@@ -170,9 +171,12 @@ public class RoomPanel extends BasePanel
Object o = component.getDefaultModelObject();
if (activeWbId > -1 && o instanceof FileItem) {
FileItem fi = (FileItem)o;
- String url = urlFor(new
RoomResourceReference(), new PageParameters().add("id", fi.getId())).toString();
- getBean(ScopeApplicationAdapter.class)
-
.sendToWhiteboard(getClient().getUid(), activeWbId, fi, url);
+ if (fi.getType() ==
FileItem.Type.WmlFile) {
+
getBean(ConferenceLibrary.class).sendToWhiteboard(getClient().getUid(),
activeWbId, fi);
+ } else {
+ String url = urlFor(new
RoomResourceReference(), new PageParameters().add("id", fi.getId())).toString();
+
getBean(ScopeApplicationAdapter.class).sendToWhiteboard(getClient().getUid(),
activeWbId, fi, url);
+ }
}
}
};
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
Thu Jul 21 05:08:13 2016
@@ -241,7 +241,6 @@
<bean id="generatePDF"
class="org.apache.openmeetings.core.documents.GeneratePDF" />
<bean id="smsHandler"
class="org.apache.openmeetings.core.mail.SMSHandler" />
<bean id="importInitvalues"
class="org.apache.openmeetings.installation.ImportInitvalues" />
- <bean id="libraryWmlLoader"
class="org.apache.openmeetings.core.documents.LibraryWmlLoader" />
<bean id="generateSWF"
class="org.apache.openmeetings.core.converter.GenerateSWF" />
<bean id="fileUtils"
class="org.apache.openmeetings.core.data.file.FileUtils" />
<bean id="ldapLoginManagement"
class="org.apache.openmeetings.core.ldap.LdapLoginManagement" />
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java
Thu Jul 21 05:08:13 2016
@@ -25,20 +25,16 @@ import org.apache.openmeetings.test.Abst
import org.junit.Test;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
public class TestFileParser extends AbstractJUnitDefaults {
private static final Logger log =
Red5LoggerFactory.getLogger(TestFileParser.class, webAppRootKey);
- @Autowired
- private LibraryWmlLoader libraryWmlLoader;
-
@Test
public void testLoadWmlFile(){
try {
- libraryWmlLoader.loadWmlFile("filename1");
+ LibraryWmlLoader.loadWmlFile("filename1");
} catch (Exception err) {
Modified:
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java
(original)
+++
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java
Thu Jul 21 05:08:13 2016
@@ -35,7 +35,7 @@ import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.XppDriver;
public class LibraryChartLoader {
- private static final Logger log =
Red5LoggerFactory.getLogger(LibraryWmlLoader.class, webAppRootKey);
+ private static final Logger log =
Red5LoggerFactory.getLogger(LibraryChartLoader.class, webAppRootKey);
private static final String fileExt = ".xchart";
Modified:
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java
(original)
+++
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryDocumentConverter.java
Thu Jul 21 05:08:13 2016
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.core.documents;
+import static org.apache.openmeetings.util.OmFileHelper.WML_EXTENSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
@@ -38,13 +39,11 @@ import com.thoughtworks.xstream.io.xml.X
public class LibraryDocumentConverter {
private static final Logger log =
Red5LoggerFactory.getLogger(LibraryDocumentConverter.class, webAppRootKey);
- private static final String fileExt = ".wml";
-
public static String writeToLocalFolder(String fileName,
@SuppressWarnings("rawtypes")ArrayList objList) {
try {
log.debug("filePath: " +
OmFileHelper.getUploadWmlDir().getCanonicalPath());
- File file = new File(OmFileHelper.getUploadWmlDir(),
fileName + fileExt);
+ File file = new File(OmFileHelper.getUploadWmlDir(),
fileName + WML_EXTENSION);
if (file.exists()){
return "-20";
Modified:
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
(original)
+++
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
Thu Jul 21 05:08:13 2016
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.core.documents;
+import static org.apache.openmeetings.util.OmFileHelper.WML_EXTENSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.BufferedReader;
@@ -27,11 +28,9 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
+import java.util.List;
import org.apache.openmeetings.util.OmFileHelper;
-import org.dom4j.Element;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -40,14 +39,12 @@ import com.thoughtworks.xstream.io.xml.X
public class LibraryWmlLoader {
private static final Logger log =
Red5LoggerFactory.getLogger(LibraryWmlLoader.class, webAppRootKey);
- private static final String fileExt = ".wml";
- @SuppressWarnings({ "rawtypes" })
- public ArrayList loadWmlFile(String fileName){
+ public static List<?> loadWmlFile(String fileName){
try {
String name = fileName;
- if (!name.endsWith(fileExt)) {
- name += fileExt;
+ if (!name.endsWith(WML_EXTENSION)) {
+ name += WML_EXTENSION;
}
File file = new File(OmFileHelper.getUploadWmlDir(),
name);
log.debug("filepathComplete: " + file);
@@ -58,7 +55,7 @@ public class LibraryWmlLoader {
try (InputStream is = new FileInputStream(file);
BufferedReader reader = new
BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)))
{
- ArrayList lMapList = (ArrayList)
xStream.fromXML(reader);
+ List<?> lMapList = (List<?>)
xStream.fromXML(reader);
return lMapList;
}
@@ -66,185 +63,6 @@ public class LibraryWmlLoader {
log.error("loadWmlFile",err);
}
- return null;
+ return new ArrayList<>();
}
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- @SuppressWarnings({ "unused", "rawtypes" })
- private static void createListObjectPaintByNode(Element paintElement,
LinkedHashMap<Integer,Object> subMap){
- try {
-
- LinkedHashMap<Integer,LinkedHashMap> pointMap = new
LinkedHashMap<Integer,LinkedHashMap>();
- Element pointElements = paintElement.element("points");
- Integer k = 0;
-
- for ( Iterator i = pointElements.elementIterator(
"point" ); i.hasNext(); ) {
- Element pointElement = (Element) i.next();
- LinkedHashMap<Integer,Object> singlePoint = new
LinkedHashMap<Integer,Object>();
- singlePoint.put(0, pointElement.getName());
- singlePoint.put(1,
Integer.valueOf(pointElement.attribute("val1").getText()));
- singlePoint.put(2,
Integer.valueOf(pointElement.attribute("val2").getText()));
- singlePoint.put(3,
Integer.valueOf(pointElement.attribute("val3").getText()));
- singlePoint.put(4,
Integer.valueOf(pointElement.attribute("val4").getText()));
- pointMap.put(k, singlePoint);
-
log.debug("createListObjectPaintByNode"+singlePoint);
- k++;
- }
- subMap.put(1, pointMap);
-
- subMap.put(2,
paintElement.element("fillstyle").getText());
- subMap.put(3,
Integer.valueOf(paintElement.element("linewidth").getText()));
- subMap.put(4,
Integer.valueOf(paintElement.element("strokestyle").getText()));
- subMap.put(5,
Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(6,
Float.valueOf(paintElement.element("x").getText()));
- subMap.put(7,
Float.valueOf(paintElement.element("y").getText()));
- subMap.put(8,
Float.valueOf(paintElement.element("width").getText()));
- subMap.put(9,
Float.valueOf(paintElement.element("height").getText()));
- subMap.put(10,
paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectPaintByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectLetterByNode(Element paintElement,
LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1,
paintElement.element("textforfield").getText());
- subMap.put(2,
Integer.valueOf(paintElement.element("fgcolor").getText()));
- subMap.put(3,
Integer.valueOf(paintElement.element("fontsize").getText()));
- subMap.put(4,
paintElement.element("fontstyle").getText());
- subMap.put(5,
Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(6,
Float.valueOf(paintElement.element("x").getText()));
- subMap.put(7,
Float.valueOf(paintElement.element("y").getText()));
- subMap.put(8,
Float.valueOf(paintElement.element("width").getText()));
- subMap.put(9,
Float.valueOf(paintElement.element("height").getText()));
- subMap.put(10,
paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectLetterByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectImageByNode(Element paintElement,
LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1,
paintElement.element("urlname").getText());
- subMap.put(2,
paintElement.element("baseurl").getText());
- subMap.put(3,
paintElement.element("filename").getText());
- subMap.put(4,
paintElement.element("modulename").getText());
- subMap.put(5,
paintElement.element("parentpath").getText());
- subMap.put(6, paintElement.element("room").getText());
- subMap.put(7, paintElement.element("domain").getText());
- subMap.put(8,
Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(9,
Float.valueOf(paintElement.element("x").getText()));
- subMap.put(10,
Float.valueOf(paintElement.element("y").getText()));
- subMap.put(11,
Float.valueOf(paintElement.element("width").getText()));
- subMap.put(12,
Float.valueOf(paintElement.element("height").getText()));
- subMap.put(13,
paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectImageByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectObjecByNode(Element paintElement,
LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1,
paintElement.element("fillstyle").getText());
- subMap.put(2,
paintElement.element("linewidth").getText());
- subMap.put(3,
Integer.valueOf(paintElement.element("strokestyle").getText()));
- subMap.put(4,
Float.valueOf(paintElement.element("startx").getText()));
- subMap.put(5,
Float.valueOf(paintElement.element("starty").getText()));
- subMap.put(6,
Float.valueOf(paintElement.element("endx").getText()));
- subMap.put(7,
Float.valueOf(paintElement.element("endy").getText()));
- subMap.put(8,
Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(9,
Float.valueOf(paintElement.element("x").getText()));
- subMap.put(10,
Float.valueOf(paintElement.element("y").getText()));
- subMap.put(11,
Float.valueOf(paintElement.element("width").getText()));
- subMap.put(12,
Float.valueOf(paintElement.element("height").getText()));
- subMap.put(13,
paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectObjecByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectRectAndEllipseByNode(Element paintElement,
LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1,
Integer.valueOf(paintElement.element("stroke").getText()));
- subMap.put(2, paintElement.element("line").getText());
- subMap.put(3,
Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(4,
Float.valueOf(paintElement.element("x").getText()));
- subMap.put(5,
Float.valueOf(paintElement.element("y").getText()));
- subMap.put(6,
Float.valueOf(paintElement.element("width").getText()));
- subMap.put(7,
Float.valueOf(paintElement.element("height").getText()));
- subMap.put(8,
paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectObjecByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectSWFByNode(Element paintElement,
LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1,
paintElement.element("urlname").getText());
- subMap.put(2,
paintElement.element("baseurl").getText());
- subMap.put(3,
paintElement.element("filename").getText());
- subMap.put(4,
paintElement.element("modulename").getText());
- subMap.put(5,
paintElement.element("parentpath").getText());
- subMap.put(6, paintElement.element("room").getText());
- subMap.put(7, paintElement.element("domain").getText());
- subMap.put(8,
Integer.valueOf(paintElement.element("slideNumber").getText()));
- subMap.put(9,
Float.valueOf(paintElement.element("innerx").getText()));
- subMap.put(10,
Float.valueOf(paintElement.element("innery").getText()));
- subMap.put(11,
Float.valueOf(paintElement.element("innerwidth").getText()));
- subMap.put(12,
Float.valueOf(paintElement.element("innerheight").getText()));
- subMap.put(13,
Integer.valueOf(paintElement.element("zoomlevel").getText()));
- subMap.put(14,
Float.valueOf(paintElement.element("initwidth").getText()));
- subMap.put(15,
Float.valueOf(paintElement.element("initheight").getText()));
- subMap.put(16,
Integer.valueOf(paintElement.element("currentzoom").getText()));
- subMap.put(17,
Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(18,
Float.valueOf(paintElement.element("x").getText()));
- subMap.put(19,
Float.valueOf(paintElement.element("y").getText()));
- subMap.put(20,
Float.valueOf(paintElement.element("width").getText()));
- subMap.put(21,
Float.valueOf(paintElement.element("height").getText()));
- subMap.put(22,
paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectImageByNode",err);
- }
- }
-
}
Modified:
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
(original)
+++
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
Thu Jul 21 05:08:13 2016
@@ -24,6 +24,7 @@ import static org.apache.openmeetings.ut
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.apache.commons.transaction.util.FileHelper;
@@ -32,12 +33,14 @@ import org.apache.openmeetings.core.docu
import org.apache.openmeetings.core.documents.LibraryDocumentConverter;
import org.apache.openmeetings.core.documents.LibraryWmlLoader;
import org.apache.openmeetings.core.documents.LoadLibraryPresentation;
+import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dto.file.LibraryPresentation;
import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+import org.apache.openmeetings.db.entity.file.FileItem;
import org.apache.openmeetings.db.entity.file.FileItem.Type;
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.util.AuthLevelUtil;
@@ -47,7 +50,6 @@ 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;
import org.springframework.beans.factory.annotation.Autowired;
@@ -68,9 +70,9 @@ public class ConferenceLibrary implement
@Autowired
private FileExplorerItemDao fileDao;
@Autowired
- private LibraryWmlLoader libraryWmlLoader;
- @Autowired
private WhiteboardManager whiteboardManagement;
+ @Autowired
+ private ScopeApplicationAdapter scopeAdapter;
public LibraryPresentation getPresentationPreviewFileExplorer(String
SID, String parentFolder) {
try {
@@ -134,73 +136,45 @@ public class ConferenceLibrary implement
}
/**
- *
* Loads a Object from the library into the whiteboard of all
participant of
* the current room
*
- * @param SID
- * @param room_id
- * @param fileId
- * @param whiteboardId
+ * @param uid - uid of the client performing operation
+ * @param wbId - id of whiteboard
+ * @param fi - FileItem of the Wml being loaded
*/
- @SuppressWarnings({ "rawtypes", "unchecked" })
- public void loadWmlObject(String SID, Long room_id, Long fileId, Long
whiteboardId) {
- try {
- Long users_id = sessiondataDao.check(SID);
-
- if
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
- IConnection current = Red5.getConnectionLocal();
- Client currentClient =
sessionManager.getClientByStreamId(current.getClient().getId(), null);
+ public void sendToWhiteboard(String uid, Long wbId, FileItem fi) {
+ Client client =
sessionManager.getClientByPublicSIDAnyServer(uid).getRcl();
- if (currentClient == null) {
- return;
- }
+ if (client == null) {
+ log.warn("No client was found to send Wml:: {}", uid);
+ return;
+ }
- FileExplorerItem fileExplorerItem =
fileDao.get(fileId);
- if (fileExplorerItem == null) {
- log.warn("[loadWmlObject] Unable to
load Wml file by Id {}", fileId);
- return;
- }
+ List<?> roomItems = LibraryWmlLoader.loadWmlFile(fi.getHash());
- ArrayList roomItems =
libraryWmlLoader.loadWmlFile(fileExplorerItem.getHash());
+ Map<Integer, String> wbClear = new HashMap<>();
+ wbClear.put(2, "clear");
+ wbClear.put(3, null);
- Map whiteboardObjClear = new HashMap();
- whiteboardObjClear.put(2, "clear");
- whiteboardObjClear.put(3, null);
+ Long roomId = client.getRoomId();
+ whiteboardManagement.addWhiteBoardObjectById(roomId, wbClear,
wbId);
-
whiteboardManagement.addWhiteBoardObjectById(room_id, whiteboardObjClear,
whiteboardId);
+ for (int k = 0; k < roomItems.size(); k++) {
+ List<?> actionObject = (List<?>)roomItems.get(k);
- for (int k = 0; k < roomItems.size(); k++) {
- ArrayList actionObject =
(ArrayList)roomItems.get(k);
+ Map<Integer, Object> whiteboardObj = new HashMap<>();
+ whiteboardObj.put(2, "draw");
+ whiteboardObj.put(3, actionObject);
- Map whiteboardObj = new HashMap();
- whiteboardObj.put(2, "draw");
- whiteboardObj.put(3, actionObject);
+ whiteboardManagement.addWhiteBoardObjectById(roomId,
whiteboardObj, wbId);
+ }
-
whiteboardManagement.addWhiteBoardObjectById(room_id, whiteboardObj,
whiteboardId);
- }
+ Map<String, Object> sendObject = new HashMap<String, Object>();
+ sendObject.put("id", wbId);
+ sendObject.put("roomitems", roomItems);
- Map<String, Object> sendObject = new
HashMap<String, Object>();
- sendObject.put("id", whiteboardId);
- sendObject.put("roomitems", roomItems);
-
- // Notify all Clients of that Scope (Room)
- for (IConnection conn :
current.getScope().getClientConnections()) {
- if (conn != null) {
- if (conn instanceof
IServiceCapableConnection) {
- Client rcl =
sessionManager.getClientByStreamId(conn.getClient().getId(), null);
- if ((rcl == null) ||
rcl.isScreenClient()) {
- continue;
- } else {
-
((IServiceCapableConnection) conn).invoke("loadWmlToWhiteboardById", new
Object[] { sendObject }, this);
- }
- }
- }
- }
- }
- } catch (Exception err) {
- log.error("[loadWmlObject] ", err);
- }
+ scopeAdapter.sendToScope(roomId, "loadWmlToWhiteboardById",
sendObject);
}
/**
Modified:
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
(original)
+++
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
Thu Jul 21 05:08:13 2016
@@ -1471,7 +1471,7 @@ public class ScopeApplicationAdapter ext
boolean showDrawStatus = getWhiteboardDrawStatus();
- sendToScope(roomId, "sendVarsToWhiteboardById", new
Object[]{showDrawStatus ? client : null, sendObject});
+ sendToScope(roomId, "sendVarsToWhiteboardById", new
Object[] { showDrawStatus ? client : null, sendObject });
} catch (Exception err) {
log.error("[sendToWhiteboard]", err);
return -1;
Modified:
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
(original)
+++
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
Thu Jul 21 05:08:13 2016
@@ -70,6 +70,7 @@ public class OmFileHelper {
public static final String profileImagePrefix = "_profile_";
public static final String thumbImagePrefix = "_thumb_";
public static final String dashboardFile = "dashboard.xml";
+ public static final String WML_EXTENSION = ".wml";
public static final String FLV_EXTENSION = ".flv";
public static final String MP4_EXTENSION = ".mp4";
public static final String OGG_EXTENSION = ".ogg";
Modified:
openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
Thu Jul 21 05:08:13 2016
@@ -239,7 +239,6 @@
<bean id="generatePDF"
class="org.apache.openmeetings.core.documents.GeneratePDF" />
<bean id="smsHandler"
class="org.apache.openmeetings.core.mail.SMSHandler" />
<bean id="importInitvalues"
class="org.apache.openmeetings.installation.ImportInitvalues" />
- <bean id="libraryWmlLoader"
class="org.apache.openmeetings.core.documents.LibraryWmlLoader" />
<bean id="generateSWF"
class="org.apache.openmeetings.core.converter.GenerateSWF" />
<bean id="fileUtils"
class="org.apache.openmeetings.core.data.file.FileUtils" />
<bean id="ldapLoginManagement"
class="org.apache.openmeetings.core.ldap.LdapLoginManagement" />
Modified:
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java?rev=1753640&r1=1753639&r2=1753640&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java
Thu Jul 21 05:08:13 2016
@@ -25,20 +25,16 @@ import org.apache.openmeetings.test.Abst
import org.junit.Test;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
public class TestFileParser extends AbstractJUnitDefaults {
private static final Logger log =
Red5LoggerFactory.getLogger(TestFileParser.class, webAppRootKey);
- @Autowired
- private LibraryWmlLoader libraryWmlLoader;
-
@Test
public void testLoadWmlFile(){
try {
- libraryWmlLoader.loadWmlFile("filename1");
+ LibraryWmlLoader.loadWmlFile("filename1");
} catch (Exception err) {