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