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