Author: solomax
Date: Mon Feb 17 19:56:20 2014
New Revision: 1569100

URL: http://svn.apache.org/r1569100
Log:
[OPENMEETINGS-924] drag-n-drop into trash is added

Modified:
    
openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/RoomWebService.java
    
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java
    
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java
    
openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupImport.java
    
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html
    
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
    
openmeetings/trunk/singlewebapp/src/axis/java/org/apache/openmeetings/axis/services/RoomWebService.java
    
openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java
    
openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java
    
openmeetings/trunk/singlewebapp/src/install/java/org/apache/openmeetings/backup/BackupImport.java
    
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html
    
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java

Modified: 
openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/RoomWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/RoomWebService.java?rev=1569100&r1=1569099&r2=1569100&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/RoomWebService.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/RoomWebService.java
 Mon Feb 17 19:56:20 2014
@@ -175,7 +175,7 @@ public class RoomWebService {
                        Long user_level = 
userManager.getUserLevelByID(users_id);
 
                        if (AuthLevelUtil.checkWebServiceLevel(user_level)) {
-                               return 
flvRecordingDao.deleteFlvRecording(flvRecordingId);
+                               return flvRecordingDao.delete(flvRecordingId);
                        }
 
                } catch (Exception err) {

Modified: 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java?rev=1569100&r1=1569099&r2=1569100&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java
 Mon Feb 17 19:56:20 2014
@@ -181,69 +181,12 @@ public class FlvRecordingDao {
                return null;
        }
 
-       public List<FlvRecording> getFlvRecordingsPublic() {
-               try {
-
-                       String hql = "SELECT c FROM FlvRecording c " + "WHERE 
c.deleted = false "
-                                       + "AND (c.ownerId IS NULL OR c.ownerId 
= 0)  "
-                                       + "AND (c.parentFileExplorerItemId IS 
NULL OR c.parentFileExplorerItemId = 0) "
-                                       + "ORDER BY c.folder DESC, c.fileName ";
-
-                       TypedQuery<FlvRecording> query = em.createQuery(hql, 
FlvRecording.class);
-
-                       List<FlvRecording> flvRecordingList = 
query.getResultList();
-                       return flvRecordingList;
-               } catch (Exception ex2) {
-                       log.error("[getFlvRecordingsPublic]: ", ex2);
-               }
-               return null;
-       }
-
        public List<FlvRecording> getFlvRecordingRootByPublic(Long 
organization_id) {
                return em.createNamedQuery("getRecordingsByOrganization", 
FlvRecording.class).setParameter("organization_id", 
organization_id).getResultList();
        }
 
        public List<FlvRecording> getFlvRecordingRootByOwner(Long ownerId) {
-               try {
-
-                       String hql = "SELECT c FROM FlvRecording c " + "WHERE 
c.deleted <> :deleted " + "AND c.ownerId = :ownerId "
-                                       + "AND (c.parentFileExplorerItemId IS 
NULL OR c.parentFileExplorerItemId = 0) "
-                                       + "ORDER BY c.folder DESC, c.fileName ";
-
-                       TypedQuery<FlvRecording> query = em.createQuery(hql, 
FlvRecording.class);
-                       query.setParameter("deleted", true);
-                       query.setParameter("ownerId", ownerId);
-
-                       List<FlvRecording> flvRecordingList = 
query.getResultList();
-
-                       return flvRecordingList;
-               } catch (Exception ex2) {
-                       log.error("[getFlvRecordingByOwner]: ", ex2);
-               }
-               return null;
-       }
-
-       public List<FlvRecording> getFlvRecordingByOwner(Long ownerId, Long 
parentFileExplorerItemId) {
-               try {
-
-                       String hql = "SELECT c FROM FlvRecording c "
-                                       + "WHERE c.deleted <> :deleted "
-                                       + "AND c.ownerId = :ownerId "
-                                       + "AND (c.parentFileExplorerItemId IS 
NULL OR c.parentFileExplorerItemId = :parentFileExplorerItemId)"
-                                       + "ORDER BY c.folder DESC, c.fileName ";
-
-                       TypedQuery<FlvRecording> query = em.createQuery(hql, 
FlvRecording.class);
-                       query.setParameter("deleted", true);
-                       query.setParameter("ownerId", ownerId);
-                       query.setParameter("parentFileExplorerItemId", 
parentFileExplorerItemId);
-
-                       List<FlvRecording> flvRecordingList = 
query.getResultList();
-
-                       return flvRecordingList;
-               } catch (Exception ex2) {
-                       log.error("[getFlvRecordingByOwner]: ", ex2);
-               }
-               return null;
+               return em.createNamedQuery("getRecordingsByOwner", 
FlvRecording.class).setParameter("ownerId", ownerId).getResultList();
        }
 
        public List<FlvRecording> getFlvRecordingByRoomId(Long room_id) {
@@ -285,44 +228,6 @@ public class FlvRecordingDao {
                return null;
        }
 
-       public Long addFlvFolderRecording(String fileHash, String fileName, 
Long fileSize, Long user_id, Long room_id,
-                       Date recordStart, Date recordEnd, Long ownerId, String 
comment, Long parentFileExplorerItemId,
-                       Long organization_id) {
-               try {
-
-                       FlvRecording flvRecording = new FlvRecording();
-
-                       
flvRecording.setParentFileExplorerItemId(parentFileExplorerItemId);
-
-                       flvRecording.setDeleted(false);
-                       flvRecording.setFileHash(fileHash);
-                       flvRecording.setFileName(fileName);
-                       flvRecording.setFileSize(fileSize);
-                       flvRecording.setInserted(new Date());
-                       flvRecording.setInsertedBy(user_id);
-                       flvRecording.setFolder(true);
-                       flvRecording.setIsImage(false);
-                       flvRecording.setIsPresentation(false);
-                       flvRecording.setIsRecording(true);
-                       flvRecording.setComment(comment);
-                       flvRecording.setOrganization_id(organization_id);
-
-                       flvRecording.setRoom_id(room_id);
-                       flvRecording.setRecordStart(recordStart);
-                       flvRecording.setRecordEnd(recordEnd);
-
-                       flvRecording.setOwnerId(ownerId);
-
-                       flvRecording = em.merge(flvRecording);
-                       Long flvRecordingId = flvRecording.getFlvRecordingId();
-
-                       return flvRecordingId;
-               } catch (Exception ex2) {
-                       log.error("[addFlvRecording]: ", ex2);
-               }
-               return null;
-       }
-
        public Long addFlvRecording(String fileHash, String fileName, Long 
fileSize, Long user_id, Long room_id,
                        Date recordStart, Date recordEnd, Long ownerId, String 
comment, String recorderStreamId, Integer width,
                        Integer height, Boolean isInterview) {
@@ -334,7 +239,6 @@ public class FlvRecordingDao {
                        flvRecording.setFileHash(fileHash);
                        flvRecording.setFileName(fileName);
                        flvRecording.setFileSize(fileSize);
-                       flvRecording.setInserted(new Date());
                        flvRecording.setInsertedBy(user_id);
                        flvRecording.setFolder(false);
                        flvRecording.setIsImage(false);
@@ -352,49 +256,14 @@ public class FlvRecordingDao {
 
                        flvRecording.setOwnerId(ownerId);
 
-                       flvRecording = em.merge(flvRecording);
-                       Long flvRecordingId = flvRecording.getFlvRecordingId();
-
-                       return flvRecordingId;
-               } catch (Exception ex2) {
-                       log.error("[addFlvRecording]: ", ex2);
-               }
-               return null;
-       }
-
-       public Long addFlvRecordingObj(FlvRecording flvRecording) {
-               try {
-
-                       flvRecording = em.merge(flvRecording);
-                       Long flvRecordingId = flvRecording.getFlvRecordingId();
-
-                       return flvRecordingId;
+                       flvRecording = update(flvRecording);
+                       return flvRecording.getFlvRecordingId();
                } catch (Exception ex2) {
                        log.error("[addFlvRecording]: ", ex2);
                }
                return null;
        }
 
-       public void updateFlvRecordingOrganization(Long flvRecordingId, Long 
organization_id) {
-               try {
-
-                       FlvRecording fId = get(flvRecordingId);
-
-                       fId.setOrganization_id(organization_id);
-
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
-                       } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
-                               }
-                       }
-
-               } catch (Exception ex2) {
-                       log.error("[deleteFileExplorerItem]: ", ex2);
-               }
-       }
-
        public void updateFlvRecordingEndTime(Long flvRecordingId, Date 
recordEnd, Long organization_id) {
                try {
 
@@ -404,34 +273,7 @@ public class FlvRecordingDao {
                        fId.setRecordEnd(recordEnd);
                        fId.setOrganization_id(organization_id);
 
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
-                       } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
-                               }
-                       }
-
-               } catch (Exception ex2) {
-                       log.error("[deleteFileExplorerItem]: ", ex2);
-               }
-       }
-
-       public void updateFlvRecordingProgress(Long flvRecordingId, Integer 
progress) {
-               try {
-
-                       FlvRecording fId = get(flvRecordingId);
-
-                       fId.setProgressPostProcessing(progress);
-
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
-                       } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
-                               }
-                       }
-
+                       update(fId);
                } catch (Exception ex2) {
                        log.error("[deleteFileExplorerItem]: ", ex2);
                }
