You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2014/02/17 20:56:20 UTC

svn commit: r1569100 - in /openmeetings: branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/ branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/record/ branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/record/ branches...

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()) {