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>