Author: solomax
Date: Tue Apr 24 04:38:25 2012
New Revision: 1329549
URL: http://svn.apache.org/viewvc?rev=1329549&view=rev
Log:
OPENMEETINGS-211 Cleanup is performed even if exception is occurred during
backup
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/BackupExport.java
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/BackupExport.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/BackupExport.java?rev=1329549&r1=1329548&r2=1329549&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/BackupExport.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/BackupExport.java
Tue Apr 24 04:38:25 2012
@@ -412,63 +412,63 @@ public class BackupExport {
HttpServletResponse httpServletResponse, ServletContext
servletCtx)
throws ServletException, IOException {
- try {
- String sid = httpServletRequest.getParameter("sid");
- if (sid == null) {
- sid = "default";
- }
- log.debug("sid: " + sid);
+ String sid = httpServletRequest.getParameter("sid");
+ if (sid == null) {
+ sid = "default";
+ }
+ log.debug("sid: " + sid);
- Long users_id = sessionManagement.checkSession(sid);
- Long user_level =
userManagement.getUserLevelByID(users_id);
+ Long users_id = sessionManagement.checkSession(sid);
+ Long user_level = userManagement.getUserLevelByID(users_id);
- log.debug("users_id: " + users_id);
- log.debug("user_level: " + user_level);
+ log.debug("users_id: " + users_id);
+ log.debug("user_level: " + user_level);
- if (authLevelManagement.checkAdminLevel(user_level)) {
- // if (true) {
+ if (authLevelManagement.checkAdminLevel(user_level)) {
+ // if (true) {
- String includeFileOption = httpServletRequest
-
.getParameter("includeFileOption");
- boolean includeFiles = includeFileOption ==
null || "yes".equals(includeFileOption);
+ String includeFileOption = httpServletRequest
+ .getParameter("includeFileOption");
+ boolean includeFiles = includeFileOption == null ||
"yes".equals(includeFileOption);
- String moduleName = httpServletRequest
- .getParameter("moduleName");
- if (moduleName == null) {
- moduleName = "moduleName";
- }
- log.debug("moduleName: " + moduleName);
+ String moduleName = httpServletRequest
+ .getParameter("moduleName");
+ if (moduleName == null) {
+ moduleName = "moduleName";
+ }
+ log.debug("moduleName: " + moduleName);
- if (moduleName.equals("backup")) {
+ if (moduleName.equals("backup")) {
- /*
- * ##################### Create Base
Folder structure
- */
+ /*
+ * ##################### Create Base Folder
structure
+ */
- String current_dir =
servletCtx.getRealPath("/");
- File working_dir = new File(new
File(current_dir, OpenmeetingsVariables.UPLOAD_DIR), "backup");
+ String current_dir =
servletCtx.getRealPath("/");
+ File working_dir = new File(new
File(current_dir, OpenmeetingsVariables.UPLOAD_DIR), "backup");
- if (!working_dir.exists()) {
- working_dir.mkdir();
- }
+ if (!working_dir.exists()) {
+ working_dir.mkdir();
+ }
- String dateString = "backup_"
- +
CalendarPatterns.getTimeForStreamId(new Date());
+ String dateString = "backup_"
+ +
CalendarPatterns.getTimeForStreamId(new Date());
- File backup_dir = new File(working_dir,
dateString);
- File backupFile = new File(backup_dir,
dateString + ".zip");
+ File backup_dir = new File(working_dir,
dateString);
+ String requestedFile = dateString + ".zip";
+ File backupFile = new File(backup_dir,
requestedFile);
- String full_path =
backupFile.getAbsolutePath();
+ String full_path = backupFile.getAbsolutePath();
+ try {
performExport(full_path, backup_dir,
includeFiles, current_dir);
-
+
RandomAccessFile rf = new
RandomAccessFile(full_path, "r");
- String requestedFile = dateString +
".zip";
httpServletResponse.reset();
httpServletResponse.resetBuffer();
httpServletResponse
-
.setContentType("APPLICATION/OCTET-STREAM");
+
.setContentType("APPLICATION/OCTET-STREAM");
httpServletResponse.setHeader("Content-Disposition",
"attachment;
filename=\"" + requestedFile + "\"");
httpServletResponse.setHeader("Content-Length",
@@ -487,23 +487,21 @@ public class BackupExport {
out.flush();
out.close();
+ } catch (Exception er) {
+ log.error("Error exporting: ", er);
+ }
- if (backupFile.exists()) {
- // log.debug("DELETE :1:
"+backupFile.getAbsolutePath());
- backupFile.delete();
- }
+ if (backupFile.exists()) {
+ // log.debug("DELETE :1:
"+backupFile.getAbsolutePath());
+ backupFile.delete();
+ }
- deleteDirectory(backup_dir);
+ deleteDirectory(backup_dir);
- }
- } else {
- log.debug("ERROR LangExport: not authorized
FileDownload "
- + (new Date()));
}
- } catch (Exception er) {
- log.error("ERROR ", er);
- log.debug("Error exporting: " + er);
- er.printStackTrace();
+ } else {
+ log.debug("ERROR LangExport: not authorized
FileDownload "
+ + (new Date()));
}
}