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