Author: solomax
Date: Thu Apr  7 02:01:44 2016
New Revision: 1738071

URL: http://svn.apache.org/viewvc?rev=1738071&view=rev
Log:
[OPENMEETINGS-853] clean-up dialog works with no warnings

Modified:
    
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-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.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-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java

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=1738071&r1=1738070&r2=1738071&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
 Thu Apr  7 02:01:44 2016
@@ -26,17 +26,25 @@ import java.util.List;
 import org.apache.commons.transaction.util.FileHelper;
 import org.apache.openmeetings.util.OmFileHelper;
 
-public abstract class CleanupEntityUnit extends CleanupUnit {
+public class CleanupEntityUnit extends CleanupUnit {
        private static final long serialVersionUID = 1L;
-       protected List<File> invalid = new ArrayList<>();
-       protected List<File> deleted = new ArrayList<>();
+       private final List<File> invalid;
+       private final List<File> deleted;
        private long sizeInvalid = 0;
        private long sizeDeleted = 0;
-       protected int missing = 0;
+       protected final int missing;
        
-       public CleanupEntityUnit(File parent) {
+       public CleanupEntityUnit() {
+               invalid = new ArrayList<>();
+               deleted = new ArrayList<>();
+               missing = 0;
+       }
+       
+       public CleanupEntityUnit(File parent, List<File> invalid, List<File> 
deleted, int missing) {
                super(parent);
-               fill();
+               this.invalid = invalid;
+               this.deleted = deleted;
+               this.missing = missing;
                for (File i : invalid) {
                        sizeInvalid += OmFileHelper.getSize(i);
                }
@@ -55,8 +63,6 @@ public abstract class CleanupEntityUnit
                }
        }
        
-       public abstract void fill();
-
        public long getSizeInvalid() {
                return sizeInvalid;
        }

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=1738071&r1=1738070&r2=1738071&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
 Thu Apr  7 02:01:44 2016
@@ -24,6 +24,7 @@ import static org.apache.openmeetings.ut
 import java.io.File;
 import java.io.FilenameFilter;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.transaction.util.FileHelper;
@@ -39,33 +40,32 @@ import org.slf4j.Logger;
 
 public class CleanupHelper {
        private static final Logger log = 
Red5LoggerFactory.getLogger(CleanupHelper.class);
+       private static File hibernateDir = 
OmFileHelper.getStreamsHibernateDir();
        
        public static CleanupUnit getTempUnit() {
                return new CleanupUnit(OmFileHelper.getUploadTempDir());
        }
 
        public static CleanupEntityUnit getProfileUnit(final UserDao udao) {
-               return new 
CleanupEntityUnit(OmFileHelper.getUploadProfilesDir()) {
-                       private static final long serialVersionUID = 1L;
-
-                       @Override
-                       public void fill() {
-                               for (File profile : getParent().listFiles()) {
-                                       long userId = 
getUserIdByProfile(profile.getName());
-                                       User u = udao.get(userId);
-                                       if (profile.isFile() || userId < 0 || u 
== null) {
-                                               invalid.add(profile);
-                                       } else if (u.isDeleted()) {
-                                               deleted.add(profile);
-                                       }
-                               }
-                               for (User u : udao.getAllBackupUsers()) {
-                                       if (!u.isDeleted() && u.getPictureuri() 
!= null && !new File(OmFileHelper.getUploadProfilesUserDir(u.getId()), 
u.getPictureuri()).exists()) {
-                                               missing++;
-                                       }
-                               }
+               File parent = OmFileHelper.getUploadProfilesDir();
+               List<File> invalid = new ArrayList<>();
+               List<File> deleted = new ArrayList<>();
+               int missing = 0;
+               for (File profile : parent.listFiles()) {
+                       long userId = getUserIdByProfile(profile.getName());
+                       User u = udao.get(userId);
+                       if (profile.isFile() || userId < 0 || u == null) {
+                               invalid.add(profile);
+                       } else if (u.isDeleted()) {
+                               deleted.add(profile);
+                       }
+               }
+               for (User u : udao.getAllBackupUsers()) {
+                       if (!u.isDeleted() && u.getPictureuri() != null && !new 
File(OmFileHelper.getUploadProfilesUserDir(u.getId()), 
u.getPictureuri()).exists()) {
+                               missing++;
                        }
-               };
+               }
+               return new CleanupEntityUnit(parent, invalid, deleted, missing);
        }
 
        public static CleanupUnit getImportUnit() {
@@ -77,34 +77,58 @@ public class CleanupHelper {
        }
 
        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++;
-                                       }
-                               }
+               File parent = OmFileHelper.getUploadFilesDir();
+               List<File> invalid = new ArrayList<>();
+               List<File> deleted = new ArrayList<>();
+               int missing = 0;
+               for (File f : parent.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(parent, item.getHash()).exists()) {
+                               missing++;
                        }
-               };
+               }
+               return new CleanupEntityUnit(parent, invalid, deleted, missing);
        }
 
        public static CleanupEntityUnit getRecUnit(final RecordingDao 
recordDao) {
-               return new CleanupEntityUnit(OmFileHelper.getStreamsDir()) {
+               File parent = OmFileHelper.getStreamsDir();
+               List<File> invalid = new ArrayList<>();
+               List<File> deleted = new ArrayList<>();
+               int missing = 0;
+               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++;
+                       }
+               }
+               return new CleanupEntityUnit(parent, invalid, deleted, missing) 
{
                        private static final long serialVersionUID = 1L;
-                       private File hibernateDir;
-
+                       
                        @Override
                        public void cleanup() throws IOException {
                                String hiberPath = 
hibernateDir.getCanonicalPath();
@@ -115,50 +139,22 @@ public class CleanupHelper {
                                }
                                super.cleanup();
                        }
-                       
+               };
+       }
+
+       private static File[] list(final Long id) {
+               return hibernateDir.listFiles(new FilenameFilter() {
                        @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);
-                               }
+                       public boolean accept(File dir, String name) {
+                               return name.startsWith(recordingFileName + id);
                        }
-               };
+               });
+       }
+       
+       private static 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=1738071&r1=1738070&r2=1738071&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
 Thu Apr  7 02:01:44 2016