@@ -440,114 +282,45 @@ public class FlvRecordingDao {
        /**
         * @param fileExplorerItemId
         */
-       public boolean deleteFlvRecording(Long flvRecordingId) {
+       public boolean delete(Long flvRecordingId) {
                try {
 
-                       FlvRecording fId = get(flvRecordingId);
-
-                       if (fId == null) {
-                               return false;
-                       }
-
-                       fId.setDeleted(true);
-                       fId.setUpdated(new Date());
-
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
-                       } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
-                               }
-                       }
-
-                       return true;
-
+                       FlvRecording f = get(flvRecordingId);
+                       return delete(f);
                } catch (Exception ex2) {
-                       log.error("[deleteFileExplorerItem]: ", ex2);
+                       log.error("[delete]: ", ex2);
                }
 
                return false;
        }
 
-       /**
-        * @param fileExplorerItemId
-        * @param fileName
-        */
-       public void updateFileOrFolderName(Long flvRecordingId, String 
fileName) {
-               try {
-
-                       FlvRecording fId = get(flvRecordingId);
-
-                       fId.setFileName(fileName);
-                       fId.setUpdated(new Date());
-
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
-                       } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
-                               }
-                       }
-
-               } catch (Exception ex2) {
-                       log.error("[updateFileOrFolderName]: ", ex2);
-               }
+       public boolean delete(FlvRecording f) {
+               if (f == null || f.getFlvRecordingId() == 0) {
+                       return false;
+               }
+               f.setDeleted(true);
+               update(f);
+               return true;
        }
