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>