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()));
                }
        }
 


Reply via email to