-
-       public void update(FlvRecording fId) {
+       
+       public FlvRecording update(FlvRecording f) {
                try {
-
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
+                       if (f.getFlvRecordingId() == 0) {
+                               f.setInserted(new Date());
+                               em.persist(f);
                        } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
+                               f.setUpdated(new Date());
+                               if (!em.contains(f)) {
+                                       f = em.merge(f);
                                }
                        }
 
                } catch (Exception ex2) {
-                       log.error("[updateFileOrFolderName]: ", ex2);
+                       log.error("[update]: ", ex2);
                }
+               return f;
        }
 
-       /**
-        * @param fileExplorerItemId
-        * @param newParentFileExplorerItemId
-        * @param isOwner
-        */
-       public void moveFile(Long flvRecordingId, Long 
parentFileExplorerItemId, Boolean isOwner, Long ownerId) {
-               try {
-
-                       FlvRecording fId = get(flvRecordingId);
-
-                       
fId.setParentFileExplorerItemId(parentFileExplorerItemId);
-
-                       if (parentFileExplorerItemId == 0) {
-                               if (isOwner) {
-                                       // move to personal Folder
-                                       fId.setOwnerId(ownerId);
-                               } else {
-                                       // move to public room folder
-                                       fId.setOwnerId(null);
-                               }
-                       } else {
-                               fId.setOwnerId(null);
-                       }
-
-                       fId.setUpdated(new Date());
-
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
-                       } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
-                               }
-                       }
-               } catch (Exception ex2) {
-                       log.error("[moveFile]: ", ex2);
-               }
-       }
-       
        public RecordingContainerData getRecordingContainerData(long userId) {
                try {
                        RecordingContainerData containerData = new 
RecordingContainerData();

Modified: 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java?rev=1569100&r1=1569099&r2=1569100&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java
 Mon Feb 17 19:56:20 2014
@@ -67,7 +67,10 @@ import org.simpleframework.xml.Root;
                        + "AND c.deleted = false") 
        , @NamedQuery(name = "getRecordingsByOrganization", query = "SELECT f 
FROM FlvRecording f WHERE f.deleted = false AND f.ownerId IS NULL "
                        + "AND f.organization_id = :organization_id AND 
(f.parentFileExplorerItemId IS NULL OR f.parentFileExplorerItemId = 0) "
-                       + "ORDER BY f.folder DESC, f.fileName") 
+                       + "ORDER BY f.folder DESC, f.fileName")
+       , @NamedQuery(name = "getRecordingsByOwner", query = "SELECT f FROM 
FlvRecording f WHERE f.deleted = false AND f.ownerId = :ownerId "
+                       + "AND (f.parentFileExplorerItemId IS NULL OR 
f.parentFileExplorerItemId = 0) "
+                       + "ORDER BY f.folder DESC, f.fileName ")
 })
 @Table(name = "flvrecording")
 @Root(name = "flvrecording")