@@ -30,6 +30,11 @@ public class CleanupUnit implements Seri
        private final File parent;
        private final long sizeTotal;
        
+       public CleanupUnit() {
+               parent = new File(".");
+               sizeTotal = 0;
+       }
+       
        public CleanupUnit(File parent) {
                this.parent = parent;
                if (!parent.isDirectory() || !parent.exists()) {

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html?rev=1738071&r1=1738070&r2=1738071&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html
 Thu Apr  7 02:01:44 2016
@@ -22,7 +22,7 @@
 <wicket:panel>
        <div class="ui-widget">
                <div class="ui-widget-content ui-corner-all">
-                       <ul>
+                       <ul wicket:id="container">
                                <li><div wicket:id="temp"></div></li>
                                <li><span><wicket:message 
key="dashboard.widget.admin.cleanup.upload"/></span>&nbsp;&nbsp;<span 
wicket:id="upload-size"></span>
                                        <ul>

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java?rev=1738071&r1=1738070&r2=1738071&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
 Thu Apr  7 02:01:44 2016
@@ -29,10 +29,14 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OmFileHelper.getUploadDir;
 import static org.apache.openmeetings.web.app.Application.getBean;
 
+import org.apache.openmeetings.cli.CleanupEntityUnit;
+import org.apache.openmeetings.cli.CleanupUnit;
 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.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.model.Model;
 
@@ -41,17 +45,28 @@ import com.googlecode.wicket.jquery.ui.w
 
 public class AdminCleanupInfoDialog extends AbstractDialog<String> {
        private static final long serialVersionUID = 1L;
+       private final CleanupUnitPanel temp;
+       private final Label uploadSize;
+       private final CleanupEntityUnitPanel profile;
+       private final CleanupUnitPanel imp;
+       private final CleanupUnitPanel backup;
+       private final CleanupEntityUnitPanel files;
+       private final Label streamsSize;
+       private final CleanupEntityUnitPanel fin;
+       private final WebMarkupContainer container = new 
WebMarkupContainer("container");
 
        public AdminCleanupInfoDialog(String id) {
                super(id, "");
-               add(new CleanupUnitPanel("temp", 
"dashboard.widget.admin.cleanup.temp", getTempUnit()));
-               add(new Label("upload-size", getHumanSize(getUploadDir())));
-               add(new CleanupEntityUnitPanel("profile", 
"dashboard.widget.admin.cleanup.profiles", 
getProfileUnit(getBean(UserDao.class))));
-               add(new CleanupUnitPanel("import", 
"dashboard.widget.admin.cleanup.import", getImportUnit()));
-               add(new CleanupUnitPanel("backup", 
"dashboard.widget.admin.cleanup.backup", getBackupUnit()));
-               add(new CleanupEntityUnitPanel("files", 
"dashboard.widget.admin.cleanup.files", 
getFileUnit(getBean(FileExplorerItemDao.class))));
-               add(new Label("streams-size", getHumanSize(getStreamsDir())));
-               add(new CleanupEntityUnitPanel("final", 
"dashboard.widget.admin.cleanup.final", 
getRecUnit(getBean(RecordingDao.class))));
+               temp = new CleanupUnitPanel("temp", 
"dashboard.widget.admin.cleanup.temp", new CleanupUnit());
+               uploadSize = new Label("upload-size", "");
+               profile = new CleanupEntityUnitPanel("profile", 
"dashboard.widget.admin.cleanup.profiles", new CleanupEntityUnit());
+               imp = new CleanupUnitPanel("import", 
"dashboard.widget.admin.cleanup.import", new CleanupUnit());
+               backup = new CleanupUnitPanel("backup", 
"dashboard.widget.admin.cleanup.backup", new CleanupUnit());
+               files = new CleanupEntityUnitPanel("files", 
"dashboard.widget.admin.cleanup.files", new CleanupEntityUnit());
+               streamsSize = new Label("streams-size", "");
+               fin = new CleanupEntityUnitPanel("final", 
"dashboard.widget.admin.cleanup.final", new CleanupEntityUnit());
+               
+               add(container.add(temp, uploadSize, profile, imp, backup, 
files, streamsSize, fin).setOutputMarkupId(true));
        }
 
        @Override
@@ -63,6 +78,18 @@ public class AdminCleanupInfoDialog exte
        @Override
        public void onClose(IPartialPageRequestHandler handler, DialogButton 
button) {
                // TODO Auto-generated method stub
-
+       }
+       
+       public void show(AjaxRequestTarget target) {
+               temp.setDefaultModelObject(getTempUnit());
+               uploadSize.setDefaultModelObject(getHumanSize(getUploadDir()));
+               
profile.setDefaultModelObject(getProfileUnit(getBean(UserDao.class)));
+               imp.setDefaultModelObject(getImportUnit());
+               backup.setDefaultModelObject(getBackupUnit());
+               
files.setDefaultModelObject(getFileUnit(getBean(FileExplorerItemDao.class)));
+               
streamsSize.setDefaultModelObject(getHumanSize(getStreamsDir()));
+               
fin.setDefaultModelObject(getRecUnit(getBean(RecordingDao.class)));
+               target.add(container);
+               open(target);
        }
 }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java?rev=1738071&r1=1738070&r2=1738071&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java
 Thu Apr  7 02:01:44 2016
@@ -41,7 +41,7 @@ public class AdminWidgetView extends Wid
 
                        @Override
                        protected void onSubmit(AjaxRequestTarget target, 
Form<?> form) {
-                               cleanupDialog.open(target);
+                               cleanupDialog.show(target);
                        }
                });
        }

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=1738071&r1=1738070&r2=1738071&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
 Thu Apr  7 02:01:44 2016
