This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch 4.0.x
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/4.0.x by this push:
     new 9653af9  [OPENMEETINGS-1929] method to get the list of all external 
files is added
     new 3fe938f  Merge branch '4.0.x' of github.com:apache/openmeetings into 
4.0.x
9653af9 is described below

commit 9653af91045cf6d8f8a3c8ccaec27dcad82c98c4
Author: Maxim Solodovnik <[email protected]>
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 e831a8b..b4afec9 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
@@ -121,6 +121,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 26db937..3678c06 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
@@ -187,6 +187,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 6a4d668..37768d7 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 05ff0d0..5537b8b 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
@@ -107,7 +107,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

Reply via email to