Modified: 
openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupImport.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupImport.java?rev=1569100&r1=1569099&r2=1569100&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupImport.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/backup/BackupImport.java
 Mon Feb 17 19:56:20 2014
@@ -488,7 +488,7 @@ public class BackupImport {
                                                meta.setFlvRecording(fr);
                                        }
                                }
-                               flvRecordingDao.addFlvRecordingObj(fr);
+                               flvRecordingDao.update(fr);
                        }
                }
 

Modified: 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html?rev=1569100&r1=1569099&r2=1569100&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html
 Mon Feb 17 19:56:20 2014
@@ -26,7 +26,7 @@
                                <div class="icons clear">
                                        <span wicket:id="create" 
class="folder-create om-icon align-left clickable"></span>
                                        <span wicket:id="refresh" 
class="refresh om-icon align-left clickable"></span>
-                                       <span wicket:id="trash" class="trash 
om-icon align-right clickable" wicket:ommessage="title:705"></span>
+                                       <span wicket:id="trash" class="trash 
om-icon align-right clickable" wicket:ommessage="title:705"><span 
style="display: block;" wicket:id="drop-center">&nbsp;</span></span>
                                        <div class="clear"></div>
                                </div>
                                <div wicket:id="tree-container" class="trees">

Modified: 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java?rev=1569100&r1=1569099&r2=1569100&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
 Mon Feb 17 19:56:20 2014
@@ -117,18 +117,29 @@ public class RecordingsPanel extends Use
                                target.add(trees); //FIXME add correct refresh
                        }
                }));
