You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2016/04/19 10:58:05 UTC
svn commit: r1739871 [1/3] - in /openmeetings/application:
branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/
branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/
branches/3.2....
Author: solomax
Date: Tue Apr 19 08:58:04 2016
New Revision: 1739871
URL: http://svn.apache.org/viewvc?rev=1739871&view=rev
Log:
[OPENMEETINGS-1030] file upload is partially added
Added:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomSwfResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/AviRecordingResourceReference.java
- copied, changed from r1739859, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/FlvRecordingResourceReference.java
- copied, changed from r1739846, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/JpgRecordingResourceReference.java
- copied, changed from r1739846, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/Mp4RecordingResourceReference.java
- copied, changed from r1739846, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/OggRecordingResourceReference.java
- copied, changed from r1739846, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
- copied, changed from r1739846, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.css
- copied, changed from r1739846, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/bootstrap-fileupload.css
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.js
- copied, changed from r1739729, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/bootstrap-fileupload.js
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.min.css
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.min.js
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomSwfResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/AviRecordingResourceReference.java
- copied, changed from r1739688, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/FlvRecordingResourceReference.java
- copied, changed from r1739688, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/JpgRecordingResourceReference.java
- copied, changed from r1739688, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/Mp4RecordingResourceReference.java
- copied, changed from r1739688, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/OggRecordingResourceReference.java
- copied, changed from r1739688, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
- copied, changed from r1739688, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.css
- copied, changed from r1739688, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/bootstrap-fileupload.css
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.js
- copied, changed from r1739688, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/bootstrap-fileupload.js
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.min.css
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.min.js
Removed:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/bootstrap-fileupload.css
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/bootstrap-fileupload.js
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/bootstrap-fileupload.css
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/bootstrap-fileupload.js
Modified:
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectSyncManager.java
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardManager.java
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawObject.lzx
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/StoredFile.java
openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/BootstrapFileUploadBehavior.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectSyncManager.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardManager.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/StoredFile.java
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/BootstrapFileUploadBehavior.java
Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java Tue Apr 19 08:58:04 2016
@@ -26,8 +26,8 @@ import static org.apache.openmeetings.ut
import java.io.File;
import java.io.InputStream;
-import java.util.Date;
import java.util.List;
+import java.util.UUID;
import org.apache.commons.transaction.util.FileHelper;
import org.apache.openmeetings.core.converter.FlvExplorerConverter;
@@ -38,7 +38,6 @@ import org.apache.openmeetings.db.dao.fi
import org.apache.openmeetings.db.entity.file.FileExplorerItem;
import org.apache.openmeetings.db.entity.file.FileItem.Type;
import org.apache.openmeetings.util.StoredFile;
-import org.apache.openmeetings.util.crypt.MD5;
import org.apache.openmeetings.util.process.ConverterProcessResult;
import org.apache.openmeetings.util.process.ConverterProcessResultList;
import org.red5.logging.Red5LoggerFactory;
@@ -60,18 +59,21 @@ public class FileProcessor {
@Autowired
private GeneratePDF generatePDF;
+ public static String getExt(FileExplorerItem f) {
+ int dotidx = f.getName().lastIndexOf('.');
+ return dotidx < 0 ? "" : f.getName().substring(dotidx + 1).toLowerCase();
+ }
+
//FIXME TODO this method need to be refactored to throw exceptions
public ConverterProcessResultList processFile(Long userId, FileExplorerItem f, InputStream is) throws Exception {
ConverterProcessResultList returnError = new ConverterProcessResultList();
- int dotidx = f.getName().lastIndexOf('.');
-
// Generate a random string to prevent any problems with
// foreign characters and duplicates
- String newName = MD5.checksum("FILE_" + new Date().getTime());
+ String newName = UUID.randomUUID().toString();
- String extDot = f.getName().substring(dotidx, f.getName().length()).toLowerCase();
- String ext = extDot.substring(1);
+ String ext = getExt(f);
+ String extDot = String.format(".%s", ext);
log.debug("file extension: " + ext);
StoredFile storedFile = new StoredFile(newName, ext);
@@ -145,7 +147,7 @@ public class FileProcessor {
// has to happen at the end, otherwise it will be overwritten
//cause the variable is new initialized
returnError.setCompleteName(completeName.getName());
- returnError.setFileExplorerItemId(f.getId());
+ returnError.setFileItemId(f.getId());
return returnError;
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectSyncManager.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectSyncManager.java?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectSyncManager.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectSyncManager.java Tue Apr 19 08:58:04 2016
@@ -18,12 +18,12 @@
*/
package org.apache.openmeetings.core.data.whiteboard;
-import java.util.HashMap;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.openmeetings.db.dto.room.WhiteboardSyncLockObject;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -50,7 +50,7 @@ public class WhiteBoardObjectSyncManager
if (whiteBoardSyncList.containsKey(roomId)) {
return whiteBoardSyncList.get(roomId);
} else {
- return new HashMap<String, WhiteboardSyncLockObject>();
+ return new ConcurrentHashMap<>();
}
}
@@ -75,7 +75,7 @@ public class WhiteBoardObjectSyncManager
if (whiteBoardObjectSyncList.containsKey(roomId)) {
return whiteBoardObjectSyncList.get(roomId);
} else {
- return new HashMap<String, Map<String, WhiteboardSyncLockObject>>();
+ return new ConcurrentHashMap<>();
}
}
@@ -91,7 +91,7 @@ public class WhiteBoardObjectSyncManager
}
Map<String, WhiteboardSyncLockObject> imageSyncList = roomList.get(objectId);
if (imageSyncList == null) {
- imageSyncList = new HashMap<String, WhiteboardSyncLockObject>();
+ imageSyncList = new ConcurrentHashMap<>();
}
return imageSyncList;
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardManager.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardManager.java?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardManager.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardManager.java Tue Apr 19 08:58:04 2016
@@ -20,10 +20,10 @@ package org.apache.openmeetings.core.dat
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.openmeetings.db.dto.room.WhiteboardObject;
import org.red5.logging.Red5LoggerFactory;
@@ -70,7 +70,7 @@ public class WhiteboardManager {
}
} else if (action.equals("clear")) {
WhiteboardObject whiteboardObject = wbListManagerById.getWhiteBoardObjectListByRoomIdAndWhiteboard(roomId, whiteBoardId);
- whiteboardObject.setRoomItems(new HashMap<String, List>());
+ whiteboardObject.setRoomItems(new ConcurrentHashMap<String, List>());
wbListManagerById.setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, whiteboardObject, whiteBoardId);
} else if (action.equals("delete") || action.equals("undo")) {
WhiteboardObject whiteboardObject = wbListManagerById.getWhiteBoardObjectListByRoomIdAndWhiteboard(roomId, whiteBoardId);
Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java Tue Apr 19 08:58:04 2016
@@ -19,9 +19,9 @@
package org.apache.openmeetings.db.dto.room;
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
public class WhiteboardObject {
@@ -31,7 +31,7 @@ public class WhiteboardObject {
private Integer zoom = 100;
private Boolean fullFit = true;
@SuppressWarnings("rawtypes")
- private Map<String, List> roomItems = new HashMap<String, List>();
+ private Map<String, List> roomItems = new ConcurrentHashMap<>();
private Date created = new Date();
public WhiteboardObject() {}
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx Tue Apr 19 08:58:04 2016
@@ -22,30 +22,10 @@
<class name="documentFileExplorerItem" extends="baseFileExplorerItem" type="Presentation">
-
- <method name="formatURL" args="filename">
- <![CDATA[
- var uploadmoduleimgfolderVar = '/' + this.fileHash;
- var downloadurl = canvas.getUrl()+'DownloadHandler?' +
- 'fileName=' + encodeURIComponent(this.fileHash + ".swf") +
- '&moduleName=' + 'videoconf1' +
- '&parentPath=' + encodeURIComponent(uploadmoduleimgfolderVar + '/' )+
- '&room_id=files'+
- '&sid='+canvas.sessionId;
- ////Debug.write("downloadurl: ",downloadurl);
- return downloadurl;
- ]]>
- </method>
-
<method name="loadDocumentToWhiteboard">
if (canvas.ismoderator || canvas.isAllowedToDraw) {
- var uploadmoduleimgfolderVar = '/' + this.fileHash;
-
- if ($debug) Debug.write("loadDocumentToWhiteboard ",this.fileName);
-
- canvas._drawarea.loadSWFPresentationSynced(this.formatURL(this.fileHash),this.fileHash + ".swf",
- "videoconf1",uploadmoduleimgfolderVar,"files",hib.conferencedomain,1,
- this.fileName);
+ canvas._drawarea.loadSWFPresentationSynced("room/swf/" + fileId, this.fileHash + ".swf",
+ "videoconf1", "", "files", hib.conferencedomain, 1, this.fileName);
} else {
new lz.errorModeratorPopup(canvas,{error:canvas.getLabelName(721)});
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawObject.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawObject.lzx?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawObject.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawObject.lzx Tue Apr 19 08:58:04 2016
@@ -157,14 +157,10 @@
-->
<method name="addPresentationToLayer" args="obj,urlName,nameing,posx,posy,width,height,alterModus,baseurl,fileName,moduleName,parentPath,room,domain,slideNumber,currentzoom,innerwidth,innerheight,innerx,innery,uniqueObjectSyncName,standardFileName,fullFit">
<![CDATA[
- if ($debug) Debug.write("addPresentationToLayer",standardFileName);
+ if ($debug) Debug.write("addPresentationToLayer", standardFileName);
- var downloadurl = canvas.getUrl() + 'DownloadHandler?' +
- 'fileName=' + encodeURIComponent(fileName) +
- '&moduleName=' + moduleName +
- '&parentPath=' + encodeURIComponent(parentPath + '/') +
- '&room_id='+room +
- '&sid='+canvas.sessionId;
+ var downloadurl = canvas.getUrl() + urlName + "?uid=" + canvas.publicSID;
+ if ($debug) Debug.write("addPresentationToLayer:: downloadurl=", downloadurl);
this.currentlayer = new lz.swfResourceView(obj,{refObj:this,name:nameing,
x:posx,y:posy,alterModus:alterModus,
@@ -178,8 +174,6 @@
, swfUrl: downloadurl
});
- //this.currentlayer._swfView.setSource(downloadurl);
-
this.addItemToDocumentToolBar();
this.doUpdateDocumentToolBar();
]]>
Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/StoredFile.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/StoredFile.java?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/StoredFile.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/StoredFile.java Tue Apr 19 08:58:04 2016
@@ -20,105 +20,101 @@ package org.apache.openmeetings.util;
import java.util.Arrays;
import java.util.HashSet;
+import java.util.LinkedHashSet;
import java.util.Set;
+import org.apache.commons.lang3.StringUtils;
+
public class StoredFile {
- private static final Set<String> convertExtensions = new HashSet<String>(
- Arrays.asList(new String[] { "ppt", "odp", "odt", "sxw", "wpd",
- "doc", "rtf", "txt", "ods", "sxc", "xls", "sxi", "pptx",
- "docx", "xlsx" }));
-
- private static final Set<String> pdfExtensions = new HashSet<String>(
- Arrays.asList(new String[] { "pdf", "ps" }));
-
- private static final Set<String> imageExtensions = new HashSet<String>(
- Arrays.asList(new String[] { "png", "gif", "svg", "dpx", "exr",
- "pcd", // PhotoCD
- "pcds", // PhotoCD
- "psd", // Adobe Photoshop
- "tiff", // Tagged Image File Format
- "ttf", // TrueType font
- "xcf", // GIMP image
- "wpg", // Word Perfect Graphics
- "bmp", "ico", // Microsoft Icon
- "tga", // Truevision Targa
- "jpg", "jpeg" }));
-
- private static final Set<String> chartExtensions = new HashSet<String>(
- Arrays.asList(new String[] { "xchart" }));
+ private static final Set<String> convertExtensions = new HashSet<>(
+ Arrays.asList("ppt", "odp", "odt", "sxw", "wpd", "doc", "rtf", "txt", "ods", "sxc", "xls", "sxi", "pptx", "docx", "xlsx"));
+
+ private static final Set<String> pdfExtensions = new HashSet<>(Arrays.asList("pdf", "ps"));
+
+ private static final Set<String> imageExtensions = new HashSet<>(Arrays.asList("png", "gif", "svg", "dpx", "exr",
+ "pcd", // PhotoCD
+ "pcds", // PhotoCD
+ "psd", // Adobe Photoshop
+ "tiff", // Tagged Image File Format
+ "ttf", // TrueType font
+ "xcf", // GIMP image
+ "wpg", // Word Perfect Graphics
+ "bmp", "ico", // Microsoft Icon
+ "tga", // Truevision Targa
+ "jpg", "jpeg"));
+
+ private static final Set<String> chartExtensions = new HashSet<>(Arrays.asList("xchart"));
- private static final Set<String> videoExtensions = new HashSet<String>(
- Arrays.asList(new String[] { "avi", "mov", "flv", "mp4" }));
+ private static final Set<String> videoExtensions = new HashSet<>(Arrays.asList("avi", "mov", "flv", "mp4"));
- private static final Set<String> asIsExtensions = new HashSet<String>(
- Arrays.asList(new String[] { "jpg", "xchart" }));
+ private static final Set<String> asIsExtensions = new HashSet<>(Arrays.asList("jpg", "xchart"));
- private final String name;
+ private final String name;
private final String ext;
- public StoredFile(String fullname) {
- int idx = fullname.lastIndexOf('.');
- name = idx < 0 ? fullname : fullname.substring(0, idx);
- ext = idx < 0 ? "" : fullname.substring(idx + 1).toLowerCase();
- }
-
- public StoredFile(String name, String ext) {
- this.name = name;
- this.ext = ext != null ? ext.toLowerCase() : "";
- }
-
- public static String[] getExtensions(){
-
- Set<String> extensions = new HashSet<String>();
- extensions.addAll(convertExtensions);
- extensions.addAll(pdfExtensions);
- extensions.addAll(imageExtensions);
- extensions.addAll(chartExtensions);
- extensions.addAll(videoExtensions);
- extensions.addAll(asIsExtensions);
-
- Object[] returnObj = extensions.toArray();
-
- String[] returnStr = new String[returnObj.length];
-
- int i=0;
- for (Object obj : returnObj) {
- returnStr[i] = obj.toString();
- i++;
- }
-
- return returnStr;
- }
-
- public boolean isConvertable() {
- return convertExtensions.contains(ext);
- }
-
- public boolean isPresentation() {
- return isConvertable() || isPdf();
- }
-
- public boolean isPdf() {
- return pdfExtensions.contains(ext);
- }
-
- public boolean isImage() {
- return imageExtensions.contains(ext);
- }
-
- public boolean isVideo() {
- return videoExtensions.contains(ext);
- }
-
- public boolean isChart() {
- return chartExtensions.contains(ext);
- }
-
- public boolean isAsIs() {
- return asIsExtensions.contains(ext);
- }
+ public StoredFile(String fullname) {
+ int idx = fullname.lastIndexOf('.');
+ name = idx < 0 ? fullname : fullname.substring(0, idx);
+ ext = idx < 0 ? "" : fullname.substring(idx + 1).toLowerCase();
+ }
+
+ public StoredFile(String name, String ext) {
+ this.name = name;
+ this.ext = ext != null ? ext.toLowerCase() : "";
+ }
+
+ public static String[] getExtensions() {
+ Set<String> extensions = new HashSet<>();
+ extensions.addAll(convertExtensions);
+ extensions.addAll(pdfExtensions);
+ extensions.addAll(imageExtensions);
+ extensions.addAll(chartExtensions);
+ extensions.addAll(videoExtensions);
+ extensions.addAll(asIsExtensions);
+
+ return extensions.toArray(new String[extensions.size()]);
+ }
+
+ public static String getAcceptAttr() {
+ Set<String> ext = new LinkedHashSet<>();
+ ext.addAll(convertExtensions);
+ ext.addAll(pdfExtensions);
+ ext.addAll(chartExtensions);
+ StringBuilder sb = new StringBuilder("video/*,image/*,."); // TODO add audio/*,
+ sb.append(StringUtils.join(ext, ",."));
+ // TODO java8 String.join("|.", ext);
+ return sb.toString();
+ }
+
+ public boolean isConvertable() {
+ return convertExtensions.contains(ext);
+ }
+
+ public boolean isPresentation() {
+ return isConvertable() || isPdf();
+ }
+
+ public boolean isPdf() {
+ return pdfExtensions.contains(ext);
+ }
+
+ public boolean isImage() {
+ return imageExtensions.contains(ext);
+ }
+
+ public boolean isVideo() {
+ return videoExtensions.contains(ext);
+ }
+
+ public boolean isChart() {
+ return chartExtensions.contains(ext);
+ }
+
+ public boolean isAsIs() {
+ return asIsExtensions.contains(ext);
+ }
- public String getName() {
+ public String getName() {
return name;
}
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/process/ConverterProcessResultList.java Tue Apr 19 08:58:04 2016
@@ -21,7 +21,7 @@ package org.apache.openmeetings.util.pro
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.red5.logging.Red5LoggerFactory.getLogger;
-import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
@@ -37,17 +37,17 @@ import org.slf4j.Logger;
public class ConverterProcessResultList {
private static final Logger log = getLogger(ConverterProcessResultList.class, webAppRootKey);
- private Map<String, ConverterProcessResult> jobslist = new HashMap<String, ConverterProcessResult>();
+ private Map<String, ConverterProcessResult> jobslist = new LinkedHashMap<>();
- private Long fileExplorerItemId;
+ private Long fileItemId;
private String completeName;
- public Long getFileExplorerItemId() {
- return fileExplorerItemId;
+ public Long getFileItemId() {
+ return fileItemId;
}
- public void setFileExplorerItemId(Long fileExplorerItemId) {
- this.fileExplorerItemId = fileExplorerItemId;
+ public void setFileItemId(Long fileItemId) {
+ this.fileItemId = fileItemId;
}
public String getCompleteName() {
@@ -58,8 +58,7 @@ public class ConverterProcessResultList
this.completeName = completeName;
}
- public ConverterProcessResult addItem(String name,
- ConverterProcessResult processResult) {
+ public ConverterProcessResult addItem(String name, ConverterProcessResult processResult) {
if (jobslist.containsKey(name)) {
log.error("Duplicate key in jobslist");
return null;
@@ -74,7 +73,7 @@ public class ConverterProcessResultList
*/
public boolean hasError() {
for (Entry<String, ConverterProcessResult> entry : jobslist.entrySet()) {
- if (entry.getValue().getExitValue().equals("-1")) {
+ if ("-1".equals(entry.getValue().getExitValue())) {
return true;
}
}
@@ -97,32 +96,6 @@ public class ConverterProcessResultList
return logMessage.toString();
}
- /**
- * Axis need Objects or array of objects, Map won't work
- *
- * @return
- */
- public FileImportError[] convertToFileImportErrors() {
- FileImportError[] errors = new FileImportError[jobslist.size()];
-
- int i = 0;
- // Axis need Objects or array of objects, Map won't work
- for (Map.Entry<String, ConverterProcessResult> me : jobslist.entrySet()) {
-
- ConverterProcessResult result = me.getValue();
-
- errors[i] = new FileImportError();
- errors[i].setCommand((result.getCommand() != null) ? result.getCommand().toString() : "");
- errors[i].setError((result.getError() != null) ? result.getError().toString() : "");
- errors[i].setExitValue((result.getExitValue() != null) ? Integer.valueOf(result.getExitValue().toString()) : 0);
- errors[i].setProcess((result.getProcess() != null) ? result.getProcess().toString() : "");
-
- i++;
- }
-
- return errors;
- }
-
public int size() {
return jobslist.size();
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html Tue Apr 19 08:58:04 2016
@@ -25,33 +25,33 @@
<fieldset class="ui-widget-content">
<legend class="ui-widget-header"><wicket:message key="1066" /></legend>
<div class="formelement">
- <div class="info-text"><wicket:message key="1065" /></div>
- </div>
- <div class="formelement">
- <label><wicket:message key="1537" /></label> <input type="checkbox" wicket:id="includeFilesInBackup" />
- </div>
- <div class="formelement">
- <span wicket:id="progress"></span>
- <div wicket:id="dprogress"></div>
- </div>
- <div class="formelement">
- <!-- Perform Download -->
+ <div class="info-text"><wicket:message key="1065" /></div>
+ </div>
+ <div class="formelement">
+ <label><wicket:message key="1537" /></label> <input type="checkbox" wicket:id="includeFilesInBackup" />
+ </div>
+ <div class="formelement">
+ <span wicket:id="progress"></span>
+ <div wicket:id="dprogress"></div>
+ </div>
+ <div class="formelement">
+ <!-- Perform Download -->
<div wicket:id="download" class="btn"><wicket:message key="1066"/></div>
<!-- Perform Upload -->
- <div class="fileupload fileupload-new" data-provides="fileupload" style="margin: 0; display: inline-block;">
+ <div class="fileinput fileinput-new" data-provides="fileinput" style="margin: 0; display: inline-block;">
<span class="btn btn-file ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"><span
class="ui-button-text"><wicket:message key="1536"/></span><input class="uploadFileField" wicket:id="fileInput" type="file"/></span>
</div>
- </div>
- <div class="formelement">
- <!-- Max upload size -->
- <wicket:message key="1491" /> <span wicket:id="MaxUploadSize" /><span>MB</span>
- </div>
- <div class="formelement">
- <!-- Backup CLI import information -->
- <div class="info-text" wicket:id="cmdLineDesc"></div>
- </div>
- </fieldset>
+ </div>
+ <div class="formelement">
+ <!-- Max upload size -->
+ <wicket:message key="1491" /> <span wicket:id="MaxUploadSize" /><span>MB</span>
+ </div>
+ <div class="formelement">
+ <!-- Backup CLI import information -->
+ <div class="info-text" wicket:id="cmdLineDesc"></div>
+ </div>
+ </fieldset>
</form>
</wicket:panel>
</html>
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html Tue Apr 19 08:58:04 2016
@@ -52,7 +52,7 @@
<span wicket:id="export" class="btn"><wicket:message key="360"/></span>
</td>
<td>
- <div class="fileupload fileupload-new" data-provides="fileupload" style="margin: 0;">
+ <div class="fileinput fileinput-new" data-provides="fileinput" style="margin: 0;">
<span class="btn btn-file ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"><span class="ui-button-text"><wicket:message key="387"/></span><input type="file" accept="text/xml" wicket:id="fileInput"/></span>
</div>
<span wicket:id="progress">[progressbar]</span>
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java Tue Apr 19 08:58:04 2016
@@ -57,16 +57,17 @@ import org.apache.openmeetings.web.pages
import org.apache.openmeetings.web.pages.SwfPage;
import org.apache.openmeetings.web.pages.auth.SignInPage;
import org.apache.openmeetings.web.pages.install.InstallWizardPage;
+import org.apache.openmeetings.web.room.RoomSwfResourceReference;
import org.apache.openmeetings.web.user.dashboard.MyRoomsWidgetDescriptor;
import org.apache.openmeetings.web.user.dashboard.RssWidgetDescriptor;
import org.apache.openmeetings.web.user.dashboard.StartWidgetDescriptor;
import org.apache.openmeetings.web.user.dashboard.WelcomeWidgetDescriptor;
import org.apache.openmeetings.web.user.dashboard.admin.AdminWidgetDescriptor;
-import org.apache.openmeetings.web.util.AviRecordingResourceReference;
-import org.apache.openmeetings.web.util.FlvRecordingResourceReference;
-import org.apache.openmeetings.web.util.JpgRecordingResourceReference;
-import org.apache.openmeetings.web.util.Mp4RecordingResourceReference;
-import org.apache.openmeetings.web.util.OggRecordingResourceReference;
+import org.apache.openmeetings.web.user.record.AviRecordingResourceReference;
+import org.apache.openmeetings.web.user.record.FlvRecordingResourceReference;
+import org.apache.openmeetings.web.user.record.JpgRecordingResourceReference;
+import org.apache.openmeetings.web.user.record.Mp4RecordingResourceReference;
+import org.apache.openmeetings.web.user.record.OggRecordingResourceReference;
import org.apache.openmeetings.web.util.ProfileImageResourceReference;
import org.apache.openmeetings.web.util.UserDashboardPersister;
import org.apache.wicket.Localizer;
@@ -154,7 +155,8 @@ public class Application extends Authent
mountResource("/recordings/mp4/${id}", new Mp4RecordingResourceReference());
mountResource("/recordings/ogg/${id}", new OggRecordingResourceReference());
mountResource("/recordings/jpg/${id}", new JpgRecordingResourceReference()); //should be in sync with VideoPlayer
- mountResource("/profile/${id}", new ProfileImageResourceReference()); //should be in sync with VideoPlayer
+ mountResource("/room/swf/${id}", new RoomSwfResourceReference());
+ mountResource("/profile/${id}", new ProfileImageResourceReference());
}
private static class NoVersionMapper extends MountedMapper {
@@ -218,6 +220,10 @@ public class Application extends Authent
}
}
+ public static boolean isUserOnline(String uid) {
+ return ONLINE_USERS.containsKey(uid);
+ }
+
public static boolean isUserOnline(Long userId) {
boolean isUserOnline = false;
for (Map.Entry<String, Client> e : ONLINE_USERS.entrySet()) {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.html?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.html Tue Apr 19 08:58:04 2016
@@ -21,7 +21,7 @@
<html xmlns:wicket="http://wicket.apache.org">
<wicket:extend>
<form wicket:id="form"><div
- class="fileupload fileupload-new" data-provides="fileupload" style="margin: 0;"><span
+ class="fileinput fileinput-new" data-provides="fileinput" style="margin: 0;"><span
class="btn btn-file ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"
style="width: 120px;"><span class="ui-button-text"><wicket:message key="379"/></span><input
type="file" accept="image/*" wicket:id="image"/></span></div><span wicket:id="progress">[progressbar]</span></form>
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java Tue Apr 19 08:58:04 2016
@@ -179,6 +179,10 @@ public abstract class FileTreePanel exte
public abstract void updateSizes();
+ public FileItem getSelectedFile() {
+ return selectedFile.getObject();
+ }
+
@Override
protected void onDetach() {
selectedFile.detach();
Added: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java?rev=1739871&view=auto
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java (added)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java Tue Apr 19 08:58:04 2016
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room;
+
+import java.io.File;
+
+import org.apache.openmeetings.core.data.file.FileProcessor;
+import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+
+public class RoomFileResourceReference extends RoomResourceReference {
+ private static final long serialVersionUID = 1L;
+
+ public RoomFileResourceReference() {
+ super("original-room-file");
+ }
+
+ @Override
+ protected String getMimeType() {
+ return "application/octet-stream";
+ }
+
+ @Override
+ protected String getFileName(FileExplorerItem r) {
+ return r.getName();
+ }
+
+ @Override
+ protected File getFile(FileExplorerItem r) {
+ return getFile(r, FileProcessor.getExt(r));
+ }
+}
Added: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java?rev=1739871&view=auto
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java (added)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java Tue Apr 19 08:58:04 2016
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room;
+
+import java.io.File;
+
+import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+
+public class RoomPdfResourceReference extends RoomResourceReference {
+ private static final long serialVersionUID = 1L;
+
+ public RoomPdfResourceReference() {
+ super("pdf-room-file");
+ }
+
+ @Override
+ protected String getMimeType() {
+ return "application/pdf";
+ }
+
+ @Override
+ protected String getFileName(FileExplorerItem r) {
+ return r.getName();
+ }
+
+ @Override
+ protected File getFile(FileExplorerItem r) {
+ return getFile(r, "pdf");
+ }
+}
Added: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java?rev=1739871&view=auto
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java (added)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java Tue Apr 19 08:58:04 2016
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.Application.isUserOnline;
+
+import java.io.File;
+
+import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
+import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+import org.apache.openmeetings.util.OmFileHelper;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.util.FileItemResourceReference;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.request.resource.IResource.Attributes;
+import org.apache.wicket.util.string.StringValue;
+import org.apache.wicket.util.string.Strings;
+
+public abstract class RoomResourceReference extends FileItemResourceReference<FileExplorerItem> {
+ private static final long serialVersionUID = 1L;
+
+ public RoomResourceReference(String name) {
+ super(name);
+ }
+
+ @Override
+ protected FileExplorerItem getFileItem(Attributes attributes) {
+ PageParameters params = attributes.getParameters();
+ StringValue _id = params.get("id");
+ String uid = params.get("uid").toString();
+ Long id = null;
+ try {
+ id = _id.toOptionalLong();
+ } catch (NumberFormatException e) {
+ //no-op expected
+ }
+ WebSession ws = WebSession.get();
+ if (id != null && ws.isSignedIn() && !Strings.isEmpty(uid) && isUserOnline(uid)) {
+ //TODO ADDITIONALLY CHECK Rights !! and room !!
+ return getBean(FileExplorerItemDao.class).get(id);
+ }
+ return null;
+ }
+
+ protected File getFile(FileExplorerItem r, String ext) {
+ File d = new File(OmFileHelper.getUploadFilesDir(), r.getHash());
+ return new File(d, String.format("%s.%s", r.getHash(), ext));
+ }
+}
Added: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomSwfResourceReference.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomSwfResourceReference.java?rev=1739871&view=auto
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomSwfResourceReference.java (added)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomSwfResourceReference.java Tue Apr 19 08:58:04 2016
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room;
+
+import java.io.File;
+
+import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+
+public class RoomSwfResourceReference extends RoomResourceReference {
+ private static final long serialVersionUID = 1L;
+
+ public RoomSwfResourceReference() {
+ super("swf-room-file");
+ }
+
+ @Override
+ protected String getMimeType() {
+ return "application/x-shockwave-flash";
+ }
+
+ @Override
+ protected String getFileName(FileExplorerItem r) {
+ return r.getName();
+ }
+
+ @Override
+ protected File getFile(FileExplorerItem r) {
+ return getFile(r, "swf");
+ }
+}
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java Tue Apr 19 08:58:04 2016
@@ -186,7 +186,14 @@ public class RoomMenuPanel extends Panel
exitMenuItem.setTop(true);
menu.add(exitMenuItem);
- filesMenu.getItems().add(new RoomMenuItem(Application.getString(15), Application.getString(1479)));
+ filesMenu.getItems().add(new RoomMenuItem(Application.getString(15), Application.getString(1479)) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void onClick(AjaxRequestTarget target) {
+ room.getSidebar().showUpload(target);
+ }
+ });
filesMenu.setTop(true);
menu.add(filesMenu);
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js Tue Apr 19 08:58:04 2016
@@ -17,7 +17,7 @@
* under the License.
*/
function setHeight() {
- var h = $(window).height() - $('#roomMenu').height();
+ var h = $(window).height() - $('#menu').height();
$(".room.sidebar.left").height(h);
var p = $(".room.sidebar.left .tabs");
p.height(h - 5); //FIXME hacks
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java Tue Apr 19 08:58:04 2016
@@ -39,7 +39,9 @@ import org.apache.openmeetings.web.commo
import org.apache.openmeetings.web.common.tree.FileTreePanel;
import org.apache.openmeetings.web.common.tree.MyRecordingTreeProvider;
import org.apache.openmeetings.web.common.tree.PublicRecordingTreeProvider;
+import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.wicket.Component;
+import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
import org.apache.wicket.model.IModel;
@@ -47,11 +49,11 @@ import org.apache.wicket.model.Model;
public class RoomFilePanel extends FileTreePanel {
private static final long serialVersionUID = 1L;
- private final long roomId;
+ private final RoomPanel room;
- public RoomFilePanel(String id, final long roomId) {
+ public RoomFilePanel(String id, RoomPanel room) {
super(id);
- this.roomId = roomId;
+ this.room = room;
}
@Override
@@ -70,6 +72,14 @@ public class RoomFilePanel extends FileT
protected Component getUpload(String id) {
Component u = super.getUpload(id);
u.setVisible(true);
+ u.add(new AjaxEventBehavior("click") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ room.getSidebar().showUpload(target);
+ }
+ });
return u;
}
@@ -79,7 +89,7 @@ public class RoomFilePanel extends FileT
f.setOwnerId(getUserId());
selectedFile.setObject(f);
treesView.add(selected = new FileItemTree<FileExplorerItem>(treesView.newChildId(), this, new FilesTreeProvider(null)));
- treesView.add(new FileItemTree<FileExplorerItem>(treesView.newChildId(), this, new FilesTreeProvider(roomId)));
+ treesView.add(new FileItemTree<FileExplorerItem>(treesView.newChildId(), this, new FilesTreeProvider(room.getRoom().getId())));
treesView.add(new FileItemTree<Recording>(treesView.newChildId(), this, new MyRecordingTreeProvider()));
treesView.add(new FileItemTree<Recording>(treesView.newChildId(), this, new PublicRecordingTreeProvider(null, null)));
for (GroupUser ou : getBean(UserDao.class).get(getUserId()).getGroupUsers()) {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html Tue Apr 19 08:58:04 2016
@@ -38,5 +38,6 @@
<wicket:fragment wicket:id="file-panel">
<div class="file list" wicket:id="tree"></div>
</wicket:fragment>
+ <div wicket:id="upload"></div>
</wicket:panel>
</html>
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1739871&r1=1739870&r2=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java Tue Apr 19 08:58:04 2016
@@ -53,6 +53,8 @@ public class RoomSidebar extends Panel {
private final TabbedPanel tabs;
private final ITab userTab;
private final ITab fileTab;
+ private final UploadDialog upload;
+ private final RoomFilePanel roomFiles;
private boolean showFiles;
private final ListView<RoomClient> users = new ListView<RoomClient>("user", new ArrayList<RoomClient>()) {
private static final long serialVersionUID = 1L;
@@ -121,6 +123,8 @@ public class RoomSidebar extends Panel {
}
};
add(tabs = new TabbedPanel("tabs", Arrays.asList(userTab, fileTab)).setActiveTab(room.getRoom().isFilesOpened() ? 1 : 0));
+ roomFiles = new RoomFilePanel("tree", room);
+ add(upload = new UploadDialog("upload", room, roomFiles));
}
public class UserFragment extends Fragment {
@@ -137,7 +141,7 @@ public class RoomSidebar extends Panel {
public FileFragment(String id, String markupId) {
super(id, markupId, RoomSidebar.this);
- add(new RoomFilePanel("tree", room.getRoom().getId()));
+ add(roomFiles);
}
}
@@ -173,4 +177,8 @@ public class RoomSidebar extends Panel {
public boolean isShowFiles() {
return showFiles;
}
+
+ public void showUpload(IPartialPageRequestHandler handler) {
+ upload.open(handler);
+ }
}
Added: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html?rev=1739871&view=auto
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html (added)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html Tue Apr 19 08:58:04 2016
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<html xmlns:wicket="http://wicket.apache.org">
+<wicket:panel>
+ <form wicket:id="form">
+ <div style="margin-bottom: 30px;"><wicket:message key="594"/></div>
+ <div class="fileinput fileinput-new" data-provides="fileinput" style="margin: 0;">
+ <div style="display: block;" class="fileinput-filename"></div>
+ <span class="btn btn-file ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" style="width: 120px;">
+ <span class="ui-button-text"><wicket:message key="596"/></span>
+ <input type="file" wicket:id="file"/>
+ </span>
+ </div>
+ <div wicket:id="feedback"></div>
+ <span wicket:id="progress">[progressbar]</span>
+ <div style="margin-top: 30px;"><input type="checkbox"/><label><wicket:message key="1312"/></label></div>
+ </form>
+ <form wicket:id="name-form">
+ <input type="hidden" wicket:id="name"/>
+ </form>
+</wicket:panel>
+</html>
Added: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java?rev=1739871&view=auto
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java (added)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java Tue Apr 19 08:58:04 2016
@@ -0,0 +1,194 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room.sidebar;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.openmeetings.core.data.file.FileProcessor;
+import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
+import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+import org.apache.openmeetings.db.entity.file.FileItem;
+import org.apache.openmeetings.util.StoredFile;
+import org.apache.openmeetings.util.process.ConverterProcessResultList;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.room.RoomPanel;
+import org.apache.openmeetings.web.util.BootstrapFileUploadBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.form.AjaxFormSubmitBehavior;
+import org.apache.wicket.behavior.AttributeAppender;
+import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+import org.apache.wicket.extensions.ajax.markup.html.form.upload.UploadProgressBar;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.JavaScriptHeaderItem;
+import org.apache.wicket.markup.head.PriorityHeaderItem;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.HiddenField;
+import org.apache.wicket.markup.html.form.upload.FileUpload;
+import org.apache.wicket.markup.html.form.upload.FileUploadField;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.request.resource.JavaScriptResourceReference;
+import org.apache.wicket.util.lang.Bytes;
+import org.apache.wicket.util.string.Strings;
+
+import com.googlecode.wicket.jquery.core.Options;
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
+
+public class UploadDialog extends AbstractFormDialog<String> {
+ private static final long serialVersionUID = 1L;
+ private final KendoFeedbackPanel feedback = new KendoFeedbackPanel("feedback", new Options("button", true));
+ private final Form<String> form;
+ private final DialogButton upload;
+ private final DialogButton cancel;
+ private final FileUploadField uploadField;
+ private final HiddenField<String> fileName;
+ private final RoomFilePanel roomFiles;
+ private final RoomPanel room;
+
+ public UploadDialog(String id, RoomPanel room, RoomFilePanel roomFiles) {
+ super(id, Application.getString(304));
+ this.roomFiles = roomFiles;
+ this.room = room;
+ add(form = new Form<>("form"));
+ upload = new DialogButton("upload", Application.getString(593), false) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean isIndicating() {
+ return true;
+ }
+ };
+ cancel = new DialogButton("close", Application.getString(85));
+ form.add(feedback.setOutputMarkupId(true));
+
+ form.setMultiPart(true);
+ form.setMaxSize(Bytes.bytes(getBean(ConfigurationDao.class).getMaxUploadSize()));
+ // Model is necessary here to avoid writing image to the User object
+ form.add(uploadField = new FileUploadField("file", new IModel<List<FileUpload>>() {
+ private static final long serialVersionUID = 1L;
+
+ //FIXME this need to be eliminated
+ @Override
+ public void detach() {
+ }
+
+ @Override
+ public void setObject(List<FileUpload> object) {
+ }
+
+ @Override
+ public List<FileUpload> getObject() {
+ return null;
+ }
+ }));
+ uploadField.add(AttributeAppender.append("accept", StoredFile.getAcceptAttr()));
+ Form<String> nameForm = new Form<>("name-form");
+ fileName = new HiddenField<>("name", Model.of(""));
+ fileName.add(new AjaxFormSubmitBehavior(nameForm, "change") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target) {
+ if (!Strings.isEmpty(getComponent().getDefaultModelObjectAsString())) {
+ upload.setEnabled(true, target);
+ }
+ }
+ }).setOutputMarkupId(true);
+ form.add(new UploadProgressBar("progress", form, uploadField));
+ add(nameForm.add(fileName.setOutputMarkupId(true)));
+ add(BootstrapFileUploadBehavior.INSTANCE);
+ }
+
+ @Override
+ public void onClick(AjaxRequestTarget target, DialogButton button) {
+ if (button == null || button.match("close")) {
+ super.onClick(target, button);
+ }
+ }
+
+ @Override
+ protected List<DialogButton> getButtons() {
+ return Arrays.asList(upload, cancel);
+ }
+
+ @Override
+ public DialogButton getSubmitButton() {
+ return upload;
+ }
+
+ @Override
+ public Form<?> getForm() {
+ return form;
+ }
+
+ @Override
+ protected void onOpen(IPartialPageRequestHandler handler) {
+ super.onOpen(handler);
+ handler.appendJavaScript(String.format("bindUpload('%s', '%s');", form.getMarkupId(), fileName.getMarkupId()));
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target) {
+ target.add(feedback);
+ }
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target) {
+ FileUpload fu = uploadField.getFileUpload();
+ if (fu != null) {
+ FileExplorerItem f = new FileExplorerItem();
+ f.setSize(fu.getSize());
+ f.setName(fu.getClientFileName());
+ FileItem parent = roomFiles.getSelectedFile();
+ if (parent == null || !(parent instanceof FileExplorerItem)) {
+ f.setOwnerId(getUserId());
+ } else {
+ f.setRoomId(parent.getRoomId());
+ f.setOwnerId(parent.getOwnerId());
+ if (parent.getId() > 0) {
+ f.setParentId(FileItem.Type.Folder == parent.getType() ? parent.getId() : parent.getParentId());
+ }
+ }
+ f.setInsertedBy(getUserId());
+
+ try {
+ ConverterProcessResultList result = getBean(FileProcessor.class).processFile(getUserId(), f, fu.getInputStream());
+ if (result.hasError()) {
+ error(result.getLogMessage());
+ } else {
+ close(target, null);
+ }
+ } catch (Exception e) {
+ error(e.getMessage());
+ }
+ }
+ }
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(new JavaScriptResourceReference(UploadDialog.class, "upload.js"))));
+ }
+}
Added: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js?rev=1739871&view=auto
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js (added)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js Tue Apr 19 08:58:04 2016
@@ -0,0 +1,31 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+function bindUpload(markupId, hiddenId) {
+ var fi = $('#' + markupId + ' .fileinput');
+ if (!fi.eventAdded) {
+ $('#' + markupId + ' .fileinput').on('change.bs.fileinput', function(event) {
+ event.stopPropagation();
+ var hi = $('#' + hiddenId);
+ hi.val($('#' + markupId + ' .fileinput .fileinput-filename').text());
+ hi.trigger('change');
+ return false;
+ });
+ fi.eventAdded = true;
+ }
+}
Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/AviRecordingResourceReference.java (from r1739859, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/AviRecordingResourceReference.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/AviRecordingResourceReference.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java&r1=1739859&r2=1739871&rev=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/AviRecordingResourceReference.java Tue Apr 19 08:58:04 2016
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.web.util;
+package org.apache.openmeetings.web.user.record;
import static org.apache.openmeetings.util.OmFileHelper.getRecording;
@@ -37,12 +37,12 @@ public class AviRecordingResourceReferen
}
@Override
- String getFileName(Recording r) {
+ protected String getFileName(Recording r) {
return r.getAlternateDownload();
}
@Override
- File getFile(Recording r) {
+ protected File getFile(Recording r) {
return getRecording(r.getAlternateDownload());
}
}
Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/FlvRecordingResourceReference.java (from r1739846, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/FlvRecordingResourceReference.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/FlvRecordingResourceReference.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java&r1=1739846&r2=1739871&rev=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/FlvRecordingResourceReference.java Tue Apr 19 08:58:04 2016
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.web.util;
+package org.apache.openmeetings.web.user.record;
import static org.apache.openmeetings.util.OmFileHelper.getRecording;
@@ -37,12 +37,12 @@ public class FlvRecordingResourceReferen
}
@Override
- String getFileName(Recording r) {
+ protected String getFileName(Recording r) {
return r.getHash();
}
@Override
- File getFile(Recording r) {
+ protected File getFile(Recording r) {
return getRecording(r.getHash());
}
}
Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/JpgRecordingResourceReference.java (from r1739846, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/JpgRecordingResourceReference.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/JpgRecordingResourceReference.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java&r1=1739846&r2=1739871&rev=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/JpgRecordingResourceReference.java Tue Apr 19 08:58:04 2016
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.web.util;
+package org.apache.openmeetings.web.user.record;
import static org.apache.openmeetings.util.OmFileHelper.getRecording;
@@ -37,12 +37,12 @@ public class JpgRecordingResourceReferen
}
@Override
- String getFileName(Recording r) {
+ protected String getFileName(Recording r) {
return r.getPreviewImage();
}
@Override
- File getFile(Recording r) {
+ protected File getFile(Recording r) {
return getRecording(r.getPreviewImage());
}
}
Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/Mp4RecordingResourceReference.java (from r1739846, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/Mp4RecordingResourceReference.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/Mp4RecordingResourceReference.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java&r1=1739846&r2=1739871&rev=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/Mp4RecordingResourceReference.java Tue Apr 19 08:58:04 2016
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.web.util;
+package org.apache.openmeetings.web.user.record;
import static org.apache.openmeetings.util.OmFileHelper.MP4_EXTENSION;
import static org.apache.openmeetings.util.OmFileHelper.getMp4Recording;
@@ -38,12 +38,12 @@ public class Mp4RecordingResourceReferen
}
@Override
- String getFileName(Recording r) {
+ protected String getFileName(Recording r) {
return r.getHash() + MP4_EXTENSION;
}
@Override
- File getFile(Recording r) {
+ protected File getFile(Recording r) {
return getMp4Recording(r.getHash());
}
}
Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/OggRecordingResourceReference.java (from r1739846, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/OggRecordingResourceReference.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/OggRecordingResourceReference.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java&r1=1739846&r2=1739871&rev=1739871&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/OggRecordingResourceReference.java Tue Apr 19 08:58:04 2016
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.web.util;
+package org.apache.openmeetings.web.user.record;
import static org.apache.openmeetings.util.OmFileHelper.OGG_EXTENSION;
import static org.apache.openmeetings.util.OmFileHelper.getOggRecording;
@@ -38,12 +38,12 @@ public class OggRecordingResourceReferen
}
@Override
- String getFileName(Recording r) {
+ protected String getFileName(Recording r) {
return r.getHash() + OGG_EXTENSION;
}
@Override
- File getFile(Recording r) {
+ protected File getFile(Recording r) {
return getOggRecording(r.getHash());
}
}