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>



Reply via email to