-               add(new ConfirmableAjaxLink("trash", 713) {
+               ConfirmableAjaxLink trash = new ConfirmableAjaxLink("trash", 
713) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
                        public void onClick(AjaxRequestTarget target) {
                                long id = rm.getObject().getFlvRecordingId();
                                if (id > 0) {
-                                       
getBean(FlvRecordingDao.class).deleteFlvRecording(id);
+                                       
getBean(FlvRecordingDao.class).delete(rm.getObject());
                                }
                                target.add(trees); //FIXME add correct refresh
                        }
-               });
+               };
+               trash.add(new 
WebMarkupContainer("drop-center").setOutputMarkupId(true)).add(new 
DropTarget(Operation.MOVE) {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       public void onDrop(AjaxRequestTarget target, Transfer 
transfer, Location location) throws Reject {
+                               FlvRecording r = transfer.getData();
+                               getBean(FlvRecordingDao.class).delete(r);
+                               target.add(trees); //FIXME add correct refresh
+                       }
+               }.dropCenter("span"));
+               //add(trash.add(new WindowsTheme())); //TODO check theme here
                RepeatingView treesView = new RepeatingView("tree");
                treesView.add(selected = new 
RecordingTree(treesView.newChildId(), new MyRecordingTreeProvider()));
                for (Organisation_Users ou : 
getBean(UserDao.class).get(getUserId()).getOrganisation_users()) {

Modified: 
openmeetings/trunk/singlewebapp/src/axis/java/org/apache/openmeetings/axis/services/RoomWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/axis/java/org/apache/openmeetings/axis/services/RoomWebService.java?rev=1569100&r1=1569099&r2=1569100&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/axis/java/org/apache/openmeetings/axis/services/RoomWebService.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/axis/java/org/apache/openmeetings/axis/services/RoomWebService.java
 Mon Feb 17 19:56:20 2014
@@ -175,7 +175,7 @@ public class RoomWebService {
                        Long user_level = 
userManager.getUserLevelByID(users_id);
 
                        if (AuthLevelUtil.checkWebServiceLevel(user_level)) {
-                               return 
flvRecordingDao.deleteFlvRecording(flvRecordingId);
+                               return flvRecordingDao.delete(flvRecordingId);
                        }
 
                } catch (Exception err) {

Modified: 
openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java?rev=1569100&r1=1569099&r2=1569100&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java
 Mon Feb 17 19:56:20 2014
@@ -181,69 +181,12 @@ public class FlvRecordingDao {
                return null;
        }
 
-       public List<FlvRecording> getFlvRecordingsPublic() {
-               try {
-
-                       String hql = "SELECT c FROM FlvRecording c " + "WHERE 
c.deleted = false "
-                                       + "AND (c.ownerId IS NULL OR c.ownerId 
= 0)  "
-                                       + "AND (c.parentFileExplorerItemId IS 
NULL OR c.parentFileExplorerItemId = 0) "
-                                       + "ORDER BY c.folder DESC, c.fileName ";
-
-                       TypedQuery<FlvRecording> query = em.createQuery(hql, 
FlvRecording.class);
-
-                       List<FlvRecording> flvRecordingList = 
query.getResultList();
-                       return flvRecordingList;
-               } catch (Exception ex2) {
-                       log.error("[getFlvRecordingsPublic]: ", ex2);
-               }
-               return null;
-       }
-
        public List<FlvRecording> getFlvRecordingRootByPublic(Long 
organization_id) {
                return em.createNamedQuery("getRecordingsByOrganization", 
FlvRecording.class).setParameter("organization_id", 
organization_id).getResultList();
        }
 
        public List<FlvRecording> getFlvRecordingRootByOwner(Long ownerId) {
-               try {
-
-                       String hql = "SELECT c FROM FlvRecording c " + "WHERE 
c.deleted <> :deleted " + "AND c.ownerId = :ownerId "
-                                       + "AND (c.parentFileExplorerItemId IS 
NULL OR c.parentFileExplorerItemId = 0) "
-                                       + "ORDER BY c.folder DESC, c.fileName ";
-
-                       TypedQuery<FlvRecording> query = em.createQuery(hql, 
FlvRecording.class);
-                       query.setParameter("deleted", true);
-                       query.setParameter("ownerId", ownerId);
-
-                       List<FlvRecording> flvRecordingList = 
query.getResultList();
-
-                       return flvRecordingList;
-               } catch (Exception ex2) {
-                       log.error("[getFlvRecordingByOwner]: ", ex2);
-               }
-               return null;
-       }
-
-       public List<FlvRecording> getFlvRecordingByOwner(Long ownerId, Long 
parentFileExplorerItemId) {
-               try {
-
-                       String hql = "SELECT c FROM FlvRecording c "
-                                       + "WHERE c.deleted <> :deleted "
-                                       + "AND c.ownerId = :ownerId "
-                                       + "AND (c.parentFileExplorerItemId IS 
NULL OR c.parentFileExplorerItemId = :parentFileExplorerItemId)"
-                                       + "ORDER BY c.folder DESC, c.fileName ";
-
-                       TypedQuery<FlvRecording> query = em.createQuery(hql, 
FlvRecording.class);
-                       query.setParameter("deleted", true);
-                       query.setParameter("ownerId", ownerId);
-                       query.setParameter("parentFileExplorerItemId", 
parentFileExplorerItemId);
-
-                       List<FlvRecording> flvRecordingList = 
query.getResultList();
-
-                       return flvRecordingList;
-               } catch (Exception ex2) {
-                       log.error("[getFlvRecordingByOwner]: ", ex2);
-               }
-               return null;
+               return em.createNamedQuery("getRecordingsByOwner", 
FlvRecording.class).setParameter("ownerId", ownerId).getResultList();
        }
 
        public List<FlvRecording> getFlvRecordingByRoomId(Long room_id) {
@@ -285,44 +228,6 @@ public class FlvRecordingDao {
                return null;
        }
 
-       public Long addFlvFolderRecording(String fileHash, String fileName, 
Long fileSize, Long user_id, Long room_id,
-                       Date recordStart, Date recordEnd, Long ownerId, String 
comment, Long parentFileExplorerItemId,
-                       Long organization_id) {
-               try {
-
-                       FlvRecording flvRecording = new FlvRecording();
-
-                       
flvRecording.setParentFileExplorerItemId(parentFileExplorerItemId);
-
-                       flvRecording.setDeleted(false);
-                       flvRecording.setFileHash(fileHash);
-                       flvRecording.setFileName(fileName);
-                       flvRecording.setFileSize(fileSize);
-                       flvRecording.setInserted(new Date());
-                       flvRecording.setInsertedBy(user_id);
-                       flvRecording.setFolder(true);
-                       flvRecording.setIsImage(false);
-                       flvRecording.setIsPresentation(false);
-                       flvRecording.setIsRecording(true);
-                       flvRecording.setComment(comment);
-                       flvRecording.setOrganization_id(organization_id);
-
-                       flvRecording.setRoom_id(room_id);
-                       flvRecording.setRecordStart(recordStart);
-                       flvRecording.setRecordEnd(recordEnd);
-
-                       flvRecording.setOwnerId(ownerId);
-
-                       flvRecording = em.merge(flvRecording);
-                       Long flvRecordingId = flvRecording.getFlvRecordingId();
-
-                       return flvRecordingId;
-               } catch (Exception ex2) {
-                       log.error("[addFlvRecording]: ", ex2);
-               }
-               return null;
-       }
-
        public Long addFlvRecording(String fileHash, String fileName, Long 
fileSize, Long user_id, Long room_id,
                        Date recordStart, Date recordEnd, Long ownerId, String 
comment, String recorderStreamId, Integer width,
                        Integer height, Boolean isInterview) {
@@ -334,7 +239,6 @@ public class FlvRecordingDao {
                        flvRecording.setFileHash(fileHash);
                        flvRecording.setFileName(fileName);
                        flvRecording.setFileSize(fileSize);
-                       flvRecording.setInserted(new Date());
                        flvRecording.setInsertedBy(user_id);
                        flvRecording.setFolder(false);
                        flvRecording.setIsImage(false);
@@ -352,49 +256,14 @@ public class FlvRecordingDao {
 
                        flvRecording.setOwnerId(ownerId);
 
-                       flvRecording = em.merge(flvRecording);
-                       Long flvRecordingId = flvRecording.getFlvRecordingId();
-
-                       return flvRecordingId;
-               } catch (Exception ex2) {
-                       log.error("[addFlvRecording]: ", ex2);
-               }
-               return null;
-       }
-
-       public Long addFlvRecordingObj(FlvRecording flvRecording) {
-               try {
-
-                       flvRecording = em.merge(flvRecording);
-                       Long flvRecordingId = flvRecording.getFlvRecordingId();
-
-                       return flvRecordingId;
+                       flvRecording = update(flvRecording);
+                       return flvRecording.getFlvRecordingId();
                } catch (Exception ex2) {
                        log.error("[addFlvRecording]: ", ex2);
                }
                return null;
        }
 
-       public void updateFlvRecordingOrganization(Long flvRecordingId, Long 
organization_id) {
-               try {
-
-                       FlvRecording fId = get(flvRecordingId);
-
-                       fId.setOrganization_id(organization_id);
-
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
-                       } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
-                               }
-                       }
-
-               } catch (Exception ex2) {
-                       log.error("[deleteFileExplorerItem]: ", ex2);
-               }
-       }
-
        public void updateFlvRecordingEndTime(Long flvRecordingId, Date 
recordEnd, Long organization_id) {
                try {
 
@@ -404,34 +273,7 @@ public class FlvRecordingDao {
                        fId.setRecordEnd(recordEnd);
                        fId.setOrganization_id(organization_id);
 
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
-                       } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
-                               }
-                       }
-
-               } catch (Exception ex2) {
-                       log.error("[deleteFileExplorerItem]: ", ex2);
-               }
-       }
-
-       public void updateFlvRecordingProgress(Long flvRecordingId, Integer 
progress) {
-               try {
-
-                       FlvRecording fId = get(flvRecordingId);
-
-                       fId.setProgressPostProcessing(progress);
-
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
-                       } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
-                               }
-                       }
-
+                       update(fId);
                } catch (Exception ex2) {
                        log.error("[deleteFileExplorerItem]: ", ex2);
                }