@@ -26,17 +26,25 @@ import java.util.List;
 import org.apache.commons.transaction.util.FileHelper;
 import org.apache.openmeetings.util.OmFileHelper;
 
-public abstract class CleanupEntityUnit extends CleanupUnit {
+public class CleanupEntityUnit extends CleanupUnit {
        private static final long serialVersionUID = 1L;
-       protected List<File> invalid = new ArrayList<>();
-       protected List<File> deleted = new ArrayList<>();
+       private final List<File> invalid;
+       private final List<File> deleted;
        private long sizeInvalid = 0;
        private long sizeDeleted = 0;
-       protected int missing = 0;
+       protected final int missing;
        
-       public CleanupEntityUnit(File parent) {
+       public CleanupEntityUnit() {
+               invalid = new ArrayList<>();
+               deleted = new ArrayList<>();
+               missing = 0;
+       }
+       
+       public CleanupEntityUnit(File parent, List<File> invalid, List<File> 
deleted, int missing) {
                super(parent);
-               fill();
+               this.invalid = invalid;
+               this.deleted = deleted;
+               this.missing = missing;
                for (File i : invalid) {
                        sizeInvalid += OmFileHelper.getSize(i);
                }
@@ -55,8 +63,6 @@ public abstract class CleanupEntityUnit
                }
        }
        
-       public abstract void fill();
-
        public long getSizeInvalid() {
                return sizeInvalid;
        }

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=1738071&r1=1738070&r2=1738071&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
 Thu Apr  7 02:01:44 2016
@@ -24,6 +24,7 @@ import static org.apache.openmeetings.ut
 import java.io.File;
 import java.io.FilenameFilter;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.transaction.util.FileHelper;
@@ -39,33 +40,32 @@ import org.slf4j.Logger;
 
 public class CleanupHelper {
        private static final Logger log = 
Red5LoggerFactory.getLogger(CleanupHelper.class);
+       private static File hibernateDir = 
OmFileHelper.getStreamsHibernateDir();
        
        public static CleanupUnit getTempUnit() {
                return new CleanupUnit(OmFileHelper.getUploadTempDir());
        }
 
        public static CleanupEntityUnit getProfileUnit(final UserDao udao) {
-               return new 
CleanupEntityUnit(OmFileHelper.getUploadProfilesDir()) {
-                       private static final long serialVersionUID = 1L;
-
-                       @Override
-                       public void fill() {
-                               for (File profile : getParent().listFiles()) {
-                                       long userId = 
getUserIdByProfile(profile.getName());
-                                       User u = udao.get(userId);
-                                       if (profile.isFile() || userId < 0 || u 
== null) {
-                                               invalid.add(profile);
-                                       } else if (u.isDeleted()) {
-                                               deleted.add(profile);
-                                       }
-                               }
-                               for (User u : udao.getAllBackupUsers()) {
-                                       if (!u.isDeleted() && u.getPictureuri() 
!= null && !new File(OmFileHelper.getUploadProfilesUserDir(u.getId()), 
u.getPictureuri()).exists()) {
-                                               missing++;
-                                       }
-                               }
+               File parent = OmFileHelper.getUploadProfilesDir();
+               List<File> invalid = new ArrayList<>();
+               List<File> deleted = new ArrayList<>();
+               int missing = 0;
+               for (File profile : parent.listFiles()) {
+                       long userId = getUserIdByProfile(profile.getName());
+                       User u = udao.get(userId);
+                       if (profile.isFile() || userId < 0 || u == null) {
+                               invalid.add(profile);
+                       } else if (u.isDeleted()) {
+                               deleted.add(profile);
+                       }
+               }
+               for (User u : udao.getAllBackupUsers()) {
+                       if (!u.isDeleted() && u.getPictureuri() != null && !new 
File(OmFileHelper.getUploadProfilesUserDir(u.getId()), 
u.getPictureuri()).exists()) {
+                               missing++;
                        }
-               };
+               }
+               return new CleanupEntityUnit(parent, invalid, deleted, missing);
        }
 
        public static CleanupUnit getImportUnit() {
@@ -77,34 +77,58 @@ public class CleanupHelper {
        }
 
        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++;
-                                       }
-                               }
+               File parent = OmFileHelper.getUploadFilesDir();
+               List<File> invalid = new ArrayList<>();
+               List<File> deleted = new ArrayList<>();
+               int missing = 0;
+               for (File f : parent.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(parent, item.getHash()).exists()) {
+                               missing++;
                        }
-               };
+               }
+               return new CleanupEntityUnit(parent, invalid, deleted, missing);
        }
 
        public static CleanupEntityUnit getRecUnit(final RecordingDao 
recordDao) {
-               return new CleanupEntityUnit(OmFileHelper.getStreamsDir()) {
+               File parent = OmFileHelper.getStreamsDir();
+               List<File> invalid = new ArrayList<>();
+               List<File> deleted = new ArrayList<>();
+               int missing = 0;
+               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++;
+                       }
+               }
+               return new CleanupEntityUnit(parent, invalid, deleted, missing) 
{
                        private static final long serialVersionUID = 1L;
-                       private File hibernateDir;
-
+                       
                        @Override
                        public void cleanup() throws IOException {
                                String hiberPath = 
hibernateDir.getCanonicalPath();
@@ -115,50 +139,22 @@ public class CleanupHelper {
                                }
                                super.cleanup();
                        }
-                       
+               };
+       }
+
+       private static File[] list(final Long id) {
+               return hibernateDir.listFiles(new FilenameFilter() {
                        @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);
-                               }
+                       public boolean accept(File dir, String name) {
+                               return name.startsWith(recordingFileName + id);
                        }
-               };
+               });
+       }
+       
+       private static 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=1738071&r1=1738070&r2=1738071&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
 Thu Apr  7 02:01:44 2016
