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 2018/09/08 12:33:40 UTC
[openmeetings] branch master updated: [OPENMEETINGS-1929] method to
get the list of all external files is added
This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/master by this push:
new d3e532e [OPENMEETINGS-1929] method to get the list of all external files is added
d3e532e is described below
commit d3e532e2c824a296d761c846b4c867c1e6f5e3e2
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Sat Sep 8 19:32:37 2018 +0700
[OPENMEETINGS-1929] method to get the list of all external files is added
---
.../openmeetings/db/dao/file/FileItemDao.java | 8 ++++++++
.../openmeetings/db/entity/file/FileItem.java | 3 ++-
.../web/room/sidebar/UploadDialog.java | 1 +
.../openmeetings/webservice/FileWebService.java | 23 ++++++++++++++++++++++
.../webservice/RecordingWebService.java | 2 +-
5 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileItemDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileItemDao.java
index 5bd0f42..b779fac 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileItemDao.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileItemDao.java
@@ -119,6 +119,14 @@ public class FileItemDao extends BaseFileItemDao {
return em.createNamedQuery("getAllFiles", FileItem.class).getResultList();
}
+ public List<FileItem> getExternal(String externalType) {
+ log.debug("get external started");
+
+ return em.createNamedQuery("getFileAllExternal", FileItem.class)
+ .setParameter("externalType", externalType)
+ .getResultList();
+ }
+
public void delete(String externalId, String externalType) {
log.debug("delete started");
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
index 3d286f6..069cad8 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
@@ -37,7 +37,8 @@ import org.simpleframework.xml.Root;
+ "AND f.parentId = :parentId ORDER BY f.type ASC, f.name ")
, @NamedQuery(name = "getFilesFilteredByParent", query = "SELECT f FROM FileItem f WHERE f.deleted = false "
+ "AND f.parentId = :parentId AND f.type IN :filter ORDER BY f.type ASC, f.name ")
- , @NamedQuery(name = "getFileExternal", query = "SELECT f FROM FileItem f WHERE f.externalId = :externalId AND f.externalType LIKE :externalType")
+ , @NamedQuery(name = "getFileExternal", query = "SELECT f FROM FileItem f WHERE f.deleted = false AND f.externalId = :externalId AND f.externalType LIKE :externalType")
+ , @NamedQuery(name = "getFileAllExternal", query = "SELECT f FROM FileItem f WHERE f.deleted = false AND f.externalType LIKE :externalType")
, @NamedQuery(name = "getFileByGroup", query = "SELECT f FROM FileItem f WHERE f.deleted = false AND f.ownerId IS NULL "
+ "AND f.groupId = :groupId AND f.parentId IS NULL "
+ "ORDER BY f.type ASC, f.name")
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
index a35aac8..886bdae 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
@@ -190,6 +190,7 @@ public class UploadDialog extends AbstractFormDialog<String> {
FileItem f = new FileItem();
f.setSize(fu.getSize());
f.setName(fu.getClientFileName());
+ f.setExternalType(room.getRoom().getExternalType());
BaseFileItem parent = roomFiles.getLastSelected();
if (parent == null || !(parent instanceof FileItem)) {
f.setOwnerId(getUserId());
diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
index c9fe464..7e93d89 100644
--- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
+++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
@@ -173,6 +173,29 @@ public class FileWebService extends BaseWebService {
}
/**
+ * Get all files by external type
+ *
+ * @param sid
+ * The SID of the User. This SID must be marked as logged in
+ * @param externalType
+ * External type for file listing
+ * @return - the list of file for given external type
+ */
+ @WebMethod
+ @GET
+ @Path("/{externaltype}")
+ public List<FileItemDTO> getAllExternal(@WebParam(name="sid") @QueryParam("sid") String sid
+ , @WebParam(name="externaltype") @PathParam("externaltype") String externalType
+ )
+ {
+ log.debug("getAllExternal::externalType {}", externalType);
+ return performCall(sid, User.Right.Soap, sd -> {
+ FileItemDao dao = getFileDao();
+ return FileItemDTO.list(dao.getExternal(externalType));
+ });
+ }
+
+ /**
* Get a File Explorer Object by a given Room
*
* @param sid
diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
index 8bb3752..f2eb5a6 100644
--- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
+++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
@@ -106,7 +106,7 @@ public class RecordingWebService extends BaseWebService {
* @param sid
* The SID of the User. This SID must be marked as Loggedin
* @param externalType
- * externalRoomType specified when creating the room
+ * externalType specified when creating the room
* @return - list of flv recordings
*/
@WebMethod