@@ -440,114 +282,45 @@ public class FlvRecordingDao {
        /**
         * @param fileExplorerItemId
         */
-       public boolean deleteFlvRecording(Long flvRecordingId) {
+       public boolean delete(Long flvRecordingId) {
                try {
 
-                       FlvRecording fId = get(flvRecordingId);
-
-                       if (fId == null) {
-                               return false;
-                       }
-
-                       fId.setDeleted(true);
-                       fId.setUpdated(new Date());
-
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
-                       } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
-                               }
-                       }
-
-                       return true;
-
+                       FlvRecording f = get(flvRecordingId);
+                       return delete(f);
                } catch (Exception ex2) {
-                       log.error("[deleteFileExplorerItem]: ", ex2);
+                       log.error("[delete]: ", ex2);
                }
 
                return false;
        }
 
-       /**
-        * @param fileExplorerItemId
-        * @param fileName
-        */
-       public void updateFileOrFolderName(Long flvRecordingId, String 
fileName) {
-               try {
-
-                       FlvRecording fId = get(flvRecordingId);
-
-                       fId.setFileName(fileName);
-                       fId.setUpdated(new Date());
-
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
-                       } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
-                               }
-                       }
-
-               } catch (Exception ex2) {
-                       log.error("[updateFileOrFolderName]: ", ex2);
-               }
+       public boolean delete(FlvRecording f) {
+               if (f == null || f.getFlvRecordingId() == 0) {
+                       return false;
+               }
+               f.setDeleted(true);
+               update(f);
+               return true;
        }
