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/08/20 02:52:45 UTC
svn commit: r1756981 [1/2] - in /openmeetings/application:
branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/
branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/
branches/3.1.x/open...
Author: solomax
Date: Sat Aug 20 02:52:45 2016
New Revision: 1756981
URL: http://svn.apache.org/viewvc?rev=1756981&view=rev
Log:
[OPENMEETINGS-1138] tree/file releated fixed merged back to 3.1.x
Added:
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmButton.java
- copied unchanged from r1756975, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmButton.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java
- copied unchanged from r1756975, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/AviRecordingResourceReference.java
- copied, changed from r1756980, openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/FlvRecordingResourceReference.java
- copied, changed from r1756980, openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/JpgRecordingResourceReference.java
- copied, changed from r1756980, openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/Mp4RecordingResourceReference.java
- copied, changed from r1756980, openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/OggRecordingResourceReference.java
- copied, changed from r1756980, openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
- copied, changed from r1756980, openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
- copied unchanged from r1756975, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.css
- copied unchanged from r1756975, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.css
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.js
- copied unchanged from r1756975, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.js
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.min.css
- copied unchanged from r1756975, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.min.css
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.min.js
- copied unchanged from r1756975, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/fileinput.min.js
Removed:
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/MyRecordingTreeProvider.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/PublicRecordingTreeProvider.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/RecordingTreeProvider.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/bootstrap-fileupload.css
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/bootstrap-fileupload.js
Modified:
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServerForm.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/AddFolderDialog.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.html
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuItem.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuPanel.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/RoomMenuItem.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.html
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/KickMessageDialog.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/BootstrapFileUploadBehavior.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CallbackFunctionHelper.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/activities.css
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/room.css
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/css/theme.css
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/js/openmeetings_functions.js
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/library/TestFileParser.java
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/theme.css
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/theme.css
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java Sat Aug 20 02:52:45 2016
@@ -19,13 +19,12 @@
package org.apache.openmeetings.core.converter;
import static org.apache.openmeetings.core.data.record.listener.async.BaseStreamWriter.TIME_TO_WAIT_FOR_FRAME;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OmFileHelper.MP4_EXTENSION;
import static org.apache.openmeetings.util.OmFileHelper.OGG_EXTENSION;
-import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OmFileHelper.getRecording;
import static org.apache.openmeetings.util.OmFileHelper.getRecordingMetaData;
import static org.apache.openmeetings.util.OmFileHelper.getStreamsSubDir;
-import static org.apache.openmeetings.util.OmFileHelper.isRecordingExists;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
@@ -340,7 +339,7 @@ public abstract class BaseConverter {
public void convertToMp4(Recording r, List<ConverterProcessResult> returnLog) throws IOException {
//TODO add faststart, move filepaths to helpers
- if (!isRecordingExists(r.getHash())) {
+ if (!r.exists()) {
return;
}
File file = getRecording(r.getHash());
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java Sat Aug 20 02:52:45 2016
@@ -18,7 +18,6 @@
*/
package org.apache.openmeetings.core.data.file;
-import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OmFileHelper.getUploadFilesDir;
import static org.apache.openmeetings.util.OmFileHelper.getUploadTempFilesDir;
import static org.apache.openmeetings.util.OmFileHelper.thumbImagePrefix;
@@ -26,8 +25,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 +37,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,20 +58,23 @@ 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 hash = 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);
+ StoredFile storedFile = new StoredFile(hash, ext);
// Check variable to see if this file is a presentation
// check if this is a a file that can be converted by
@@ -94,22 +95,18 @@ public class FileProcessor {
return returnError;
}
- File completeName = new File(isAsIs ? getUploadFilesDir() : getUploadTempFilesDir(), newName + extDot);
+ File completeName = new File(isAsIs ? getUploadFilesDir() : getUploadTempFilesDir(), hash + extDot);
log.debug("writing file to: " + completeName);
FileHelper.copy(is, completeName);
is.close();
- String hash = newName + extDot;
if (isImage) {
- hash = newName + ".jpg";
f.setType(Type.Image);
} else if (isVideo) {
- hash = newName + FLV_EXTENSION;
f.setType(Type.Video);
} else if (isChart) {
f.setType(Type.PollChart);
} else if (isPdf || canBeConverted) {
- hash = newName;
f.setType(Type.Presentation);
}
f.setHash(hash);
@@ -120,16 +117,16 @@ public class FileProcessor {
log.debug("canBeConverted: " + canBeConverted);
if (canBeConverted) {
// convert to pdf, thumbs, swf and xml-description
- returnError = generatePDF.convertPDF(newName, "files", true, completeName);
+ returnError = generatePDF.convertPDF(hash, "files", true, completeName);
} else if (isPdf) {
// convert to thumbs, swf and xml-description
- returnError = generatePDF.convertPDF(newName, "files", false, completeName);
+ returnError = generatePDF.convertPDF(hash, "files", false, completeName);
} else if (isChart) {
log.debug("uploaded chart file");
} else if (isImage && !isAsIs) {
// convert it to JPG
log.debug("##### convert it to JPG: ");
- returnError = generateImage.convertImage(newName, extDot, "files");
+ returnError = generateImage.convertImage(hash, extDot, "files");
} else if (isAsIs) {
ConverterProcessResult processThumb = generateThumbs.generateThumb(thumbImagePrefix, completeName, 50);
returnError.addItem("processThumb", processThumb);
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java Sat Aug 20 02:52:45 2016
@@ -35,31 +35,31 @@ import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.XppDriver;
public class LibraryChartLoader {
- private static final Logger log = Red5LoggerFactory.getLogger(LibraryWmlLoader.class, webAppRootKey);
+ private static final Logger log = Red5LoggerFactory.getLogger(LibraryChartLoader.class, webAppRootKey);
- private static final String fileExt = ".xchart";
+ private static final String fileExt = ".xchart";
- private static LibraryChartLoader instance;
+ private static LibraryChartLoader instance;
- private LibraryChartLoader() {
- }
+ private LibraryChartLoader() {
+ }
- public static synchronized LibraryChartLoader getInstance() {
- if (instance == null) {
- instance = new LibraryChartLoader();
- }
- return instance;
- }
+ public static synchronized LibraryChartLoader getInstance() {
+ if (instance == null) {
+ instance = new LibraryChartLoader();
+ }
+ return instance;
+ }
- @SuppressWarnings("rawtypes")
+ @SuppressWarnings("rawtypes")
public ArrayList loadChart(File dir, String fileName) {
- try {
- File file = new File(dir, fileName + fileExt);
+ try {
+ File file = new File(dir, fileName + fileExt);
- log.error("filepathComplete: " + file);
+ log.error("filepathComplete: " + file);
- XStream xStream = new XStream(new XppDriver());
- xStream.setMode(XStream.NO_REFERENCES);
+ XStream xStream = new XStream(new XppDriver());
+ xStream.setMode(XStream.NO_REFERENCES);
try (InputStream is = new FileInputStream(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)))
@@ -67,11 +67,11 @@ public class LibraryChartLoader {
ArrayList lMapList = (ArrayList) xStream.fromXML(reader);
return lMapList;
}
- } catch (Exception err) {
- log.error("Unexpected error while loading chart", err);
- }
+ } catch (Exception err) {
+ log.error("Unexpected error while loading chart", err);
+ }
- return null;
- }
+ return null;
+ }
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryWmlLoader.java Sat Aug 20 02:52:45 2016
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.core.documents;
+import static org.apache.openmeetings.util.OmFileHelper.WML_EXTENSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.BufferedReader;
@@ -27,11 +28,9 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
+import java.util.List;
import org.apache.openmeetings.util.OmFileHelper;
-import org.dom4j.Element;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -40,14 +39,12 @@ import com.thoughtworks.xstream.io.xml.X
public class LibraryWmlLoader {
private static final Logger log = Red5LoggerFactory.getLogger(LibraryWmlLoader.class, webAppRootKey);
- private static final String fileExt = ".wml";
- @SuppressWarnings({ "rawtypes" })
- public ArrayList loadWmlFile(String fileName){
+ public static List<?> loadWmlFile(String fileName){
try {
String name = fileName;
- if (!name.endsWith(fileExt)) {
- name += fileExt;
+ if (!name.endsWith(WML_EXTENSION)) {
+ name += WML_EXTENSION;
}
File file = new File(OmFileHelper.getUploadWmlDir(), name);
log.debug("filepathComplete: " + file);
@@ -58,7 +55,7 @@ public class LibraryWmlLoader {
try (InputStream is = new FileInputStream(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)))
{
- ArrayList lMapList = (ArrayList) xStream.fromXML(reader);
+ List<?> lMapList = (List<?>) xStream.fromXML(reader);
return lMapList;
}
@@ -66,185 +63,6 @@ public class LibraryWmlLoader {
log.error("loadWmlFile",err);
}
- return null;
+ return new ArrayList<>();
}
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- @SuppressWarnings({ "unused", "rawtypes" })
- private static void createListObjectPaintByNode(Element paintElement, LinkedHashMap<Integer,Object> subMap){
- try {
-
- LinkedHashMap<Integer,LinkedHashMap> pointMap = new LinkedHashMap<Integer,LinkedHashMap>();
- Element pointElements = paintElement.element("points");
- Integer k = 0;
-
- for ( Iterator i = pointElements.elementIterator( "point" ); i.hasNext(); ) {
- Element pointElement = (Element) i.next();
- LinkedHashMap<Integer,Object> singlePoint = new LinkedHashMap<Integer,Object>();
- singlePoint.put(0, pointElement.getName());
- singlePoint.put(1, Integer.valueOf(pointElement.attribute("val1").getText()));
- singlePoint.put(2, Integer.valueOf(pointElement.attribute("val2").getText()));
- singlePoint.put(3, Integer.valueOf(pointElement.attribute("val3").getText()));
- singlePoint.put(4, Integer.valueOf(pointElement.attribute("val4").getText()));
- pointMap.put(k, singlePoint);
- log.debug("createListObjectPaintByNode"+singlePoint);
- k++;
- }
- subMap.put(1, pointMap);
-
- subMap.put(2, paintElement.element("fillstyle").getText());
- subMap.put(3, Integer.valueOf(paintElement.element("linewidth").getText()));
- subMap.put(4, Integer.valueOf(paintElement.element("strokestyle").getText()));
- subMap.put(5, Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(6, Float.valueOf(paintElement.element("x").getText()));
- subMap.put(7, Float.valueOf(paintElement.element("y").getText()));
- subMap.put(8, Float.valueOf(paintElement.element("width").getText()));
- subMap.put(9, Float.valueOf(paintElement.element("height").getText()));
- subMap.put(10, paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectPaintByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectLetterByNode(Element paintElement, LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1, paintElement.element("textforfield").getText());
- subMap.put(2, Integer.valueOf(paintElement.element("fgcolor").getText()));
- subMap.put(3, Integer.valueOf(paintElement.element("fontsize").getText()));
- subMap.put(4, paintElement.element("fontstyle").getText());
- subMap.put(5, Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(6, Float.valueOf(paintElement.element("x").getText()));
- subMap.put(7, Float.valueOf(paintElement.element("y").getText()));
- subMap.put(8, Float.valueOf(paintElement.element("width").getText()));
- subMap.put(9, Float.valueOf(paintElement.element("height").getText()));
- subMap.put(10, paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectLetterByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectImageByNode(Element paintElement, LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1, paintElement.element("urlname").getText());
- subMap.put(2, paintElement.element("baseurl").getText());
- subMap.put(3, paintElement.element("filename").getText());
- subMap.put(4, paintElement.element("modulename").getText());
- subMap.put(5, paintElement.element("parentpath").getText());
- subMap.put(6, paintElement.element("room").getText());
- subMap.put(7, paintElement.element("domain").getText());
- subMap.put(8, Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(9, Float.valueOf(paintElement.element("x").getText()));
- subMap.put(10, Float.valueOf(paintElement.element("y").getText()));
- subMap.put(11, Float.valueOf(paintElement.element("width").getText()));
- subMap.put(12, Float.valueOf(paintElement.element("height").getText()));
- subMap.put(13, paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectImageByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectObjecByNode(Element paintElement, LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1, paintElement.element("fillstyle").getText());
- subMap.put(2, paintElement.element("linewidth").getText());
- subMap.put(3, Integer.valueOf(paintElement.element("strokestyle").getText()));
- subMap.put(4, Float.valueOf(paintElement.element("startx").getText()));
- subMap.put(5, Float.valueOf(paintElement.element("starty").getText()));
- subMap.put(6, Float.valueOf(paintElement.element("endx").getText()));
- subMap.put(7, Float.valueOf(paintElement.element("endy").getText()));
- subMap.put(8, Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(9, Float.valueOf(paintElement.element("x").getText()));
- subMap.put(10, Float.valueOf(paintElement.element("y").getText()));
- subMap.put(11, Float.valueOf(paintElement.element("width").getText()));
- subMap.put(12, Float.valueOf(paintElement.element("height").getText()));
- subMap.put(13, paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectObjecByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectRectAndEllipseByNode(Element paintElement, LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1, Integer.valueOf(paintElement.element("stroke").getText()));
- subMap.put(2, paintElement.element("line").getText());
- subMap.put(3, Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(4, Float.valueOf(paintElement.element("x").getText()));
- subMap.put(5, Float.valueOf(paintElement.element("y").getText()));
- subMap.put(6, Float.valueOf(paintElement.element("width").getText()));
- subMap.put(7, Float.valueOf(paintElement.element("height").getText()));
- subMap.put(8, paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectObjecByNode",err);
- }
- }
-
- /**
- * @deprecated
- * @param paintElement
- * @param subMap
- */
- public void createListObjectSWFByNode(Element paintElement, LinkedHashMap<Integer,Object> subMap){
- try {
-
- subMap.put(1, paintElement.element("urlname").getText());
- subMap.put(2, paintElement.element("baseurl").getText());
- subMap.put(3, paintElement.element("filename").getText());
- subMap.put(4, paintElement.element("modulename").getText());
- subMap.put(5, paintElement.element("parentpath").getText());
- subMap.put(6, paintElement.element("room").getText());
- subMap.put(7, paintElement.element("domain").getText());
- subMap.put(8, Integer.valueOf(paintElement.element("slideNumber").getText()));
- subMap.put(9, Float.valueOf(paintElement.element("innerx").getText()));
- subMap.put(10, Float.valueOf(paintElement.element("innery").getText()));
- subMap.put(11, Float.valueOf(paintElement.element("innerwidth").getText()));
- subMap.put(12, Float.valueOf(paintElement.element("innerheight").getText()));
- subMap.put(13, Integer.valueOf(paintElement.element("zoomlevel").getText()));
- subMap.put(14, Float.valueOf(paintElement.element("initwidth").getText()));
- subMap.put(15, Float.valueOf(paintElement.element("initheight").getText()));
- subMap.put(16, Integer.valueOf(paintElement.element("currentzoom").getText()));
- subMap.put(17, Integer.valueOf(paintElement.element("counter").getText()));
- subMap.put(18, Float.valueOf(paintElement.element("x").getText()));
- subMap.put(19, Float.valueOf(paintElement.element("y").getText()));
- subMap.put(20, Float.valueOf(paintElement.element("width").getText()));
- subMap.put(21, Float.valueOf(paintElement.element("height").getText()));
- subMap.put(22, paintElement.element("layername").getText());
-
- } catch (Exception err) {
- log.error("createListObjectImageByNode",err);
- }
- }
-
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java Sat Aug 20 02:52:45 2016
@@ -24,8 +24,8 @@ import static org.apache.openmeetings.ut
import java.io.File;
import java.util.ArrayList;
-import java.util.Date;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.apache.commons.transaction.util.FileHelper;
@@ -44,7 +44,6 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.util.OmFileHelper;
-import org.apache.openmeetings.util.crypt.MD5;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IConnection;
import org.red5.server.api.Red5;
@@ -71,8 +70,6 @@ public class ConferenceLibrary implement
@Autowired
private FileExplorerItemDao fileDao;
@Autowired
- private LibraryWmlLoader libraryWmlLoader;
- @Autowired
private WhiteboardManager whiteboardManagement;
public LibraryPresentation getPresentationPreviewFileExplorer(String SID, String parentFolder) {
@@ -105,12 +102,12 @@ public class ConferenceLibrary implement
* Save an Object to the library and returns the file-explorer Id
*
* @param SID
- * @param room_id
+ * @param roomId
* @param fileName
* @param tObjectRef
* @return - file-explorer Id in case of success, -1 otherwise
*/
- public Long saveAsObject(String SID, Long room_id, String fileName, Object tObjectRef) {
+ public Long saveAsObject(String SID, Long roomId, String fileName, Object tObjectRef) {
try {
Long users_id = sessionDao.check(SID);
if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
@@ -125,18 +122,10 @@ public class ConferenceLibrary implement
log.debug("saveAsObject" + tObject.size());
- String localFileName = MD5.checksum(new Date().toString()) + ".wml";
-
- LibraryDocumentConverter.writeToLocalFolder(localFileName, tObject);
+ FileExplorerItem file = fileDao.add(fileName, null, null, roomId, users_id, Type.WmlFile, "", "");
+ LibraryDocumentConverter.writeToLocalFolder(file.getHash(), tObject);
- // String wmlPath = current_dir + File.separatorChar+fileName
- // +".xml";
- // OwnerID == null
- Long fileExplorerId = fileDao.add(fileName, "", null,
- null, room_id, users_id, Type.WmlFile, localFileName, // WML localFileName
- "", "");
-
- return fileExplorerId;
+ return file.getId();
}
} catch (Exception err) {
log.error("[saveAsObject] ", err);
@@ -145,7 +134,6 @@ public class ConferenceLibrary implement
}
/**
- *
* Loads a Object from the library into the whiteboard of all participant of
* the current room
*
@@ -167,13 +155,13 @@ public class ConferenceLibrary implement
return;
}
- FileExplorerItem fileExplorerItem = fileDao.get(fileId);
- if (fileExplorerItem == null) {
+ FileExplorerItem fi = fileDao.get(fileId);
+ if (fi == null) {
log.warn("[loadWmlObject] Unable to load Wml file by Id {}", fileId);
return;
}
- ArrayList roomItems = libraryWmlLoader.loadWmlFile(fileExplorerItem.getWmlFilePath());
+ List<?> roomItems = LibraryWmlLoader.loadWmlFile(fi.getHash());
Map whiteboardObjClear = new HashMap();
whiteboardObjClear.put(2, "clear");
Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java Sat Aug 20 02:52:45 2016
@@ -18,10 +18,14 @@
*/
package org.apache.openmeetings.db.dao.file;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_JPG;
+import static org.apache.openmeetings.util.OmFileHelper.thumbImagePrefix;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+import java.io.File;
import java.util.Date;
import java.util.List;
+import java.util.UUID;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
@@ -30,6 +34,7 @@ import javax.persistence.TypedQuery;
import org.apache.openmeetings.db.entity.file.FileExplorerItem;
import org.apache.openmeetings.db.entity.file.FileItem.Type;
+import org.apache.openmeetings.util.OmFileHelper;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.transaction.annotation.Transactional;
@@ -44,13 +49,13 @@ public class FileExplorerItemDao {
@PersistenceContext
private EntityManager em;
- public Long add(String fileName, String fileHash, Long parentId, Long ownerId, Long roomId, Long insertedBy,
- Type type, String wmlFilePath, String externalId, String externalType) {
+ public FileExplorerItem add(String fileName, Long parentId, Long ownerId, Long roomId, Long insertedBy,
+ Type type, String externalId, String externalType) {
log.debug(".add(): adding file " + fileName + " roomID: " + roomId);
try {
FileExplorerItem fileItem = new FileExplorerItem();
fileItem.setName(fileName);
- fileItem.setHash(fileHash);
+ fileItem.setHash(UUID.randomUUID().toString());
fileItem.setDeleted(false);
fileItem.setParentId(parentId);
fileItem.setOwnerId(ownerId);
@@ -59,15 +64,13 @@ public class FileExplorerItemDao {
fileItem.setInsertedBy(insertedBy);
fileItem.setType(type);
fileItem.setUpdated(new Date());
- fileItem.setWmlFilePath(wmlFilePath);
fileItem.setExternalId(externalId);
fileItem.setExternalType(externalType);
fileItem = em.merge(fileItem);
- Long fileItemId = fileItem.getId();
- log.debug(".add(): file " + fileName + " added as " + fileItemId);
- return fileItemId;
+ log.debug(".add(): file " + fileName + " added as " + fileItem.getId());
+ return fileItem;
} catch (Exception ex2) {
log.error(".add(): ", ex2);
}
@@ -253,4 +256,58 @@ public class FileExplorerItemDao {
return update(f);
}
+ public long getOwnSize(Long userId) {
+ return getSize(getByOwner(userId));
+ }
+
+ public long getRoomSize(Long roomId) {
+ return getSize(getByRoom(roomId));
+ }
+
+ public long getSize(List<FileExplorerItem> list) {
+ long size = 0;
+ for (FileExplorerItem f : list) {
+ log.debug("FileExplorerItem fList " + f.getName());
+ size += getSize(f);
+ }
+ return size;
+ }
+
+ public long getSize(FileExplorerItem f) {
+ long size = 0;
+ try {
+ if (f.exists()) {
+ File base = OmFileHelper.getUploadFilesDir();
+ if (Type.Image == f.getType()) {
+ size += f.getFile().length();
+ File thumbFile = new File(base, String.format("%s%s.%s", thumbImagePrefix, f.getHash(), EXTENSION_JPG));
+ if (thumbFile.exists()) {
+ size += thumbFile.length();
+ }
+ }
+ if (Type.Presentation == f.getType()) {
+ File tFolder = new File(base, f.getHash());
+
+ if (tFolder.exists()) {
+ size += OmFileHelper.getSize(tFolder);
+ }
+ }
+ if (Type.Video == f.getType()) {
+ size += f.getFile().length();
+ File thumb = f.getFile(EXTENSION_JPG);
+ if (thumb.exists()) {
+ size += thumb.length();
+ }
+ }
+ }
+ if (Type.Folder == f.getType()) {
+ for (FileExplorerItem child : getByParent(f.getId())) {
+ size += getSize(child);
+ }
+ }
+ } catch (Exception err) {
+ log.error("[getSize] ", err);
+ }
+ return size;
+ }
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java Sat Aug 20 02:52:45 2016
@@ -18,12 +18,11 @@
*/
package org.apache.openmeetings.db.dao.record;
-import static org.apache.openmeetings.util.OmFileHelper.MP4_EXTENSION;
-import static org.apache.openmeetings.util.OmFileHelper.OGG_EXTENSION;
-import static org.apache.openmeetings.util.OmFileHelper.getMp4Recording;
-import static org.apache.openmeetings.util.OmFileHelper.getOggRecording;
-import static org.apache.openmeetings.util.OmFileHelper.getRecording;
-import static org.apache.openmeetings.util.OmFileHelper.isRecordingExists;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_AVI;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_FLV;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_JPG;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_MP4;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_OGG;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.util.Date;
@@ -265,20 +264,20 @@ public class RecordingDao {
private long getSize(Recording r) {
long size = 0;
- if (isRecordingExists(r.getHash())) {
- size += getRecording(r.getHash()).length();
+ if (r.exists(EXTENSION_FLV)) {
+ size += r.getFile(EXTENSION_FLV).length();
}
- if (isRecordingExists(r.getAlternateDownload())) {
- size += getRecording(r.getAlternateDownload()).length();
+ if (r.exists(EXTENSION_AVI)) {
+ size += r.getFile(EXTENSION_AVI).length();
}
- if (isRecordingExists(r.getPreviewImage())) {
- size += getRecording(r.getPreviewImage()).length();
+ if (r.exists(EXTENSION_JPG)) {
+ size += r.getFile(EXTENSION_JPG).length();
}
- if (isRecordingExists(r.getHash() + MP4_EXTENSION)) {
- size += getMp4Recording(r.getHash()).length();
+ if (r.exists(EXTENSION_MP4)) {
+ size += r.getFile(EXTENSION_MP4).length();
}
- if (isRecordingExists(r.getHash() + OGG_EXTENSION)) {
- size += getOggRecording(r.getHash()).length();
+ if (r.exists(EXTENSION_OGG)) {
+ size += r.getFile(EXTENSION_OGG).length();
}
for (Recording rec : getByParent(r.getId())) {
size += getSize(rec);
Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java Sat Aug 20 02:52:45 2016
@@ -18,6 +18,14 @@
*/
package org.apache.openmeetings.db.entity.file;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_JPG;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_MP4;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_SWF;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_WML;
+import static org.apache.openmeetings.util.OmFileHelper.WB_VIDEO_FILE_PREFIX;
+
+import java.io.File;
+
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
@@ -27,6 +35,7 @@ import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
+import org.apache.openmeetings.util.OmFileHelper;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
@@ -49,6 +58,7 @@ import org.simpleframework.xml.Root;
@Root
public class FileExplorerItem extends FileItem {
private static final long serialVersionUID = 1L;
+
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
@@ -59,10 +69,6 @@ public class FileExplorerItem extends Fi
@Element(data = true, required = false)
private Long size;
- @Column(name = "wml_file_path")
- @Element(data = true, required = false)
- private String wmlFilePath;
-
@Column(name = "external_id")
private String externalId;
@@ -87,14 +93,6 @@ public class FileExplorerItem extends Fi
this.size = fileSize;
}
- public String getWmlFilePath() {
- return wmlFilePath;
- }
-
- public void setWmlFilePath(String wmlFilePath) {
- this.wmlFilePath = wmlFilePath;
- }
-
public String getExternalId() {
return externalId;
}
@@ -111,4 +109,28 @@ public class FileExplorerItem extends Fi
this.externalType = externalType;
}
+ @Override
+ protected File internalGetFile(String ext) {
+ File f = null;
+ switch (getType()) {
+ case WmlFile:
+ f = new File(OmFileHelper.getUploadWmlDir(), String.format("%s.%s", getHash(), ext == null ? EXTENSION_WML : ext));
+ break;
+ case Image:
+ f = new File(OmFileHelper.getUploadFilesDir(), String.format("%s.%s", getHash(), ext == null ? EXTENSION_JPG : ext));
+ break;
+ case Video:
+ f = new File(OmFileHelper.getStreamsHibernateDir(), String.format("%s%s.%s", WB_VIDEO_FILE_PREFIX, getId(), ext == null ? EXTENSION_MP4 : ext));
+ break;
+ case Presentation: {
+ File d = new File(OmFileHelper.getUploadFilesDir(), getHash());
+ f = new File(d, String.format("%s.%s", getHash(), ext == null ? EXTENSION_SWF : ext));
+ }
+ break;
+ case PollChart:
+ case Folder:
+ default:
+ }
+ return f;
+ }
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java Sat Aug 20 02:52:45 2016
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.db.entity.file;
+import java.io.File;
import java.util.Date;
import javax.persistence.Column;
@@ -197,4 +198,78 @@ public abstract class FileItem implement
public void setType(Type type) {
this.type = type;
}
+
+ public File getFile() {
+ return getFile(null);
+ }
+
+ protected abstract File internalGetFile(String ext);
+
+ public final File getFile(String ext) {
+ return internalGetFile(ext);
+ }
+
+ public final boolean exists() {
+ return exists(null);
+ }
+
+ public final boolean exists(String ext) {
+ if (getId() != null && !isDeleted()) {
+ File f = getFile(ext);
+ return f != null && f.exists() && f.isFile();
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((hash == null) ? 0 : hash.hashCode());
+ result = prime * result + ((name == null) ? 0 : name.hashCode());
+ result = prime * result + ((ownerId == null) ? 0 : ownerId.hashCode());
+ result = prime * result + ((parentId == null) ? 0 : parentId.hashCode());
+ result = prime * result + ((roomId == null) ? 0 : roomId.hashCode());
+ result = prime * result + ((type == null) ? 0 : type.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ FileItem other = (FileItem) obj;
+ if (hash == null) {
+ if (other.hash != null)
+ return false;
+ } else if (!hash.equals(other.hash))
+ return false;
+ if (name == null) {
+ if (other.name != null)
+ return false;
+ } else if (!name.equals(other.name))
+ return false;
+ if (ownerId == null) {
+ if (other.ownerId != null)
+ return false;
+ } else if (!ownerId.equals(other.ownerId))
+ return false;
+ if (parentId == null) {
+ if (other.parentId != null)
+ return false;
+ } else if (!parentId.equals(other.parentId))
+ return false;
+ if (roomId == null) {
+ if (other.roomId != null)
+ return false;
+ } else if (!roomId.equals(other.roomId))
+ return false;
+ if (type != other.type)
+ return false;
+ return true;
+ }
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java Sat Aug 20 02:52:45 2016
@@ -18,6 +18,14 @@
*/
package org.apache.openmeetings.db.entity.record;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_AVI;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_FLV;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_OGG;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_MP4;
+import static org.apache.openmeetings.util.OmFileHelper.getRecording;
+import static org.apache.openmeetings.util.OmFileHelper.recordingFileName;
+
+import java.io.File;
import java.util.Date;
import java.util.List;
@@ -104,6 +112,7 @@ public class Recording extends FileItem
, PROCESSED
, ERROR
}
+
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
@@ -289,4 +298,21 @@ public class Recording extends FileItem
public void setStatus(Status status) {
this.status = status;
}
+
+ @Override
+ public File internalGetFile(String ext) {
+ File f = null;
+ if (getId() != null && !isDeleted()) {
+ if (ext == null || EXTENSION_MP4.equals(ext)) {
+ f = getRecording(String.format("%s%s.%s.%s", recordingFileName, id, EXTENSION_FLV, EXTENSION_MP4));
+ } else if (EXTENSION_FLV.equals(ext)) {
+ f = getRecording(String.format("%s%s.%s", recordingFileName, id, EXTENSION_FLV));
+ } else if (EXTENSION_AVI.equals(ext)) {
+ f = getRecording(String.format("%s%s.%s", recordingFileName, id, EXTENSION_AVI));
+ } else if (EXTENSION_OGG.equals(ext)) {
+ f = getRecording(String.format("%s%s.%s.%s", recordingFileName, id, EXTENSION_FLV, EXTENSION_OGG));
+ }
+ }
+ return f;
+ }
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java Sat Aug 20 02:52:45 2016
@@ -199,16 +199,6 @@ public class OmFileHelper {
return new File(getDir(getStreamsDir(), HIBERNATE_DIR), name);
}
- public static boolean isRecordingExists(String name) {
- try {
- File f = new File(getDir(getStreamsDir(), HIBERNATE_DIR), name);
- return f.exists() && f.isFile();
- } catch (Exception e) {
- //no-op
- }
- return false;
- }
-
public static File getMp4Recording(String name) {
return getRecording(name + MP4_EXTENSION);
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html Sat Aug 20 02:52:45 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.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java Sat Aug 20 02:52:45 2016
@@ -92,7 +92,7 @@ public class LdapForm extends AdminBaseF
@Override
protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> form) {
LdapConfig ldapConfig = this.getModelObject();
- if (ldapConfig.getId() <= 0) {
+ if (ldapConfig.getId() != null) {
ldapConfig = getBean(LdapConfigDao.class).get(ldapConfig.getId());
} else {
ldapConfig = new LdapConfig();
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java Sat Aug 20 02:52:45 2016
@@ -99,7 +99,7 @@ public class OAuthForm extends AdminBase
@Override
protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> form) {
OAuthServer server = this.getModelObject();
- if (server.getId() <= 0) {
+ if (server.getId() != null) {
server = Application.getBean(OAuth2Dao.class).get(getModelObject().getId());
} else {
server = new OAuthServer();
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServerForm.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServerForm.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServerForm.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServerForm.java Sat Aug 20 02:52:45 2016
@@ -99,7 +99,7 @@ public class ServerForm extends AdminBas
@Override
protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> form) {
Server server = getModelObject();
- if (server.getId() > 0) {
+ if (server.getId() != null) {
server = Application.getBean(ServerDao.class).get(server.getId());
} else {
server = new Server();
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java Sat Aug 20 02:52:45 2016
@@ -63,11 +63,11 @@ import org.apache.openmeetings.web.user.
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;
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/AddFolderDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/AddFolderDialog.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/AddFolderDialog.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/AddFolderDialog.java Sat Aug 20 02:52:45 2016
@@ -70,13 +70,13 @@ public abstract class AddFolderDialog ex
});
}
};
- add(form);
+ add(form.setOutputMarkupId(true));
}
@Override
protected void onOpen(IPartialPageRequestHandler handler) {
super.onOpen(handler);
-
+ handler.add(form);
setModelObject(name);
getFeedbackMessages().clear();
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java Sat Aug 20 02:52:45 2016
@@ -39,7 +39,7 @@ public abstract class BasePanel extends
setOutputMarkupId(true);
}
- protected MainPage getMainPage() {
+ public MainPage getMainPage() {
return (MainPage)super.getPage();
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java Sat Aug 20 02:52:45 2016
@@ -23,7 +23,6 @@ import org.apache.wicket.ajax.AjaxReques
import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
import org.apache.wicket.markup.html.border.Border;
import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
@@ -36,21 +35,15 @@ public abstract class ConfirmableAjaxBor
private static final long serialVersionUID = 1L;
private final Form<?> form = new Form<>("form");
private final Form<?> userForm;
- private final IModel<String> title;
- private final IModel<String> message;
+ private final AbstractFormDialog<?> dialog;
public ConfirmableAjaxBorder(String id, String title, String message) {
- this(id, Model.of(title), Model.of(message), null);
+ this(id, title, message, null);
}
public ConfirmableAjaxBorder(String id, String title, String message, Form<?> form) {
- this(id, Model.of(title), Model.of(message), form);
- }
-
- public ConfirmableAjaxBorder(String id, IModel<String> title, IModel<String> message, Form<?> form) {
- super(id, message);
- this.title = title;
- this.message = message;
+ super(id, Model.of(message));
+ dialog = newFormDialog("dialog", title, message);
this.userForm = form;
setOutputMarkupId(true);
}
@@ -58,7 +51,6 @@ public abstract class ConfirmableAjaxBor
@Override
protected void onInitialize() {
super.onInitialize();
- final AbstractFormDialog<?> dialog = newFormDialog("dialog", title, message);
add(new AjaxEventBehavior("click") {
private static final long serialVersionUID = 1L;
@@ -84,6 +76,10 @@ public abstract class ConfirmableAjaxBor
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
}
+ protected void onEvent(AjaxRequestTarget target) {
+ dialog.open(target);
+ }
+
/**
* Triggered when the form is submitted, but the validation failed
*
@@ -101,8 +97,6 @@ public abstract class ConfirmableAjaxBor
*/
protected abstract void onSubmit(AjaxRequestTarget target, Form<?> form);
- // Factories //
-
/**
* Create the dialog instance<br/>
* <b>Warning:</b> to be overridden with care!
@@ -112,7 +106,7 @@ public abstract class ConfirmableAjaxBor
* @param message the message to be displayed
* @return the dialog instance
*/
- protected AbstractFormDialog<?> newFormDialog(String id, IModel<String> title, IModel<String> message) {
+ protected AbstractFormDialog<?> newFormDialog(String id, String title, String message) {
return new MessageFormDialog(id, title, message, DialogButtons.OK_CANCEL, DialogIcon.WARN) {
private static final long serialVersionUID = 1L;
@@ -138,11 +132,4 @@ public abstract class ConfirmableAjaxBor
}
};
}
-
- @Override
- protected void onDetach() {
- super.onDetach();
- title.detach();
- message.detach();
- }
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.html?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.html (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UploadableProfileImagePanel.html Sat Aug 20 02:52:45 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.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuItem.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuItem.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuItem.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuItem.java Sat Aug 20 02:52:45 2016
@@ -24,15 +24,12 @@ import com.googlecode.wicket.jquery.ui.w
public class MenuItem extends com.googlecode.wicket.jquery.ui.widget.menu.MenuItem {
private static final long serialVersionUID = 1L;
- protected String desc;
- private String cssClass;
-
- public MenuItem(String title) {
- super(title);
- }
+ private String desc;
+ private boolean top;
public MenuItem(String title, List<IMenuItem> items) {
super(title, items);
+ setTop(true);
}
public MenuItem(String title, String desc) {
@@ -48,11 +45,11 @@ public class MenuItem extends com.google
this.desc = desc;
}
- public String getCssClass() {
- return cssClass;
+ public boolean isTop() {
+ return top;
}
- public void setCssClass(String cssClass) {
- this.cssClass = cssClass;
+ public void setTop(boolean top) {
+ this.top = top;
}
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuPanel.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuPanel.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuPanel.java Sat Aug 20 02:52:45 2016
@@ -52,14 +52,12 @@ public class MenuPanel extends BasePanel
protected void addMenuItem(ListItem<IMenuItem> item, IMenuItem menuItem) {
super.addMenuItem(item, menuItem);
MenuItem m = (MenuItem)menuItem;
- if (Strings.isEmpty(m.getDesc())) {
- item.add(AttributeAppender.append("class", "top"));
- } else {
- item.add(AttributeAppender.append("class", "sub"));
+ item.add(AttributeAppender.append("class", m.isTop() ? "top" : "sub"));
+ if (!Strings.isEmpty(m.getDesc())) {
item.add(AttributeAppender.append("title", m.getDesc()));
}
- if (!Strings.isEmpty(m.getCssClass())) {
- item.add(AttributeAppender.append("class", m.getCssClass()));
+ if (!Strings.isEmpty(m.getIcon())) {
+ item.add(AttributeAppender.append("class", m.getIcon()));
}
}
});
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/RoomMenuItem.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/RoomMenuItem.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/RoomMenuItem.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/RoomMenuItem.java Sat Aug 20 02:52:45 2016
@@ -21,25 +21,17 @@ package org.apache.openmeetings.web.comm
public class RoomMenuItem extends MenuItem {
private static final long serialVersionUID = 1L;
- public RoomMenuItem(String name) {
- this(name, null);
- }
-
public RoomMenuItem(String name, String desc) {
- this(name, desc, true, null);
+ super(name, desc);
}
- public RoomMenuItem(String name, String desc, String cssClass) {
- this(name, desc, true, cssClass);
+ public RoomMenuItem(String name, String desc, String icon) {
+ super(name, desc);
+ setIcon(icon);
}
public RoomMenuItem(String name, String desc, boolean enabled) {
- this(name, desc, enabled, null);
- }
-
- public RoomMenuItem(String name, String desc, boolean enabled, String cssClass) {
super(name, desc);
- setCssClass(cssClass);
setEnabled(enabled);
}
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java Sat Aug 20 02:52:45 2016
@@ -18,8 +18,6 @@
*/
package org.apache.openmeetings.web.common.tree;
-import static org.apache.openmeetings.util.OmFileHelper.MP4_EXTENSION;
-import static org.apache.openmeetings.util.OmFileHelper.isRecordingExists;
import static org.apache.openmeetings.web.app.Application.getBean;
import java.util.ArrayList;
@@ -86,7 +84,7 @@ public class ConvertingErrorsDialog exte
if (f.getHash() == null) {
message.setVisible(true);
message.setDefaultModelObject(Application.getString(888));
- } else if (!isRecordingExists(f.getHash() + MP4_EXTENSION)) {
+ } else if (!f.exists()) {
message.setVisible(true);
message.setDefaultModelObject(Application.getString(1595));
} else {
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java Sat Aug 20 02:52:45 2016
@@ -18,8 +18,6 @@
*/
package org.apache.openmeetings.web.common.tree;
-import static org.apache.openmeetings.util.OmFileHelper.MP4_EXTENSION;
-import static org.apache.openmeetings.util.OmFileHelper.isRecordingExists;
import static org.apache.openmeetings.web.app.Application.getBean;
import org.apache.openmeetings.db.dao.record.RecordingLogDao;
@@ -40,7 +38,7 @@ public class FileItemPanel extends Folde
if (model.getObject() instanceof Recording) {
Recording r = (Recording)model.getObject();
long errorCount = getBean(RecordingLogDao.class).countErrors(r.getId());
- boolean visible = errorCount != 0 || (Status.RECORDING != r.getStatus() && Status.CONVERTING != r.getStatus() && !isRecordingExists(r.getHash() + MP4_EXTENSION));
+ boolean visible = errorCount != 0 || (Status.RECORDING != r.getStatus() && Status.CONVERTING != r.getStatus() && !r.exists());
errors.add(new AjaxEventBehavior("click") {
private static final long serialVersionUID = 1L;
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java Sat Aug 20 02:52:45 2016
@@ -18,9 +18,6 @@
*/
package org.apache.openmeetings.web.common.tree;
-import static org.apache.openmeetings.util.OmFileHelper.MP4_EXTENSION;
-import static org.apache.openmeetings.util.OmFileHelper.isRecordingExists;
-
import org.apache.openmeetings.db.entity.file.FileItem;
import org.apache.openmeetings.db.entity.file.FileItem.Type;
import org.apache.openmeetings.db.entity.record.Recording;
@@ -34,31 +31,32 @@ import org.apache.wicket.markup.repeater
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
-public class FileItemTree<T extends FileItem> extends DefaultNestedTree<T> {
+public class FileItemTree extends DefaultNestedTree<FileItem> {
private static final long serialVersionUID = 1L;
private final FileTreePanel treePanel;
- private final IModel<T> selectedItem = Model.of((T)null);
- public FileItemTree(String id, FileTreePanel treePanel, ITreeProvider<T> tp) {
+ public FileItemTree(String id, FileTreePanel treePanel, ITreeProvider<FileItem> tp) {
super(id, tp);
this.treePanel = treePanel;
setItemReuseStrategy(new ReuseIfModelsEqualStrategy());
}
@Override
- protected Component newContentComponent(String id, IModel<T> node) {
- return new Folder<T>(id, this, node) {
+ protected Component newContentComponent(String id, IModel<FileItem> node) {
+ return new Folder<FileItem>(id, this, node) {
private static final long serialVersionUID = 1L;
@Override
- protected Component newLabelComponent(String id, final IModel<T> lm) {
+ protected Component newLabelComponent(String id, final IModel<FileItem> lm) {
FileItem r = lm.getObject();
- return Type.Folder == r.getType() || r.getId() < 1 ? new FolderPanel(id, lm, treePanel) : new FileItemPanel(id, lm, treePanel);
+ return Type.Folder == r.getType() || r.getId() == null ? new FolderPanel(id, lm, treePanel) : new FileItemPanel(id, lm, treePanel);
}
@Override
protected boolean isSelected() {
- return getModelObject().getId().equals(treePanel.selectedFile.getObject().getId());
+ FileItem f = getModelObject(), s = treePanel.getSelected();
+ return (s.getId() == null && s.getId() == f.getId() && s.getHash().equals(f.getHash()))
+ || (s.getId() != null && s.getId().equals(f.getId()));
}
@Override
@@ -68,68 +66,62 @@ public class FileItemTree<T extends File
@Override
protected void onClick(AjaxRequestTarget target) {
- T r = getModelObject();
- treePanel.selected.resetSelected(target);
- selectedItem.setObject(r);
- treePanel.selectedFile.setObject(r);
- treePanel.selected = FileItemTree.this;
+ FileItem r = getModelObject();
+ treePanel.setSelected(r, target);
if (Type.Folder == r.getType()) {
if (getState(r) == State.COLLAPSED) {
super.onClick(target);
}
- updateBranch(r, target);
} else {
treePanel.update(target, r);
- updateNode(r, target);
}
}
- private String getItemStyle(T f, String def) {
+ private String getItemStyle(FileItem f, String def) {
String style;
- if (f.getId() == 0) {
- style = "my file om-icon";
- } else if (f.getId() < 0) {
- style = "public file om-icon";
+ if (f.getId() == null) {
+ style = f.getHash().indexOf("my") > -1 ? "my file om-icon" : "public file om-icon";
} else {
+ String _style, addStyle = f.exists() ? "" : "broken";
switch(f.getType()) {
case Folder:
- style = def;
+ _style = def;
break;
case Image:
- style = "image file om-icon";
+ _style = "image file om-icon";
break;
case PollChart:
- style = "chart file om-icon";
+ _style = "chart file om-icon";
break;
case WmlFile:
- style = "wml file om-icon";
+ _style = "wml file om-icon";
break;
+ case Video:
case Recording:
{
- Recording r = (Recording)f;
- if (isRecordingExists(r.getHash() + MP4_EXTENSION)) {
- style = "recording om-icon";
- } else if (Status.RECORDING == r.getStatus() || Status.CONVERTING == r.getStatus()) {
- style = "processing-recording om-icon";
- } else {
- style = "broken-recording om-icon";
+ _style = "recording om-icon";
+ if (f instanceof Recording) {
+ Status st = ((Recording)f).getStatus();
+ if (Status.RECORDING == st || Status.CONVERTING == st) {
+ addStyle = "processing";
+ }
}
}
break;
case Presentation:
- style = "doc file om-icon";
+ _style = "doc file om-icon";
break;
- case Video:
default:
- style = "recording om-icon";
+ _style = "file om-icon";
break;
}
+ style = String.format("%s %s", addStyle, _style);
}
return style;
}
@Override
- protected String getOtherStyleClass(T r) {
+ protected String getOtherStyleClass(FileItem r) {
return getItemStyle(r, super.getOtherStyleClass(r));
}
@@ -149,27 +141,9 @@ public class FileItemTree<T extends File
}
@Override
- protected IModel<String> newLabelModel(IModel<T> model) {
+ protected IModel<String> newLabelModel(IModel<FileItem> model) {
return Model.of(model.getObject().getName());
}
};
}
-
- private void resetSelected(AjaxRequestTarget target) {
- T _prev = selectedItem.getObject();
- if (_prev != null) {
- if (Type.Folder == _prev.getType()) {
- updateBranch(_prev, target);
- } else {
- updateNode(_prev, target);
- }
- selectedItem.setObject(null);
- }
- }
-
- @Override
- protected void onDetach() {
- selectedItem.detach();
- super.onDetach();
- }
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html?rev=1756981&r1=1756980&r2=1756981&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html Sat Aug 20 02:52:45 2016
@@ -24,15 +24,15 @@
function treeRevert(dropped) {
$('#tree-anchor').get(0).scrollIntoView();
this.parent().parent().get(0).scrollIntoView();
- return !dropped;
+ return !dropped || (!!dropped && !!dropped.context && $(dropped.context).hasClass('wb', 'room'));
}
</script>
- <div class="file tree">
- <div class="icons clear trash-toolbar" wicket:id="trash-toolbar">
+ <div class="file tree item drop area">
+ <div class="icons clear trash-toolbar" wicket:id="trash-toolbar" wicket:message="title:705">
+ <span wicket:id="upload" class="add om-icon align-left clickable" wicket:message="title:702"></span>
<span wicket:id="create" class="folder-create om-icon align-left clickable" wicket:message="title:703"></span>
<span wicket:id="refresh" class="refresh om-icon align-left clickable" wicket:message="title:704"></span>
<span wicket:id="trash" class="trash om-icon align-right clickable"></span>
- <span style="padding-left: 20px;" wicket:message="title:705"><wicket:message key="1224"/></span>
<div class="clear"></div>
</div>
<div wicket:id="tree-container" class="trees">
@@ -55,4 +55,4 @@
<div wicket:id="errors"></div>
</div>
</wicket:panel>
-</html>
\ No newline at end of file
+</html>