@@ -30,6 +30,11 @@ public class CleanupUnit implements Seri
        private final File parent;
        private final long sizeTotal;
        
+       public CleanupUnit() {
+               parent = new File(".");
+               sizeTotal = 0;
+       }
+       
        public CleanupUnit(File parent) {
                this.parent = parent;
                if (!parent.isDirectory() || !parent.exists()) {

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html?rev=1738071&r1=1738070&r2=1738071&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.html
 Thu Apr  7 02:01:44 2016
@@ -22,7 +22,7 @@
 <wicket:panel>
        <div class="ui-widget">
                <div class="ui-widget-content ui-corner-all">
-                       <ul>
+                       <ul wicket:id="container">
                                <li><div wicket:id="temp"></div></li>
                                <li><span><wicket:message 
key="dashboard.widget.admin.cleanup.upload"/></span>&nbsp;&nbsp;<span 
wicket:id="upload-size"></span>
                                        <ul>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java?rev=1738071&r1=1738070&r2=1738071&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
 Thu Apr  7 02:01:44 2016
@@ -29,10 +29,14 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OmFileHelper.getUploadDir;
 import static org.apache.openmeetings.web.app.Application.getBean;
 
+import org.apache.openmeetings.cli.CleanupEntityUnit;
+import org.apache.openmeetings.cli.CleanupUnit;
 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.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.model.Model;
 
@@ -41,17 +45,28 @@ import com.googlecode.wicket.jquery.ui.w
 
 public class AdminCleanupInfoDialog extends AbstractDialog<String> {
        private static final long serialVersionUID = 1L;
+       private final CleanupUnitPanel temp;
+       private final Label uploadSize;
+       private final CleanupEntityUnitPanel profile;
+       private final CleanupUnitPanel imp;
+       private final CleanupUnitPanel backup;
+       private final CleanupEntityUnitPanel files;
+       private final Label streamsSize;
+       private final CleanupEntityUnitPanel fin;
+       private final WebMarkupContainer container = new 
WebMarkupContainer("container");
 
        public AdminCleanupInfoDialog(String id) {
                super(id, "");
-               add(new CleanupUnitPanel("temp", 
"dashboard.widget.admin.cleanup.temp", getTempUnit()));
-               add(new Label("upload-size", getHumanSize(getUploadDir())));
-               add(new CleanupEntityUnitPanel("profile", 
"dashboard.widget.admin.cleanup.profiles", 
getProfileUnit(getBean(UserDao.class))));
-               add(new CleanupUnitPanel("import", 
"dashboard.widget.admin.cleanup.import", getImportUnit()));
-               add(new CleanupUnitPanel("backup", 
"dashboard.widget.admin.cleanup.backup", getBackupUnit()));
-               add(new CleanupEntityUnitPanel("files", 
"dashboard.widget.admin.cleanup.files", 
getFileUnit(getBean(FileExplorerItemDao.class))));
-               add(new Label("streams-size", getHumanSize(getStreamsDir())));
-               add(new CleanupEntityUnitPanel("final", 
"dashboard.widget.admin.cleanup.final", 
getRecUnit(getBean(RecordingDao.class))));
+               temp = new CleanupUnitPanel("temp", 
"dashboard.widget.admin.cleanup.temp", new CleanupUnit());
+               uploadSize = new Label("upload-size", "");
+               profile = new CleanupEntityUnitPanel("profile", 
"dashboard.widget.admin.cleanup.profiles", new CleanupEntityUnit());
+               imp = new CleanupUnitPanel("import", 
"dashboard.widget.admin.cleanup.import", new CleanupUnit());
+               backup = new CleanupUnitPanel("backup", 
"dashboard.widget.admin.cleanup.backup", new CleanupUnit());
+               files = new CleanupEntityUnitPanel("files", 
"dashboard.widget.admin.cleanup.files", new CleanupEntityUnit());
+               streamsSize = new Label("streams-size", "");
+               fin = new CleanupEntityUnitPanel("final", 
"dashboard.widget.admin.cleanup.final", new CleanupEntityUnit());
+               
+               add(container.add(temp, uploadSize, profile, imp, backup, 
files, streamsSize, fin).setOutputMarkupId(true));
        }
 
        @Override
@@ -63,6 +78,18 @@ public class AdminCleanupInfoDialog exte
        @Override
        public void onClose(IPartialPageRequestHandler handler, DialogButton 
button) {
                // TODO Auto-generated method stub
-
+       }
+       
+       public void show(AjaxRequestTarget target) {
+               temp.setDefaultModelObject(getTempUnit());
+               uploadSize.setDefaultModelObject(getHumanSize(getUploadDir()));
+               
profile.setDefaultModelObject(getProfileUnit(getBean(UserDao.class)));
+               imp.setDefaultModelObject(getImportUnit());
+               backup.setDefaultModelObject(getBackupUnit());
+               
files.setDefaultModelObject(getFileUnit(getBean(FileExplorerItemDao.class)));
+               
streamsSize.setDefaultModelObject(getHumanSize(getStreamsDir()));
+               
fin.setDefaultModelObject(getRecUnit(getBean(RecordingDao.class)));
+               target.add(container);
+               open(target);
        }
 }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java?rev=1738071&r1=1738070&r2=1738071&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminWidgetView.java
 Thu Apr  7 02:01:44 2016
@@ -41,7 +41,7 @@ public class AdminWidgetView extends Wid
 
                        @Override
                        protected void onSubmit(AjaxRequestTarget target, 
Form<?> form) {
-                               cleanupDialog.open(target);
+                               cleanupDialog.show(target);
                        }
                });
        }


Reply via email to