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/20 20:07:20 UTC

svn commit: r1570307 - in /openmeetings: 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/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/ trunk/s...

Author: solomax
Date: Thu Feb 20 19:07:20 2014
New Revision: 1570307

URL: http://svn.apache.org/r1570307
Log:
[OPENMEETINGS-922] Add folder works as expected

Modified:
    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/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.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/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java

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=1570307&r1=1570306&r2=1570307&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 Thu Feb 20 19:07:20 2014
@@ -181,8 +181,12 @@ public class FlvRecordingDao {
 		return null;
 	}
 
-	public List<FlvRecording> getFlvRecordingRootByPublic(Long organization_id) {
-		return em.createNamedQuery("getRecordingsByOrganization", FlvRecording.class).setParameter("organization_id", organization_id).getResultList();
+	public List<FlvRecording> getFlvRecordingRootByPublic(Long orgId) {
+		TypedQuery<FlvRecording> q = em.createNamedQuery(orgId == null ? "getRecordingsPublic" : "getRecordingsByOrganization", FlvRecording.class);
+		if (orgId != null) {
+			q.setParameter("organization_id", orgId);
+		}
+		return q.getResultList();
 	}
 
 	public List<FlvRecording> getFlvRecordingRootByOwner(Long ownerId) {

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=1570307&r1=1570306&r2=1570307&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 Thu Feb 20 19:07:20 2014
@@ -65,6 +65,9 @@ import org.simpleframework.xml.Root;
 			+ "FROM FlvRecording c, User u "
 			+ "WHERE c.insertedBy = u.user_id AND u.externalUserId = :externalUserId  AND u.externalUserType = :externalUserType "
 			+ "AND c.deleted = false") 
+	, @NamedQuery(name = "getRecordingsPublic", query = "SELECT f FROM FlvRecording f WHERE f.deleted = false AND f.ownerId IS NULL "
+			+ "AND f.organization_id IS NULL AND (f.parentFileExplorerItemId IS NULL OR f.parentFileExplorerItemId = 0) "
+			+ "ORDER BY f.folder DESC, f.fileName")
 	, @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")

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=1570307&r1=1570306&r2=1570307&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 Thu Feb 20 19:07:20 2014
@@ -102,7 +102,7 @@ public class RecordingsPanel extends Use
 		};
 		add(addFolder);
 		add(new WebMarkupContainer("create").add(new AjaxEventBehavior("onclick") {
-			private static final long serialVersionUID = -110084769805785972L;
+			private static final long serialVersionUID = 1L;
 
 			@Override
 			protected void onEvent(AjaxRequestTarget target) {
@@ -110,7 +110,7 @@ public class RecordingsPanel extends Use
 			}
 		}));
 		add(new WebMarkupContainer("refresh").add(new AjaxEventBehavior("onclick") {
-			private static final long serialVersionUID = -110084769805785972L;
+			private static final long serialVersionUID = 1L;
 
 			@Override
 			protected void onEvent(AjaxRequestTarget target) {
@@ -142,6 +142,7 @@ public class RecordingsPanel extends Use
 		add(trash/*.add(new WindowsTheme())*/); //TODO check theme here
 		RepeatingView treesView = new RepeatingView("tree");
 		treesView.add(selected = new RecordingTree(treesView.newChildId(), new MyRecordingTreeProvider()));
+		treesView.add(new RecordingTree(treesView.newChildId(), new PublicRecordingTreeProvider(null, null)));
 		for (Organisation_Users ou : getBean(UserDao.class).get(getUserId()).getOrganisation_users()) {
 			Organisation o = ou.getOrganisation();
 			treesView.add(new RecordingTree(treesView.newChildId(), new PublicRecordingTreeProvider(o.getOrganisation_id(), o.getName())));
@@ -209,14 +210,8 @@ public class RecordingsPanel extends Use
 								FlvRecording p = lm.getObject();
 								long pid = p.getFlvRecordingId();
 								FlvRecording r = transfer.getData();
-								if (pid == 0) {
-									r.setParentFileExplorerItemId(null);
-								} else if (pid < 0) {
-									r.setOrganization_id(-pid);
-									r.setParentFileExplorerItemId(null);
-								} else {
-									r.setParentFileExplorerItemId(pid);
-								}
+								r.setParentFileExplorerItemId(pid > 0 ? pid : null);
+								r.setOrganization_id(p.getOrganization_id());
 								r.setOwnerId(p.getOwnerId());
 								getBean(FlvRecordingDao.class).update(r);
 								target.add(trees); //FIXME add correct refresh
@@ -315,7 +310,7 @@ public class RecordingsPanel extends Use
 	}
 	
 	class MyRecordingTreeProvider extends RecordingTreeProvider {
-		private static final long serialVersionUID = -4463900798616753927L;
+		private static final long serialVersionUID = 1L;
 
 		public Iterator<? extends FlvRecording> getRoots() {
 			FlvRecording r = new FlvRecording();
@@ -336,18 +331,21 @@ public class RecordingsPanel extends Use
 	
 	class PublicRecordingTreeProvider extends RecordingTreeProvider {
 		private static final long serialVersionUID = 5502610991599632079L;
-		private final long orgId;
+		private final Long orgId;
 		private final String name;
 
-		public PublicRecordingTreeProvider(long orgId, String name) {
+		public PublicRecordingTreeProvider(Long orgId, String name) {
 			this.orgId = orgId;
 			this.name = name;
 		}
 		
 		public Iterator<? extends FlvRecording> getRoots() {
 			FlvRecording r = new FlvRecording();
-			r.setFlvRecordingId(-orgId);
-			r.setFileName(String.format("%s (%s)", WebSession.getString(861), name));
+			r.setFlvRecordingId(-1);
+			r.setOrganization_id(orgId);
+			r.setOwnerId(null);
+			String pub = WebSession.getString(861);
+			r.setFileName(orgId == null ? pub : String.format("%s (%s)", pub, name));
 			return Arrays.asList(r).iterator();
 		}
 		
@@ -361,7 +359,7 @@ public class RecordingsPanel extends Use
 	}
 	
 	abstract class RecordingTreeProvider implements ITreeProvider<FlvRecording> {
-		private static final long serialVersionUID = -3149843028275612342L;
+		private static final long serialVersionUID = 1L;
 
 		public void detach() {
 			// TODO LDM should be used

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=1570307&r1=1570306&r2=1570307&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 Thu Feb 20 19:07:20 2014
@@ -181,8 +181,12 @@ public class FlvRecordingDao {
 		return null;
 	}
 
-	public List<FlvRecording> getFlvRecordingRootByPublic(Long organization_id) {
-		return em.createNamedQuery("getRecordingsByOrganization", FlvRecording.class).setParameter("organization_id", organization_id).getResultList();
+	public List<FlvRecording> getFlvRecordingRootByPublic(Long orgId) {
+		TypedQuery<FlvRecording> q = em.createNamedQuery(orgId == null ? "getRecordingsPublic" : "getRecordingsByOrganization", FlvRecording.class);
+		if (orgId != null) {
+			q.setParameter("organization_id", orgId);
+		}
+		return q.getResultList();
 	}
 
 	public List<FlvRecording> getFlvRecordingRootByOwner(Long ownerId) {

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=1570307&r1=1570306&r2=1570307&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 Thu Feb 20 19:07:20 2014
@@ -65,6 +65,9 @@ import org.simpleframework.xml.Root;
 			+ "FROM FlvRecording c, User u "
 			+ "WHERE c.insertedBy = u.user_id AND u.externalUserId = :externalUserId  AND u.externalUserType = :externalUserType "
 			+ "AND c.deleted = false") 
+	, @NamedQuery(name = "getRecordingsPublic", query = "SELECT f FROM FlvRecording f WHERE f.deleted = false AND f.ownerId IS NULL "
+			+ "AND f.organization_id IS NULL AND (f.parentFileExplorerItemId IS NULL OR f.parentFileExplorerItemId = 0) "
+			+ "ORDER BY f.folder DESC, f.fileName")
 	, @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")

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=1570307&r1=1570306&r2=1570307&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 Thu Feb 20 19:07:20 2014
@@ -102,7 +102,7 @@ public class RecordingsPanel extends Use
 		};
 		add(addFolder);
 		add(new WebMarkupContainer("create").add(new AjaxEventBehavior("onclick") {
-			private static final long serialVersionUID = -110084769805785972L;
+			private static final long serialVersionUID = 1L;
 
 			@Override
 			protected void onEvent(AjaxRequestTarget target) {
@@ -110,7 +110,7 @@ public class RecordingsPanel extends Use
 			}
 		}));
 		add(new WebMarkupContainer("refresh").add(new AjaxEventBehavior("onclick") {
-			private static final long serialVersionUID = -110084769805785972L;
+			private static final long serialVersionUID = 1L;
 
 			@Override
 			protected void onEvent(AjaxRequestTarget target) {
@@ -142,6 +142,7 @@ public class RecordingsPanel extends Use
 		add(trash/*.add(new WindowsTheme())*/); //TODO check theme here
 		RepeatingView treesView = new RepeatingView("tree");
 		treesView.add(selected = new RecordingTree(treesView.newChildId(), new MyRecordingTreeProvider()));
+		treesView.add(new RecordingTree(treesView.newChildId(), new PublicRecordingTreeProvider(null, null)));
 		for (Organisation_Users ou : getBean(UserDao.class).get(getUserId()).getOrganisation_users()) {
 			Organisation o = ou.getOrganisation();
 			treesView.add(new RecordingTree(treesView.newChildId(), new PublicRecordingTreeProvider(o.getOrganisation_id(), o.getName())));
@@ -209,14 +210,8 @@ public class RecordingsPanel extends Use
 								FlvRecording p = lm.getObject();
 								long pid = p.getFlvRecordingId();
 								FlvRecording r = transfer.getData();
-								if (pid == 0) {
-									r.setParentFileExplorerItemId(null);
-								} else if (pid < 0) {
-									r.setOrganization_id(-pid);
-									r.setParentFileExplorerItemId(null);
-								} else {
-									r.setParentFileExplorerItemId(pid);
-								}
+								r.setParentFileExplorerItemId(pid > 0 ? pid : null);
+								r.setOrganization_id(p.getOrganization_id());
 								r.setOwnerId(p.getOwnerId());
 								getBean(FlvRecordingDao.class).update(r);
 								target.add(trees); //FIXME add correct refresh
@@ -315,7 +310,7 @@ public class RecordingsPanel extends Use
 	}
 	
 	class MyRecordingTreeProvider extends RecordingTreeProvider {
-		private static final long serialVersionUID = -4463900798616753927L;
+		private static final long serialVersionUID = 1L;
 
 		public Iterator<? extends FlvRecording> getRoots() {
 			FlvRecording r = new FlvRecording();
@@ -336,18 +331,21 @@ public class RecordingsPanel extends Use
 	
 	class PublicRecordingTreeProvider extends RecordingTreeProvider {
 		private static final long serialVersionUID = 5502610991599632079L;
-		private final long orgId;
+		private final Long orgId;
 		private final String name;
 
-		public PublicRecordingTreeProvider(long orgId, String name) {
+		public PublicRecordingTreeProvider(Long orgId, String name) {
 			this.orgId = orgId;
 			this.name = name;
 		}
 		
 		public Iterator<? extends FlvRecording> getRoots() {
 			FlvRecording r = new FlvRecording();
-			r.setFlvRecordingId(-orgId);
-			r.setFileName(String.format("%s (%s)", WebSession.getString(861), name));
+			r.setFlvRecordingId(-1);
+			r.setOrganization_id(orgId);
+			r.setOwnerId(null);
+			String pub = WebSession.getString(861);
+			r.setFileName(orgId == null ? pub : String.format("%s (%s)", pub, name));
 			return Arrays.asList(r).iterator();
 		}
 		
@@ -361,7 +359,7 @@ public class RecordingsPanel extends Use
 	}
 	
 	abstract class RecordingTreeProvider implements ITreeProvider<FlvRecording> {
-		private static final long serialVersionUID = -3149843028275612342L;
+		private static final long serialVersionUID = 1L;
 
 		public void detach() {
 			// TODO LDM should be used