-
-       public void update(FlvRecording fId) {
+       
+       public FlvRecording update(FlvRecording f) {
                try {
-
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
+                       if (f.getFlvRecordingId() == 0) {
+                               f.setInserted(new Date());
+                               em.persist(f);
                        } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
+                               f.setUpdated(new Date());
+                               if (!em.contains(f)) {
+                                       f = em.merge(f);
                                }
                        }
 
                } catch (Exception ex2) {
-                       log.error("[updateFileOrFolderName]: ", ex2);
+                       log.error("[update]: ", ex2);
                }
+               return f;
        }
 
-       /**
-        * @param fileExplorerItemId
-        * @param newParentFileExplorerItemId
-        * @param isOwner
-        */
-       public void moveFile(Long flvRecordingId, Long 
parentFileExplorerItemId, Boolean isOwner, Long ownerId) {
-               try {
-
-                       FlvRecording fId = get(flvRecordingId);
-
-                       
fId.setParentFileExplorerItemId(parentFileExplorerItemId);
-
-                       if (parentFileExplorerItemId == 0) {
-                               if (isOwner) {
-                                       // move to personal Folder
-                                       fId.setOwnerId(ownerId);
-                               } else {
-                                       // move to public room folder
-                                       fId.setOwnerId(null);
-                               }
-                       } else {
-                               fId.setOwnerId(null);
-                       }
-
-                       fId.setUpdated(new Date());
-
-                       if (fId.getFlvRecordingId() == 0) {
-                               em.persist(fId);
-                       } else {
-                               if (!em.contains(fId)) {
-                                       em.merge(fId);
-                               }
-                       }
-               } catch (Exception ex2) {
-                       log.error("[moveFile]: ", ex2);
-               }
-       }
-       
        public RecordingContainerData getRecordingContainerData(long userId) {
                try {
                        RecordingContainerData containerData = new 
RecordingContainerData();

Modified: 
openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java?rev=1569100&r1=1569099&r2=1569100&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java
 Mon Feb 17 19:56:20 2014
@@ -67,7 +67,10 @@ import org.simpleframework.xml.Root;
                        + "AND c.deleted = false") 
        , @NamedQuery(name = "getRecordingsByOrganization", query = "SELECT f 
FROM FlvRecording f WHERE f.deleted = false AND f.ownerId IS NULL "
                        + "AND f.organization_id = :organization_id AND 
(f.parentFileExplorerItemId IS NULL OR f.parentFileExplorerItemId = 0) "
-                       + "ORDER BY f.folder DESC, f.fileName") 
+                       + "ORDER BY f.folder DESC, f.fileName")
+       , @NamedQuery(name = "getRecordingsByOwner", query = "SELECT f FROM 
FlvRecording f WHERE f.deleted = false AND f.ownerId = :ownerId "
+                       + "AND (f.parentFileExplorerItemId IS NULL OR 
f.parentFileExplorerItemId = 0) "
+                       + "ORDER BY f.folder DESC, f.fileName ")
 })
 @Table(name = "flvrecording")
 @Root(name = "flvrecording")

