You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2016/04/06 11:39:48 UTC
svn commit: r1737955 - 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/openmeetin...
Author: solomax
Date: Wed Apr 6 09:39:48 2016
New Revision: 1737955
URL: http://svn.apache.org/viewvc?rev=1737955&view=rev
Log:
[OPENMEETINGS-853] CleanupHelper seems to work as expected
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/converter/FlvExplorerConverter.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.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/data/record/listener/async/BaseStreamWriter.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-install/src/main/java/org/apache/openmeetings/cli/Admin.java
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupEntityUnit.java
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupUnit.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/util/OmUrlFragment.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/listener/async/BaseStreamWriter.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupEntityUnit.java
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupUnit.java
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
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=1737955&r1=1737954&r2=1737955&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 Wed Apr 6 09:39:48 2016
@@ -21,6 +21,7 @@ package org.apache.openmeetings.core.con
import static org.apache.openmeetings.core.data.record.listener.async.BaseStreamWriter.TIME_TO_WAIT_FOR_FRAME;
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;
@@ -245,7 +246,7 @@ public abstract class BaseConverter {
metaData = waitForTheStream(metaId);
- File inputFlvFile = new File(streamFolder, metaData.getStreamName() + ".flv");
+ File inputFlvFile = new File(streamFolder, metaData.getStreamName() + FLV_EXTENSION);
File outputWav = new File(streamFolder, metaData.getStreamName() + "_WAVE.wav");
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java Wed Apr 6 09:39:48 2016
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.core.converter;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OmFileHelper.getStreamsHibernateDir;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
@@ -77,7 +78,7 @@ public class FlvExplorerConverter extend
List<ConverterProcessResult> returnLog = new ArrayList<ConverterProcessResult>();
try {
String name = "UPLOADFLV_" + fileExplorerItem.getId();
- File outputFullFlv = new File(getStreamsHibernateDir(), name + ".flv");
+ File outputFullFlv = new File(getStreamsHibernateDir(), name + FLV_EXTENSION);
fileExplorerItem.setType(Type.Video);
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java Wed Apr 6 09:39:48 2016
@@ -18,8 +18,10 @@
*/
package org.apache.openmeetings.core.converter;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OmFileHelper.getRecordingMetaData;
import static org.apache.openmeetings.util.OmFileHelper.getStreamsHibernateDir;
+import static org.apache.openmeetings.util.OmFileHelper.recordingFileName;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
@@ -191,7 +193,7 @@ public class InterviewConverter extends
returnLog.add(ProcessHelper.executeScript("blankFlvPod_" + pod , argsPodB));
//ffmpeg -y -i out.flv -i rec_15_stream_4_2014_07_15_20_41_03.flv -filter_complex '[0:0]setsar=1/1[sarfix];[1:0]scale=320:260,setsar=1/1[scale];[sarfix] [scale] concat=n=2:v=1:a=0 [v]' -map '[v]' output1.flv
- File podF = new File(streamFolder, meta.getStreamName() + "_pod_" + pod + ".flv");
+ File podF = new File(streamFolder, meta.getStreamName() + "_pod_" + pod + FLV_EXTENSION);
String podP = podF.getCanonicalPath();
String[] argsPod = new String[] { getPathToFFMPEG(), "-y"//
, "-i", podPB //
@@ -252,7 +254,7 @@ public class InterviewConverter extends
args.add("-qmax"); args.add("1");
args.add("-qmin"); args.add("1");
args.add("-y");
- String hashFileFullNameFlv = "flvRecording_" + recording.getId() + ".flv";
+ String hashFileFullNameFlv = recordingFileName + recording.getId() + FLV_EXTENSION;
String outputFullFlv = new File(streamFolderGeneral, hashFileFullNameFlv).getCanonicalPath();
args.add(outputFullFlv);
// TODO additional flag to 'quiet' output should be added
@@ -267,7 +269,7 @@ public class InterviewConverter extends
// ffmpeg -i movie.flv -vcodec mjpeg -vframes 1 -an -f rawvideo -s
// 320x240 movie.jpg
- String hashFileFullNameJPEG = "flvRecording_" + recording.getId() + ".jpg";
+ String hashFileFullNameJPEG = recordingFileName + recording.getId() + ".jpg";
String outPutJpeg = new File(streamFolderGeneral, hashFileFullNameJPEG).getCanonicalPath();
deleteFileIfExists(outPutJpeg);
@@ -284,7 +286,7 @@ public class InterviewConverter extends
returnLog.add(ProcessHelper.executeScript("generateFullFLV", argv_previewFLV));
- String alternateDownloadName = "flvRecording_" + recording.getId() + ".avi";
+ String alternateDownloadName = recordingFileName + recording.getId() + ".avi";
String alternateDownloadFullName = new File(streamFolderGeneral, alternateDownloadName).getCanonicalPath();
deleteFileIfExists(alternateDownloadFullName);
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java Wed Apr 6 09:39:48 2016
@@ -18,7 +18,9 @@
*/
package org.apache.openmeetings.core.converter;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OmFileHelper.getStreamsHibernateDir;
+import static org.apache.openmeetings.util.OmFileHelper.recordingFileName;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
@@ -52,18 +54,17 @@ public class RecordingConverter extends
@Override
public void startConversion(Long recordingId) {
- Recording recording = null;
+ Recording recording = recordingDao.get(recordingId);
+ if (recording == null) {
+ log.warn("Conversion is NOT started. Recording with ID {} is not found", recordingId);
+ return;
+ }
try {
if (isUseOldStyleFfmpegMap()) {
FFMPEG_MAP_PARAM = ".";
}
- String finalNamePrefix = "flvRecording_" + recordingId;
- recording = recordingDao.get(recordingId);
- if (recording == null) {
- log.warn("Conversion is NOT started. Recording with ID {} is not found", recordingId);
- return;
- }
+ String finalNamePrefix = recordingFileName + recordingId;
log.debug("recording " + recording.getId());
List<ConverterProcessResult> returnLog = new ArrayList<ConverterProcessResult>();
@@ -112,9 +113,9 @@ public class RecordingConverter extends
// Merge Audio with Video / Calculate resulting FLV
- String inputScreenFullFlv = new File(streamFolder, screenMetaData.getStreamName() + ".flv").getCanonicalPath();
+ String inputScreenFullFlv = new File(streamFolder, screenMetaData.getStreamName() + FLV_EXTENSION).getCanonicalPath();
- File outputFullFlv = new File(getStreamsHibernateDir(), finalNamePrefix + ".flv");
+ File outputFullFlv = new File(getStreamsHibernateDir(), finalNamePrefix + FLV_EXTENSION);
// ffmpeg -vcodec flv -qscale 9.5 -r 25 -ar 22050 -ab 32k -s 320x240
// -i 65318fb5c54b1bc1b1bca077b493a914_28_12_2009_23_38_17_FINAL_WAVE.wav
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=1737955&r1=1737954&r2=1737955&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 Wed Apr 6 09:39:48 2016
@@ -18,6 +18,7 @@
*/
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;
@@ -103,7 +104,7 @@ public class FileProcessor {
hash = newName + ".jpg";
f.setType(Type.Image);
} else if (isVideo) {
- hash = newName + ".flv";
+ hash = newName + FLV_EXTENSION;
f.setType(Type.Video);
} else if (isChart) {
f.setType(Type.PollChart);
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/listener/async/BaseStreamWriter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/listener/async/BaseStreamWriter.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/listener/async/BaseStreamWriter.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/listener/async/BaseStreamWriter.java Wed Apr 6 09:39:48 2016
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.core.data.record.listener.async;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
@@ -97,7 +98,7 @@ public abstract class BaseStreamWriter i
* I/O exception
*/
private void init() throws IOException {
- file = new File(OmFileHelper.getStreamsSubDir(scope.getName()), streamName + ".flv");
+ file = new File(OmFileHelper.getStreamsSubDir(scope.getName()), streamName + FLV_EXTENSION);
IStreamableFileFactory factory = (IStreamableFileFactory) ScopeUtils.getScopeService(scope, IStreamableFileFactory.class,
StreamableFileFactory.class);
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=1737955&r1=1737954&r2=1737955&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 Wed Apr 6 09:39:48 2016
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.core.remote;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
@@ -253,11 +254,11 @@ public class ConferenceLibrary implement
Long room_id = currentClient.getRoomId();
if (room_id != null) {
- File outputFullFlvFile = new File(OmFileHelper.getStreamsHibernateDir(), "UPLOADFLV_" + flvFileExplorerId + ".flv");
+ File outputFullFlvFile = new File(OmFileHelper.getStreamsHibernateDir(), "UPLOADFLV_" + flvFileExplorerId + FLV_EXTENSION);
File targetFolder = OmFileHelper.getStreamsSubDir(room_id);
- File targetFullFlvFile = new File(targetFolder, "UPLOADFLV_" + flvFileExplorerId + ".flv");
+ File targetFullFlvFile = new File(targetFolder, "UPLOADFLV_" + flvFileExplorerId + FLV_EXTENSION);
if (outputFullFlvFile.exists() && !targetFullFlvFile.exists()) {
FileHelper.copy(outputFullFlvFile, targetFullFlvFile);
}
Modified: openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java Wed Apr 6 09:39:48 2016
@@ -57,8 +57,6 @@ import org.apache.openmeetings.db.dao.ba
import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.file.FileExplorerItem;
-import org.apache.openmeetings.db.entity.record.Recording;
import org.apache.openmeetings.installation.ImportInitvalues;
import org.apache.openmeetings.installation.InstallationConfig;
import org.apache.openmeetings.installation.InstallationDocumentHandler;
@@ -320,6 +318,9 @@ public class Admin {
}
StringBuilder report = new StringBuilder();
CleanupUnit temp = CleanupHelper.getTempUnit();
+ if (cleanup) {
+ temp.cleanup();
+ }
report.append("Temporary files allocates: ").append(temp.getHumanTotal()).append("\n");
{ //UPLOAD
long sectionSize = OmFileHelper.getSize(OmFileHelper.getUploadDir());
@@ -327,97 +328,55 @@ public class Admin {
//Profiles
ClassPathXmlApplicationContext ctx = getApplicationContext(ctxName);
UserDao udao = ctx.getBean(UserDao.class);
- CleanupEntityUnit profileUnit = CleanupHelper.getProfileUnit(udao);
- long restSize = sectionSize - profileUnit.getSizeTotal();
- report.append("\t\tprofiles: ").append(profileUnit.getHumanTotal()).append("\n");
- report.append("\t\t\tinvalid: ").append(profileUnit.getHumanInvalid()).append("\n");
- report.append("\t\t\tdeleted: ").append(profileUnit.getHumanDeleted()).append("\n");
- report.append("\t\t\tmissing count: ").append(profileUnit.getMissing()).append("\n");
+ CleanupEntityUnit profile = CleanupHelper.getProfileUnit(udao);
+ long restSize = sectionSize - profile.getSizeTotal();
+ report.append("\t\tprofiles: ").append(profile.getHumanTotal()).append("\n");
+ report.append("\t\t\tinvalid: ").append(profile.getHumanInvalid()).append("\n");
+ report.append("\t\t\tdeleted: ").append(profile.getHumanDeleted()).append("\n");
+ report.append("\t\t\tmissing count: ").append(profile.getMissing()).append("\n");
if (cleanup) {
- profileUnit.cleanup();
+ profile.cleanup();
}
- long size = OmFileHelper.getSize(OmFileHelper.getUploadImportDir());
- restSize -= size;
- report.append("\t\timport: ").append(OmFileHelper.getHumanSize(size)).append("\n");
- size = OmFileHelper.getSize(OmFileHelper.getUploadBackupDir());
- restSize -= size;
- report.append("\t\tbackup: ").append(OmFileHelper.getHumanSize(size)).append("\n");
- //Files
- File files = OmFileHelper.getUploadFilesDir();
- size = OmFileHelper.getSize(files);
- restSize -= size;
- FileExplorerItemDao fileDao = ctx.getBean(FileExplorerItemDao.class);
- long invalid = 0;
- long deleted = 0;
- for (File f : files.listFiles()) {
- long fSize = OmFileHelper.getSize(f);
- FileExplorerItem item = fileDao.getByHash(f.getName());
- if (item == null) {
- if (cleanup) {
- FileHelper.removeRec(f);
- } else {
- invalid += fSize;
- }
- } else if (item.isDeleted()) {
- if (cleanup) {
- FileHelper.removeRec(f);
- } else {
- deleted += fSize;
- }
- }
+ CleanupUnit imp = CleanupHelper.getImportUnit();
+ restSize -= imp.getSizeTotal();
+ report.append("\t\timport: ").append(OmFileHelper.getHumanSize(imp.getSizeTotal())).append("\n");
+ if (cleanup) {
+ imp.cleanup();
}
- int missing = 0;
- for (FileExplorerItem item : fileDao.get()) {
- if (!item.isDeleted() && item.getHash() != null && !new File(files, item.getHash()).exists()) {
- missing++;
- }
+ CleanupUnit back = CleanupHelper.getBackupUnit();
+ restSize -= back.getSizeTotal();
+ report.append("\t\tbackup: ").append(OmFileHelper.getHumanSize(back.getSizeTotal())).append("\n");
+ if (cleanup) {
+ back.cleanup();
}
- report.append("\t\tfiles: ").append(OmFileHelper.getHumanSize(size)).append("\n");
- report.append("\t\t\tinvalid: ").append(OmFileHelper.getHumanSize(invalid)).append("\n");
- report.append("\t\t\tdeleted: ").append(OmFileHelper.getHumanSize(deleted)).append("\n");
- report.append("\t\t\tmissing count: ").append(missing).append("\n");
+ //Files
+ FileExplorerItemDao fileDao = ctx.getBean(FileExplorerItemDao.class);
+ CleanupEntityUnit files = CleanupHelper.getFileUnit(fileDao);
+ restSize -= files.getSizeTotal();
+ report.append("\t\tfiles: ").append(files.getHumanTotal()).append("\n");
+ report.append("\t\t\tinvalid: ").append(files.getHumanInvalid()).append("\n");
+ report.append("\t\t\tdeleted: ").append(files.getHumanDeleted()).append("\n");
+ report.append("\t\t\tmissing count: ").append(files.getMissing()).append("\n");
report.append("\t\trest: ").append(OmFileHelper.getHumanSize(restSize)).append("\n");
+ if (cleanup) {
+ files.cleanup();
+ }
}
{ //STREAMS
- File streamsDir = OmFileHelper.getStreamsDir();
+ RecordingDao recordDao = getApplicationContext(ctxName).getBean(RecordingDao.class);
+ CleanupEntityUnit rec = CleanupHelper.getRecUnit(recordDao);
File hibernateDir = OmFileHelper.getStreamsHibernateDir();
- if (cleanup) {
- String hiberPath = hibernateDir.getCanonicalPath();
- for (File f : streamsDir.listFiles()) {
- if (!f.getCanonicalPath().equals(hiberPath)) {
- FileHelper.removeRec(f);
- }
- }
- }
- long sectionSize = OmFileHelper.getSize(streamsDir);
- report.append("Recordings allocates: ").append(OmFileHelper.getHumanSize(sectionSize)).append("\n");
+ report.append("Recordings allocates: ").append(rec.getHumanTotal()).append("\n");
long size = OmFileHelper.getSize(hibernateDir);
- long restSize = sectionSize - size;
- RecordingDao recordDao = getApplicationContext(ctxName).getBean(RecordingDao.class);
- long[] params = {0, 0}; // [0] == deleted [1] == missing
- for (Recording rec : recordDao.get()) {
- checkRecordingFile(hibernateDir, rec.getHash(), rec.isDeleted(), params, cleanup);
- checkRecordingFile(hibernateDir, rec.getAlternateDownload(), rec.isDeleted(), params, cleanup);
- checkRecordingFile(hibernateDir, rec.getPreviewImage(), rec.isDeleted(), params, cleanup);
- }
- long invalid = 0;
- for (File f : hibernateDir.listFiles()) {
- if (f.isFile() && f.getName().endsWith(".flv")) {
- Recording rec = recordDao.getByHash(f.getName());
- if (rec == null) {
- cleanUpFile(invalid, cleanup, f);
- String name = f.getName().substring(0, f.getName().length() - 5);
- cleanUpFile(invalid, cleanup, new File(hibernateDir, name + ".avi"));
- cleanUpFile(invalid, cleanup, new File(hibernateDir, name + ".jpg"));
- cleanUpFile(invalid, cleanup, new File(hibernateDir, name + ".flv.meta"));
- }
- }
- }
+ long restSize = rec.getSizeTotal() - size;
report.append("\t\tfinal: ").append(OmFileHelper.getHumanSize(size)).append("\n");
- report.append("\t\t\tinvalid: ").append(OmFileHelper.getHumanSize(invalid)).append("\n");
- report.append("\t\t\tdeleted: ").append(OmFileHelper.getHumanSize(params[0])).append("\n");
- report.append("\t\t\tmissing count: ").append(params[1]).append("\n");
+ report.append("\t\t\tinvalid: ").append(rec.getHumanInvalid()).append("\n");
+ report.append("\t\t\tdeleted: ").append(rec.getHumanDeleted()).append("\n");
+ report.append("\t\t\tmissing count: ").append(rec.getMissing()).append("\n");
report.append("\t\trest: ").append(OmFileHelper.getHumanSize(restSize)).append("\n");
+ if (cleanup) {
+ rec.cleanup();
+ }
}
System.out.println(report);
} catch (Exception e) {
@@ -446,32 +405,6 @@ public class Admin {
System.exit(0);
}
- private static long cleanUpFile(long invalid, boolean cleanup, File f) {
- if (f.exists()) {
- if (cleanup) {
- FileHelper.removeRec(f);
- } else {
- invalid += f.length();
- }
- }
- return invalid;
- }
- private static void checkRecordingFile(File hibernateDir, String name, boolean deleted, long[] params, boolean cleanup) {
- File flv = name != null ? new File(hibernateDir, name) : null;
- if (flv != null) {
- if (flv.exists() && flv.isFile()) {
- if (deleted) {
- params[0] += flv.length();
- if (cleanup) {
- FileHelper.removeRec(flv);
- }
- }
- } else {
- params[1]++;
- }
- }
- }
-
private void checkAdminDetails(String ctxName) throws Exception {
cfg.username = cmdl.getOptionValue("user");
cfg.email = cmdl.getOptionValue("email");
Modified: openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupEntityUnit.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupEntityUnit.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupEntityUnit.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupEntityUnit.java Wed Apr 6 09:39:48 2016
@@ -19,12 +19,15 @@
package org.apache.openmeetings.cli;
import java.io.File;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import org.apache.commons.transaction.util.FileHelper;
import org.apache.openmeetings.util.OmFileHelper;
public abstract class CleanupEntityUnit extends CleanupUnit {
+ private static final long serialVersionUID = 1L;
protected List<File> invalid = new ArrayList<>();
protected List<File> deleted = new ArrayList<>();
private long sizeInvalid = 0;
@@ -42,6 +45,16 @@ public abstract class CleanupEntityUnit
}
}
+ @Override
+ public void cleanup() throws IOException {
+ for (File i : invalid) {
+ FileHelper.removeRec(i);
+ }
+ for (File i : deleted) {
+ FileHelper.removeRec(i);
+ }
+ }
+
public abstract void fill();
public long getSizeInvalid() {
Modified: openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java Wed Apr 6 09:39:48 2016
@@ -18,37 +18,36 @@
*/
package org.apache.openmeetings.cli;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
+import static org.apache.openmeetings.util.OmFileHelper.recordingFileName;
+
import java.io.File;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.util.List;
import org.apache.commons.transaction.util.FileHelper;
+import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
+import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+import org.apache.openmeetings.db.entity.record.Recording;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.util.OmFileHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
public class CleanupHelper {
+ private static final Logger log = Red5LoggerFactory.getLogger(CleanupHelper.class);
+
public static CleanupUnit getTempUnit() {
- return new CleanupUnit(OmFileHelper.getUploadTempDir()) {
- @Override
- public void cleanup() {
- for (File f : getParent().listFiles()) {
- FileHelper.removeRec(f);
- }
- }
- };
+ return new CleanupUnit(OmFileHelper.getUploadTempDir());
}
public static CleanupEntityUnit getProfileUnit(final UserDao udao) {
return new CleanupEntityUnit(OmFileHelper.getUploadProfilesDir()) {
- @Override
- public void cleanup() {
- for (File i : invalid) {
- FileHelper.removeRec(i);
- }
- for (File i : deleted) {
- FileHelper.removeRec(i);
- }
- }
-
+ private static final long serialVersionUID = 1L;
+
@Override
public void fill() {
for (File profile : getParent().listFiles()) {
@@ -67,6 +66,99 @@ public class CleanupHelper {
}
}
};
+ }
+
+ public static CleanupUnit getImportUnit() {
+ return new CleanupUnit(OmFileHelper.getUploadImportDir());
+ }
+
+ public static CleanupUnit getBackupUnit() {
+ return new CleanupUnit(OmFileHelper.getUploadBackupDir());
+ }
+
+ public static CleanupEntityUnit getFileUnit(final FileExplorerItemDao fileDao) {
+ return new CleanupEntityUnit(OmFileHelper.getUploadFilesDir()) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void fill() {
+ for (File f : getParent().listFiles()) {
+ FileExplorerItem item = fileDao.getByHash(f.getName()); // TODO probable extension should be stripped
+ if (item == null) {
+ invalid.add(f);
+ } else if (item.isDeleted()) {
+ deleted.add(f);
+ }
+ }
+ //TODO WML_DIR should also be checked
+ for (FileExplorerItem item : fileDao.get()) {
+ if (!item.isDeleted() && item.getHash() != null && !new File(getParent(), item.getHash()).exists()) {
+ missing++;
+ }
+ }
+ }
+ };
+ }
+
+ public static CleanupEntityUnit getRecUnit(final RecordingDao recordDao) {
+ return new CleanupEntityUnit(OmFileHelper.getStreamsDir()) {
+ private static final long serialVersionUID = 1L;
+ private File hibernateDir;
+
+ @Override
+ public void cleanup() throws IOException {
+ String hiberPath = hibernateDir.getCanonicalPath();
+ for (File f : getParent().listFiles()) {
+ if (!f.getCanonicalPath().equals(hiberPath)) {
+ FileHelper.removeRec(f);
+ }
+ }
+ super.cleanup();
+ }
+
+ @Override
+ public void fill() {
+ hibernateDir = OmFileHelper.getStreamsHibernateDir();
+ for (File f : hibernateDir.listFiles(new FilenameFilter() {
+ @Override
+ public boolean accept(File dir, String name) {
+ return name.startsWith(recordingFileName) && name.endsWith(FLV_EXTENSION);
+ }
+ })) {
+ if (!f.isFile()) {
+ log.warn("Recording found is not a file: " + f);
+ continue;
+ }
+ Long id = Long.valueOf(f.getName().substring(recordingFileName.length(), f.getName().length() - FLV_EXTENSION.length()));
+ Recording item = recordDao.get(id);
+ if (item == null) {
+ add(invalid, id);
+ } else if (item.isDeleted()) {
+ add(deleted, id);
+ }
+ }
+ for (Recording item : recordDao.get()) {
+ if (!item.isDeleted() && item.getHash() != null && list(item.getId()).length == 0) {
+ missing++;
+ }
+ }
+ }
+
+ private File[] list(final Long id) {
+ return hibernateDir.listFiles(new FilenameFilter() {
+ @Override
+ public boolean accept(File dir, String name) {
+ return name.startsWith(recordingFileName + id);
+ }
+ });
+ }
+
+ private void add(List<File> list, final Long id) {
+ for (File f : list(id)) {
+ list.add(f);
+ }
+ }
+ };
}
private static long getUserIdByProfile(String name) {
Modified: openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupUnit.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupUnit.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupUnit.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupUnit.java Wed Apr 6 09:39:48 2016
@@ -19,10 +19,14 @@
package org.apache.openmeetings.cli;
import java.io.File;
+import java.io.IOException;
+import java.io.Serializable;
+import org.apache.commons.transaction.util.FileHelper;
import org.apache.openmeetings.util.OmFileHelper;
-public abstract class CleanupUnit {
+public class CleanupUnit implements Serializable {
+ private static final long serialVersionUID = 1L;
private final File parent;
private final long sizeTotal;
@@ -34,7 +38,11 @@ public abstract class CleanupUnit {
sizeTotal = OmFileHelper.getSize(parent);
}
- public abstract void cleanup();
+ public void cleanup() throws IOException {
+ for (File f : getParent().listFiles()) {
+ FileHelper.removeRec(f);
+ }
+ }
public File getParent() {
return parent;
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=1737955&r1=1737954&r2=1737955&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 Wed Apr 6 09:39:48 2016
@@ -66,11 +66,13 @@ public class OmFileHelper {
public static final String libraryFileName = "library.xml";
public static final String defaultProfileImageName = "profile_pic.jpg";
public static final String profileFileName = "profile";
+ public static final String recordingFileName = "flvRecording_";
public static final String profileImagePrefix = "_profile_";
public static final String chatImagePrefix = "_chat_";
public static final String bigImagePrefix = "_big_";
public static final String thumbImagePrefix = "_thumb_";
public static final String dashboardFile = "dashboard.xml";
+ public static final String FLV_EXTENSION = ".flv";
public static final String MP4_EXTENSION = ".mp4";
public static final String OGG_EXTENSION = ".ogg";
public static final String JPG_EXTENTION = ".jpg";
@@ -173,7 +175,7 @@ public class OmFileHelper {
}
public static File getStreamsDir() {
- return new File(OmFileHelper.OM_HOME, STREAMS_DIR);
+ return getDir(OmFileHelper.OM_HOME, STREAMS_DIR);
}
public static File getStreamsHibernateDir() {
@@ -211,7 +213,7 @@ public class OmFileHelper {
}
public static File getRecordingMetaData(Long roomId, String name) {
- return new File(getStreamsSubDir(roomId), name + ".flv");
+ return new File(getStreamsSubDir(roomId), name + FLV_EXTENSION);
}
public static File getLanguagesDir() {
Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java Wed Apr 6 09:39:48 2016
@@ -266,12 +266,10 @@ public class OmUrlFragment implements Se
break;
case room:
try {
- Long roomId = Long.parseLong(type);
- if (roomId != null) {
- Room r = getBean(RoomDao.class).get(roomId);
- if (r != null) {
- basePanel = new RoomPanel(CHILD_ID, roomId);
- }
+ Long roomId = Long.valueOf(type);
+ Room r = getBean(RoomDao.class).get(roomId);
+ if (r != null) {
+ basePanel = new RoomPanel(CHILD_ID, roomId);
}
} catch(NumberFormatException ne) {
//skip it, bad roomid passed
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java Wed Apr 6 09:39:48 2016
@@ -21,6 +21,7 @@ package org.apache.openmeetings.core.con
import static org.apache.openmeetings.core.data.record.listener.async.BaseStreamWriter.TIME_TO_WAIT_FOR_FRAME;
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;
@@ -245,7 +246,7 @@ public abstract class BaseConverter {
metaData = waitForTheStream(metaId);
- File inputFlvFile = new File(streamFolder, metaData.getStreamName() + ".flv");
+ File inputFlvFile = new File(streamFolder, metaData.getStreamName() + FLV_EXTENSION);
File outputWav = new File(streamFolder, metaData.getStreamName() + "_WAVE.wav");
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java Wed Apr 6 09:39:48 2016
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.core.converter;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OmFileHelper.getStreamsHibernateDir;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
@@ -77,7 +78,7 @@ public class FlvExplorerConverter extend
List<ConverterProcessResult> returnLog = new ArrayList<ConverterProcessResult>();
try {
String name = "UPLOADFLV_" + fileExplorerItem.getId();
- File outputFullFlv = new File(getStreamsHibernateDir(), name + ".flv");
+ File outputFullFlv = new File(getStreamsHibernateDir(), name + FLV_EXTENSION);
fileExplorerItem.setType(Type.Video);
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java Wed Apr 6 09:39:48 2016
@@ -18,8 +18,10 @@
*/
package org.apache.openmeetings.core.converter;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OmFileHelper.getRecordingMetaData;
import static org.apache.openmeetings.util.OmFileHelper.getStreamsHibernateDir;
+import static org.apache.openmeetings.util.OmFileHelper.recordingFileName;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
@@ -191,7 +193,7 @@ public class InterviewConverter extends
returnLog.add(ProcessHelper.executeScript("blankFlvPod_" + pod , argsPodB));
//ffmpeg -y -i out.flv -i rec_15_stream_4_2014_07_15_20_41_03.flv -filter_complex '[0:0]setsar=1/1[sarfix];[1:0]scale=320:260,setsar=1/1[scale];[sarfix] [scale] concat=n=2:v=1:a=0 [v]' -map '[v]' output1.flv
- File podF = new File(streamFolder, meta.getStreamName() + "_pod_" + pod + ".flv");
+ File podF = new File(streamFolder, meta.getStreamName() + "_pod_" + pod + FLV_EXTENSION);
String podP = podF.getCanonicalPath();
String[] argsPod = new String[] { getPathToFFMPEG(), "-y"//
, "-i", podPB //
@@ -252,7 +254,7 @@ public class InterviewConverter extends
args.add("-qmax"); args.add("1");
args.add("-qmin"); args.add("1");
args.add("-y");
- String hashFileFullNameFlv = "flvRecording_" + recording.getId() + ".flv";
+ String hashFileFullNameFlv = recordingFileName + recording.getId() + FLV_EXTENSION;
String outputFullFlv = new File(streamFolderGeneral, hashFileFullNameFlv).getCanonicalPath();
args.add(outputFullFlv);
// TODO additional flag to 'quiet' output should be added
@@ -267,7 +269,7 @@ public class InterviewConverter extends
// ffmpeg -i movie.flv -vcodec mjpeg -vframes 1 -an -f rawvideo -s
// 320x240 movie.jpg
- String hashFileFullNameJPEG = "flvRecording_" + recording.getId() + ".jpg";
+ String hashFileFullNameJPEG = recordingFileName + recording.getId() + ".jpg";
String outPutJpeg = new File(streamFolderGeneral, hashFileFullNameJPEG).getCanonicalPath();
deleteFileIfExists(outPutJpeg);
@@ -284,7 +286,7 @@ public class InterviewConverter extends
returnLog.add(ProcessHelper.executeScript("generateFullFLV", argv_previewFLV));
- String alternateDownloadName = "flvRecording_" + recording.getId() + ".avi";
+ String alternateDownloadName = recordingFileName + recording.getId() + ".avi";
String alternateDownloadFullName = new File(streamFolderGeneral, alternateDownloadName).getCanonicalPath();
deleteFileIfExists(alternateDownloadFullName);
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java Wed Apr 6 09:39:48 2016
@@ -18,7 +18,9 @@
*/
package org.apache.openmeetings.core.converter;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OmFileHelper.getStreamsHibernateDir;
+import static org.apache.openmeetings.util.OmFileHelper.recordingFileName;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
@@ -52,18 +54,17 @@ public class RecordingConverter extends
@Override
public void startConversion(Long recordingId) {
- Recording recording = null;
+ Recording recording = recordingDao.get(recordingId);
+ if (recording == null) {
+ log.warn("Conversion is NOT started. Recording with ID {} is not found", recordingId);
+ return;
+ }
try {
if (isUseOldStyleFfmpegMap()) {
FFMPEG_MAP_PARAM = ".";
}
- String finalNamePrefix = "flvRecording_" + recordingId;
- recording = recordingDao.get(recordingId);
- if (recording == null) {
- log.warn("Conversion is NOT started. Recording with ID {} is not found", recordingId);
- return;
- }
+ String finalNamePrefix = recordingFileName + recordingId;
log.debug("recording " + recording.getId());
List<ConverterProcessResult> returnLog = new ArrayList<ConverterProcessResult>();
@@ -112,9 +113,9 @@ public class RecordingConverter extends
// Merge Audio with Video / Calculate resulting FLV
- String inputScreenFullFlv = new File(streamFolder, screenMetaData.getStreamName() + ".flv").getCanonicalPath();
+ String inputScreenFullFlv = new File(streamFolder, screenMetaData.getStreamName() + FLV_EXTENSION).getCanonicalPath();
- File outputFullFlv = new File(getStreamsHibernateDir(), finalNamePrefix + ".flv");
+ File outputFullFlv = new File(getStreamsHibernateDir(), finalNamePrefix + FLV_EXTENSION);
// ffmpeg -vcodec flv -qscale 9.5 -r 25 -ar 22050 -ab 32k -s 320x240
// -i 65318fb5c54b1bc1b1bca077b493a914_28_12_2009_23_38_17_FINAL_WAVE.wav
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java Wed Apr 6 09:39:48 2016
@@ -18,6 +18,7 @@
*/
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;
@@ -103,7 +104,7 @@ public class FileProcessor {
hash = newName + ".jpg";
f.setType(Type.Image);
} else if (isVideo) {
- hash = newName + ".flv";
+ hash = newName + FLV_EXTENSION;
f.setType(Type.Video);
} else if (isChart) {
f.setType(Type.PollChart);
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/listener/async/BaseStreamWriter.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/listener/async/BaseStreamWriter.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/listener/async/BaseStreamWriter.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/record/listener/async/BaseStreamWriter.java Wed Apr 6 09:39:48 2016
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.core.data.record.listener.async;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
@@ -97,7 +98,7 @@ public abstract class BaseStreamWriter i
* I/O exception
*/
private void init() throws IOException {
- file = new File(OmFileHelper.getStreamsSubDir(scope.getName()), streamName + ".flv");
+ file = new File(OmFileHelper.getStreamsSubDir(scope.getName()), streamName + FLV_EXTENSION);
IStreamableFileFactory factory = (IStreamableFileFactory) ScopeUtils.getScopeService(scope, IStreamableFileFactory.class,
StreamableFileFactory.class);
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java Wed Apr 6 09:39:48 2016
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.core.remote;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
@@ -253,11 +254,11 @@ public class ConferenceLibrary implement
Long room_id = currentClient.getRoomId();
if (room_id != null) {
- File outputFullFlvFile = new File(OmFileHelper.getStreamsHibernateDir(), "UPLOADFLV_" + flvFileExplorerId + ".flv");
+ File outputFullFlvFile = new File(OmFileHelper.getStreamsHibernateDir(), "UPLOADFLV_" + flvFileExplorerId + FLV_EXTENSION);
File targetFolder = OmFileHelper.getStreamsSubDir(room_id);
- File targetFullFlvFile = new File(targetFolder, "UPLOADFLV_" + flvFileExplorerId + ".flv");
+ File targetFullFlvFile = new File(targetFolder, "UPLOADFLV_" + flvFileExplorerId + FLV_EXTENSION);
if (outputFullFlvFile.exists() && !targetFullFlvFile.exists()) {
FileHelper.copy(outputFullFlvFile, targetFullFlvFile);
}
Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java (original)
+++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java Wed Apr 6 09:39:48 2016
@@ -57,8 +57,6 @@ import org.apache.openmeetings.db.dao.ba
import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.file.FileExplorerItem;
-import org.apache.openmeetings.db.entity.record.Recording;
import org.apache.openmeetings.installation.ImportInitvalues;
import org.apache.openmeetings.installation.InstallationConfig;
import org.apache.openmeetings.installation.InstallationDocumentHandler;
@@ -320,6 +318,9 @@ public class Admin {
}
StringBuilder report = new StringBuilder();
CleanupUnit temp = CleanupHelper.getTempUnit();
+ if (cleanup) {
+ temp.cleanup();
+ }
report.append("Temporary files allocates: ").append(temp.getHumanTotal()).append("\n");
{ //UPLOAD
long sectionSize = OmFileHelper.getSize(OmFileHelper.getUploadDir());
@@ -327,97 +328,55 @@ public class Admin {
//Profiles
ClassPathXmlApplicationContext ctx = getApplicationContext(ctxName);
UserDao udao = ctx.getBean(UserDao.class);
- CleanupEntityUnit profileUnit = CleanupHelper.getProfileUnit(udao);
- long restSize = sectionSize - profileUnit.getSizeTotal();
- report.append("\t\tprofiles: ").append(profileUnit.getHumanTotal()).append("\n");
- report.append("\t\t\tinvalid: ").append(profileUnit.getHumanInvalid()).append("\n");
- report.append("\t\t\tdeleted: ").append(profileUnit.getHumanDeleted()).append("\n");
- report.append("\t\t\tmissing count: ").append(profileUnit.getMissing()).append("\n");
+ CleanupEntityUnit profile = CleanupHelper.getProfileUnit(udao);
+ long restSize = sectionSize - profile.getSizeTotal();
+ report.append("\t\tprofiles: ").append(profile.getHumanTotal()).append("\n");
+ report.append("\t\t\tinvalid: ").append(profile.getHumanInvalid()).append("\n");
+ report.append("\t\t\tdeleted: ").append(profile.getHumanDeleted()).append("\n");
+ report.append("\t\t\tmissing count: ").append(profile.getMissing()).append("\n");
if (cleanup) {
- profileUnit.cleanup();
+ profile.cleanup();
}
- long size = OmFileHelper.getSize(OmFileHelper.getUploadImportDir());
- restSize -= size;
- report.append("\t\timport: ").append(OmFileHelper.getHumanSize(size)).append("\n");
- size = OmFileHelper.getSize(OmFileHelper.getUploadBackupDir());
- restSize -= size;
- report.append("\t\tbackup: ").append(OmFileHelper.getHumanSize(size)).append("\n");
- //Files
- File files = OmFileHelper.getUploadFilesDir();
- size = OmFileHelper.getSize(files);
- restSize -= size;
- FileExplorerItemDao fileDao = ctx.getBean(FileExplorerItemDao.class);
- long invalid = 0;
- long deleted = 0;
- for (File f : files.listFiles()) {
- long fSize = OmFileHelper.getSize(f);
- FileExplorerItem item = fileDao.getByHash(f.getName());
- if (item == null) {
- if (cleanup) {
- FileHelper.removeRec(f);
- } else {
- invalid += fSize;
- }
- } else if (item.isDeleted()) {
- if (cleanup) {
- FileHelper.removeRec(f);
- } else {
- deleted += fSize;
- }
- }
+ CleanupUnit imp = CleanupHelper.getImportUnit();
+ restSize -= imp.getSizeTotal();
+ report.append("\t\timport: ").append(OmFileHelper.getHumanSize(imp.getSizeTotal())).append("\n");
+ if (cleanup) {
+ imp.cleanup();
}
- int missing = 0;
- for (FileExplorerItem item : fileDao.get()) {
- if (!item.isDeleted() && item.getHash() != null && !new File(files, item.getHash()).exists()) {
- missing++;
- }
+ CleanupUnit back = CleanupHelper.getBackupUnit();
+ restSize -= back.getSizeTotal();
+ report.append("\t\tbackup: ").append(OmFileHelper.getHumanSize(back.getSizeTotal())).append("\n");
+ if (cleanup) {
+ back.cleanup();
}
- report.append("\t\tfiles: ").append(OmFileHelper.getHumanSize(size)).append("\n");
- report.append("\t\t\tinvalid: ").append(OmFileHelper.getHumanSize(invalid)).append("\n");
- report.append("\t\t\tdeleted: ").append(OmFileHelper.getHumanSize(deleted)).append("\n");
- report.append("\t\t\tmissing count: ").append(missing).append("\n");
+ //Files
+ FileExplorerItemDao fileDao = ctx.getBean(FileExplorerItemDao.class);
+ CleanupEntityUnit files = CleanupHelper.getFileUnit(fileDao);
+ restSize -= files.getSizeTotal();
+ report.append("\t\tfiles: ").append(files.getHumanTotal()).append("\n");
+ report.append("\t\t\tinvalid: ").append(files.getHumanInvalid()).append("\n");
+ report.append("\t\t\tdeleted: ").append(files.getHumanDeleted()).append("\n");
+ report.append("\t\t\tmissing count: ").append(files.getMissing()).append("\n");
report.append("\t\trest: ").append(OmFileHelper.getHumanSize(restSize)).append("\n");
+ if (cleanup) {
+ files.cleanup();
+ }
}
{ //STREAMS
- File streamsDir = OmFileHelper.getStreamsDir();
+ RecordingDao recordDao = getApplicationContext(ctxName).getBean(RecordingDao.class);
+ CleanupEntityUnit rec = CleanupHelper.getRecUnit(recordDao);
File hibernateDir = OmFileHelper.getStreamsHibernateDir();
- if (cleanup) {
- String hiberPath = hibernateDir.getCanonicalPath();
- for (File f : streamsDir.listFiles()) {
- if (!f.getCanonicalPath().equals(hiberPath)) {
- FileHelper.removeRec(f);
- }
- }
- }
- long sectionSize = OmFileHelper.getSize(streamsDir);
- report.append("Recordings allocates: ").append(OmFileHelper.getHumanSize(sectionSize)).append("\n");
+ report.append("Recordings allocates: ").append(rec.getHumanTotal()).append("\n");
long size = OmFileHelper.getSize(hibernateDir);
- long restSize = sectionSize - size;
- RecordingDao recordDao = getApplicationContext(ctxName).getBean(RecordingDao.class);
- long[] params = {0, 0}; // [0] == deleted [1] == missing
- for (Recording rec : recordDao.get()) {
- checkRecordingFile(hibernateDir, rec.getHash(), rec.isDeleted(), params, cleanup);
- checkRecordingFile(hibernateDir, rec.getAlternateDownload(), rec.isDeleted(), params, cleanup);
- checkRecordingFile(hibernateDir, rec.getPreviewImage(), rec.isDeleted(), params, cleanup);
- }
- long invalid = 0;
- for (File f : hibernateDir.listFiles()) {
- if (f.isFile() && f.getName().endsWith(".flv")) {
- Recording rec = recordDao.getByHash(f.getName());
- if (rec == null) {
- cleanUpFile(invalid, cleanup, f);
- String name = f.getName().substring(0, f.getName().length() - 5);
- cleanUpFile(invalid, cleanup, new File(hibernateDir, name + ".avi"));
- cleanUpFile(invalid, cleanup, new File(hibernateDir, name + ".jpg"));
- cleanUpFile(invalid, cleanup, new File(hibernateDir, name + ".flv.meta"));
- }
- }
- }
+ long restSize = rec.getSizeTotal() - size;
report.append("\t\tfinal: ").append(OmFileHelper.getHumanSize(size)).append("\n");
- report.append("\t\t\tinvalid: ").append(OmFileHelper.getHumanSize(invalid)).append("\n");
- report.append("\t\t\tdeleted: ").append(OmFileHelper.getHumanSize(params[0])).append("\n");
- report.append("\t\t\tmissing count: ").append(params[1]).append("\n");
+ report.append("\t\t\tinvalid: ").append(rec.getHumanInvalid()).append("\n");
+ report.append("\t\t\tdeleted: ").append(rec.getHumanDeleted()).append("\n");
+ report.append("\t\t\tmissing count: ").append(rec.getMissing()).append("\n");
report.append("\t\trest: ").append(OmFileHelper.getHumanSize(restSize)).append("\n");
+ if (cleanup) {
+ rec.cleanup();
+ }
}
System.out.println(report);
} catch (Exception e) {
@@ -446,32 +405,6 @@ public class Admin {
System.exit(0);
}
- private static long cleanUpFile(long invalid, boolean cleanup, File f) {
- if (f.exists()) {
- if (cleanup) {
- FileHelper.removeRec(f);
- } else {
- invalid += f.length();
- }
- }
- return invalid;
- }
- private static void checkRecordingFile(File hibernateDir, String name, boolean deleted, long[] params, boolean cleanup) {
- File flv = name != null ? new File(hibernateDir, name) : null;
- if (flv != null) {
- if (flv.exists() && flv.isFile()) {
- if (deleted) {
- params[0] += flv.length();
- if (cleanup) {
- FileHelper.removeRec(flv);
- }
- }
- } else {
- params[1]++;
- }
- }
- }
-
private void checkAdminDetails(String ctxName) throws Exception {
cfg.username = cmdl.getOptionValue("user");
cfg.email = cmdl.getOptionValue("email");
Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupEntityUnit.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupEntityUnit.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupEntityUnit.java (original)
+++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupEntityUnit.java Wed Apr 6 09:39:48 2016
@@ -19,12 +19,15 @@
package org.apache.openmeetings.cli;
import java.io.File;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import org.apache.commons.transaction.util.FileHelper;
import org.apache.openmeetings.util.OmFileHelper;
public abstract class CleanupEntityUnit extends CleanupUnit {
+ private static final long serialVersionUID = 1L;
protected List<File> invalid = new ArrayList<>();
protected List<File> deleted = new ArrayList<>();
private long sizeInvalid = 0;
@@ -42,6 +45,16 @@ public abstract class CleanupEntityUnit
}
}
+ @Override
+ public void cleanup() throws IOException {
+ for (File i : invalid) {
+ FileHelper.removeRec(i);
+ }
+ for (File i : deleted) {
+ FileHelper.removeRec(i);
+ }
+ }
+
public abstract void fill();
public long getSizeInvalid() {
Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java (original)
+++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupHelper.java Wed Apr 6 09:39:48 2016
@@ -18,37 +18,36 @@
*/
package org.apache.openmeetings.cli;
+import static org.apache.openmeetings.util.OmFileHelper.FLV_EXTENSION;
+import static org.apache.openmeetings.util.OmFileHelper.recordingFileName;
+
import java.io.File;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.util.List;
import org.apache.commons.transaction.util.FileHelper;
+import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
+import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+import org.apache.openmeetings.db.entity.record.Recording;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.util.OmFileHelper;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
public class CleanupHelper {
+ private static final Logger log = Red5LoggerFactory.getLogger(CleanupHelper.class);
+
public static CleanupUnit getTempUnit() {
- return new CleanupUnit(OmFileHelper.getUploadTempDir()) {
- @Override
- public void cleanup() {
- for (File f : getParent().listFiles()) {
- FileHelper.removeRec(f);
- }
- }
- };
+ return new CleanupUnit(OmFileHelper.getUploadTempDir());
}
public static CleanupEntityUnit getProfileUnit(final UserDao udao) {
return new CleanupEntityUnit(OmFileHelper.getUploadProfilesDir()) {
- @Override
- public void cleanup() {
- for (File i : invalid) {
- FileHelper.removeRec(i);
- }
- for (File i : deleted) {
- FileHelper.removeRec(i);
- }
- }
-
+ private static final long serialVersionUID = 1L;
+
@Override
public void fill() {
for (File profile : getParent().listFiles()) {
@@ -67,6 +66,99 @@ public class CleanupHelper {
}
}
};
+ }
+
+ public static CleanupUnit getImportUnit() {
+ return new CleanupUnit(OmFileHelper.getUploadImportDir());
+ }
+
+ public static CleanupUnit getBackupUnit() {
+ return new CleanupUnit(OmFileHelper.getUploadBackupDir());
+ }
+
+ public static CleanupEntityUnit getFileUnit(final FileExplorerItemDao fileDao) {
+ return new CleanupEntityUnit(OmFileHelper.getUploadFilesDir()) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void fill() {
+ for (File f : getParent().listFiles()) {
+ FileExplorerItem item = fileDao.getByHash(f.getName()); // TODO probable extension should be stripped
+ if (item == null) {
+ invalid.add(f);
+ } else if (item.isDeleted()) {
+ deleted.add(f);
+ }
+ }
+ //TODO WML_DIR should also be checked
+ for (FileExplorerItem item : fileDao.get()) {
+ if (!item.isDeleted() && item.getHash() != null && !new File(getParent(), item.getHash()).exists()) {
+ missing++;
+ }
+ }
+ }
+ };
+ }
+
+ public static CleanupEntityUnit getRecUnit(final RecordingDao recordDao) {
+ return new CleanupEntityUnit(OmFileHelper.getStreamsDir()) {
+ private static final long serialVersionUID = 1L;
+ private File hibernateDir;
+
+ @Override
+ public void cleanup() throws IOException {
+ String hiberPath = hibernateDir.getCanonicalPath();
+ for (File f : getParent().listFiles()) {
+ if (!f.getCanonicalPath().equals(hiberPath)) {
+ FileHelper.removeRec(f);
+ }
+ }
+ super.cleanup();
+ }
+
+ @Override
+ public void fill() {
+ hibernateDir = OmFileHelper.getStreamsHibernateDir();
+ for (File f : hibernateDir.listFiles(new FilenameFilter() {
+ @Override
+ public boolean accept(File dir, String name) {
+ return name.startsWith(recordingFileName) && name.endsWith(FLV_EXTENSION);
+ }
+ })) {
+ if (!f.isFile()) {
+ log.warn("Recording found is not a file: " + f);
+ continue;
+ }
+ Long id = Long.valueOf(f.getName().substring(recordingFileName.length(), f.getName().length() - FLV_EXTENSION.length()));
+ Recording item = recordDao.get(id);
+ if (item == null) {
+ add(invalid, id);
+ } else if (item.isDeleted()) {
+ add(deleted, id);
+ }
+ }
+ for (Recording item : recordDao.get()) {
+ if (!item.isDeleted() && item.getHash() != null && list(item.getId()).length == 0) {
+ missing++;
+ }
+ }
+ }
+
+ private File[] list(final Long id) {
+ return hibernateDir.listFiles(new FilenameFilter() {
+ @Override
+ public boolean accept(File dir, String name) {
+ return name.startsWith(recordingFileName + id);
+ }
+ });
+ }
+
+ private void add(List<File> list, final Long id) {
+ for (File f : list(id)) {
+ list.add(f);
+ }
+ }
+ };
}
private static long getUserIdByProfile(String name) {
Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupUnit.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupUnit.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupUnit.java (original)
+++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/CleanupUnit.java Wed Apr 6 09:39:48 2016
@@ -19,10 +19,14 @@
package org.apache.openmeetings.cli;
import java.io.File;
+import java.io.IOException;
+import java.io.Serializable;
+import org.apache.commons.transaction.util.FileHelper;
import org.apache.openmeetings.util.OmFileHelper;
-public abstract class CleanupUnit {
+public class CleanupUnit implements Serializable {
+ private static final long serialVersionUID = 1L;
private final File parent;
private final long sizeTotal;
@@ -34,7 +38,11 @@ public abstract class CleanupUnit {
sizeTotal = OmFileHelper.getSize(parent);
}
- public abstract void cleanup();
+ public void cleanup() throws IOException {
+ for (File f : getParent().listFiles()) {
+ FileHelper.removeRec(f);
+ }
+ }
public File getParent() {
return parent;
Modified: openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java (original)
+++ openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java Wed Apr 6 09:39:48 2016
@@ -66,11 +66,13 @@ public class OmFileHelper {
public static final String libraryFileName = "library.xml";
public static final String defaultProfileImageName = "profile_pic.jpg";
public static final String profileFileName = "profile";
+ public static final String recordingFileName = "flvRecording_";
public static final String profileImagePrefix = "_profile_";
public static final String chatImagePrefix = "_chat_";
public static final String bigImagePrefix = "_big_";
public static final String thumbImagePrefix = "_thumb_";
public static final String dashboardFile = "dashboard.xml";
+ public static final String FLV_EXTENSION = ".flv";
public static final String MP4_EXTENSION = ".mp4";
public static final String OGG_EXTENSION = ".ogg";
public static final String JPG_EXTENTION = ".jpg";
@@ -173,7 +175,7 @@ public class OmFileHelper {
}
public static File getStreamsDir() {
- return new File(OmFileHelper.OM_HOME, STREAMS_DIR);
+ return getDir(OmFileHelper.OM_HOME, STREAMS_DIR);
}
public static File getStreamsHibernateDir() {
@@ -211,7 +213,7 @@ public class OmFileHelper {
}
public static File getRecordingMetaData(Long roomId, String name) {
- return new File(getStreamsSubDir(roomId), name + ".flv");
+ return new File(getStreamsSubDir(roomId), name + FLV_EXTENSION);
}
public static File getLanguagesDir() {
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java?rev=1737955&r1=1737954&r2=1737955&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java Wed Apr 6 09:39:48 2016
@@ -266,12 +266,10 @@ public class OmUrlFragment implements Se
break;
case room:
try {
- Long roomId = Long.parseLong(type);
- if (roomId != null) {
- Room r = getBean(RoomDao.class).get(roomId);
- if (r != null) {
- basePanel = new RoomPanel(CHILD_ID, r);
- }
+ Long roomId = Long.valueOf(type);
+ Room r = getBean(RoomDao.class).get(roomId);
+ if (r != null) {
+ basePanel = new RoomPanel(CHILD_ID, r);
}
} catch(NumberFormatException ne) {
//skip it, bad roomid passed