You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2016/10/02 04:00:54 UTC

svn commit: r1763038 - in /openmeetings/application: branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/ branches/3.1.x/openmeetings-flash/src/main/swf/base/ branches/3.1.x/openmeetings-flash/src/main/swf/...

Author: solomax
Date: Sun Oct  2 04:00:54 2016
New Revision: 1763038

URL: http://svn.apache.org/viewvc?rev=1763038&view=rev
Log:
[OPENMEETINGS-1482] Om should be more responsive

Modified:
    openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/DownloadHandler.java
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/chat/chatParticipants.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserList.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantList.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantListItem.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participants.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserList.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/chat/chatTabItemEmoticons.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/videoUserProfilePicSWF10.lzx
    openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/web.xml

Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/DownloadHandler.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/DownloadHandler.java?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/DownloadHandler.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/DownloadHandler.java Sun Oct  2 04:00:54 2016
@@ -30,6 +30,7 @@ import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.util.Set;
 
+import javax.servlet.AsyncContext;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -76,212 +77,219 @@ public class DownloadHandler extends Bas
 	 * , javax.servlet.http.HttpServletResponse)
 	 */
 	@Override
-	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-		try {
-			request.setCharacterEncoding(StandardCharsets.UTF_8.name());
-
-			log.debug("\nquery = " + request.getQueryString());
-			log.debug("\n\nfileName = " + request.getParameter("fileName"));
-			log.debug("\n\nparentPath = " + request.getParameter("parentPath"));
-
-			String queryString = request.getQueryString();
-			if (queryString == null) {
-				queryString = "";
-			}
+	protected void service(HttpServletRequest _request, HttpServletResponse _response) throws ServletException, IOException {
+		final AsyncContext acontext = _request.startAsync();
+		acontext.start(new Runnable() {
+			public void run() {
+				try {
+					HttpServletRequest request = (HttpServletRequest)acontext.getRequest();
+					request.setCharacterEncoding(StandardCharsets.UTF_8.name());
+					log.debug("\nquery = " + request.getQueryString());
+					log.debug("\n\nfileName = " + request.getParameter("fileName"));
+					log.debug("\n\nparentPath = " + request.getParameter("parentPath"));
+
+					String queryString = request.getQueryString();
+					if (queryString == null) {
+						queryString = "";
+					}
 
-			String sid = request.getParameter("sid");
+					String sid = request.getParameter("sid");
 
-			if (sid == null) {
-				sid = "default";
-			}
-			log.debug("sid: " + sid);
+					if (sid == null) {
+						sid = "default";
+					}
+					log.debug("sid: " + sid);
 
-			Long users_id = getBean(SessiondataDao.class).check(sid);
-			Set<Right> rights = getBean(UserDao.class).getRights(users_id);
+					Long users_id = getBean(SessiondataDao.class).check(sid);
+					Set<Right> rights = getBean(UserDao.class).getRights(users_id);
 
-			if (rights != null && !rights.isEmpty()) {
-				String room_id = request.getParameter("room_id");
-				if (room_id == null) {
-					room_id = "default";
-				}
+					if (rights != null && !rights.isEmpty()) {
+						String room_id = request.getParameter("room_id");
+						if (room_id == null) {
+							room_id = "default";
+						}
 
-				String moduleName = request.getParameter("moduleName");
-				if (moduleName == null) {
-					moduleName = "nomodule";
-				}
+						String moduleName = request.getParameter("moduleName");
+						if (moduleName == null) {
+							moduleName = "nomodule";
+						}
 
-				String parentPath = request.getParameter("parentPath");
-				if (parentPath == null) {
-					parentPath = "nomodule";
-				}
+						String parentPath = request.getParameter("parentPath");
+						if (parentPath == null) {
+							parentPath = "nomodule";
+						}
 
-				String requestedFile = request.getParameter("fileName");
-				if (requestedFile == null) {
-					requestedFile = "";
-				}
-				
-				String fileIdParam = request.getParameter("fileId");
-				Long fileId = null;
-				if (fileIdParam != null) {
-					fileId = Long.valueOf(fileIdParam);
-				}
-				
-				
+						String requestedFile = request.getParameter("fileName");
+						if (requestedFile == null) {
+							requestedFile = "";
+						}
+						
+						String fileIdParam = request.getParameter("fileId");
+						Long fileId = null;
+						if (fileIdParam != null) {
+							fileId = Long.valueOf(fileIdParam);
+						}
+						
+						
 
-				// make a complete name out of domain(group) + roomname
-				String roomName = room_id;
-				// trim whitespaces cause it is a directory name
-				roomName = StringUtils.deleteWhitespace(roomName);
-
-				// Get the current User-Directory
-
-				File working_dir;
-
-				// Add the Folder for the Room
-				if (moduleName.equals("lzRecorderApp")) {
-					working_dir = OmFileHelper.getStreamsHibernateDir();
-				} else if (moduleName.equals("videoconf1")) {
-					working_dir = OmFileHelper.getUploadRoomDir(roomName);
-					if (parentPath.length() != 0 && !parentPath.equals("/")) {
-						working_dir = new File(working_dir, parentPath);
-					}
-				} else if (moduleName.equals("userprofile")) {
-					working_dir = OmFileHelper.getUploadProfilesUserDir(users_id);
-					logNonExistentFolder(working_dir);
-				} else if (moduleName.equals("remoteuserprofile")) {
-					String remoteUser_id = request.getParameter("remoteUserid");
-					working_dir = OmFileHelper.getUploadProfilesUserDir(remoteUser_id == null ? "0" : remoteUser_id);
-					logNonExistentFolder(working_dir);
-				} else if (moduleName.equals("remoteuserprofilebig")) {
-					String remoteUser_id = request.getParameter("remoteUserid");
-					working_dir = OmFileHelper.getUploadProfilesUserDir(remoteUser_id == null ? "0" : remoteUser_id);
-					logNonExistentFolder(working_dir);
-					
-					requestedFile = getBigProfileUserName(working_dir);
-				} else if (moduleName.equals("chat")) {
-					String remoteUser_id = request.getParameter("remoteUserid");
-					working_dir = OmFileHelper.getUploadProfilesUserDir(remoteUser_id == null ? "0" : remoteUser_id);
-					logNonExistentFolder(working_dir);
-
-					requestedFile = getChatUserName(working_dir);
-				} else {
-					working_dir = OmFileHelper.getUploadRoomDir(roomName);
-				}
+						// make a complete name out of domain(group) + roomname
+						String roomName = room_id;
+						// trim whitespaces cause it is a directory name
+						roomName = StringUtils.deleteWhitespace(roomName);
+
+						// Get the current User-Directory
+
+						File working_dir;
+
+						// Add the Folder for the Room
+						if (moduleName.equals("lzRecorderApp")) {
+							working_dir = OmFileHelper.getStreamsHibernateDir();
+						} else if (moduleName.equals("videoconf1")) {
+							working_dir = OmFileHelper.getUploadRoomDir(roomName);
+							if (parentPath.length() != 0 && !parentPath.equals("/")) {
+								working_dir = new File(working_dir, parentPath);
+							}
+						} else if (moduleName.equals("userprofile")) {
+							working_dir = OmFileHelper.getUploadProfilesUserDir(users_id);
+							logNonExistentFolder(working_dir);
+						} else if (moduleName.equals("remoteuserprofile")) {
+							String remoteUser_id = request.getParameter("remoteUserid");
+							working_dir = OmFileHelper.getUploadProfilesUserDir(remoteUser_id == null ? "0" : remoteUser_id);
+							logNonExistentFolder(working_dir);
+						} else if (moduleName.equals("remoteuserprofilebig")) {
+							String remoteUser_id = request.getParameter("remoteUserid");
+							working_dir = OmFileHelper.getUploadProfilesUserDir(remoteUser_id == null ? "0" : remoteUser_id);
+							logNonExistentFolder(working_dir);
+							
+							requestedFile = getBigProfileUserName(working_dir);
+						} else if (moduleName.equals("chat")) {
+							String remoteUser_id = request.getParameter("remoteUserid");
+							working_dir = OmFileHelper.getUploadProfilesUserDir(remoteUser_id == null ? "0" : remoteUser_id);
+							logNonExistentFolder(working_dir);
 
-				if (!moduleName.equals("nomodule")) {
-					log.debug("requestedFile: " + requestedFile + " current_dir: " + working_dir);
+							requestedFile = getChatUserName(working_dir);
+						} else {
+							working_dir = OmFileHelper.getUploadRoomDir(roomName);
+						}
 
-					File full_path = new File(working_dir, requestedFile);
+						if (!moduleName.equals("nomodule")) {
+							log.debug("requestedFile: " + requestedFile + " current_dir: " + working_dir);
 
-					// If the File does not exist or is not readable show/load a
-					// place-holder picture
+							File full_path = new File(working_dir, requestedFile);
 
-					if (!full_path.exists() || !full_path.canRead()) {
-						if (!full_path.canRead()) {
-							log.debug("LOG DownloadHandler: The request file is not readable ");
-						} else {
-							log.debug("LOG DownloadHandler: The request file does not exist / has already been deleted");
-						}
-						log.debug("LOG ERROR requestedFile: " + requestedFile);
-						// replace the path with the default picture/document
+							// If the File does not exist or is not readable show/load a
+							// place-holder picture
 
-						if (requestedFile.endsWith(".jpg")) {
-							log.debug("LOG endsWith d.jpg");
+							if (!full_path.exists() || !full_path.canRead()) {
+								if (!full_path.canRead()) {
+									log.debug("LOG DownloadHandler: The request file is not readable ");
+								} else {
+									log.debug("LOG DownloadHandler: The request file does not exist / has already been deleted");
+								}
+								log.debug("LOG ERROR requestedFile: " + requestedFile);
+								// replace the path with the default picture/document
 
-							log.debug("LOG moduleName: " + moduleName);
+								if (requestedFile.endsWith(".jpg")) {
+									log.debug("LOG endsWith d.jpg");
 
-							requestedFile = defaultImageName;
-							if (moduleName.equals("remoteuserprofile")) {
-								requestedFile = defaultProfileImageName;
-							} else if (moduleName.equals("remoteuserprofilebig")) {
-								requestedFile = defaultProfileImageNameBig;
-							} else if (moduleName.equals("userprofile")) {
-								requestedFile = defaultProfileImageName;
-							} else if (moduleName.equals("chat")) {
-								requestedFile = defaultChatImageName;
+									log.debug("LOG moduleName: " + moduleName);
+
+									requestedFile = defaultImageName;
+									if (moduleName.equals("remoteuserprofile")) {
+										requestedFile = defaultProfileImageName;
+									} else if (moduleName.equals("remoteuserprofilebig")) {
+										requestedFile = defaultProfileImageNameBig;
+									} else if (moduleName.equals("userprofile")) {
+										requestedFile = defaultProfileImageName;
+									} else if (moduleName.equals("chat")) {
+										requestedFile = defaultChatImageName;
+									}
+								} else if (requestedFile.endsWith(".swf")) {
+									requestedFile = defaultSWFName;
+								} else {
+									requestedFile = defaultImageName;
+								}
+								full_path = new File(OmFileHelper.getDefaultDir(), requestedFile);
 							}
-						} else if (requestedFile.endsWith(".swf")) {
-							requestedFile = defaultSWFName;
-						} else {
-							requestedFile = defaultImageName;
-						}
-						full_path = new File(OmFileHelper.getDefaultDir(), requestedFile);
-					}
 
-					log.debug("full_path: " + full_path);
+							log.debug("full_path: " + full_path);
 
-					if (!full_path.exists() || !full_path.canRead()) {
-						log.debug("DownloadHandler: The request DEFAULT-file does not exist / has already been deleted");
-						// no file to handle abort processing
-						return;
-					}
-					// Requested file is outside OM webapp folder
-					File curDirFile = OmFileHelper.getOmHome();
-					if (!full_path.getCanonicalPath().startsWith(curDirFile.getCanonicalPath())) {
-						throw new Exception("Invalid file requested: f2.cp == "
-								+ full_path.getCanonicalPath() + "; curDir.cp == "
-								+ curDirFile.getCanonicalPath());
-					}
+							if (!full_path.exists() || !full_path.canRead()) {
+								log.debug("DownloadHandler: The request DEFAULT-file does not exist / has already been deleted");
+								// no file to handle abort processing
+								return;
+							}
+							// Requested file is outside OM webapp folder
+							File curDirFile = OmFileHelper.getOmHome();
+							if (!full_path.getCanonicalPath().startsWith(curDirFile.getCanonicalPath())) {
+								throw new Exception("Invalid file requested: f2.cp == "
+										+ full_path.getCanonicalPath() + "; curDir.cp == "
+										+ curDirFile.getCanonicalPath());
+							}
 
-					// Default type - Explorer, Chrome and others
-					int browserType = 0;
+							// Default type - Explorer, Chrome and others
+							int browserType = 0;
 
-					// Firefox and Opera browsers
-					if (request.getHeader("User-Agent") != null) {
-						if ((request.getHeader("User-Agent").contains("Firefox")) || (request.getHeader("User-Agent").contains("Opera"))) {
-							browserType = 1;
-						}
-					}
+							// Firefox and Opera browsers
+							if (request.getHeader("User-Agent") != null) {
+								if ((request.getHeader("User-Agent").contains("Firefox")) || (request.getHeader("User-Agent").contains("Opera"))) {
+									browserType = 1;
+								}
+							}
 
-					log.debug("Detected browser type:" + browserType);
+							log.debug("Detected browser type:" + browserType);
 
-					response.reset();
-					response.resetBuffer();
-					try (OutputStream out = response.getOutputStream()) {
-						if (requestedFile.endsWith(".swf")) {
-							// trigger download to SWF => THIS is a workaround for
-							// Flash Player 10, FP 10 does not seem
-							// to accept SWF-Downloads with the Content-Disposition
-							// in the Header
-							response.setContentType("application/x-shockwave-flash");
-							response.setHeader("Content-Length", "" + full_path.length());
-						} else {
-							response.setContentType("APPLICATION/OCTET-STREAM");
-							
-							String fileNameResult = requestedFile;
-							if (fileId != null && fileId > 0) {
-								FileExplorerItem fileExplorerItem = getBean(FileExplorerItemDao.class).get(fileId);
-								if (fileExplorerItem != null) {
+							HttpServletResponse response = (HttpServletResponse)acontext.getResponse();
+							response.reset();
+							response.resetBuffer();
+							try (OutputStream out = response.getOutputStream()) {
+								if (requestedFile.endsWith(".swf")) {
+									// trigger download to SWF => THIS is a workaround for
+									// Flash Player 10, FP 10 does not seem
+									// to accept SWF-Downloads with the Content-Disposition
+									// in the Header
+									response.setContentType("application/x-shockwave-flash");
+									response.setHeader("Content-Length", "" + full_path.length());
+								} else {
+									response.setContentType("APPLICATION/OCTET-STREAM");
 									
-									fileNameResult = fileExplorerItem.getName().substring(0, fileExplorerItem.getName().length()-4)
-														+ fileNameResult.substring(fileNameResult.length()-4, fileNameResult.length());
+									String fileNameResult = requestedFile;
+									if (fileId != null && fileId > 0) {
+										FileExplorerItem fileExplorerItem = getBean(FileExplorerItemDao.class).get(fileId);
+										if (fileExplorerItem != null) {
+											
+											fileNameResult = fileExplorerItem.getName().substring(0, fileExplorerItem.getName().length()-4)
+																+ fileNameResult.substring(fileNameResult.length()-4, fileNameResult.length());
+											
+										}
+									}
 									
+									if (browserType == 0) {
+										response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileNameResult, StandardCharsets.UTF_8.name()));
+									} else {
+										response.setHeader("Content-Disposition", "attachment; filename*=UTF-8'en'"
+														+ URLEncoder.encode(fileNameResult, StandardCharsets.UTF_8.name()));
+									}
+			
+									response.setHeader("Content-Length", "" + full_path.length());
 								}
+			
+								OmFileHelper.copyFile(full_path, out);
+								out.flush();
 							}
-							
-							if (browserType == 0) {
-								response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileNameResult, StandardCharsets.UTF_8.name()));
-							} else {
-								response.setHeader("Content-Disposition", "attachment; filename*=UTF-8'en'"
-												+ URLEncoder.encode(fileNameResult, StandardCharsets.UTF_8.name()));
-							}
-	
-							response.setHeader("Content-Length", "" + full_path.length());
+							acontext.complete();
 						}
-	
-						OmFileHelper.copyFile(full_path, out);
-						out.flush();
+					} else {
+						log.error("ERROR DownloadHandler: not authorized FileDownload ");
 					}
+
+				} catch (ServerNotInitializedException e) {
+					return;
+				} catch (Exception er) {
+					log.error("Error downloading: ", er);
 				}
-			} else {
-				log.error("ERROR DownloadHandler: not authorized FileDownload ");
 			}
-
-		} catch (ServerNotInitializedException e) {
-			return;
-		} catch (Exception er) {
-			log.error("Error downloading: ", er);
-		}
+		});
 	}
 
 	private static String getChatUserName(File f) throws Exception {

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx Sun Oct  2 04:00:54 2016
@@ -692,7 +692,7 @@
 		<netRemoteCallHib name="getCurrentModeratorList" funcname="getCurrentModeratorList">
 			<handler name="ondata" args="value">
 				<![CDATA[
-					if ($debug) Debug.write("############ getCurrentModeratorList: ",value);
+					if ($debug) Debug.write("############ getCurrentModeratorList: ", value);
 					
 					canvas.analyzeModerationList(value);
 					
@@ -1028,7 +1028,7 @@
 			<handler name="ondata" args="value">
 			<![CDATA[
 				//The onResult-Handler will be called be the rtmpconnection
-				if ($debug) Debug.write(" onResult checkScreenSharing : ",value);  
+				if ($debug) Debug.write(" onResult checkScreenSharing : ", value);  
 				if (value != null) {
 					canvas.commonVideoViewContent.newScreenSharings(value);
 				} else {
@@ -1413,7 +1413,7 @@
 	
 	<netRemoteCallHib name="checkLzRecording" funcname="recordingservice.checkLzRecording" >	  
 		<handler name="ondata" args="value">
-			if ($debug) Debug.write("checkLzRecording: ",value);
+			if ($debug) Debug.write("checkLzRecording: ", value);
 			if (value != null) {
 				canvas._mymod.recordingUser = value;
 				canvas._mymod.setMessage();

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx Sun Oct  2 04:00:54 2016
@@ -761,16 +761,12 @@
 		main_content.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor'));
 	</method>
 
-	<method name="getPictureUrl" args="pictureuri,extraParams">
+	<method name="getPictureUrl" args="userId, pictureuri">
 	<![CDATA[
 		var pUri = (pictureuri == null || pictureuri.length == 0) ? "d.jpg" : pictureuri;
 		var downloadurl = pUri;
 		if (!pUri.startsWith("http://") && !pUri.startsWith("https://")) {
-			pUri = "_profile_" + pUri;
-			
-			downloadurl = canvas.getUrl() + 'DownloadHandler?fileName=' + pUri
-				+ '&parentPath=&room_id=&r=' + (new Date()).getTime()
-				+ extraParams + '&sid='+canvas.sessionId;
+			downloadurl = canvas.getUrl() + 'profile/' + userId;
 		}
 		if($debug) Debug.write("getPictureUrl/downloadurl ", downloadurl);
 		return downloadurl;

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/chat/chatParticipants.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/chat/chatParticipants.lzx?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/chat/chatParticipants.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/chat/chatParticipants.lzx Sun Oct  2 04:00:54 2016
@@ -34,7 +34,7 @@
 	<handler name="oninit">
 		<![CDATA[
 			if($debug) Debug.write("chatParticipants/picture_uri: ",this.picture_uri);
-            this._userpic.setAttribute('src', canvas.getPictureUrl(this.picture_uri, '&moduleName=chat')); 
+            this._userpic.setAttribute('src', canvas.getPictureUrl(this.userId, this.picture_uri)); 
         ]]>
 	</handler>
 	

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserList.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserList.lzx?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserList.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserList.lzx Sun Oct  2 04:00:54 2016
@@ -127,13 +127,6 @@
                 canvas.thishib.disconnect();
             }
             
-            if (roomStatus.browserStatus.browserInited) {
-                var tObj = new Object();
-                tObj[0] = "newBrowserURL";
-                tObj[1] = roomStatus.browserStatus.currentURL;
-                canvas.startBrowser(tObj);
-            }
-            
             var value = roomStatus.clientList;
             
             for (var i = 0; i < value.length; ++i){

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx Sun Oct  2 04:00:54 2016
@@ -82,7 +82,7 @@
     
     <method name="fadeText" args="ignore=null"> 
         <![CDATA[
-            this._userpic.setAttribute('src', canvas.getPictureUrl(this.refObj.picture_uri, '&moduleName=chat&remoteUserid='+this.userId)); 
+            this._userpic.setAttribute('src', canvas.getPictureUrl(this.userId, this.refObj.picture_uri)); 
         ]]>          
     </method>
      

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantList.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantList.lzx?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantList.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantList.lzx Sun Oct  2 04:00:54 2016
@@ -34,7 +34,7 @@
        bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" y="22">
     <!-- clip="true" -->
     
-    <attribute name="sortType" value="alphabetical" type="string" />    
+	<attribute name="sortType" value="alphabetical" type="string" />    
     
     <view width="$once{ parent.width-2 }" height="${ parent.height-2 }" 
         x="1" y="1" bgcolor="0xFFFFFF" />

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantListItem.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantListItem.lzx?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantListItem.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantListItem.lzx Sun Oct  2 04:00:54 2016
@@ -39,10 +39,6 @@
 	
 	<handler name="oninit">
 	<![CDATA[
-		//this._userpic.setAttribute('src',downloadurl); 
-		//This is a workaround cause in LPS-4.2.x immediatelly loading does not work
-		lz.Timer.addTimer(new LzDelegate(this, "fadeText"), 1000);
-		
 		checkName();
 		if (canvas.publicSID == this.refObj.publicSID) {
 			this._firstName.setAttribute("fontstyle","bold");
@@ -50,6 +46,7 @@
 		}
 		
 		this.updateIcons();
+		fadeText(null);
 	]]>
 	</handler>
 	
@@ -79,7 +76,7 @@
 	<![CDATA[
 		if ($debug) Debug.write("fadeText :1: ",this.refObj);
 		if ($debug) Debug.write("fadeText :2: ",this.refObj.picture_uri);
-		this._userpic.setAttribute('src', canvas.getPictureUrl(this.refObj.picture_uri, '&moduleName=chat&remoteUserid='+this.userId)); 
+		this._userpic.setAttribute('src', canvas.getPictureUrl(this.userId, this.refObj.picture_uri)); 
 	]]>		  
 	</method>
 	

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participants.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participants.lzx?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participants.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participants.lzx Sun Oct  2 04:00:54 2016
@@ -20,11 +20,19 @@
 -->
 <library>
     
-<class name="participants" extends="baseRoomInnerList" 
-       height="$once{ parent.height-34 }">
+<class name="participants" extends="baseRoomInnerList" height="$once{ parent.height-34 }">
+	<switch>
+		<when property="$as3">
+			<passthrough>
+				import flash.utils.*;
+			</passthrough>
+		</when>
+	</switch>
 
     <!--- holds a references to the videoview which is broadcasting -->
     <attribute name="broadCastViewRef" value="null" />
+	<attribute name="delayedCreateVideoId" type="number" value="-1"/>
+	<attribute name="delayedCheckRecordingId" type="number" value="-1"/>
     
     <handler name="oninit">
         //set modus
@@ -71,12 +79,11 @@
     	//it can happen that if you click to exit the room the views are not
     	//not cleaned up yet and you receive this event from the LocalConnection
     	if (this["getRoomModeratorsByRoomId"]) {
+			if ($debug) Debug.write("loadModerators", new Date());
             this.getRoomModeratorsByRoomId.doCall();
     	}
     </method>
 
-
-
     <!---
         Returns a list of all moderators of the current room and parses 
         if the current user should receive the supermoderator flag or not
@@ -87,7 +94,7 @@
         <netparam><method name="getValue">return hib.currentroomid;</method></netparam>
         <handler name="ondata" args="value">
             <![CDATA[
-                if ($debug) Debug.write("getRoomModeratorsByRoomId: ",value);
+                if ($debug) Debug.write("getRoomModeratorsByRoomId: ", value);
                 canvas.becomeSuperModerator = false;
                 
                 parent.setRoomValues.applyDefaultModeration = canvas.becomemoderator;
@@ -140,35 +147,50 @@
                 canvas.thishib.showFullMessage = true;
                 canvas.thishib.disconnect();
             }
-            
-            if (roomStatus.browserStatus.browserInited) {
-                var tObj = new Object();
-                tObj[0] = "newBrowserURL";
-                tObj[1] = roomStatus.browserStatus.currentURL;
-                canvas.startBrowser(tObj);
-            }
-            
+
             var value = roomStatus.clientList;
-            
+			parent.delayedCheckRecording();
+
             for (var i = 0; i < value.length; ++i){
                 if ( value[i].streamid == canvas.streamid ) {
                     canvas.isAllowedToDraw = value[i].canDraw;
                 }
                 //if ($debug) Debug.write("getClientListScope value: ",value[i]);
-                this.parent.addItem(value[i].connectedSince,value[i].isMod,value[i].streamid,value[i].username,
-                              '',value[i].formatedDate,value[i].userpos,value[i].usercolor,value[i]);
+                parent._participants.addItem(value[i]);
             }
-            
-            //this content must be inited _after_ setting the default values
-            canvas.thishib.getCurrentModeratorList.doCall(); 
-            
-            canvas.thishib.checkLzRecording.doCall();
-            if (canvas._currentChatPanel.visible) {
+
+			//this content must be inited _after_ setting the default values
+			canvas.thishib.getCurrentModeratorList.doCall(); 
+
+			parent.delayedCreateVideo(value);
+			if (canvas._currentChatPanel.visible) {
 				canvas._currentChatPanel.toggleopen();
 			}
 		]]>
-        </handler>  
-    </netRemoteCallHib>
+		</handler>  
+	</netRemoteCallHib>
+
+	<method name="delayedCheckRecording">
+		delayedCheckRecordingId = setTimeout(checkRecording, 1);
+	</method>
+
+	<method name="checkRecording">
+		clearTimeout(delayedCheckRecordingId);
+		canvas.thishib.checkLzRecording.doCall();
+	</method>
+
+	<method name="delayedCreateVideo" args="clients">
+		delayedCreateVideoId = setTimeout(batchCreateVideo, 100, clients);
+	</method>
+
+	<method name="batchCreateVideo" args="clients">
+		if ($debug) Debug.write("interval 0 :: ", clients.length);
+		if (delayedCreateVideoId > -1) {
+			clearTimeout(delayedCreateVideoId);
+			delayedCreateVideoId = -1;
+		}
+		canvas.commonVideoViewContent.batchCreateVideo(canvas.streamid, clients);
+	</method>
 
     <!---
         invoked if another client logs into the room 
@@ -196,10 +218,10 @@
     
     <method name="addItem" args="connectedSince,isMod,streamid,username,userroom,formatedDate,position,color,object">
         <![CDATA[
-            if ($debug) Debug.write("initializeStreams addItem: ",connectedSince,object);
+            if ($debug) Debug.write("initializeStreams addItem: ", object);
             
             //Do init only in case this stream is NOT the same as we are
-            if (streamid!=canvas.streamid){
+            if (streamid != canvas.streamid){
             	//if ($debug) Debug.write("???????? object.isBroadcasting :: ",object.isBroadcasting);
                 canvas.commonVideoViewContent.createVideo(object.publicSID, object.firstname+' '+object.lastname, object.broadCastID, object.avsettings, -1, object);
             }

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserList.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserList.lzx?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserList.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserList.lzx Sun Oct  2 04:00:54 2016
@@ -21,8 +21,14 @@
 <library>
 
  
-<class name="restrictedUserList" extends="view" width="$once{ parent.width }" 
-       height="${ parent.height-34 }">
+<class name="restrictedUserList" extends="view" width="$once{ parent.width }" height="${ parent.height-34 }">
+	<switch>
+		<when property="$as3">
+			<passthrough>
+				import flash.utils.*;
+			</passthrough>
+		</when>
+	</switch>
 
     <!--- holds a references to the videoview which is broadcasting -->
     <attribute name="broadCastViewRef" value="null" />
@@ -34,6 +40,7 @@
 
 	<attribute name="showsVideoInSeparateComponent" value="true" type="boolean" />
 	<attribute name="timeout" value="500" type="number"/>
+	<attribute name="delayedCreateVideoId" type="number" value="-1"/>
     
     <handler name="onallowUserQuestions" args="bool">
         if (bool != null) {
@@ -143,13 +150,6 @@
                 canvas.thishib.disconnect();
             }
             
-            if (roomStatus.browserStatus.browserInited) {
-                var tObj = new Object();
-                tObj[0] = "newBrowserURL";
-                tObj[1] = roomStatus.browserStatus.currentURL;
-                canvas.startBrowser(tObj);
-            }
-            
             var value = roomStatus.clientList;
             
             for (var i = 0; i < value.length; ++i){
@@ -158,28 +158,33 @@
                 }
 				parent.addItemInitial(value[i]);
 			}
-			parent.batchCreateVideo(value);
             
             //Render and Show User-List
             parent._participants.sortAndRenderList();
-            
-            if (canvas._currentChatPanel.visible) {
+
+			parent.delayedCreateVideo(value);
+			//this content must be inited _after_ setting the default values
+			canvas.thishib.getCurrentModeratorList.doCall();
+			//FIXME Issue-1076
+			canvas.thishib.checkLzRecording.doCall();
+			if (canvas._currentChatPanel.visible) {
 				canvas._currentChatPanel.toggleopen();
 			}
 		]]>
-        </handler>  
-    </netRemoteCallHib>
+		</handler>  
+	</netRemoteCallHib>
+
+	<method name="delayedCreateVideo" args="clients">
+		delayedCreateVideoId = setTimeout(batchCreateVideo, 100, clients);
+	</method>
 
 	<method name="batchCreateVideo" args="clients">
-	<![CDATA[
 		if ($debug) Debug.write("interval 0 :: ", clients.length);
+		if (delayedCreateVideoId > -1) {
+			clearTimeout(delayedCreateVideoId);
+			delayedCreateVideoId = -1;
+		}
 		canvas.commonVideoViewContent.batchCreateVideo(canvas.streamid, clients);
-			
-		//this content must be inited _after_ setting the default values
-		canvas.thishib.getCurrentModeratorList.doCall();
-		//FIXME Issue-1076
-		canvas.thishib.checkLzRecording.doCall();
-	]]>
 	</method>
 
     <!-- invoked if another client logs into the room 

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/chat/chatTabItemEmoticons.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/chat/chatTabItemEmoticons.lzx?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/chat/chatTabItemEmoticons.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/chat/chatTabItemEmoticons.lzx Sun Oct  2 04:00:54 2016
@@ -46,7 +46,7 @@
 	<handler name="oninit">
 	<![CDATA[
 		if ($debug) Debug.write("this.picture_uri :: ",this.picture_uri);
-		this._userpic.setAttribute('src', canvas.getPictureUrl(this.picture_uri, '&moduleName=chat&remoteUserid='+this.userId));
+		this._userpic.setAttribute('src', canvas.getPictureUrl(this.userId, this.picture_uri));
 		
 		if (canvas.isrtl == 'true') {
 			if($debug) Debug.write("chatTabItemEmoticons RTL is set");

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/videoUserProfilePicSWF10.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/videoUserProfilePicSWF10.lzx?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/videoUserProfilePicSWF10.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/videoUserProfilePicSWF10.lzx Sun Oct  2 04:00:54 2016
@@ -26,10 +26,7 @@
 		
 	<handler name="oninit">
 	<![CDATA[
-		var extra = value.sipTransport ? "&parentPath=../default&moduleName=videoconf1"
-			: '&parentPath=&moduleName=remoteuserprofile&remoteUserid='+this.value.userId;
-
-		this._userpic.setAttribute('src', canvas.getPictureUrl(value.picture_uri, extra));
+		this._userpic.setAttribute('src', canvas.getPictureUrl(value.userId, value.picture_uri));
 	]]>
 	</handler>	
 	<omImage name="_userpic" stretches="both" width="${parent.width}" height="${parent.height}" />

Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml Sun Oct  2 04:00:54 2016
@@ -37,6 +37,7 @@
 			<param-value>classpath:openmeetings-applicationContext.xml</param-value>
 		</init-param>
 		<load-on-startup>1</load-on-startup>
+		<async-supported>true</async-supported>
 	</servlet>
 	<servlet-mapping>
 		<servlet-name>CXFServlet</servlet-name>
@@ -46,6 +47,7 @@
 	<filter>
 		<filter-name>LoggerContextFilter</filter-name>
 		<filter-class>org.red5.logging.LoggerContextFilter</filter-class>
+		<async-supported>true</async-supported>
 	</filter>
 	
 	<filter-mapping>
@@ -56,6 +58,7 @@
 	<filter>
 		<filter-name>OpenmeetingsApplication</filter-name>
 		<filter-class>org.apache.wicket.protocol.ws.javax.JavaxWebSocketFilter</filter-class>
+		<async-supported>true</async-supported>
 		<init-param>
 			<param-name>applicationClassName</param-name>
 			<param-value>org.apache.openmeetings.web.app.Application</param-value>
@@ -95,6 +98,7 @@
 	<servlet>
 		<servlet-name>DownloadHandler</servlet-name>
 		<servlet-class>org.apache.openmeetings.core.servlet.outputhandler.DownloadHandler</servlet-class>
+		<async-supported>true</async-supported>
 	</servlet>
 	
 	<servlet-mapping>

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/web.xml Sun Oct  2 04:00:54 2016
@@ -37,6 +37,7 @@
 			<param-value>classpath:openmeetings-applicationContext.xml</param-value>
 		</init-param>
 		<load-on-startup>1</load-on-startup>
+		<async-supported>true</async-supported>
 	</servlet>
 	<servlet-mapping>
 		<servlet-name>CXFServlet</servlet-name>
@@ -46,6 +47,7 @@
 	<filter>
 		<filter-name>LoggerContextFilter</filter-name>
 		<filter-class>org.red5.logging.LoggerContextFilter</filter-class>
+		<async-supported>true</async-supported>
 	</filter>
 	
 	<filter-mapping>
@@ -56,6 +58,7 @@
 	<filter>
 		<filter-name>OpenmeetingsApplication</filter-name>
 		<filter-class>org.apache.wicket.protocol.ws.javax.JavaxWebSocketFilter</filter-class>
+		<async-supported>true</async-supported>
 		<init-param>
 			<param-name>applicationClassName</param-name>
 			<param-value>org.apache.openmeetings.web.app.Application</param-value>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/web.xml?rev=1763038&r1=1763037&r2=1763038&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/web.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/WEB-INF/web.xml Sun Oct  2 04:00:54 2016
@@ -37,6 +37,7 @@
 			<param-value>classpath:openmeetings-applicationContext.xml</param-value>
 		</init-param>
 		<load-on-startup>1</load-on-startup>
+		<async-supported>true</async-supported>
 	</servlet>
 	<servlet-mapping>
 		<servlet-name>CXFServlet</servlet-name>
@@ -46,6 +47,7 @@
 	<filter>
 		<filter-name>LoggerContextFilter</filter-name>
 		<filter-class>org.red5.logging.LoggerContextFilter</filter-class>
+		<async-supported>true</async-supported>
 	</filter>
 	
 	<filter-mapping>
@@ -56,6 +58,7 @@
 	<filter>
 		<filter-name>OpenmeetingsApplication</filter-name>
 		<filter-class>org.apache.wicket.protocol.ws.javax.JavaxWebSocketFilter</filter-class>
+		<async-supported>true</async-supported>
 		<init-param>
 			<param-name>applicationClassName</param-name>
 			<param-value>org.apache.openmeetings.web.app.Application</param-value>