[OPENMEETINGS-1438] recording rights are being checked correctly

git-svn-id: https://svn.apache.org/repos/asf/openmeetings/application/trunk@1754069 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
index d397ff9..2926bcd 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
@@ -28,6 +28,7 @@
 import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dao.user.GroupUserDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.file.FileItem.Type;
 import org.apache.openmeetings.db.entity.record.Recording;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.web.app.WebSession;
@@ -75,22 +76,26 @@
 	}
 	
 	private static Recording getRecording(Long id) {
+		log.debug("Recording with id {} is requested", id);
 		Recording r = getBean(RecordingDao.class).get(id);
-		// TODO should we process public?
-		// || r.getOwnerId() == 0 || r.getParentFileExplorerItemId() == null || r.getParentFileExplorerItemId() == 0
-		if (r == null) {
+		if (r == null || r.getType() == Type.Folder || r.isDeleted()) {
+			return null;
+		}
+		//TODO should we check parentId here
+		if (r.getOwnerId() == null && r.getGroupId() == null) {
+			//public
 			return r;
 		}
-		if (r.getOwnerId() == null || getUserId().equals(r.getOwnerId())) {
+		if (r.getOwnerId() != null && getUserId().equals(r.getOwnerId())) {
+			//own
 			return r;
 		}
-		if (r.getGroupId() == null || getBean(GroupUserDao.class).isUserInGroup(r.getGroupId(), getUserId())) {
+		if (r.getGroupId() != null && getBean(GroupUserDao.class).isUserInGroup(r.getGroupId(), getUserId())) {
 			return r;
 		}
-		//TODO external group check was added for plugin recording download
+		//external group check was added for plugin recording download
 		String extType = getExternalType();
 		if (extType != null) {
-			log.debug("External recording requested: " + extType);
 			User creator = getBean(UserDao.class).get(r.getInsertedBy());
 			if (extType.equals(creator.getExternalType())) {
 				return r;