Modified: 
openmeetings/trunk/singlewebapp/src/install/java/org/apache/openmeetings/backup/BackupImport.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/install/java/org/apache/openmeetings/backup/BackupImport.java?rev=1569100&r1=1569099&r2=1569100&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/install/java/org/apache/openmeetings/backup/BackupImport.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/install/java/org/apache/openmeetings/backup/BackupImport.java
 Mon Feb 17 19:56:20 2014
@@ -488,7 +488,7 @@ public class BackupImport {
                                                meta.setFlvRecording(fr);
                                        }
                                }
-                               flvRecordingDao.addFlvRecordingObj(fr);
+                               flvRecordingDao.update(fr);
                        }
                }
 

Modified: 
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html?rev=1569100&r1=1569099&r2=1569100&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.html
 Mon Feb 17 19:56:20 2014
@@ -26,7 +26,7 @@
                                <div class="icons clear">
                                        <span wicket:id="create" 
class="folder-create om-icon align-left clickable"></span>
                                        <span wicket:id="refresh" 
class="refresh om-icon align-left clickable"></span>
-                                       <span wicket:id="trash" class="trash 
om-icon align-right clickable" wicket:ommessage="title:705"></span>
+                                       <span wicket:id="trash" class="trash 
om-icon align-right clickable" wicket:ommessage="title:705"><span 
style="display: block;" wicket:id="drop-center">&nbsp;</span></span>
                                        <div class="clear"></div>
                                </div>
                                <div wicket:id="tree-container" class="trees">

Modified: 
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java?rev=1569100&r1=1569099&r2=1569100&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
 Mon Feb 17 19:56:20 2014
@@ -117,18 +117,29 @@ public class RecordingsPanel extends Use
                                target.add(trees); //FIXME add correct refresh
                        }
                }));
-               add(new ConfirmableAjaxLink("trash", 713) {
+               ConfirmableAjaxLink trash = new ConfirmableAjaxLink("trash", 
713) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
                        public void onClick(AjaxRequestTarget target) {
                                long id = rm.getObject().getFlvRecordingId();
                                if (id > 0) {
-                                       
getBean(FlvRecordingDao.class).deleteFlvRecording(id);
+                                       
getBean(FlvRecordingDao.class).delete(rm.getObject());
                                }
                                target.add(trees); //FIXME add correct refresh
                        }
-               });
+               };
+               trash.add(new 
WebMarkupContainer("drop-center").setOutputMarkupId(true)).add(new 
DropTarget(Operation.MOVE) {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       public void onDrop(AjaxRequestTarget target, Transfer 
transfer, Location location) throws Reject {
+                               FlvRecording r = transfer.getData();
+                               getBean(FlvRecordingDao.class).delete(r);
+                               target.add(trees); //FIXME add correct refresh
+                       }
+               }.dropCenter("span"));
+               //add(trash.add(new WindowsTheme())); //TODO check theme here
                RepeatingView treesView = new RepeatingView("tree");
                treesView.add(selected = new 
RecordingTree(treesView.newChildId(), new MyRecordingTreeProvider()));
                for (Organisation_Users ou : 
getBean(UserDao.class).get(getUserId()).getOrganisation_users()) {


Reply via email to